Belle II Software
release-08-01-10
|
ECL cluster data. More...
#include <ECLCluster.h>
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. More... | |
void | removeStatus (EStatusBit bitmask) |
Remove bitmask from current status. More... | |
void | setHypothesis (EHypothesisBit hypothesis) |
Set hypotheses. | |
void | addHypothesis (EHypothesisBit bitmask) |
Add bitmask to current hypothesis. More... | |
void | removeHypothesis (EHypothesisBit bitmask) |
Remove bitmask from current hypothesis. More... | |
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. More... | |
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. | |
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. More... | |
bool | hasHypothesis (EHypothesisBit bitmask) const |
Return if specific hypothesis bit is set. More... | |
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). More... | |
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). More... | |
void | copyRelations (const RelationsInterface< BASE > *sourceObj) |
Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights). More... | |
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. More... | |
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. More... | |
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. More... | |
template<class TO > | |
TO * | getRelatedTo (const std::string &name="", const std::string &namedRelation="") const |
Get the object to which this object has a relation. More... | |
template<class FROM > | |
FROM * | getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const |
Get the object from which this object has a relation. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
virtual std::string | getName () const |
Return a short name that describes this object, e.g. More... | |
virtual std::string | getInfoHTML () const |
Return a short summary of this object's contents in HTML format. More... | |
std::string | getInfo () const |
Return a short summary of this object's contents in raw text format. More... | |
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. More... | |
Double32_t | m_logEnergyRaw |
Log. More... | |
Double32_t | m_logEnergyHighestCrystal |
Log. More... | |
Double32_t | m_PulseShapeDiscriminationMVA |
MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers. More... | |
Double32_t | m_ClusterHadronIntensity |
Cluster Hadron Component Intensity (pulse shape discrimination variable). More... | |
Double32_t | m_NumberOfHadronDigits |
Number of hadron digits in cluster (pulse shape discrimination variable). More... | |
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. | |
ECL cluster data.
Definition at line 27 of file ECLCluster.h.
|
strong |
The hypothesis bits for this ECLCluster (Connected region (CR) is split using this hypothesis.
Definition at line 31 of file ECLCluster.h.
|
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.
|
inline |
Add bitmask to current hypothesis.
bitmask | The status code which should be added. |
Definition at line 129 of file ECLCluster.h.
|
inlineinherited |
Add a relation from this object to another object (with caching).
object | The object to which the relation should point. |
weight | The weight of the relation. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 142 of file RelationsObject.h.
|
inlineinherited |
Add a relation from this object to another object (no caching, can be quite slow).
object | The object to which the relation should point. |
weight | The weight of the relation. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 155 of file RelationsObject.h.
|
inline |
Add bitmask to current status.
bitmask | The status code which should be added. |
Definition at line 113 of file ECLCluster.h.
|
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.
|
inlineinherited |
Return a short summary of this object's contents in raw text format.
Returns the contents of getInfoHTML() while translating line-breaks etc.
Definition at line 370 of file RelationsObject.h.
|
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:
Reimplemented in RecoTrack, TRGSummary, TrackFitResult, Track, SoftwareTriggerResult, PIDLikelihood, MCParticle, Cluster, and Particle.
Definition at line 362 of file RelationsObject.h.
|
inlinevirtualinherited |
Return a short name that describes this object, e.g.
pi+ for an MCParticle.
Reimplemented in SpacePoint, MCParticle, and Particle.
Definition at line 344 of file RelationsObject.h.
|
inlineinherited |
Get the object to or from which this object has a relation.
T | The class of objects to or from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 278 of file RelationsObject.h.
|
inlineinherited |
Get the object from which this object has a relation.
FROM | The class of objects from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 263 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing from an array.
FROM | The class of objects from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 314 of file RelationsObject.h.
|
inlineinherited |
Get the object to which this object has a relation.
TO | The class of objects to which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 248 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing to an array.
TO | The class of objects to which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 297 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing from/to an array.
T | The class of objects to or from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 331 of file RelationsObject.h.
|
inlineinherited |
Get the relations that point from another store array to this object.
FROM | The class of objects from which the relations point. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 212 of file RelationsObject.h.
|
inlineinherited |
Get the relations that point from this object to another store array.
TO | The class of objects to which the relations point. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 197 of file RelationsObject.h.
|
inlineinherited |
Get the relations between this object and another store array.
Relations in both directions are returned.
T | The class of objects to or from which the relations point. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 230 of file RelationsObject.h.
|
inline |
Return if specific hypothesis bit is set.
bitmask | The bitmask which is compared to the hypothesis of the cluster. |
Definition at line 348 of file ECLCluster.h.
|
inline |
Return if specific status bit is set.
bitmask | The bitmask which is compared to the status of the cluster. |
Definition at line 341 of file ECLCluster.h.
|
inline |
Remove bitmask from current hypothesis.
bitmask | The hypothesis code which should be removed. |
Definition at line 136 of file ECLCluster.h.
|
inline |
Remove bitmask from current status.
bitmask | The status code which should be removed. |
Definition at line 120 of file ECLCluster.h.
|
inline |
Set covariance matrix (3x3), i.e.
squared entries, for [0]->energy, [2]->phi, [5]->theta.
Definition at line 152 of file ECLCluster.h.
|
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 470 of file ECLCluster.h.
|
private |
|
private |
|
private |
|
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 473 of file ECLCluster.h.
|
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 467 of file ECLCluster.h.