Belle II Software development
ECLCluster Class Reference

ECL cluster data. More...

#include <ECLCluster.h>

Inheritance diagram for ECLCluster:
RelationsInterface< BASE >

Public Types

enum class  EHypothesisBit : short unsigned int {
  c_none = 1 << 0 ,
  c_muonNPhotons = 1 << 1 ,
  c_chargedHadron = 1 << 2 ,
  c_electronNPhotons = 1 << 3 ,
  c_nPhotons = 1 << 4 ,
  c_neutralHadron = 1 << 5 ,
  c_mergedPi0 = 1 << 6
}
 The hypothesis bits for this ECLCluster (Connected region (CR) is split using this hypothesis. More...
 
enum class  EStatusBit : short unsigned int {
  c_TriggerCluster = 1 << 0 ,
  c_TriggerClusterMatching = 1 << 1 ,
  c_PulseShapeDiscrimination = 1 << 2 ,
  c_fitTimeFailed = 1 << 3 ,
  c_timeResolutionFailed = 1 << 4
}
 The status information for the ECLCluster. More...
 

Public Member Functions

 ECLCluster ()
 default constructor : all values are set to 0, IDs set to -1, flags to false
 
void setIsTrack (bool istrack)
 Set m_isTrack true if the cluster matches with a track.
 
void setStatus (EStatusBit status)
 Set status.
 
void addStatus (EStatusBit bitmask)
 Add bitmask to current status.
 
void removeStatus (EStatusBit bitmask)
 Remove bitmask from current status.
 
void setHypothesis (EHypothesisBit hypothesis)
 Set hypotheses.
 
void addHypothesis (EHypothesisBit bitmask)
 Add bitmask to current hypothesis.
 
void removeHypothesis (EHypothesisBit bitmask)
 Remove bitmask from current hypothesis.
 
void setMaxECellId (unsigned short cellid)
 Set cellID of maximum energy crystal.
 
void setConnectedRegionId (int crid)
 Set connected region id.
 
void setClusterId (int clusterid)
 Set cluster id.
 
void setCovarianceMatrix (double covArray[6])
 Set covariance matrix (3x3), i.e.
 
void setUncertaintyEnergy (double energyunc)
 Set energy uncertainty.
 
void setUncertaintyTheta (double thetaunc)
 Set theta uncertainty.
 
void setUncertaintyPhi (double phiunc)
 Set phi uncertainty.
 
void setdeltaL (double deltaL)
 Set deltaL for shower shape.
 
void setMinTrkDistance (double distance)
 Set distance between cluster COG and track extrapolation to ECL.
 
void setMinTrkDistanceID (unsigned short distanceID)
 Set array index of the nearest track.
 
void setAbsZernike40 (double zernike40)
 Set Zernike 40.
 
void setAbsZernike51 (double zernike51)
 Set Zernike 51.
 
void setZernikeMVA (double zernikemva)
 Set Zernike 20.
 
void setE1oE9 (double E1oE9)
 Set E1/E9 energy ratio.
 
void setE9oE21 (double E9oE21)
 Set E9/E21 energy ratio.
 
void setPulseShapeDiscriminationMVA (double PulseShapeDiscriminationMVA)
 set Pulse Shape Discrimination MVA
 
void setNumberOfHadronDigits (double NumberOfHadronDigits)
 set Number of hadron digits in cluster .
 
void setSecondMoment (double secondmoment)
 Set SecondMoment.
 
void setLAT (double LAT)
 Set Lateral distribution parameter.
 
void setNumberOfCrystals (double noc)
 Set number of crystals (sum of weights).
 
void setTime (double time)
 Set time information.
 
void setDeltaTime99 (double dtime99)
 Set 99% time containment range.
 
void setTheta (double theta)
 Set Theta of Shower (radian).
 
void setPhi (double phi)
 Set Phi of Shower (radian).
 
void setR (double r)
 Set R (in cm).
 
void setEnergy (double energy)
 Set Corrected Energy (GeV).
 
void setEnergyRaw (double energyraw)
 Set Uncorrect Energy deposited (GeV).
 
void setEnergyHighestCrystal (double energyhighestcrystal)
 Set energy of highest energetic crystal (GeV).
 
bool isTrack () const
 Return true if the cluster matches with track.
 
bool isNeutral () const
 Return true if cluster has no match with track.
 
unsigned short getStatus () const
 Return status.
 
unsigned short getHypotheses () const
 Return hypothesis (expert only, this returns a bti pattern).
 
unsigned short getMaxECellId () const
 Return cellID of maximum energy crystal.
 
int getConnectedRegionId () const
 Return connected region id.
 
int getClusterId () const
 Return cluster id.
 
int getUniqueClusterId () const
 Return unique cluster id = 1000 * regionId + clusterId.
 
double getMinTrkDistance () const
 Get distance between cluster COG and track extrapolation to ECL.
 
double getMinTrkDistanceID () const
 Get array index of the nearest track.
 
double getDeltaL () const
 Return deltaL.
 
double getAbsZernike40 () const
 Return Zernike moment 40 (shower shape variable).
 
double getAbsZernike51 () const
 Return Zernike moment 51 (shower shape variable).
 
double getZernikeMVA () const
 Return MVA based hadron/photon value based on Zernike moments (shower shape variable).
 
double getE1oE9 () const
 Return E1/E9 (shower shape variable).
 
double getE9oE21 () const
 Return E9/E21 (shower shape variable).
 
double getPulseShapeDiscriminationMVA () const
 Return MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
 
double getNumberOfHadronDigits () const
 Return number of hadron digits in cluster.
 
double getSecondMoment () const
 Return second moment (shower shape variable).
 
double getLAT () const
 Return LAT (shower shape variable).
 
double getNumberOfCrystals () const
 Return number of a crystals in a shower (sum of weights).
 
double getTime () const
 Return cluster time.
 
double getDeltaTime99 () const
 Return cluster delta time 99.
 
double getPhi () const
 Return Corrected Phi of Shower (radian).
 
double getTheta () const
 Return Corrected Theta of Shower (radian).
 
double getR () const
 Return R.
 
double getEnergy (EHypothesisBit hypothesis) const
 Return Energy (GeV).
 
double getEnergyRaw () const
 Return Uncorrected Energy deposited (GeV)
 
double getEnergyHighestCrystal () const
 Return energy of highest energetic crystal in cluster (GeV)
 
double getUncertaintyEnergy () const
 Return Uncertainty on Energy of Shower.
 
double getUncertaintyTheta () const
 Return Uncertainty on Theta of Shower.
 
double getUncertaintyPhi () const
 Return Uncertainty on Phi of Shower.
 
ROOT::Math::XYZVector getClusterPosition () const
 Return ROOT::Math::XYZVector on cluster position (x,y,z)
 
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 (EStatusBit bitmask) const
 Return if specific status bit is set.
 
bool hasHypothesis (EHypothesisBit bitmask) const
 Return if specific hypothesis bit is set.
 
bool isTriggerCluster () const
 Check if ECLCluster is matched to an ECLTRGCluster.
 
bool hasTriggerClusterMatching () const
 Check if ECLTRGCluster to ECLCluster matcher has run.
 
bool hasPulseShapeDiscrimination () const
 Check if ECLCluster has any ECLDigits with waveforms that also passed two component fit chi2 threshold in eclClusterPSD module.
 
bool hasFailedFitTime () const
 Check if ECLCluster has a fit time that failed.
 
bool hasFailedTimeResolution () const
 Check if ECLCluster has a time resolution calculation that failed.
 
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 (ECLCluster, 15)
 Class definition.
 

Private Attributes

bool m_isTrack
 Is related to track (true) or not (false).
 
unsigned short m_status
 Cluster status.
 
unsigned short m_hypotheses
 Hypothesis.
 
unsigned short m_maxECellId
 CellID of maximum energy crystal.
 
int m_connectedRegionId
 Connected Region of this cluster.
 
int m_clusterId
 Cluster id.
 
Double32_t m_sqrtcovmat_00
 Covariance entry 00 sigma_E (1% to 25% between 10 MeV and 8 GeV)
 
Double32_t m_covmat_10
 Covariance matrix 10, not used yet.
 
Double32_t m_sqrtcovmat_11
 Covariance matrix 11, sigma_phi, between 0 and 50 mrad.
 
Double32_t m_covmat_20
 Covariance matrix 20, not used yet.
 
Double32_t m_covmat_21
 Covariance matrix 21, not used yet.
 
Double32_t m_sqrtcovmat_22
 Covariance matrix 22, sigma_theta, between 0 and 50 mrad.
 
Double32_t m_deltaL
 Delta L as defined in arXiv:0711.1593.
 
Double32_t m_minTrkDistance
 Distance between cluster center and track extrapolation to ECL.
 
unsigned short m_minTrkDistanceID
 Array index of the nearest track.
 
Double32_t m_absZernike40
 Zernike 40.
 
Double32_t m_absZernike51
 Zernike 51.
 
Double32_t m_zernikeMVA
 Zernike MVA.
 
Double32_t m_E1oE9
 E1oE9.
 
Double32_t m_E9oE21
 E9oE21.
 
Double32_t m_secondMoment
 Second Moment.
 
Double32_t m_LAT
 LAT.
 
Double32_t m_numberOfCrystals
 Number of Crystals in a shower (sum of weights).
 
Double32_t m_time
 Time.
 
Double32_t m_deltaTime99
 Delta Time 99.
 
Double32_t m_theta
 Theta [rad].
 
Double32_t m_phi
 Phi [rad].
 
Double32_t m_r
 Radius [cm].
 
Double32_t m_logEnergy
 < Log.
 
Double32_t m_logEnergyRaw
 Log.
 
Double32_t m_logEnergyHighestCrystal
 Log.
 
Double32_t m_PulseShapeDiscriminationMVA
 MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
 
Double32_t m_ClusterHadronIntensity
 Cluster Hadron Component Intensity (pulse shape discrimination variable).
 
Double32_t m_NumberOfHadronDigits
 Number of hadron digits in cluster (pulse shape discrimination variable).
 
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

ECL cluster data.

Definition at line 27 of file ECLCluster.h.

Member Enumeration Documentation

◆ EHypothesisBit

enum class EHypothesisBit : short unsigned int
strong

The hypothesis bits for this ECLCluster (Connected region (CR) is split using this hypothesis.

Enumerator
c_none 

None as initializer.

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 31 of file ECLCluster.h.

31 : short unsigned int {
33 c_none = 1 << 0,
35 c_muonNPhotons = 1 << 1,
37 c_chargedHadron = 1 << 2,
39 c_electronNPhotons = 1 << 3,
41 c_nPhotons = 1 << 4,
43 c_neutralHadron = 1 << 5,
45 c_mergedPi0 = 1 << 6
46 };
@ c_electronNPhotons
CR is split into an electron and n photons (T3)
@ c_muonNPhotons
CR is split into a muon and n photons (T1)
@ c_mergedPi0
CR is reconstructed as merged pi0 (N3)
@ c_chargedHadron
CR is reconstructed as a charged hadron (T2)
@ c_nPhotons
CR is split into n photons (N1)
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
@ c_none
None as initializer.

◆ EStatusBit

enum class EStatusBit : short unsigned int
strong

The status information for the ECLCluster.

Enumerator
c_TriggerCluster 

bit 0: ECLCluster is matched to a ECL trigger cluster

c_TriggerClusterMatching 

bit 1: ECLCluster to ECLTRGCluster matcher was run

c_PulseShapeDiscrimination 

bit 2: ECLCluster has pulse shape discrimination variables.

c_fitTimeFailed 

bit 3: ECLCluster has fit time that failed.

c_timeResolutionFailed 

bit 4: ECLCluster has time resolution calculation that failed.

Definition at line 49 of file ECLCluster.h.

49 : short unsigned int {
51 c_TriggerCluster = 1 << 0,
57 c_fitTimeFailed = 1 << 3,
60
61 };
@ c_TriggerCluster
bit 0: ECLCluster is matched to a ECL trigger cluster
@ c_PulseShapeDiscrimination
bit 2: ECLCluster has pulse shape discrimination variables.
@ c_TriggerClusterMatching
bit 1: ECLCluster to ECLTRGCluster matcher was run
@ c_timeResolutionFailed
bit 4: ECLCluster has time resolution calculation that failed.
@ c_fitTimeFailed
bit 3: ECLCluster has fit time that failed.

Constructor & Destructor Documentation

◆ ECLCluster()

ECLCluster ( )
inline

default constructor : all values are set to 0, IDs set to -1, flags to false

Definition at line 67 of file ECLCluster.h.

67 :
68 m_isTrack(false),
69 m_status(0),
70 m_hypotheses(static_cast<unsigned short>(EHypothesisBit::c_nPhotons)), // set to c_nPhotons for b2bii
71 m_maxECellId(0),
73 m_clusterId(0),
75 m_covmat_10(0.),
77 m_covmat_20(0.),
78 m_covmat_21(0.),
80 m_deltaL(0.),
82 m_minTrkDistanceID(65535),
85 m_zernikeMVA(0.),
86 m_E1oE9(0.),
87 m_E9oE21(0.),
89 m_LAT(0.),
91 m_time(0.),
92 m_deltaTime99(0.),
93 m_theta(0.),
94 m_phi(0.),
95 m_r(0.),
96 m_logEnergy(-5.),
97 m_logEnergyRaw(-5.),
Double32_t m_absZernike40
Zernike 40.
Definition: ECLCluster.h:422
Double32_t m_ClusterHadronIntensity
Cluster Hadron Component Intensity (pulse shape discrimination variable).
Definition: ECLCluster.h:473
unsigned short m_status
Cluster status.
Definition: ECLCluster.h:375
Double32_t m_r
Radius [cm].
Definition: ECLCluster.h:458
Double32_t m_absZernike51
Zernike 51.
Definition: ECLCluster.h:425
Double32_t m_zernikeMVA
Zernike MVA.
Definition: ECLCluster.h:428
Double32_t m_sqrtcovmat_22
Covariance matrix 22, sigma_theta, between 0 and 50 mrad.
Definition: ECLCluster.h:410
Double32_t m_numberOfCrystals
Number of Crystals in a shower (sum of weights).
Definition: ECLCluster.h:443
Double32_t m_time
Time.
Definition: ECLCluster.h:446
Double32_t m_sqrtcovmat_11
Covariance matrix 11, sigma_phi, between 0 and 50 mrad.
Definition: ECLCluster.h:401
Double32_t m_E1oE9
E1oE9.
Definition: ECLCluster.h:431
Double32_t m_theta
Theta [rad].
Definition: ECLCluster.h:452
Double32_t m_sqrtcovmat_00
Covariance entry 00 sigma_E (1% to 25% between 10 MeV and 8 GeV)
Definition: ECLCluster.h:395
Double32_t m_covmat_20
Covariance matrix 20, not used yet.
Definition: ECLCluster.h:404
int m_connectedRegionId
Connected Region of this cluster.
Definition: ECLCluster.h:384
Double32_t m_deltaL
Delta L as defined in arXiv:0711.1593.
Definition: ECLCluster.h:413
Double32_t m_covmat_10
Covariance matrix 10, not used yet.
Definition: ECLCluster.h:398
Double32_t m_logEnergyHighestCrystal
Log.
Definition: ECLCluster.h:467
Double32_t m_PulseShapeDiscriminationMVA
MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
Definition: ECLCluster.h:470
unsigned short m_minTrkDistanceID
Array index of the nearest track.
Definition: ECLCluster.h:419
Double32_t m_minTrkDistance
Distance between cluster center and track extrapolation to ECL.
Definition: ECLCluster.h:416
Double32_t m_deltaTime99
Delta Time 99.
Definition: ECLCluster.h:449
Double32_t m_logEnergy
< Log.
Definition: ECLCluster.h:461
Double32_t m_secondMoment
Second Moment.
Definition: ECLCluster.h:437
Double32_t m_E9oE21
E9oE21.
Definition: ECLCluster.h:434
Double32_t m_NumberOfHadronDigits
Number of hadron digits in cluster (pulse shape discrimination variable).
Definition: ECLCluster.h:476
Double32_t m_covmat_21
Covariance matrix 21, not used yet.
Definition: ECLCluster.h:407
int m_clusterId
Cluster id.
Definition: ECLCluster.h:387
Double32_t m_logEnergyRaw
Log.
Definition: ECLCluster.h:464
Double32_t m_phi
Phi [rad].
Definition: ECLCluster.h:455
unsigned short m_maxECellId
CellID of maximum energy crystal.
Definition: ECLCluster.h:381
unsigned short m_hypotheses
Hypothesis.
Definition: ECLCluster.h:378
bool m_isTrack
Is related to track (true) or not (false).
Definition: ECLCluster.h:372
Double32_t m_LAT
LAT.
Definition: ECLCluster.h:440

Member Function Documentation

◆ addHypothesis()

void addHypothesis ( EHypothesisBit  bitmask)
inline

Add bitmask to current hypothesis.

Parameters
bitmaskThe status code which should be added.

Definition at line 129 of file ECLCluster.h.

129{ m_hypotheses |= static_cast<short unsigned>(bitmask); }

◆ 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 ( EStatusBit  bitmask)
inline

Add bitmask to current status.

Parameters
bitmaskThe status code which should be added.

Definition at line 113 of file ECLCluster.h.

113{ m_status |= static_cast<short unsigned>(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).

◆ getAbsZernike40()

double getAbsZernike40 ( ) const
inline

Return Zernike moment 40 (shower shape variable).

Definition at line 268 of file ECLCluster.h.

268{ return m_absZernike40; }

◆ getAbsZernike51()

double getAbsZernike51 ( ) const
inline

Return Zernike moment 51 (shower shape variable).

Definition at line 271 of file ECLCluster.h.

271{ return m_absZernike51; }

◆ 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

◆ getClusterId()

int getClusterId ( ) const
inline

Return cluster id.

Definition at line 253 of file ECLCluster.h.

253{return m_clusterId;}

◆ getClusterPosition()

ROOT::Math::XYZVector getClusterPosition ( ) const

Return ROOT::Math::XYZVector on cluster position (x,y,z)

Definition at line 44 of file ECLCluster.cc.

45{
46 const double cluster_x = getR() * sin(getTheta()) * cos(getPhi());
47 const double cluster_y = getR() * sin(getTheta()) * sin(getPhi());
48 const double cluster_z = getR() * cos(getTheta());
49 return ROOT::Math::XYZVector(cluster_x, cluster_y, cluster_z);
50}
double getPhi() const
Return Corrected Phi of Shower (radian).
Definition: ECLCluster.h:304
double getR() const
Return R.
Definition: ECLCluster.h:310
double getTheta() const
Return Corrected Theta of Shower (radian).
Definition: ECLCluster.h:307

◆ getConnectedRegionId()

int getConnectedRegionId ( ) const
inline

Return connected region id.

Definition at line 250 of file ECLCluster.h.

250{return m_connectedRegionId;}

◆ getCovarianceMatrix3x3()

TMatrixDSym getCovarianceMatrix3x3 ( ) const

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

Definition at line 52 of file ECLCluster.cc.

53{
54 TMatrixDSym covmatecl(3);
55 covmatecl(0, 0) = m_sqrtcovmat_00 * m_sqrtcovmat_00;
56 covmatecl(1, 0) = m_covmat_10;
57 covmatecl(1, 1) = m_sqrtcovmat_11 * m_sqrtcovmat_11;
58 covmatecl(2, 0) = m_covmat_20;
59 covmatecl(2, 1) = m_covmat_21;
60 covmatecl(2, 2) = m_sqrtcovmat_22 * m_sqrtcovmat_22;
61
62 //make symmetric
63 for (int i = 0; i < 3; i++)
64 for (int j = 0; j < i ; j++)
65 covmatecl(j, i) = covmatecl(i, j);
66 return covmatecl;
67}

◆ getDeltaL()

double getDeltaL ( ) const
inline

Return deltaL.

Definition at line 265 of file ECLCluster.h.

265{ return m_deltaL; }

◆ getDeltaTime99()

double getDeltaTime99 ( ) const
inline

Return cluster delta time 99.

Definition at line 301 of file ECLCluster.h.

301{return m_deltaTime99;}

◆ getDetectorRegion()

int getDetectorRegion ( ) const

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

Definition at line 70 of file ECLCluster.cc.

71{
72 const double theta = getTheta();
73
74 if (theta < 0.2164208) return 0; // < 12.4deg
75 if (theta < 0.5480334) return 1; // < 31.4deg
76 if (theta < 0.561996) return 11; // < 32.2deg
77 if (theta < 2.2462387) return 2; // < 128.7
78 if (theta < 2.2811453) return 13; // < 130.7
79 if (theta < 2.7070057) return 3; // < 155.1
80 else return 0;
81}

◆ getE1oE9()

double getE1oE9 ( ) const
inline

Return E1/E9 (shower shape variable).

Definition at line 277 of file ECLCluster.h.

277{ return m_E1oE9; }

◆ getE9oE21()

double getE9oE21 ( ) const
inline

Return E9/E21 (shower shape variable).

Definition at line 280 of file ECLCluster.h.

280{ return m_E9oE21; }

◆ getEnergy()

double getEnergy ( ECLCluster::EHypothesisBit  hypothesis) const

Return Energy (GeV).

Definition at line 23 of file ECLCluster.cc.

24{
25 // check if cluster has the requested hypothesis
26 if (!hasHypothesis(hypothesis)) {
27 B2ERROR("This cluster does not support the requested hypothesis,"
28 << LogVar(" it has the nPhotons hypothesis (y/n = 1/0): ", hasHypothesis(ECLCluster::EHypothesisBit::c_nPhotons))
29 << LogVar(" and it has the neutralHadron hypothesis (y/n = 1/0): ", hasHypothesis(ECLCluster::EHypothesisBit::c_neutralHadron))
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();
32 }
33
34 // return the sensible answers
35 if (hypothesis == ECLCluster::EHypothesisBit::c_nPhotons) return exp(m_logEnergy);
36 else if (hypothesis == ECLCluster::EHypothesisBit::c_neutralHadron) return exp(m_logEnergyRaw);
37 else {
38 // throw error if the cluster is not supported
39 B2ERROR("EHypothesisBit is not supported yet: " << static_cast<unsigned short>(hypothesis));
40 return std::numeric_limits<double>::quiet_NaN();
41 };
42}
bool hasHypothesis(EHypothesisBit bitmask) const
Return if specific hypothesis bit is set.
Definition: ECLCluster.h:351
Class to store variables with their name which were sent to the logging service.

◆ getEnergyHighestCrystal()

double getEnergyHighestCrystal ( ) const
inline

Return energy of highest energetic crystal in cluster (GeV)

Definition at line 319 of file ECLCluster.h.

319{return exp(m_logEnergyHighestCrystal);}

◆ getEnergyRaw()

double getEnergyRaw ( ) const
inline

Return Uncorrected Energy deposited (GeV)

Definition at line 316 of file ECLCluster.h.

316{return exp(m_logEnergyRaw);}

◆ getHypotheses()

unsigned short getHypotheses ( ) const
inline

Return hypothesis (expert only, this returns a bti pattern).

Definition at line 244 of file ECLCluster.h.

244{return m_hypotheses;}

◆ 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 ""; }

◆ getLAT()

double getLAT ( ) const
inline

Return LAT (shower shape variable).

Definition at line 292 of file ECLCluster.h.

292{return m_LAT;}

◆ getMaxECellId()

unsigned short getMaxECellId ( ) const
inline

Return cellID of maximum energy crystal.

Definition at line 247 of file ECLCluster.h.

247{return m_maxECellId;}

◆ getMinTrkDistance()

double getMinTrkDistance ( ) const
inline

Get distance between cluster COG and track extrapolation to ECL.

Definition at line 259 of file ECLCluster.h.

259{ return m_minTrkDistance; }

◆ getMinTrkDistanceID()

double getMinTrkDistanceID ( ) const
inline

Get array index of the nearest track.

Definition at line 262 of file ECLCluster.h.

262{ return m_minTrkDistanceID; }

◆ 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 ""; }

◆ getNumberOfCrystals()

double getNumberOfCrystals ( ) const
inline

Return number of a crystals in a shower (sum of weights).

Definition at line 295 of file ECLCluster.h.

295{return m_numberOfCrystals;}

◆ getNumberOfHadronDigits()

double getNumberOfHadronDigits ( ) const
inline

Return number of hadron digits in cluster.

Definition at line 286 of file ECLCluster.h.

286{ return m_NumberOfHadronDigits; }

◆ getPhi()

double getPhi ( ) const
inline

Return Corrected Phi of Shower (radian).

Definition at line 304 of file ECLCluster.h.

304{ return m_phi;}

◆ getPulseShapeDiscriminationMVA()

double getPulseShapeDiscriminationMVA ( ) const
inline

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

Definition at line 283 of file ECLCluster.h.

◆ getR()

double getR ( ) const
inline

Return R.

Definition at line 310 of file ECLCluster.h.

310{ 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

Return second moment (shower shape variable).

Definition at line 289 of file ECLCluster.h.

289{ return m_secondMoment; }

◆ getStatus()

unsigned short getStatus ( ) const
inline

Return status.

Definition at line 241 of file ECLCluster.h.

241{return m_status;}

◆ getTheta()

double getTheta ( ) const
inline

Return Corrected Theta of Shower (radian).

Definition at line 307 of file ECLCluster.h.

307{return m_theta;}

◆ getTime()

double getTime ( ) const
inline

Return cluster time.

Definition at line 298 of file ECLCluster.h.

298{return m_time;}

◆ getUncertaintyEnergy()

double getUncertaintyEnergy ( ) const
inline

Return Uncertainty on Energy of Shower.

Definition at line 322 of file ECLCluster.h.

322{return (m_sqrtcovmat_00);}

◆ getUncertaintyPhi()

double getUncertaintyPhi ( ) const
inline

Return Uncertainty on Phi of Shower.

Definition at line 328 of file ECLCluster.h.

328{ return (m_sqrtcovmat_11);}

◆ getUncertaintyTheta()

double getUncertaintyTheta ( ) const
inline

Return Uncertainty on Theta of Shower.

Definition at line 325 of file ECLCluster.h.

325{return (m_sqrtcovmat_22);}

◆ getUniqueClusterId()

int getUniqueClusterId ( ) const
inline

Return unique cluster id = 1000 * regionId + clusterId.

Definition at line 256 of file ECLCluster.h.

256{return 1000 * m_connectedRegionId + m_clusterId;}

◆ getZernikeMVA()

double getZernikeMVA ( ) const
inline

Return MVA based hadron/photon value based on Zernike moments (shower shape variable).

Definition at line 274 of file ECLCluster.h.

274{ return m_zernikeMVA; }

◆ hasFailedFitTime()

bool hasFailedFitTime ( ) const
inline

Check if ECLCluster has a fit time that failed.

Definition at line 363 of file ECLCluster.h.

bool hasStatus(EStatusBit bitmask) const
Return if specific status bit is set.
Definition: ECLCluster.h:344

◆ hasFailedTimeResolution()

bool hasFailedTimeResolution ( ) const
inline

Check if ECLCluster has a time resolution calculation that failed.

Definition at line 366 of file ECLCluster.h.

◆ hasHypothesis()

bool hasHypothesis ( EHypothesisBit  bitmask) const
inline

Return if specific hypothesis bit is set.

Parameters
bitmaskThe bitmask which is compared to the hypothesis of the cluster.
Returns
Returns true if the bitmask matches the hypothesis code of the cluster.

Definition at line 351 of file ECLCluster.h.

351{ return (m_hypotheses & static_cast<short unsigned>(bitmask)) == static_cast<short unsigned>(bitmask); }

◆ hasPulseShapeDiscrimination()

bool hasPulseShapeDiscrimination ( ) const
inline

Check if ECLCluster has any ECLDigits with waveforms that also passed two component fit chi2 threshold in eclClusterPSD module.

Definition at line 360 of file ECLCluster.h.

◆ hasStatus()

bool hasStatus ( EStatusBit  bitmask) const
inline

Return if specific status bit is set.

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

Definition at line 344 of file ECLCluster.h.

344{ return (m_status & static_cast<short unsigned>(bitmask)) == static_cast<short unsigned>(bitmask); }

◆ hasTriggerClusterMatching()

bool hasTriggerClusterMatching ( ) const
inline

Check if ECLTRGCluster to ECLCluster matcher has run.

Definition at line 357 of file ECLCluster.h.

◆ isNeutral()

bool isNeutral ( ) const
inline

Return true if cluster has no match with track.

Definition at line 238 of file ECLCluster.h.

238{ return !m_isTrack; }

◆ isTrack()

bool isTrack ( ) const
inline

Return true if the cluster matches with track.

Definition at line 235 of file ECLCluster.h.

235{ return m_isTrack; }

◆ isTriggerCluster()

bool isTriggerCluster ( ) const
inline

Check if ECLCluster is matched to an ECLTRGCluster.

Definition at line 354 of file ECLCluster.h.

◆ removeHypothesis()

void removeHypothesis ( EHypothesisBit  bitmask)
inline

Remove bitmask from current hypothesis.

Parameters
bitmaskThe hypothesis code which should be removed.

Definition at line 136 of file ECLCluster.h.

136{ m_hypotheses &= (~static_cast<short unsigned>(bitmask)); }

◆ removeStatus()

void removeStatus ( EStatusBit  bitmask)
inline

Remove bitmask from current status.

Parameters
bitmaskThe status code which should be removed.

Definition at line 120 of file ECLCluster.h.

120{ m_status &= (~static_cast<short unsigned>(bitmask)); }

◆ setAbsZernike40()

void setAbsZernike40 ( double  zernike40)
inline

Set Zernike 40.

Definition at line 181 of file ECLCluster.h.

181{ m_absZernike40 = zernike40; }

◆ setAbsZernike51()

void setAbsZernike51 ( double  zernike51)
inline

Set Zernike 51.

Definition at line 184 of file ECLCluster.h.

184{ m_absZernike51 = zernike51; }

◆ setClusterId()

void setClusterId ( int  clusterid)
inline

Set cluster id.

Definition at line 145 of file ECLCluster.h.

145{ m_clusterId = clusterid; }

◆ setConnectedRegionId()

void setConnectedRegionId ( int  crid)
inline

Set connected region id.

Definition at line 142 of file ECLCluster.h.

142{ m_connectedRegionId = crid; }

◆ setCovarianceMatrix()

void setCovarianceMatrix ( double  covArray[6])
inline

Set covariance matrix (3x3), i.e.

squared entries, for [0]->energy, [2]->phi, [5]->theta.

Definition at line 152 of file ECLCluster.h.

153 {
154 m_sqrtcovmat_00 = sqrt(fabs(covArray[0])); // energy
155 m_covmat_10 = covArray[1];
156 m_sqrtcovmat_11 = sqrt(fabs(covArray[2])); // phi
157 m_covmat_20 = covArray[3];
158 m_covmat_21 = covArray[4];
159 m_sqrtcovmat_22 = sqrt(fabs(covArray[5])); // theta
160 }
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ setdeltaL()

void setdeltaL ( double  deltaL)
inline

Set deltaL for shower shape.

Definition at line 172 of file ECLCluster.h.

172{ m_deltaL = deltaL; }

◆ setDeltaTime99()

void setDeltaTime99 ( double  dtime99)
inline

Set 99% time containment range.

Definition at line 214 of file ECLCluster.h.

214{ m_deltaTime99 = dtime99; }

◆ setE1oE9()

void setE1oE9 ( double  E1oE9)
inline

Set E1/E9 energy ratio.

Definition at line 190 of file ECLCluster.h.

190{ m_E1oE9 = E1oE9; }

◆ setE9oE21()

void setE9oE21 ( double  E9oE21)
inline

Set E9/E21 energy ratio.

Definition at line 193 of file ECLCluster.h.

193{ m_E9oE21 = E9oE21; }

◆ setEnergy()

void setEnergy ( double  energy)
inline

Set Corrected Energy (GeV).

Definition at line 226 of file ECLCluster.h.

226{ m_logEnergy = log(energy); }

◆ setEnergyHighestCrystal()

void setEnergyHighestCrystal ( double  energyhighestcrystal)
inline

Set energy of highest energetic crystal (GeV).

Definition at line 232 of file ECLCluster.h.

232{ m_logEnergyHighestCrystal = log(energyhighestcrystal); }

◆ setEnergyRaw()

void setEnergyRaw ( double  energyraw)
inline

Set Uncorrect Energy deposited (GeV).

Definition at line 229 of file ECLCluster.h.

229{ m_logEnergyRaw = log(energyraw); }

◆ setHypothesis()

void setHypothesis ( EHypothesisBit  hypothesis)
inline

Set hypotheses.

Definition at line 123 of file ECLCluster.h.

123{ m_hypotheses = static_cast<short unsigned>(hypothesis); }

◆ setIsTrack()

void setIsTrack ( bool  istrack)
inline

Set m_isTrack true if the cluster matches with a track.

Definition at line 104 of file ECLCluster.h.

104{ m_isTrack = istrack; }

◆ setLAT()

void setLAT ( double  LAT)
inline

Set Lateral distribution parameter.

Definition at line 205 of file ECLCluster.h.

205{ m_LAT = LAT; }

◆ setMaxECellId()

void setMaxECellId ( unsigned short  cellid)
inline

Set cellID of maximum energy crystal.

Definition at line 139 of file ECLCluster.h.

139{m_maxECellId = cellid;}

◆ setMinTrkDistance()

void setMinTrkDistance ( double  distance)
inline

Set distance between cluster COG and track extrapolation to ECL.

Definition at line 175 of file ECLCluster.h.

175{ m_minTrkDistance = distance; }

◆ setMinTrkDistanceID()

void setMinTrkDistanceID ( unsigned short  distanceID)
inline

Set array index of the nearest track.

Definition at line 178 of file ECLCluster.h.

178{ m_minTrkDistanceID = distanceID; }

◆ setNumberOfCrystals()

void setNumberOfCrystals ( double  noc)
inline

Set number of crystals (sum of weights).

Definition at line 208 of file ECLCluster.h.

208{ m_numberOfCrystals = noc; }

◆ setNumberOfHadronDigits()

void setNumberOfHadronDigits ( double  NumberOfHadronDigits)
inline

set Number of hadron digits in cluster .

Definition at line 199 of file ECLCluster.h.

199{ m_NumberOfHadronDigits = NumberOfHadronDigits; }

◆ setPhi()

void setPhi ( double  phi)
inline

Set Phi of Shower (radian).

Definition at line 220 of file ECLCluster.h.

220{ m_phi = phi; }

◆ setPulseShapeDiscriminationMVA()

void setPulseShapeDiscriminationMVA ( double  PulseShapeDiscriminationMVA)
inline

set Pulse Shape Discrimination MVA

Definition at line 196 of file ECLCluster.h.

196{ m_PulseShapeDiscriminationMVA = PulseShapeDiscriminationMVA; }

◆ setR()

void setR ( double  r)
inline

Set R (in cm).

Definition at line 223 of file ECLCluster.h.

223{ m_r = r; }

◆ setSecondMoment()

void setSecondMoment ( double  secondmoment)
inline

Set SecondMoment.

Definition at line 202 of file ECLCluster.h.

202{ m_secondMoment = secondmoment; }

◆ setStatus()

void setStatus ( EStatusBit  status)
inline

Set status.

Definition at line 107 of file ECLCluster.h.

107{ m_status = static_cast<short unsigned>(status); }

◆ setTheta()

void setTheta ( double  theta)
inline

Set Theta of Shower (radian).

Definition at line 217 of file ECLCluster.h.

217{ m_theta = theta; }

◆ setTime()

void setTime ( double  time)
inline

Set time information.

Definition at line 211 of file ECLCluster.h.

211{ m_time = time; }

◆ setUncertaintyEnergy()

void setUncertaintyEnergy ( double  energyunc)
inline

Set energy uncertainty.

Definition at line 163 of file ECLCluster.h.

163{ m_sqrtcovmat_00 = fabs(energyunc); }

◆ setUncertaintyPhi()

void setUncertaintyPhi ( double  phiunc)
inline

Set phi uncertainty.

Definition at line 169 of file ECLCluster.h.

169{ m_sqrtcovmat_11 = fabs(phiunc); }

◆ setUncertaintyTheta()

void setUncertaintyTheta ( double  thetaunc)
inline

Set theta uncertainty.

Definition at line 166 of file ECLCluster.h.

166{ m_sqrtcovmat_22 = fabs(thetaunc); }

◆ setZernikeMVA()

void setZernikeMVA ( double  zernikemva)
inline

Set Zernike 20.

Definition at line 187 of file ECLCluster.h.

187{ m_zernikeMVA = zernikemva; }

Member Data Documentation

◆ m_absZernike40

Double32_t m_absZernike40
private

Zernike 40.

Definition at line 422 of file ECLCluster.h.

◆ m_absZernike51

Double32_t m_absZernike51
private

Zernike 51.

Definition at line 425 of file ECLCluster.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_ClusterHadronIntensity

Double32_t m_ClusterHadronIntensity
private

Cluster 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 cluster digits with energy greater than 50 MeV and good offline waveform fit chi2. Will be removed in release-04

Definition at line 473 of file ECLCluster.h.

◆ m_clusterId

int m_clusterId
private

Cluster id.

Definition at line 387 of file ECLCluster.h.

◆ m_connectedRegionId

int m_connectedRegionId
private

Connected Region of this cluster.

Definition at line 384 of file ECLCluster.h.

◆ m_covmat_10

Double32_t m_covmat_10
private

Covariance matrix 10, not used yet.

Definition at line 398 of file ECLCluster.h.

◆ m_covmat_20

Double32_t m_covmat_20
private

Covariance matrix 20, not used yet.

Definition at line 404 of file ECLCluster.h.

◆ m_covmat_21

Double32_t m_covmat_21
private

Covariance matrix 21, not used yet.

Definition at line 407 of file ECLCluster.h.

◆ m_deltaL

Double32_t m_deltaL
private

Delta L as defined in arXiv:0711.1593.

Definition at line 413 of file ECLCluster.h.

◆ m_deltaTime99

Double32_t m_deltaTime99
private

Delta Time 99.

Definition at line 449 of file ECLCluster.h.

◆ m_E1oE9

Double32_t m_E1oE9
private

E1oE9.

Definition at line 431 of file ECLCluster.h.

◆ m_E9oE21

Double32_t m_E9oE21
private

E9oE21.

Definition at line 434 of file ECLCluster.h.

◆ m_hypotheses

unsigned short m_hypotheses
private

Hypothesis.

Definition at line 378 of file ECLCluster.h.

◆ m_isTrack

bool m_isTrack
private

Is related to track (true) or not (false).

Definition at line 372 of file ECLCluster.h.

◆ m_LAT

Double32_t m_LAT
private

LAT.

Definition at line 440 of file ECLCluster.h.

◆ m_logEnergy

Double32_t m_logEnergy
private

< Log.

Energy [GeV].

Definition at line 461 of file ECLCluster.h.

◆ m_logEnergyHighestCrystal

Double32_t m_logEnergyHighestCrystal
private

Log.

Highest Crystal Energy [GeV].

Definition at line 467 of file ECLCluster.h.

◆ m_logEnergyRaw

Double32_t m_logEnergyRaw
private

Log.

Raw Energy [GeV].

Definition at line 464 of file ECLCluster.h.

◆ m_maxECellId

unsigned short m_maxECellId
private

CellID of maximum energy crystal.

Definition at line 381 of file ECLCluster.h.

◆ m_minTrkDistance

Double32_t m_minTrkDistance
private

Distance between cluster center and track extrapolation to ECL.

Definition at line 416 of file ECLCluster.h.

◆ m_minTrkDistanceID

unsigned short m_minTrkDistanceID
private

Array index of the nearest track.

Definition at line 419 of file ECLCluster.h.

◆ m_numberOfCrystals

Double32_t m_numberOfCrystals
private

Number of Crystals in a shower (sum of weights).

Definition at line 443 of file ECLCluster.h.

◆ m_NumberOfHadronDigits

Double32_t m_NumberOfHadronDigits
private

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

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

Definition at line 476 of file ECLCluster.h.

◆ m_phi

Double32_t m_phi
private

Phi [rad].

Definition at line 455 of file ECLCluster.h.

◆ m_PulseShapeDiscriminationMVA

Double32_t m_PulseShapeDiscriminationMVA
private

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

Classifier value is 1.0 EM showers and 0.0 for hadronic showers.

Definition at line 470 of file ECLCluster.h.

◆ m_r

Double32_t m_r
private

Radius [cm].

Definition at line 458 of file ECLCluster.h.

◆ m_secondMoment

Double32_t m_secondMoment
private

Second Moment.

Definition at line 437 of file ECLCluster.h.

◆ m_sqrtcovmat_00

Double32_t m_sqrtcovmat_00
private

Covariance entry 00 sigma_E (1% to 25% between 10 MeV and 8 GeV)

Definition at line 395 of file ECLCluster.h.

◆ m_sqrtcovmat_11

Double32_t m_sqrtcovmat_11
private

Covariance matrix 11, sigma_phi, between 0 and 50 mrad.

Definition at line 401 of file ECLCluster.h.

◆ m_sqrtcovmat_22

Double32_t m_sqrtcovmat_22
private

Covariance matrix 22, sigma_theta, between 0 and 50 mrad.

Definition at line 410 of file ECLCluster.h.

◆ m_status

unsigned short m_status
private

Cluster status.

Definition at line 375 of file ECLCluster.h.

◆ m_theta

Double32_t m_theta
private

Theta [rad].

Definition at line 452 of file ECLCluster.h.

◆ m_time

Double32_t m_time
private

Time.

Definition at line 446 of file ECLCluster.h.

◆ m_zernikeMVA

Double32_t m_zernikeMVA
private

Zernike MVA.

Definition at line 428 of file ECLCluster.h.


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