10#include <mdst/dataobjects/ECLCluster.h>
13#include <framework/logging/Logger.h>
27 B2ERROR(
"This cluster does not support the requested hypothesis,"
30 <<
LogVar(
" You requested the hypothesis bitmask: ", std::bitset<16>(
static_cast<unsigned short>(hypothesis)).to_string()));
31 return std::numeric_limits<double>::quiet_NaN();
39 B2ERROR(
"EHypothesisBit is not supported yet: " <<
static_cast<unsigned short>(hypothesis));
40 return std::numeric_limits<double>::quiet_NaN();
49 return ROOT::Math::XYZVector(cluster_x, cluster_y, cluster_z);
54 TMatrixDSym covmatecl(3);
63 for (
int i = 0; i < 3; i++)
64 for (
int j = 0; j < i ; j++)
65 covmatecl(j, i) = covmatecl(i, j);
74 if (theta < 0.2164208)
return 0;
75 if (theta < 0.5480334)
return 1;
76 if (theta < 0.561996)
return 11;
77 if (theta < 2.2462387)
return 2;
78 if (theta < 2.2811453)
return 13;
79 if (theta < 2.7070057)
return 3;
bool hasHypothesis(EHypothesisBit bitmask) const
Return if specific hypothesis bit is set.
Double32_t m_sqrtcovmat_22
Covariance matrix 22, sigma_theta, between 0 and 50 mrad.
TMatrixDSym getCovarianceMatrix3x3() const
Return TMatrixDsym 3x3 covariance matrix for E, Phi and Theta.
double getPhi() const
Return Corrected Phi of Shower (radian).
Double32_t m_sqrtcovmat_11
Covariance matrix 11, sigma_phi, between 0 and 50 mrad.
double getR() const
Return R.
Double32_t m_sqrtcovmat_00
Covariance entry 00 sigma_E (1% to 25% between 10 MeV and 8 GeV)
Double32_t m_covmat_20
Covariance matrix 20, not used yet.
Double32_t m_covmat_10
Covariance matrix 10, not used yet.
int getDetectorRegion() const
Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.
Double32_t m_logEnergy
< Log.
Double32_t m_covmat_21
Covariance matrix 21, not used yet.
double getEnergy(EHypothesisBit hypothesis) const
Return Energy (GeV).
ROOT::Math::XYZVector getClusterPosition() const
Return ROOT::Math::XYZVector on cluster position (x,y,z)
Double32_t m_logEnergyRaw
Log.
double getTheta() const
Return Corrected Theta of Shower (radian).
EHypothesisBit
The hypothesis bits for this ECLCluster (Connected region (CR) is split using this hypothesis.
@ c_nPhotons
CR is split into n photons (N1)
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
Class to store variables with their name which were sent to the logging service.
Abstract base class for different kinds of events.