11 #include <framework/datastore/RelationsObject.h>
14 #include <TMatrixDSym.h>
73 m_Error{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
150 for (
unsigned int i = 0; i < 6; i++) {
296 for (
unsigned int i = 0; i < 6; i++) {
431 TMatrixDSym covmatecl(3);
440 for (
int i = 0; i < 3; i++)
441 for (
int j = 0; j < i ; j++)
442 covmatecl(j, i) = covmatecl(i, j);
451 if (theta < 0.2164208)
return 0;
452 if (theta < 0.5480334)
return 1;
453 if (theta < 0.561996)
return 11;
454 if (theta < 2.2462387)
return 2;
455 if (theta < 2.2811453)
return 13;
456 if (theta < 2.7070057)
return 3;
Class to store ECL Showers.
ECLShower()
Default constructor for ROOT.
Double32_t m_absZernike40
Shower shape variable, absolute value of Zernike Moment 40 (TF)
int getStatus() const
Get Status.
void setE9oE21(double E9oE21)
Set energy ration E9 over E21.
bool m_isTrk
Match with track (GDN)
void setEnergyRaw(double EnergySum)
Set Raw Energy Sum.
Double32_t m_absZernike51
Shower shape variable, absolute value of Zernike Moment 51 (TF)
void setPulseShapeDiscriminationMVA(double mvaVal)
Set shower hadron intensity.
Double32_t m_zernikeMVA
Shower shape variable, zernike MVA output.
void setLateralEnergy(double lateralEnergy)
Set Lateral Energy.
void setShowerId(int ShowerId)
Set Shower ID.
ClassDef(ECLShower, 15)
ClassDef.
void setEnergy(double Energy)
Set Energy.
void setPhi(double Phi)
Set Phi (rad)
int getHypothesisId() const
Get Hypothesis Id.
int m_centralCellId
Central cell ID (TF)
void setConnectedRegionId(int connectedRegionId)
Set Connected region ID.
void addStatus(unsigned short int bitmask)
Add bitmask to current status.
void setNumberOfCrystals(double nofCrystals)
Set sum of weights of crystals.
double getPulseShapeDiscriminationMVA() const
Get shower hadron intensity.
TMatrixDSym getCovarianceMatrix3x3() const
Return TMatrixDsym 3x3 covariance matrix for E, Phi and Theta.
void setEnergyHighestCrystal(double HighestEnergy)
Set Highest Energy.
double getPhi() const
Get Phi.
Double32_t m_numberOfCrystals
Sum of weights of crystals (~number of crystals) (TF)
double getLateralEnergy() const
Get Lateral Energy in Shower.
Double32_t m_ShowerHadronIntensity
Shower Hadron Component Intensity (pulse shape discrimination variable).
double getE1oE9() const
Get energy ratio E1oE9.
void setShowerDepth(double showerDepth)
Set path on the average cluster direction.
void setAbsZernike51(double absZernike51)
Set absolute value of Zernike moment 51.
int getShowerId() const
Get Shower Id.
double getEnergy() const
Get Energy.
void getCovarianceMatrixAsArray(double covArray[6]) const
Get Error Array for Energy->[0], Phi->[2], Theta->[5].
bool hasStatus(unsigned short int bitmask) const
Return if specific status bit is set.
void setSecondMoment(double secondMoment)
Set second moment.
Double32_t m_E1oE9
Shower shape variable, E1oE9 (TF)
TVector3 getMomentum() const
The method to get return TVector3 Momentum.
double getShowerDepth() const
path on track extrapolation to POCA to average cluster direction
void setCovarianceMatrix(double covArray[6])
Set symmetric Error Array(3x3) for [0]->Error on Energy [2]->Error on Phi [5]->Error on Theta.
Double32_t m_trkDepth
Path on track ext.
Double32_t m_theta
Theta (rad)
int getConnectedRegionId() const
Get Connected region Id.
double getR() const
Get R.
double getEnergyRaw() const
Get Energy Sum.
std::vector< unsigned int > m_listOfCrystalsForEnergy
list of cell ids used for energy calculation (TF)
Double32_t m_showerDepth
Same as above, but on the cluster average direction (GDN)
void setHypothesisId(int hypothesisId)
Set Hypothesis identifier.
StatusBit
The status information for the ECLShowers.
@ c_hasDeadCrystal
bit 0: Dead crystal within nominal shower neighbour region.
@ c_hasHotCrystal
bit 1: Hot crystal within nominal shower neighbour region.
@ c_hasProblematicCrystal
combined flag to test whether the shower is 'problematic'
@ c_hasPulseShapeDiscrimination
bit 2: Shower has pulse shape discrimination variables.
void setListOfCrystalsForEnergy(const std::vector< unsigned int > &listofcrystals)
Set list of cell ids used for energy calculation.
void setTheta(double Theta)
Set Theta (rad)
double getUncertaintyTheta() const
Get Error of theta.
void setAbsZernike40(double absZernike40)
Set absolute value of Zernike moment 40.
int m_connectedRegionId
Connected Region ID (TF)
double getNominalNumberOfCrystalsForEnergy() const
Get nominal number of crystals used for energy calculation.
void setIsTrack(bool val)
Set Match with Track.
double getE9oE21() const
Get energy ratio E9oE21.
void setTrkDepth(double trkDepth)
Set path on track extrapolation line to POCA to average cluster direction.
double getNumberOfCrystalsForEnergy() const
Get number of crystals used for energy calculation.
Double32_t m_PulseShapeDiscriminationMVA
MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
int getUniqueId() const
Return unique identifier.
void setCentralCellId(int centralCellId)
Set central cell id.
int getDetectorRegion() const
Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.
Hypothesis
The hypothesis ID for ECLShowers.
@ c_mergedPi0
CR is reconstructed as merged pi0 (N3)
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
@ c_chargedHadron
CR is reconstructed as a charged hadron (T2)
@ c_muonNPhotons
CR is split into a muon and n photons (T1)
@ c_electronNPhotons
CR is split into an electron and n photons (T3)
@ c_nPhotons
CR is split into n photons (N1)
void setR(double R)
Set R.
Double32_t m_minTrkDistance
Distance between shower and closest track (GDN)
Double32_t m_deltaTime99
Time that contains 99% of signal crystals.
Double32_t m_Error[6]
Error of Energy, Theta and Phi.
void setDeltaTime99(double TimeReso)
Set Time Resolution.
Double32_t m_secondMoment
Shower shape variable, second moment (for merged pi0) (TF)
Double32_t m_E9oE21
Shower shape variable, E9oE25.
Double32_t m_lateralEnergy
Lateral Energy in Shower (GDN)
std::vector< unsigned int > & getListOfCrystalsForEnergy()
Get list of cellids used for energy calculation.
void setNominalNumberOfCrystalsForEnergy(double nominalNumberOfCrystalsForEnergy)
Set nominal number of crystals used for energy calculation.
Double32_t m_NumberOfHadronDigits
Number of hadron digits in shower (pulse shape discrimination variable).
void setNumberOfCrystalsForEnergy(double numberOfCrystalsForEnergy)
Set number of crystals used for energy calculation.
double getUncertaintyEnergy() const
Get Error of Energy.
void setShowerHadronIntensity(double hadronIntensity)
Set shower hadron intensity.
double getTrkDepth() const
path on track extrapolation to POCA to average cluster direction
double getNumberOfHadronDigits() const
Get number of hadron digits.
Double32_t m_energyHighestCrystal
Highest Energy in Shower (GeV) (TF)
double getMinTrkDistance() const
Get distance to closest Track.
double getNumberOfCrystals() const
Get NofCrystals.
Double32_t m_nominalNumberOfCrystalsForEnergy
number of crystals used for energy calculation (TF)
double getEnergyHighestCrystal() const
Get Highest Energy in Shower.
double getZernikeMVA() const
Get Zernike MVA.
bool getIsTrack() const
Get if matched with a Track.
double getUncertaintyPhi() const
Get Error of phi.
double getAbsZernike40() const
Get absolute value of Zernike moment 40.
void setTime(double Time)
Set Time.
double getShowerHadronIntensity() const
Get shower hadron intensity.
int getCentralCellId() const
Get central cell Id.
Double32_t m_phi
Phi (rad)
Double32_t m_numberOfCrystalsForEnergy
number of crystals used for energy calculation (TF)
Double32_t m_energy
Energy (GeV)
void setE1oE9(double E1oE9)
Set energy ration E1 over E9.
void setNumberOfHadronDigits(double NumberOfHadronDigits)
Set numver of hadron digits.
void setStatus(int Status)
Set Status.
double getSecondMoment() const
Get second moment.
void setZernikeMVA(double zernikeMVA)
SetZernike MVA value.
double getTheta() const
Get Theta.
double getDeltaTime99() const
Get Time Resolution.
Double32_t m_energyRaw
Raw Energy Sum(GeV)
void setMinTrkDistance(double dist)
Set Distance to closest track.
double getTime() const
Get Time.
double getAbsZernike51() const
Get absolute value of Zernike moment 51.
int m_hypothesisId
Hypothesis ID (TF)
Defines interface for accessing relations of objects in StoreArray.
bool hasProblematicCrystal() const
Check if shower contains a problematic crystal.
bool hasPulseShapeDiscrimination() const
Check if shower contains pulse shape discrimination information.
bool hasHotCrystal() const
Check if shower contains a hot crystal.
bool hasDeadCrystal() const
Check if shower contains a dead crystal.
Abstract base class for different kinds of events.