Belle II Software development
ECLShower Class Reference

Class to store ECL Showers. More...

#include <ECLShower.h>

Inheritance diagram for ECLShower:
RelationsInterface< BASE >

Public Types

enum  Hypothesis : unsigned int {
  c_muonNPhotons = 1 ,
  c_chargedHadron = 2 ,
  c_electronNPhotons = 3 ,
  c_nPhotons = 5 ,
  c_neutralHadron = 6 ,
  c_mergedPi0 = 7
}
 The hypothesis ID for ECLShowers. More...
 
enum  StatusBit : unsigned int {
  c_hasDeadCrystal = 1 << 0 ,
  c_hasHotCrystal = 1 << 1 ,
  c_hasProblematicCrystal = c_hasDeadCrystal | c_hasHotCrystal ,
  c_hasPulseShapeDiscrimination = 1 << 2
}
 The status information for the ECLShowers. More...
 

Public Member Functions

 ECLShower ()
 Default constructor for ROOT.
 
void setIsTrack (bool val)
 Set Match with Track.
 
void setStatus (int Status)
 Set Status.
 
void setShowerId (int ShowerId)
 Set Shower ID.
 
void setConnectedRegionId (int connectedRegionId)
 Set Connected region ID.
 
void setHypothesisId (int hypothesisId)
 Set Hypothesis identifier.
 
void setCentralCellId (int centralCellId)
 Set central cell id.
 
void setEnergy (double Energy)
 Set Energy.
 
void setEnergyRaw (double EnergySum)
 Set Raw Energy Sum.
 
void setTheta (double Theta)
 Set Theta (rad)
 
void setPhi (double Phi)
 Set Phi (rad)
 
void setR (double R)
 Set R.
 
void setCovarianceMatrix (double covArray[6])
 Set symmetric Error Array(3x3) for [0]->Error on Energy [2]->Error on Phi [5]->Error on Theta.
 
void setTime (double Time)
 Set Time.
 
void setDeltaTime99 (double TimeReso)
 Set Time Resolution.
 
void setEnergyHighestCrystal (double HighestEnergy)
 Set Highest Energy.
 
void setLateralEnergy (double lateralEnergy)
 Set Lateral Energy.
 
void setMinTrkDistance (double dist)
 Set Distance to closest track.
 
void setTrkDepth (double trkDepth)
 Set path on track extrapolation line to POCA to average cluster direction.
 
void setShowerDepth (double showerDepth)
 Set path on the average cluster direction.
 
void setNumberOfCrystals (double nofCrystals)
 Set sum of weights of crystals.
 
void setAbsZernikeMoment (unsigned int n, unsigned int m, double absZernikeMoment)
 Set absolute value of Zernike Moment nm, for nm between 10 and 55.
 
void setZernikeMVA (double zernikeMVA)
 SetZernike MVA value.
 
void setSecondMoment (double secondMoment)
 Set second moment.
 
void setE1oE9 (double E1oE9)
 Set energy ration E1 over E9.
 
void setE9oE21 (double E9oE21)
 Set energy ration E9 over E21.
 
void setShowerHadronIntensity (double hadronIntensity)
 Set shower hadron intensity.
 
void setPulseShapeDiscriminationMVA (double mvaVal)
 Set shower hadron intensity.
 
void setNumberOfHadronDigits (double NumberOfHadronDigits)
 Set numver of hadron digits.
 
void setNumberOfCrystalsForEnergy (double numberOfCrystalsForEnergy)
 Set number of crystals used for energy calculation.
 
void setNominalNumberOfCrystalsForEnergy (double nominalNumberOfCrystalsForEnergy)
 Set nominal number of crystals used for energy calculation.
 
void setNOptimalGroupIndex (int nOptimalGroupIndex)
 Set group number used to find nominalNumberOfCrystalsForEnergy.
 
void setNOptimalEnergyBin (int nOptimalEnergyBin)
 Set energy bin number used to find nominalNumberOfCrystalsForEnergy.
 
void setNOptimalEnergy (double nOptimalEnergy)
 Set energy used to find nOptimalEnergyBin.
 
void setListOfCrystalsForEnergy (const std::vector< unsigned int > &listofcrystals)
 Set list of cell ids used for energy calculation.
 
void setListOfCrystalEnergyRankAndQuality (std::vector< std::pair< unsigned int, bool > > listOfCrystalEnergyRankAndQuality)
 Set list of indexes of related ECLCalDigit objects sorted by calibrated energy with flag for PSD useability for charged PID.
 
bool getIsTrack () const
 Get if matched with a Track.
 
int getStatus () const
 Get Status.
 
int getShowerId () const
 Get Shower Id.
 
int getConnectedRegionId () const
 Get Connected region Id.
 
int getHypothesisId () const
 Get Hypothesis Id.
 
int getCentralCellId () const
 Get central cell Id.
 
double getEnergy () const
 Get Energy.
 
double getEnergyRaw () const
 Get Energy Sum.
 
double getTheta () const
 Get Theta.
 
double getPhi () const
 Get Phi.
 
double getR () const
 Get R.
 
void getCovarianceMatrixAsArray (double covArray[6]) const
 Get Error Array for Energy->[0], Phi->[2], Theta->[5].
 
double getUncertaintyEnergy () const
 Get Error of Energy.
 
double getUncertaintyTheta () const
 Get Error of theta.
 
double getUncertaintyPhi () const
 Get Error of phi.
 
double getTime () const
 Get Time.
 
double getDeltaTime99 () const
 Get Time Resolution.
 
double getEnergyHighestCrystal () const
 Get Highest Energy in Shower.
 
double getLateralEnergy () const
 Get Lateral Energy in Shower.
 
double getMinTrkDistance () const
 Get distance to closest Track.
 
double getTrkDepth () const
 path on track extrapolation to POCA to average cluster direction
 
double getShowerDepth () const
 path on track extrapolation to POCA to average cluster direction
 
double getNumberOfCrystals () const
 Get NofCrystals.
 
double getAbsZernikeMoment (unsigned int n, unsigned int m) const
 Get absolute value of Zernike Moment nm.
 
double getZernikeMVA () const
 Get Zernike MVA.
 
double getSecondMoment () const
 Get second moment.
 
double getE1oE9 () const
 Get energy ratio E1oE9.
 
double getE9oE21 () const
 Get energy ratio E9oE21.
 
double getShowerHadronIntensity () const
 Get shower hadron intensity.
 
double getPulseShapeDiscriminationMVA () const
 Get shower hadron intensity.
 
double getNumberOfHadronDigits () const
 Get number of hadron digits.
 
double getNumberOfCrystalsForEnergy () const
 Get number of crystals used for energy calculation.
 
double getNominalNumberOfCrystalsForEnergy () const
 Get nominal number of crystals used for energy calculation.
 
int getNOptimalGroupIndex () const
 Get index of group of crystals used to find nominalNumberOfCrystalsForEnergy.
 
int getNOptimalEnergyBin () const
 Get energy bin used to find nominalNumberOfCrystalsForEnergy.
 
double getNOptimalEnergy () const
 Get energy used to find nOptimalEnergyBin.
 
std::vector< unsigned int > & getListOfCrystalsForEnergy ()
 Get list of cellids used for energy calculation.
 
std::vector< std::pair< unsigned int, bool > > getListOfCrystalEnergyRankAndQuality ()
 Get list of indexes of related ECLCalDigit objects sorted by calibrated energy with flag for PSD useability for charged PID.
 
ROOT::Math::XYZVector getMomentum () const
 The method to get return ROOT::Math::XYZVector Momentum.
 
TMatrixDSym getCovarianceMatrix3x3 () const
 Return TMatrixDsym 3x3 covariance matrix for E, Phi and Theta.
 
int getDetectorRegion () const
 Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.
 
bool hasStatus (unsigned short int bitmask) const
 Return if specific status bit is set.
 
void addStatus (unsigned short int bitmask)
 Add bitmask to current status.
 
bool hasHotCrystal () const
 Check if shower contains a hot crystal.
 
bool hasDeadCrystal () const
 Check if shower contains a dead crystal.
 
bool hasProblematicCrystal () const
 Check if shower contains a problematic crystal.
 
bool hasPulseShapeDiscrimination () const
 Check if shower contains pulse shape discrimination information.
 
int getUniqueId () const
 Return unique identifier.
 
void addRelationTo (const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (with caching).
 
void addRelationTo (const TObject *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (no caching, can be quite slow).
 
void copyRelations (const RelationsInterface< BASE > *sourceObj)
 Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).
 
template<class TO >
RelationVector< TO > getRelationsTo (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from this object to another store array.
 
template<class FROM >
RelationVector< FROM > getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from another store array to this object.
 
template<class T >
RelationVector< T > getRelationsWith (const std::string &name="", const std::string &namedRelation="") const
 Get the relations between this object and another store array.
 
template<class TO >
TO * getRelatedTo (const std::string &name="", const std::string &namedRelation="") const
 Get the object to which this object has a relation.
 
template<class FROM >
FROM * getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the object from which this object has a relation.
 
template<class T >
T * getRelated (const std::string &name="", const std::string &namedRelation="") const
 Get the object to or from which this object has a relation.
 
template<class TO >
std::pair< TO *, float > getRelatedToWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing to an array.
 
template<class FROM >
std::pair< FROM *, float > getRelatedFromWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from an array.
 
template<class T >
std::pair< T *, float > getRelatedWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from/to an array.
 
virtual std::string getName () const
 Return a short name that describes this object, e.g.
 
virtual std::string getInfoHTML () const
 Return a short summary of this object's contents in HTML format.
 
std::string getInfo () const
 Return a short summary of this object's contents in raw text format.
 
std::string getArrayName () const
 Get name of array this object is stored in, or "" if not found.
 
int getArrayIndex () const
 Returns this object's array index (in StoreArray), or -1 if not found.
 

Protected Member Functions

TClonesArray * getArrayPointer () const
 Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).
 

Private Member Functions

 ClassDef (ECLShower, 17)
 ClassDef.
 

Private Attributes

bool m_isTrk
 Match with track (GDN)
 
int m_status
 Status.
 
int m_showerId
 Shower ID.
 
int m_connectedRegionId
 Connected Region ID (TF)
 
int m_hypothesisId
 Hypothesis ID (TF)
 
int m_centralCellId
 Central cell ID (TF)
 
Double32_t m_energy
 Energy (GeV)
 
Double32_t m_energyRaw
 Raw Energy Sum(GeV)
 
Double32_t m_theta
 Theta (rad)
 
Double32_t m_phi
 Phi (rad)
 
Double32_t m_r
 R (cm)
 
Double32_t m_Error [6]
 Error of Energy, Theta and Phi.
 
Double32_t m_time
 Time.
 
Double32_t m_deltaTime99
 Time that contains 99% of signal crystals.
 
Double32_t m_energyHighestCrystal
 Highest Energy in Shower (GeV) (TF)
 
Double32_t m_lateralEnergy
 Lateral Energy in Shower (GDN)
 
Double32_t m_minTrkDistance
 Distance between shower and closest track (GDN)
 
Double32_t m_trkDepth
 Path on track ext.
 
Double32_t m_showerDepth
 Same as above, but on the cluster average direction (GDN)
 
Double32_t m_numberOfCrystals
 Sum of weights of crystals (~number of crystals) (TF)
 
Double32_t m_absZernikeMoments [20]
 Shower shape variables, absolute values of Zernike Moments (MH)
 
Double32_t m_zernikeMVA
 Shower shape variable, zernike MVA output.
 
Double32_t m_secondMoment
 Shower shape variable, second moment (for merged pi0) (TF)
 
Double32_t m_E1oE9
 Shower shape variable, E1oE9 (TF)
 
Double32_t m_E9oE21
 Shower shape variable, E9oE25.
 
Double32_t m_ShowerHadronIntensity
 Shower Hadron Component Intensity (pulse shape discrimination variable).
 
Double32_t m_PulseShapeDiscriminationMVA
 MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
 
Double32_t m_NumberOfHadronDigits
 Number of hadron digits in shower (pulse shape discrimination variable).
 
Double32_t m_numberOfCrystalsForEnergy
 number of crystals used for energy calculation (TF)
 
Double32_t m_nominalNumberOfCrystalsForEnergy
 number of crystals used for energy calculation (TF)
 
int m_nOptimalGroupIndex
 group (of crystals) number used to find nominalNumberOfCrystalsForEnergy (CH)
 
int m_nOptimalEnergyBin
 energy bin used to find nominalNumberOfCrystalsForEnergy (CH)
 
Double32_t m_nOptimalEnergy
 energy used in ECLSplitterN1 to find nOptimalEnergyBin (CH)
 
std::vector< unsigned int > m_listOfCrystalsForEnergy
 list of cell ids used for energy calculation (TF)
 
std::vector< std::pair< unsigned int, bool > > m_listOfCrystalEnergyRankAndQuality
 list of indices of related ECLCalDigits by energy.
 
DataStore::StoreEntrym_cacheDataStoreEntry
 Cache of the data store entry to which this object belongs.
 
int m_cacheArrayIndex
 Cache of the index in the TClonesArray to which this object belongs.
 

Detailed Description

Class to store ECL Showers.

Definition at line 30 of file ECLShower.h.

Member Enumeration Documentation

◆ Hypothesis

enum Hypothesis : unsigned int

The hypothesis ID for ECLShowers.

Unlike ECLClusters, ECLShowers have one and only one hypothesis ID.

Enumerator
c_muonNPhotons 

CR is split into a muon and n photons (T1)

c_chargedHadron 

CR is reconstructed as a charged hadron (T2)

c_electronNPhotons 

CR is split into an electron and n photons (T3)

c_nPhotons 

CR is split into n photons (N1)

c_neutralHadron 

CR is reconstructed as a neutral hadron (N2)

c_mergedPi0 

CR is reconstructed as merged pi0 (N3)

Definition at line 34 of file ECLShower.h.

34 : unsigned int {
42 c_nPhotons = 5,
46 c_mergedPi0 = 7
47 };
@ c_mergedPi0
CR is reconstructed as merged pi0 (N3)
Definition: ECLShower.h:46
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
Definition: ECLShower.h:44
@ c_chargedHadron
CR is reconstructed as a charged hadron (T2)
Definition: ECLShower.h:38
@ c_muonNPhotons
CR is split into a muon and n photons (T1)
Definition: ECLShower.h:36
@ c_electronNPhotons
CR is split into an electron and n photons (T3)
Definition: ECLShower.h:40
@ c_nPhotons
CR is split into n photons (N1)
Definition: ECLShower.h:42

◆ StatusBit

enum StatusBit : unsigned int

The status information for the ECLShowers.

Enumerator
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.


Definition at line 50 of file ECLShower.h.

50 : unsigned int {
52 c_hasDeadCrystal = 1 << 0,
53
55 c_hasHotCrystal = 1 << 1,
56
59
62
63 };
@ c_hasDeadCrystal
bit 0: Dead crystal within nominal shower neighbour region.
Definition: ECLShower.h:52
@ c_hasHotCrystal
bit 1: Hot crystal within nominal shower neighbour region.
Definition: ECLShower.h:55
@ c_hasProblematicCrystal
combined flag to test whether the shower is 'problematic'
Definition: ECLShower.h:58
@ c_hasPulseShapeDiscrimination
bit 2: Shower has pulse shape discrimination variables.
Definition: ECLShower.h:61

Constructor & Destructor Documentation

◆ ECLShower()

ECLShower ( )
inline

Default constructor for ROOT.

< Match with track < Status (e.g. shower contains one hot crystal) < Shower ID < Connected Region ID < Hypothesis ID < Central Cell ID < Energy (GeV) < Raw Energy Sum (GeV) < Theta (rad) < Phi (rad) < R (cm) < Error Array for Energy->[0], Phi->[2], Theta->[5] < Time < Time that contains 99% of true signals < Highest energy in Shower < Lateral Energy
< Distance between shower and closest track
< Path on track extrapolation to POCA to average cluster direction
< Same as above, but on the cluster average direction < Sum of weights of crystals (~number of crystals) < Shower shape variables, absolute values of Zernike Moments 10 to 55 < Shower shape variable, Zernike MVA output < Shower shape variable, second moment (needed for merged pi0) < Shower shape variable, E1oE9 < Shower shape variable, E9oE21 < Shower Hadron Intensity. Will be removed in release-04. < Digit level MVA classifier that uses pulse shape discrimination. < Shower Number of hadron digits < number of crystals used for energy calculation < nominal number of crystals used for energy calculation < index of group of crystals used to find m_nominalNumberOfCrystalsForEnergy < energy bin used to find m_nominalNumberOfCrystalsForEnergy < energy used to find nOptimalEnergyBin in ECLSplitterN1 < list of cell ids used for energy calculation < list of ECLCalDigit indices sorted by online energy

Definition at line 66 of file ECLShower.h.

66 :
67 m_isTrk(false),
68 m_status(0),
69 m_showerId(0),
73 m_energy(0.0),
74 m_energyRaw(0.0),
75 m_theta(0.0),
76 m_phi(0.0),
77 m_r(0.0),
78 m_Error{0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
79 m_time(0),
80 m_deltaTime99(0),
82 m_lateralEnergy(0.0),
83 m_minTrkDistance(0.0),
84 m_trkDepth(0.0),
85 m_showerDepth(0.0),
87 m_absZernikeMoments{ -999.0},
88 m_zernikeMVA(0.0),
89 m_secondMoment(0.0),
90 m_E1oE9(0.0),
91 m_E9oE21(0.0),
99 m_nOptimalEnergy(0.0),
103 { }
bool m_isTrk
Match with track (GDN)
Definition: ECLShower.h:530
Double32_t m_r
R (cm)
Definition: ECLShower.h:542
Double32_t m_zernikeMVA
Shower shape variable, zernike MVA output.
Definition: ECLShower.h:553
int m_showerId
Shower ID.
Definition: ECLShower.h:533
int m_centralCellId
Central cell ID (TF)
Definition: ECLShower.h:536
Double32_t m_nOptimalEnergy
energy used in ECLSplitterN1 to find nOptimalEnergyBin (CH)
Definition: ECLShower.h:567
Double32_t m_numberOfCrystals
Sum of weights of crystals (~number of crystals) (TF)
Definition: ECLShower.h:551
Double32_t m_time
Time.
Definition: ECLShower.h:544
Double32_t m_ShowerHadronIntensity
Shower Hadron Component Intensity (pulse shape discrimination variable).
Definition: ECLShower.h:558
Double32_t m_E1oE9
Shower shape variable, E1oE9 (TF)
Definition: ECLShower.h:555
Double32_t m_trkDepth
Path on track ext.
Definition: ECLShower.h:549
Double32_t m_theta
Theta (rad)
Definition: ECLShower.h:540
Double32_t m_absZernikeMoments[20]
Shower shape variables, absolute values of Zernike Moments (MH)
Definition: ECLShower.h:552
std::vector< unsigned int > m_listOfCrystalsForEnergy
list of cell ids used for energy calculation (TF)
Definition: ECLShower.h:568
Double32_t m_showerDepth
Same as above, but on the cluster average direction (GDN)
Definition: ECLShower.h:550
int m_connectedRegionId
Connected Region ID (TF)
Definition: ECLShower.h:534
Double32_t m_PulseShapeDiscriminationMVA
MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
Definition: ECLShower.h:560
int m_status
Status.
Definition: ECLShower.h:532
Double32_t m_minTrkDistance
Distance between shower and closest track (GDN)
Definition: ECLShower.h:548
Double32_t m_deltaTime99
Time that contains 99% of signal crystals.
Definition: ECLShower.h:545
Double32_t m_Error[6]
Error of Energy, Theta and Phi.
Definition: ECLShower.h:543
int m_nOptimalEnergyBin
energy bin used to find nominalNumberOfCrystalsForEnergy (CH)
Definition: ECLShower.h:566
Double32_t m_secondMoment
Shower shape variable, second moment (for merged pi0) (TF)
Definition: ECLShower.h:554
Double32_t m_E9oE21
Shower shape variable, E9oE25.
Definition: ECLShower.h:556
Double32_t m_lateralEnergy
Lateral Energy in Shower (GDN)
Definition: ECLShower.h:547
Double32_t m_NumberOfHadronDigits
Number of hadron digits in shower (pulse shape discrimination variable).
Definition: ECLShower.h:562
Double32_t m_energyHighestCrystal
Highest Energy in Shower (GeV) (TF)
Definition: ECLShower.h:546
Double32_t m_nominalNumberOfCrystalsForEnergy
number of crystals used for energy calculation (TF)
Definition: ECLShower.h:564
std::vector< std::pair< unsigned int, bool > > m_listOfCrystalEnergyRankAndQuality
list of indices of related ECLCalDigits by energy.
Definition: ECLShower.h:570
int m_nOptimalGroupIndex
group (of crystals) number used to find nominalNumberOfCrystalsForEnergy (CH)
Definition: ECLShower.h:565
Double32_t m_phi
Phi (rad)
Definition: ECLShower.h:541
Double32_t m_numberOfCrystalsForEnergy
number of crystals used for energy calculation (TF)
Definition: ECLShower.h:563
Double32_t m_energy
Energy (GeV)
Definition: ECLShower.h:538
Double32_t m_energyRaw
Raw Energy Sum(GeV)
Definition: ECLShower.h:539
int m_hypothesisId
Hypothesis ID (TF)
Definition: ECLShower.h:535

Member Function Documentation

◆ addRelationTo() [1/2]

void addRelationTo ( const RelationsInterface< BASE > *  object,
float  weight = 1.0,
const std::string &  namedRelation = "" 
) const
inlineinherited

Add a relation from this object to another object (with caching).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 142 of file RelationsObject.h.

143 {
144 if (object)
146 object, object->m_cacheDataStoreEntry, object->m_cacheArrayIndex, weight, namedRelation);
147 }
void addRelation(const TObject *fromObject, StoreEntry *&fromEntry, int &fromIndex, const TObject *toObject, StoreEntry *&toEntry, int &toIndex, float weight, const std::string &namedRelation)
Add a relation from an object in a store array to another object in a store array.
Definition: DataStore.cc:492
static DataStore & Instance()
Instance of singleton Store.
Definition: DataStore.cc:54
DataStore::StoreEntry * m_cacheDataStoreEntry
Cache of the data store entry to which this object belongs.
int m_cacheArrayIndex
Cache of the index in the TClonesArray to which this object belongs.

◆ addRelationTo() [2/2]

void addRelationTo ( const TObject *  object,
float  weight = 1.0,
const std::string &  namedRelation = "" 
) const
inlineinherited

Add a relation from this object to another object (no caching, can be quite slow).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 155 of file RelationsObject.h.

156 {
157 StoreEntry* toEntry = nullptr;
158 int toIndex = -1;
159 DataStore::Instance().addRelation(this, m_cacheDataStoreEntry, m_cacheArrayIndex, object, toEntry, toIndex, weight, namedRelation);
160 }

◆ addStatus()

void addStatus ( unsigned short int  bitmask)
inline

Add bitmask to current status.

Parameters
bitmaskThe status code which should be added.

Definition at line 504 of file ECLShower.h.

504{ m_status |= bitmask; }

◆ copyRelations()

void copyRelations ( const RelationsInterface< BASE > *  sourceObj)
inlineinherited

Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).

Useful if you want to make a complete copy of a StoreArray object to make modifications to it, but retain all information on linked objects.

Note: this only works if sourceObj inherits from the same base (e.g. RelationsObject), and only for related objects that also inherit from the same base.

Definition at line 170 of file RelationsObject.h.

171 {
172 if (!sourceObj)
173 return;
174 auto fromRels = sourceObj->getRelationsFrom<RelationsInterface<BASE>>("ALL");
175 for (unsigned int iRel = 0; iRel < fromRels.size(); iRel++) {
176 fromRels.object(iRel)->addRelationTo(this, fromRels.weight(iRel));
177 }
178
179 auto toRels = sourceObj->getRelationsTo<RelationsInterface<BASE>>("ALL");
180 for (unsigned int iRel = 0; iRel < toRels.size(); iRel++) {
181 this->addRelationTo(toRels.object(iRel), toRels.weight(iRel));
182 }
183 }
void addRelationTo(const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
Add a relation from this object to another object (with caching).

◆ getAbsZernikeMoment()

double getAbsZernikeMoment ( unsigned int  n,
unsigned int  m 
) const
inline

Get absolute value of Zernike Moment nm.

Returns
Absolute Value of Zernike Moment nm, for nm between 10 and 55

Definition at line 377 of file ECLShower.h.

377{ return m_absZernikeMoments[(n * (n + 1)) / 2 + m - 1]; }

◆ getArrayIndex()

int getArrayIndex ( ) const
inlineinherited

Returns this object's array index (in StoreArray), or -1 if not found.

Definition at line 385 of file RelationsObject.h.

386 {
388 return m_cacheArrayIndex;
389 }
bool findStoreEntry(const TObject *object, StoreEntry *&entry, int &index)
Find an object in an array in the data store.
Definition: DataStore.cc:398

◆ getArrayName()

std::string getArrayName ( ) const
inlineinherited

Get name of array this object is stored in, or "" if not found.

Definition at line 377 of file RelationsObject.h.

◆ getArrayPointer()

TClonesArray * getArrayPointer ( ) const
inlineprotectedinherited

Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).

Definition at line 418 of file RelationsObject.h.

419 {
422 return nullptr;
424 }
TClonesArray * getPtrAsArray() const
Return ptr cast to TClonesArray.
Definition: StoreEntry.cc:83

◆ getCentralCellId()

int getCentralCellId ( ) const
inline

Get central cell Id.

Returns
central cell Id

Definition at line 282 of file ECLShower.h.

282{ return m_centralCellId; }

◆ getConnectedRegionId()

int getConnectedRegionId ( ) const
inline

Get Connected region Id.

Returns
Connected region Id

Definition at line 272 of file ECLShower.h.

272{ return m_connectedRegionId; }

◆ getCovarianceMatrix3x3()

TMatrixDSym getCovarianceMatrix3x3 ( ) const
inline

Return TMatrixDsym 3x3 covariance matrix for E, Phi and Theta.

Definition at line 462 of file ECLShower.h.

463 {
464 TMatrixDSym covmatecl(3);
465 covmatecl(0, 0) = m_Error[0];
466 covmatecl(1, 0) = m_Error[1];
467 covmatecl(1, 1) = m_Error[2];
468 covmatecl(2, 0) = m_Error[3];
469 covmatecl(2, 1) = m_Error[4];
470 covmatecl(2, 2) = m_Error[5];
471
472 //make symmetric
473 for (int i = 0; i < 3; i++)
474 for (int j = 0; j < i ; j++)
475 covmatecl(j, i) = covmatecl(i, j);
476 return covmatecl;
477 }

◆ getCovarianceMatrixAsArray()

void getCovarianceMatrixAsArray ( double  covArray[6]) const
inline

Get Error Array for Energy->[0], Phi->[2], Theta->[5].

Parameters
covArrayarray which gets filled with errors for Energy->[0], Phi->[2], Theta->[5]

Definition at line 312 of file ECLShower.h.

313 {
314 for (unsigned int i = 0; i < 6; i++) {
315 covArray[i] = m_Error[i];
316 }
317 }

◆ getDeltaTime99()

double getDeltaTime99 ( ) const
inline

Get Time Resolution.

Returns
deltat99

Definition at line 342 of file ECLShower.h.

342{ return m_deltaTime99; }

◆ getDetectorRegion()

int getDetectorRegion ( ) const
inline

Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.

Definition at line 480 of file ECLShower.h.

481 {
482 const double theta = getTheta();
483
484 if (theta < 0.2164208) return 0; // < 12.4deg
485 if (theta < 0.5480334) return 1; // < 31.4deg
486 if (theta < 0.561996) return 11; // < 32.2deg
487 if (theta < 2.2462387) return 2; // < 128.7deg
488 if (theta < 2.2811453) return 13; // < 130.7deg
489 if (theta < 2.7070057) return 3; // < 155.1deg
490 else return 0;
491 }
double getTheta() const
Get Theta.
Definition: ECLShower.h:297

◆ getE1oE9()

double getE1oE9 ( ) const
inline

Get energy ratio E1oE9.

Returns
E1oE9

Definition at line 392 of file ECLShower.h.

392{ return m_E1oE9; }

◆ getE9oE21()

double getE9oE21 ( ) const
inline

Get energy ratio E9oE21.

Returns
E9oE21

Definition at line 397 of file ECLShower.h.

397{ return m_E9oE21; }

◆ getEnergy()

double getEnergy ( ) const
inline

Get Energy.

Returns
Energy

Definition at line 287 of file ECLShower.h.

287{ return m_energy; }

◆ getEnergyHighestCrystal()

double getEnergyHighestCrystal ( ) const
inline

Get Highest Energy in Shower.

Returns
Highest Energy

Definition at line 347 of file ECLShower.h.

347{ return m_energyHighestCrystal; }

◆ getEnergyRaw()

double getEnergyRaw ( ) const
inline

Get Energy Sum.

Returns
Energy Sum

Definition at line 292 of file ECLShower.h.

292{ return m_energyRaw; }

◆ getHypothesisId()

int getHypothesisId ( ) const
inline

Get Hypothesis Id.

Returns
Hypothesis Id

Definition at line 277 of file ECLShower.h.

277{ return m_hypothesisId; }

◆ getInfo()

std::string getInfo ( ) const
inlineinherited

Return a short summary of this object's contents in raw text format.

Returns the contents of getInfoHTML() while translating line-breaks etc.

Note
: You don't need to implement this function (it's not virtual), getInfoHTML() is enough.

Definition at line 370 of file RelationsObject.h.

371 {
373 }
virtual std::string getInfoHTML() const
Return a short summary of this object's contents in HTML format.
std::string htmlToPlainText(const std::string &html)
See RelationsObject::getInfo()

◆ getInfoHTML()

virtual std::string getInfoHTML ( ) const
inlinevirtualinherited

Return a short summary of this object's contents in HTML format.

Reimplement this in your own class to provide useful output for display or debugging purposes. For example, you might do something like:

std::stringstream out;
out << "<b>PDG</b>: " << m_pdg << "<br>";
out << "<b>Covariance Matrix</b>: " << HTML::getString(getCovariance5()) << "<br>";
return out.str();
std::string getString(const TMatrixFBase &matrix, int precision=2, bool color=true)
get HTML table representing a matrix.
Definition: HTML.cc:24
See also
Particle::getInfoHTML() for a more complex example.
HTML for some utility functions.
Use getInfo() to get a raw text version of this output.

Reimplemented in Particle, Cluster, MCParticle, PIDLikelihood, SoftwareTriggerResult, Track, TrackFitResult, TRGSummary, and RecoTrack.

Definition at line 362 of file RelationsObject.h.

362{ return ""; }

◆ getIsTrack()

bool getIsTrack ( ) const
inline

Get if matched with a Track.

Returns
flag for track Matching

Definition at line 257 of file ECLShower.h.

257{ return m_isTrk; }

◆ getLateralEnergy()

double getLateralEnergy ( ) const
inline

Get Lateral Energy in Shower.

Returns
Lateral Energy

Definition at line 352 of file ECLShower.h.

352{ return m_lateralEnergy; }

◆ getListOfCrystalEnergyRankAndQuality()

std::vector< std::pair< unsigned int, bool > > getListOfCrystalEnergyRankAndQuality ( )
inline

Get list of indexes of related ECLCalDigit objects sorted by calibrated energy with flag for PSD useability for charged PID.

Returns
m_listOfCrystalEnergyRankAndQuality

Definition at line 447 of file ECLShower.h.

◆ getListOfCrystalsForEnergy()

std::vector< unsigned int > & getListOfCrystalsForEnergy ( )
inline

Get list of cellids used for energy calculation.

Returns
m_listOfCrystalsForEnergy

Definition at line 442 of file ECLShower.h.

◆ getMinTrkDistance()

double getMinTrkDistance ( ) const
inline

Get distance to closest Track.

Returns
distance to closest Track

Definition at line 357 of file ECLShower.h.

357{ return m_minTrkDistance; }

◆ getMomentum()

ROOT::Math::XYZVector getMomentum ( ) const
inline

The method to get return ROOT::Math::XYZVector Momentum.

Definition at line 452 of file ECLShower.h.

453 {
454 return ROOT::Math::XYZVector(
455 m_energy * std::sin(m_theta) * std::cos(m_phi),
456 m_energy * std::sin(m_theta) * std::sin(m_phi),
457 m_energy * std::cos(m_theta)
458 );
459 }

◆ getName()

virtual std::string getName ( ) const
inlinevirtualinherited

Return a short name that describes this object, e.g.

pi+ for an MCParticle.

Reimplemented in Particle, MCParticle, and SpacePoint.

Definition at line 344 of file RelationsObject.h.

344{ return ""; }

◆ getNominalNumberOfCrystalsForEnergy()

double getNominalNumberOfCrystalsForEnergy ( ) const
inline

Get nominal number of crystals used for energy calculation.

Returns
m_nominalNumberOfCrystalsForEnergy

Definition at line 422 of file ECLShower.h.

◆ getNOptimalEnergy()

double getNOptimalEnergy ( ) const
inline

Get energy used to find nOptimalEnergyBin.

Returns
m_nOptimalEnergy

Definition at line 437 of file ECLShower.h.

437{ return m_nOptimalEnergy; }

◆ getNOptimalEnergyBin()

int getNOptimalEnergyBin ( ) const
inline

Get energy bin used to find nominalNumberOfCrystalsForEnergy.

Returns
m_nOptimalEnergyBin

Definition at line 432 of file ECLShower.h.

432{ return m_nOptimalEnergyBin; }

◆ getNOptimalGroupIndex()

int getNOptimalGroupIndex ( ) const
inline

Get index of group of crystals used to find nominalNumberOfCrystalsForEnergy.

Returns
m_nOptimalGroupIndex

Definition at line 427 of file ECLShower.h.

427{ return m_nOptimalGroupIndex; }

◆ getNumberOfCrystals()

double getNumberOfCrystals ( ) const
inline

Get NofCrystals.

Returns
NofCrystals

Definition at line 372 of file ECLShower.h.

372{ return m_numberOfCrystals; }

◆ getNumberOfCrystalsForEnergy()

double getNumberOfCrystalsForEnergy ( ) const
inline

Get number of crystals used for energy calculation.

Returns
m_numberOfCrystalsForEnergy

Definition at line 417 of file ECLShower.h.

◆ getNumberOfHadronDigits()

double getNumberOfHadronDigits ( ) const
inline

Get number of hadron digits.

Returns
m_NumberOfHadronDigits

Definition at line 412 of file ECLShower.h.

412{ return m_NumberOfHadronDigits; }

◆ getPhi()

double getPhi ( ) const
inline

Get Phi.

Returns
Phi

Definition at line 302 of file ECLShower.h.

302{ return m_phi; }

◆ getPulseShapeDiscriminationMVA()

double getPulseShapeDiscriminationMVA ( ) const
inline

Get shower hadron intensity.

Returns
m_PulseShapeDiscriminationMVA

Definition at line 407 of file ECLShower.h.

◆ getR()

double getR ( ) const
inline

Get R.

Returns
R

Definition at line 307 of file ECLShower.h.

307{ return m_r; }

◆ getRelated()

T * getRelated ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object to or from which this object has a relation.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 278 of file RelationsObject.h.

279 {
281 T::Class(), name, namedRelation).object);
282 }
@ c_BothSides
Combination of c_FromSide and c_ToSide.
Definition: DataStore.h:79
Belle2::RelationEntry getRelationWith(ESearchSide searchSide, const TObject *object, StoreEntry *&entry, int &index, const TClass *withClass, const std::string &withName, const std::string &namedRelation)
Get the first relation between an object and another object in a store array.
Definition: DataStore.cc:597
TObject * object
Pointer to the object.
Definition: RelationEntry.h:32

◆ getRelatedFrom()

FROM * getRelatedFrom ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object from which this object has a relation.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 263 of file RelationsObject.h.

264 {
266 m_cacheArrayIndex, FROM::Class(), name, namedRelation).object);
267 }
@ c_FromSide
Return relations/objects pointed from (to a given object).
Definition: DataStore.h:77

◆ getRelatedFromWithWeight()

std::pair< FROM *, float > getRelatedFromWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing from an array.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 314 of file RelationsObject.h.

316 {
318 FROM::Class(), name, namedRelation);
319 return std::make_pair(static_cast<FROM*>(entry.object), entry.weight);
320 }

◆ getRelatedTo()

TO * getRelatedTo ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the object to which this object has a relation.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 248 of file RelationsObject.h.

249 {
251 TO::Class(), name, namedRelation).object);
252 }
@ c_ToSide
Return relations/objects pointed to (from a given object).
Definition: DataStore.h:78

◆ getRelatedToWithWeight()

std::pair< TO *, float > getRelatedToWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing to an array.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 297 of file RelationsObject.h.

299 {
301 TO::Class(), name, namedRelation);
302 return std::make_pair(static_cast<TO*>(entry.object), entry.weight);
303 }

◆ getRelatedWithWeight()

std::pair< T *, float > getRelatedWithWeight ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get first related object & weight of relation pointing from/to an array.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 331 of file RelationsObject.h.

333 {
335 T::Class(), name, namedRelation);
336 return std::make_pair(static_cast<T*>(entry.object), entry.weight);
337 }

◆ getRelationsFrom()

RelationVector< FROM > getRelationsFrom ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations that point from another store array to this object.

Template Parameters
FROMThe class of objects from which the relations point.
Parameters
nameThe name of the store array from which the relations point. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 212 of file RelationsObject.h.

214 {
216 m_cacheArrayIndex, FROM::Class(), name, namedRelation));
217 }
RelationVector< T > getRelationsWith(const std::string &name="", const std::string &namedRelation="") const
Get the relations between this object and another store array.

◆ getRelationsTo()

RelationVector< TO > getRelationsTo ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations that point from this object to another store array.

Template Parameters
TOThe class of objects to which the relations point.
Parameters
nameThe name of the store array to which the relations point. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 197 of file RelationsObject.h.

198 {
200 m_cacheArrayIndex, TO::Class(), name, namedRelation));
201 }

◆ getRelationsWith()

RelationVector< T > getRelationsWith ( const std::string &  name = "",
const std::string &  namedRelation = "" 
) const
inlineinherited

Get the relations between this object and another store array.

Relations in both directions are returned.

Template Parameters
TThe class of objects to or from which the relations point.
Parameters
nameThe name of the store array to or from which the relations point. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 230 of file RelationsObject.h.

231 {
233 m_cacheArrayIndex, T::Class(), name, namedRelation));
234 }

◆ getSecondMoment()

double getSecondMoment ( ) const
inline

Get second moment.

Returns
second moment

Definition at line 387 of file ECLShower.h.

387{ return m_secondMoment; }

◆ getShowerDepth()

double getShowerDepth ( ) const
inline

path on track extrapolation to POCA to average cluster direction

Returns
path lenght in cm starting from cluster center

Definition at line 367 of file ECLShower.h.

367{ return m_showerDepth; }

◆ getShowerHadronIntensity()

double getShowerHadronIntensity ( ) const
inline

Get shower hadron intensity.

Returns
m_ShowerHadronIntensity

Definition at line 402 of file ECLShower.h.

402{ return m_ShowerHadronIntensity; }

◆ getShowerId()

int getShowerId ( ) const
inline

Get Shower Id.

Returns
Shower Id

Definition at line 267 of file ECLShower.h.

267{ return m_showerId; }

◆ getStatus()

int getStatus ( ) const
inline

Get Status.

Returns
Status

Definition at line 262 of file ECLShower.h.

262{ return m_status; }

◆ getTheta()

double getTheta ( ) const
inline

Get Theta.

Returns
Theta

Definition at line 297 of file ECLShower.h.

297{ return m_theta; }

◆ getTime()

double getTime ( ) const
inline

Get Time.

Returns
Time

Definition at line 337 of file ECLShower.h.

337{ return m_time; }

◆ getTrkDepth()

double getTrkDepth ( ) const
inline

path on track extrapolation to POCA to average cluster direction

Returns
path lenght in cm

Definition at line 362 of file ECLShower.h.

362{ return m_trkDepth; }

◆ getUncertaintyEnergy()

double getUncertaintyEnergy ( ) const
inline

Get Error of Energy.

Returns
Error of Energy

Definition at line 322 of file ECLShower.h.

322{ return sqrt(m_Error[0]);}
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ getUncertaintyPhi()

double getUncertaintyPhi ( ) const
inline

Get Error of phi.

Returns
Error of phi

Definition at line 332 of file ECLShower.h.

332{return sqrt(m_Error[2]);}

◆ getUncertaintyTheta()

double getUncertaintyTheta ( ) const
inline

Get Error of theta.

Returns
Error of theta

Definition at line 327 of file ECLShower.h.

327{ return sqrt(m_Error[5]);}

◆ getUniqueId()

int getUniqueId ( ) const
inline

Return unique identifier.

Definition at line 523 of file ECLShower.h.

524 {
525 return 100000 * m_connectedRegionId + 1000 * m_hypothesisId + m_showerId;
526 }

◆ getZernikeMVA()

double getZernikeMVA ( ) const
inline

Get Zernike MVA.

Returns
Zernike MVA

Definition at line 382 of file ECLShower.h.

382{return m_zernikeMVA; }

◆ hasStatus()

bool hasStatus ( unsigned short int  bitmask) const
inline

Return if specific status bit is set.

Parameters
bitmaskThe bitmask which is compared to the status of the shower.
Returns
Returns true if the bitmask matches the status code of the shower.

Definition at line 498 of file ECLShower.h.

498{ return (m_status & bitmask) == bitmask; }

◆ setAbsZernikeMoment()

void setAbsZernikeMoment ( unsigned int  n,
unsigned int  m,
double  absZernikeMoment 
)
inline

Set absolute value of Zernike Moment nm, for nm between 10 and 55.

Definition at line 195 of file ECLShower.h.

195{ m_absZernikeMoments[(n * (n + 1)) / 2 + m - 1] = absZernikeMoment; }

◆ setCentralCellId()

void setCentralCellId ( int  centralCellId)
inline

Set central cell id.

Definition at line 127 of file ECLShower.h.

127{ m_centralCellId = centralCellId; }

◆ setConnectedRegionId()

void setConnectedRegionId ( int  connectedRegionId)
inline

Set Connected region ID.

Definition at line 119 of file ECLShower.h.

119{ m_connectedRegionId = connectedRegionId; }

◆ setCovarianceMatrix()

void setCovarianceMatrix ( double  covArray[6])
inline

Set symmetric Error Array(3x3) for [0]->Error on Energy [2]->Error on Phi [5]->Error on Theta.

Definition at line 154 of file ECLShower.h.

155 {
156 for (unsigned int i = 0; i < 6; i++) {
157 m_Error[i] = covArray[i];
158 }
159 }

◆ setDeltaTime99()

void setDeltaTime99 ( double  TimeReso)
inline

Set Time Resolution.

Definition at line 167 of file ECLShower.h.

167{ m_deltaTime99 = TimeReso; }

◆ setE1oE9()

void setE1oE9 ( double  E1oE9)
inline

Set energy ration E1 over E9.

Definition at line 207 of file ECLShower.h.

207{ m_E1oE9 = E1oE9; }

◆ setE9oE21()

void setE9oE21 ( double  E9oE21)
inline

Set energy ration E9 over E21.

Definition at line 211 of file ECLShower.h.

211{ m_E9oE21 = E9oE21; }

◆ setEnergy()

void setEnergy ( double  Energy)
inline

Set Energy.

Definition at line 131 of file ECLShower.h.

131{ m_energy = Energy; }

◆ setEnergyHighestCrystal()

void setEnergyHighestCrystal ( double  HighestEnergy)
inline

Set Highest Energy.

Definition at line 171 of file ECLShower.h.

171{ m_energyHighestCrystal = HighestEnergy; }

◆ setEnergyRaw()

void setEnergyRaw ( double  EnergySum)
inline

Set Raw Energy Sum.

Definition at line 135 of file ECLShower.h.

135{ m_energyRaw = EnergySum; }

◆ setHypothesisId()

void setHypothesisId ( int  hypothesisId)
inline

Set Hypothesis identifier.

Definition at line 123 of file ECLShower.h.

123{ m_hypothesisId = hypothesisId; }

◆ setIsTrack()

void setIsTrack ( bool  val)
inline

Set Match with Track.

Definition at line 107 of file ECLShower.h.

107{ m_isTrk = val; }

◆ setLateralEnergy()

void setLateralEnergy ( double  lateralEnergy)
inline

Set Lateral Energy.

Definition at line 175 of file ECLShower.h.

175{ m_lateralEnergy = lateralEnergy; }

◆ setListOfCrystalEnergyRankAndQuality()

void setListOfCrystalEnergyRankAndQuality ( std::vector< std::pair< unsigned int, bool > >  listOfCrystalEnergyRankAndQuality)
inline

Set list of indexes of related ECLCalDigit objects sorted by calibrated energy with flag for PSD useability for charged PID.

Definition at line 251 of file ECLShower.h.

252 {m_listOfCrystalEnergyRankAndQuality = listOfCrystalEnergyRankAndQuality;}

◆ setListOfCrystalsForEnergy()

void setListOfCrystalsForEnergy ( const std::vector< unsigned int > &  listofcrystals)
inline

Set list of cell ids used for energy calculation.

Definition at line 247 of file ECLShower.h.

247{ m_listOfCrystalsForEnergy = listofcrystals;}

◆ setMinTrkDistance()

void setMinTrkDistance ( double  dist)
inline

Set Distance to closest track.

Definition at line 179 of file ECLShower.h.

179{ m_minTrkDistance = dist; }

◆ setNominalNumberOfCrystalsForEnergy()

void setNominalNumberOfCrystalsForEnergy ( double  nominalNumberOfCrystalsForEnergy)
inline

Set nominal number of crystals used for energy calculation.

Definition at line 231 of file ECLShower.h.

231{ m_nominalNumberOfCrystalsForEnergy = nominalNumberOfCrystalsForEnergy; }

◆ setNOptimalEnergy()

void setNOptimalEnergy ( double  nOptimalEnergy)
inline

Set energy used to find nOptimalEnergyBin.

Definition at line 243 of file ECLShower.h.

243{ m_nOptimalEnergy = nOptimalEnergy; }

◆ setNOptimalEnergyBin()

void setNOptimalEnergyBin ( int  nOptimalEnergyBin)
inline

Set energy bin number used to find nominalNumberOfCrystalsForEnergy.

Definition at line 239 of file ECLShower.h.

239{ m_nOptimalEnergyBin = nOptimalEnergyBin; }

◆ setNOptimalGroupIndex()

void setNOptimalGroupIndex ( int  nOptimalGroupIndex)
inline

Set group number used to find nominalNumberOfCrystalsForEnergy.

Definition at line 235 of file ECLShower.h.

235{ m_nOptimalGroupIndex = nOptimalGroupIndex; }

◆ setNumberOfCrystals()

void setNumberOfCrystals ( double  nofCrystals)
inline

Set sum of weights of crystals.

Definition at line 191 of file ECLShower.h.

191{ m_numberOfCrystals = nofCrystals; }

◆ setNumberOfCrystalsForEnergy()

void setNumberOfCrystalsForEnergy ( double  numberOfCrystalsForEnergy)
inline

Set number of crystals used for energy calculation.

Definition at line 227 of file ECLShower.h.

227{ m_numberOfCrystalsForEnergy = numberOfCrystalsForEnergy; }

◆ setNumberOfHadronDigits()

void setNumberOfHadronDigits ( double  NumberOfHadronDigits)
inline

Set numver of hadron digits.

Definition at line 223 of file ECLShower.h.

223{ m_NumberOfHadronDigits = NumberOfHadronDigits; }

◆ setPhi()

void setPhi ( double  Phi)
inline

Set Phi (rad)

Definition at line 143 of file ECLShower.h.

143{ m_phi = Phi; }

◆ setPulseShapeDiscriminationMVA()

void setPulseShapeDiscriminationMVA ( double  mvaVal)
inline

Set shower hadron intensity.

Definition at line 219 of file ECLShower.h.

◆ setR()

void setR ( double  R)
inline

Set R.

Definition at line 147 of file ECLShower.h.

147{ m_r = R; }
double R
typedef autogenerated by FFTW

◆ setSecondMoment()

void setSecondMoment ( double  secondMoment)
inline

Set second moment.

Definition at line 203 of file ECLShower.h.

203{ m_secondMoment = secondMoment; }

◆ setShowerDepth()

void setShowerDepth ( double  showerDepth)
inline

Set path on the average cluster direction.

Definition at line 187 of file ECLShower.h.

187{ m_showerDepth = showerDepth; }

◆ setShowerHadronIntensity()

void setShowerHadronIntensity ( double  hadronIntensity)
inline

Set shower hadron intensity.

Definition at line 215 of file ECLShower.h.

215{ m_ShowerHadronIntensity = hadronIntensity; }

◆ setShowerId()

void setShowerId ( int  ShowerId)
inline

Set Shower ID.

Definition at line 115 of file ECLShower.h.

115{ m_showerId = ShowerId; }

◆ setStatus()

void setStatus ( int  Status)
inline

Set Status.

Definition at line 111 of file ECLShower.h.

111{ m_status = Status; }

◆ setTheta()

void setTheta ( double  Theta)
inline

Set Theta (rad)

Definition at line 139 of file ECLShower.h.

139{ m_theta = Theta; }

◆ setTime()

void setTime ( double  Time)
inline

Set Time.

Definition at line 163 of file ECLShower.h.

163{ m_time = Time; }

◆ setTrkDepth()

void setTrkDepth ( double  trkDepth)
inline

Set path on track extrapolation line to POCA to average cluster direction.

Definition at line 183 of file ECLShower.h.

183{ m_trkDepth = trkDepth; }

◆ setZernikeMVA()

void setZernikeMVA ( double  zernikeMVA)
inline

SetZernike MVA value.

Definition at line 199 of file ECLShower.h.

199{m_zernikeMVA = zernikeMVA; }

Member Data Documentation

◆ m_absZernikeMoments

Double32_t m_absZernikeMoments[20]
private

Shower shape variables, absolute values of Zernike Moments (MH)

Definition at line 552 of file ECLShower.h.

◆ m_cacheArrayIndex

int m_cacheArrayIndex
mutableprivateinherited

Cache of the index in the TClonesArray to which this object belongs.

Definition at line 432 of file RelationsObject.h.

◆ m_cacheDataStoreEntry

DataStore::StoreEntry* m_cacheDataStoreEntry
mutableprivateinherited

Cache of the data store entry to which this object belongs.

Definition at line 429 of file RelationsObject.h.

◆ m_centralCellId

int m_centralCellId
private

Central cell ID (TF)

Definition at line 536 of file ECLShower.h.

◆ m_connectedRegionId

int m_connectedRegionId
private

Connected Region ID (TF)

Definition at line 534 of file ECLShower.h.

◆ m_deltaTime99

Double32_t m_deltaTime99
private

Time that contains 99% of signal crystals.

Definition at line 545 of file ECLShower.h.

◆ m_E1oE9

Double32_t m_E1oE9
private

Shower shape variable, E1oE9 (TF)

Definition at line 555 of file ECLShower.h.

◆ m_E9oE21

Double32_t m_E9oE21
private

Shower shape variable, E9oE25.

Definition at line 556 of file ECLShower.h.

◆ m_energy

Double32_t m_energy
private

Energy (GeV)

Definition at line 538 of file ECLShower.h.

◆ m_energyHighestCrystal

Double32_t m_energyHighestCrystal
private

Highest Energy in Shower (GeV) (TF)

Definition at line 546 of file ECLShower.h.

◆ m_energyRaw

Double32_t m_energyRaw
private

Raw Energy Sum(GeV)

Definition at line 539 of file ECLShower.h.

◆ m_Error

Double32_t m_Error[6]
private

Error of Energy, Theta and Phi.

Definition at line 543 of file ECLShower.h.

◆ m_hypothesisId

int m_hypothesisId
private

Hypothesis ID (TF)

Definition at line 535 of file ECLShower.h.

◆ m_isTrk

bool m_isTrk
private

Match with track (GDN)

Definition at line 530 of file ECLShower.h.

◆ m_lateralEnergy

Double32_t m_lateralEnergy
private

Lateral Energy in Shower (GDN)

Definition at line 547 of file ECLShower.h.

◆ m_listOfCrystalEnergyRankAndQuality

std::vector<std::pair<unsigned int, bool> > m_listOfCrystalEnergyRankAndQuality
private

list of indices of related ECLCalDigits by energy.

Also stores a quality flag for each digit denoting whether the PSD information can be used for charged particle ID. Cached here to avoid resorting the ECLCalDigit vector 90 times per track.

Definition at line 570 of file ECLShower.h.

◆ m_listOfCrystalsForEnergy

std::vector<unsigned int> m_listOfCrystalsForEnergy
private

list of cell ids used for energy calculation (TF)

Definition at line 568 of file ECLShower.h.

◆ m_minTrkDistance

Double32_t m_minTrkDistance
private

Distance between shower and closest track (GDN)

Definition at line 548 of file ECLShower.h.

◆ m_nominalNumberOfCrystalsForEnergy

Double32_t m_nominalNumberOfCrystalsForEnergy
private

number of crystals used for energy calculation (TF)

Definition at line 564 of file ECLShower.h.

◆ m_nOptimalEnergy

Double32_t m_nOptimalEnergy
private

energy used in ECLSplitterN1 to find nOptimalEnergyBin (CH)

Definition at line 567 of file ECLShower.h.

◆ m_nOptimalEnergyBin

int m_nOptimalEnergyBin
private

energy bin used to find nominalNumberOfCrystalsForEnergy (CH)

Definition at line 566 of file ECLShower.h.

◆ m_nOptimalGroupIndex

int m_nOptimalGroupIndex
private

group (of crystals) number used to find nominalNumberOfCrystalsForEnergy (CH)

Definition at line 565 of file ECLShower.h.

◆ m_numberOfCrystals

Double32_t m_numberOfCrystals
private

Sum of weights of crystals (~number of crystals) (TF)

Definition at line 551 of file ECLShower.h.

◆ m_numberOfCrystalsForEnergy

Double32_t m_numberOfCrystalsForEnergy
private

number of crystals used for energy calculation (TF)

Definition at line 563 of file ECLShower.h.

◆ m_NumberOfHadronDigits

Double32_t m_NumberOfHadronDigits
private

Number of hadron digits in shower (pulse shape discrimination variable).

Weighted sum of digits in shower with significant scintillation emission (> 3 MeV) in the hadronic scintillation component. (SL)

Definition at line 562 of file ECLShower.h.

◆ m_phi

Double32_t m_phi
private

Phi (rad)

Definition at line 541 of file ECLShower.h.

◆ m_PulseShapeDiscriminationMVA

Double32_t m_PulseShapeDiscriminationMVA
private

MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.

Definition at line 560 of file ECLShower.h.

◆ m_r

Double32_t m_r
private

R (cm)

Definition at line 542 of file ECLShower.h.

◆ m_secondMoment

Double32_t m_secondMoment
private

Shower shape variable, second moment (for merged pi0) (TF)

Definition at line 554 of file ECLShower.h.

◆ m_showerDepth

Double32_t m_showerDepth
private

Same as above, but on the cluster average direction (GDN)

Definition at line 550 of file ECLShower.h.

◆ m_ShowerHadronIntensity

Double32_t m_ShowerHadronIntensity
private

Shower Hadron Component Intensity (pulse shape discrimination variable).

Sum of the CsI(Tl) hadron scintillation component emission normalized to the sum of CsI(Tl) total scintillation emission. Computed only using showers digits with energy greater than 50 MeV and good offline waveform fit chi2. (SL)

Definition at line 558 of file ECLShower.h.

◆ m_showerId

int m_showerId
private

Shower ID.

Definition at line 533 of file ECLShower.h.

◆ m_status

int m_status
private

Status.

Definition at line 532 of file ECLShower.h.

◆ m_theta

Double32_t m_theta
private

Theta (rad)

Definition at line 540 of file ECLShower.h.

◆ m_time

Double32_t m_time
private

Time.

Definition at line 544 of file ECLShower.h.

◆ m_trkDepth

Double32_t m_trkDepth
private

Path on track ext.

to POCA to avg. cluster dir. (GDN)

Definition at line 549 of file ECLShower.h.

◆ m_zernikeMVA

Double32_t m_zernikeMVA
private

Shower shape variable, zernike MVA output.

Definition at line 553 of file ECLShower.h.


The documentation for this class was generated from the following file: