Belle II Software  release-05-01-25
ECLShower.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Torben Ferber (ferber@physics.ubc.ca) *
7  * Guglielmo De Nardo (denardo@na.infn.it) *
8  * Alon Hershenhorn (hershen@phas.ubc.ca) *
9  * Poyuan Chen *
10  * *
11  * This software is provided "as is" without any warranty. *
12  **************************************************************************/
13 
14 #ifndef ECLSHOWER_H
15 #define ECLSHOWER_H
16 
17 #include <framework/datastore/RelationsObject.h>
18 #include <TVector3.h>
19 #include <math.h>
20 #include <TMatrixDSym.h>
21 
22 namespace Belle2 {
31  class ECLShower : public RelationsObject {
32  public:
33 
35  enum Hypothesis : unsigned int {
37  c_muonNPhotons = 1,
39  c_chargedHadron = 2,
43  c_nPhotons = 5,
45  c_neutralHadron = 6,
47  c_mergedPi0 = 7
48  };
49 
51  enum StatusBit : unsigned int {
53  c_hasDeadCrystal = 1 << 0,
54 
56  c_hasHotCrystal = 1 << 1,
57 
60 
63 
64  };
65 
68  {
69  m_isTrk = false;
70  m_status = 0;
71  m_showerId = 0;
74  m_centralCellId = 0;
75  m_energy = 0.0;
76  m_energyRaw = 0.0;
77  m_theta = 0.0;
78  m_phi = 0.0;
79  m_r = 0.0;
80  m_Error[0] = 0.0;
81  m_Error[1] = 0.0;
82  m_Error[2] = 0.0;
83  m_Error[3] = 0.0;
84  m_Error[4] = 0.0;
85  m_Error[5] = 0.0;
86  m_time = 0;
87  m_deltaTime99 = 0;
89  m_lateralEnergy = 0.0;
90  m_minTrkDistance = 0.0;
91  m_trkDepth = 0.0;
92  m_showerDepth = 0.0;
93  m_numberOfCrystals = 0.0;
94  m_absZernike40 = 0.0;
95  m_absZernike51 = 0.0;
96  m_zernikeMVA = 0.0;
97  m_secondMoment = 0.0;
98  m_E1oE9 = 0.0;
99  m_E9oE21 = 0.0;
102  m_NumberOfHadronDigits = 0.0;
106  }
107 
110  void setIsTrack(bool val) { m_isTrk = val; }
111 
114  void setStatus(int Status) { m_status = Status; }
115 
118  void setShowerId(int ShowerId) { m_showerId = ShowerId; }
119 
122  void setConnectedRegionId(int connectedRegionId) { m_connectedRegionId = connectedRegionId; }
123 
126  void setHypothesisId(int hypothesisId) { m_hypothesisId = hypothesisId; }
127 
130  void setCentralCellId(int centralCellId) { m_centralCellId = centralCellId; }
131 
134  void setEnergy(double Energy) { m_energy = Energy; }
135 
138  void setEnergyRaw(double EnergySum) { m_energyRaw = EnergySum; }
139 
142  void setTheta(double Theta) { m_theta = Theta; }
143 
146  void setPhi(double Phi) { m_phi = Phi; }
147 
150  void setR(double R) { m_r = R; }
151 
157  void setCovarianceMatrix(double covArray[6])
158  {
159  for (unsigned int i = 0; i < 6; i++) {
160  m_Error[i] = covArray[i];
161  }
162  }
163 
166  void setTime(double Time) { m_time = Time; }
167 
170  void setDeltaTime99(double TimeReso) { m_deltaTime99 = TimeReso; }
171 
174  void setEnergyHighestCrystal(double HighestEnergy) { m_energyHighestCrystal = HighestEnergy; }
175 
178  void setLateralEnergy(double lateralEnergy) { m_lateralEnergy = lateralEnergy; }
179 
182  void setMinTrkDistance(double dist) { m_minTrkDistance = dist; }
183 
186  void setTrkDepth(double trkDepth) { m_trkDepth = trkDepth; }
187 
190  void setShowerDepth(double showerDepth) { m_showerDepth = showerDepth; }
191 
194  void setNumberOfCrystals(double nofCrystals) { m_numberOfCrystals = nofCrystals; }
195 
198  void setAbsZernike40(double absZernike40) { m_absZernike40 = absZernike40; }
199 
202  void setAbsZernike51(double absZernike51) { m_absZernike51 = absZernike51; }
203 
206  void setZernikeMVA(double zernikeMVA) {m_zernikeMVA = zernikeMVA; }
207 
210  void setSecondMoment(double secondMoment) { m_secondMoment = secondMoment; }
211 
214  void setE1oE9(double E1oE9) { m_E1oE9 = E1oE9; }
215 
218  void setE9oE21(double E9oE21) { m_E9oE21 = E9oE21; }
219 
222  void setShowerHadronIntensity(double hadronIntensity) { m_ShowerHadronIntensity = hadronIntensity; }
223 
226  void setPulseShapeDiscriminationMVA(double mvaVal) { m_PulseShapeDiscriminationMVA = mvaVal; }
227 
230  void setNumberOfHadronDigits(double NumberOfHadronDigits) { m_NumberOfHadronDigits = NumberOfHadronDigits; }
231 
234  void setNumberOfCrystalsForEnergy(double numberOfCrystalsForEnergy) { m_numberOfCrystalsForEnergy = numberOfCrystalsForEnergy; }
235 
238  void setNominalNumberOfCrystalsForEnergy(double nominalNumberOfCrystalsForEnergy) { m_nominalNumberOfCrystalsForEnergy = nominalNumberOfCrystalsForEnergy; }
239 
242  void setListOfCrystalsForEnergy(const std::vector<unsigned int>& listofcrystals) { m_listOfCrystalsForEnergy = listofcrystals;}
243 
244 
248  bool getIsTrack() const { return m_isTrk; }
249 
253  int getStatus() const { return m_status; }
254 
258  int getShowerId() const { return m_showerId; }
259 
263  int getConnectedRegionId() const { return m_connectedRegionId; }
264 
268  int getHypothesisId() const { return m_hypothesisId; }
269 
273  int getCentralCellId() const { return m_centralCellId; }
274 
278  double getEnergy() const { return m_energy; }
279 
283  double getEnergyRaw() const { return m_energyRaw; }
284 
288  double getTheta() const { return m_theta; }
289 
293  double getPhi() const { return m_phi; }
294 
298  double getR() const { return m_r; }
299 
303  void getCovarianceMatrixAsArray(double covArray[6]) const
304  {
305  for (unsigned int i = 0; i < 6; i++) {
306  covArray[i] = m_Error[i];
307  }
308  }
309 
313  double getUncertaintyEnergy() const { return sqrt(m_Error[0]);}
314 
318  double getUncertaintyTheta() const { return sqrt(m_Error[5]);}
319 
323  double getUncertaintyPhi() const {return sqrt(m_Error[2]);}
324 
328  double getTime() const { return m_time; }
329 
333  double getDeltaTime99() const { return m_deltaTime99; }
334 
338  double getEnergyHighestCrystal() const { return m_energyHighestCrystal; }
339 
343  double getLateralEnergy() const { return m_lateralEnergy; }
344 
348  double getMinTrkDistance() const { return m_minTrkDistance; }
349 
353  double getTrkDepth() const { return m_trkDepth; }
354 
358  double getShowerDepth() const { return m_showerDepth; }
359 
363  double getNumberOfCrystals() const { return m_numberOfCrystals; }
364 
368  double getAbsZernike40() const { return m_absZernike40; }
369 
373  double getAbsZernike51() const { return m_absZernike51; }
374 
378  double getZernikeMVA() const {return m_zernikeMVA; }
379 
383  double getSecondMoment() const { return m_secondMoment; }
384 
388  double getE1oE9() const { return m_E1oE9; }
389 
393  double getE9oE21() const { return m_E9oE21; }
394 
398  double getShowerHadronIntensity() const { return m_ShowerHadronIntensity; }
399 
404 
408  double getNumberOfHadronDigits() const { return m_NumberOfHadronDigits; }
409 
414 
419 
423  std::vector<unsigned int>& getListOfCrystalsForEnergy() { return m_listOfCrystalsForEnergy; }
424 
425 
426 
428  TVector3 getMomentum() const
429  {
430  return TVector3(
431  m_energy * sin(m_theta) * cos(m_phi),
432  m_energy * sin(m_theta) * sin(m_phi),
433  m_energy * cos(m_theta)
434  );
435  }
436 
438  TMatrixDSym getCovarianceMatrix3x3() const
439  {
440  TMatrixDSym covmatecl(3);
441  covmatecl(0, 0) = m_Error[0];
442  covmatecl(1, 0) = m_Error[1];
443  covmatecl(1, 1) = m_Error[2];
444  covmatecl(2, 0) = m_Error[3];
445  covmatecl(2, 1) = m_Error[4];
446  covmatecl(2, 2) = m_Error[5];
447 
448  //make symmetric
449  for (int i = 0; i < 3; i++)
450  for (int j = 0; j < i ; j++)
451  covmatecl(j, i) = covmatecl(i, j);
452  return covmatecl;
453  }
454 
456  int getDetectorRegion() const
457  {
458  const double theta = getTheta();
459 
460  if (theta < 0.2164208) return 0; // < 12.4deg
461  if (theta < 0.5480334) return 1; // < 31.4deg
462  if (theta < 0.561996) return 11; // < 32.2deg
463  if (theta < 2.2462387) return 2; // < 128.7deg
464  if (theta < 2.2811453) return 13; // < 130.7deg
465  if (theta < 2.7070057) return 3; // < 155.1deg
466  else return 0;
467  }
468 
474  bool hasStatus(unsigned short int bitmask) const { return (m_status & bitmask) == bitmask; }
475 
480  void addStatus(unsigned short int bitmask) { m_status |= bitmask; }
481 
484  bool hasHotCrystal() const;
485 
488  bool hasDeadCrystal() const;
489 
492  bool hasProblematicCrystal() const;
493 
496  bool hasPulseShapeDiscrimination() const;
497 
499  int getUniqueId() const
500  {
501  return 100000 * m_connectedRegionId + 1000 * m_hypothesisId + m_showerId;
502  }
503 
504 
505  private:
506  bool m_isTrk;
508  int m_status;
509  int m_showerId;
511  int m_hypothesisId;
512  int m_centralCellId;
514  Double32_t m_energy;
515  Double32_t m_energyRaw;
516  Double32_t m_theta;
517  Double32_t m_phi;
518  Double32_t m_r;
519  Double32_t m_Error[6];
520  Double32_t m_time;
521  Double32_t m_deltaTime99;
523  Double32_t m_lateralEnergy;
524  Double32_t m_minTrkDistance;
525  Double32_t m_trkDepth;
526  Double32_t m_showerDepth;
527  Double32_t m_numberOfCrystals;
528  Double32_t m_absZernike40;
529  Double32_t m_absZernike51;
530  Double32_t m_zernikeMVA;
531  Double32_t m_secondMoment;
532  Double32_t m_E1oE9;
533  Double32_t m_E9oE21;
534  Double32_t
536  Double32_t
538  Double32_t
542  std::vector<unsigned int> m_listOfCrystalsForEnergy;
544  // 2: added uniqueID and highestE (TF)
545  // 3: added LAT and distance to closest track and trk match flag (GDN)
546  // 4: added time resolution (TF)
547  // 5: clean up, float to Double32_t, and new variables (TF)
548  // 6: changed names of Zernike moment variables/getters/setters to indicate that they are the absolute values of the moments (TF and AH)
549  // 7: added centralCellId (TF)
550  // 8: added zernikeMVA, removed absZernike20, 42, 53 (AH)
551  // 9: renamed variables according to the new mdst scheme (TF)
552  // 10: added getUniqueId()
553  // 11: added m_ShowerHadronIntensity and m_NumberOfHadronDigits variables (SL)
554  // 12: added m_PulseShapeDiscriminationMVA. Noted m_ShowerHadronIntensity will be removed in release-04 (SL)
555  // 13: made enums strongly typed
556  // 14: added m_numberOfCrystalsForEnergy of crystals for energy determination
557  // 15: added m_listOfCrystalsForEnergy, m_nominalNumberOfCrystalsForEnergy
558  ClassDef(ECLShower, 15);
560  };
561 
562  inline bool ECLShower::hasHotCrystal() const
563  {
564  return hasStatus(c_hasHotCrystal);
565  }
566 
567  inline bool ECLShower::hasDeadCrystal() const
568  {
569  return hasStatus(c_hasDeadCrystal);
570  }
571 
572  inline bool ECLShower::hasProblematicCrystal() const
573  {
575  }
576 
577  inline bool ECLShower::hasPulseShapeDiscrimination() const
578  {
580  }
581 
583 } // end namespace Belle2
584 
585 #endif
Belle2::ECLShower::setTheta
void setTheta(double Theta)
Set Theta (rad)
Definition: ECLShower.h:153
Belle2::ECLShower::m_hypothesisId
int m_hypothesisId
Hypothesis ID (TF)
Definition: ECLShower.h:522
Belle2::ECLShower::getEnergyHighestCrystal
double getEnergyHighestCrystal() const
Get Highest Energy in Shower.
Definition: ECLShower.h:349
Belle2::ECLShower::getHypothesisId
int getHypothesisId() const
Get Hypothesis Id.
Definition: ECLShower.h:279
Belle2::ECLShower::getLateralEnergy
double getLateralEnergy() const
Get Lateral Energy in Shower.
Definition: ECLShower.h:354
Belle2::ECLShower::setPulseShapeDiscriminationMVA
void setPulseShapeDiscriminationMVA(double mvaVal)
Set shower hadron intensity.
Definition: ECLShower.h:237
Belle2::ECLShower::m_isTrk
bool m_isTrk
Match with track (GDN)
Definition: ECLShower.h:517
Belle2::ECLShower::setShowerId
void setShowerId(int ShowerId)
Set Shower ID.
Definition: ECLShower.h:129
Belle2::ECLShower::m_showerId
int m_showerId
Shower ID.
Definition: ECLShower.h:520
Belle2::ECLShower::getCovarianceMatrixAsArray
void getCovarianceMatrixAsArray(double covArray[6]) const
Get Error Array for Energy->[0], Phi->[2], Theta->[5].
Definition: ECLShower.h:314
Belle2::ECLShower::getShowerId
int getShowerId() const
Get Shower Id.
Definition: ECLShower.h:269
Belle2::ECLShower::c_hasDeadCrystal
@ c_hasDeadCrystal
bit 0: Dead crystal within nominal shower neighbour region.
Definition: ECLShower.h:64
Belle2::ECLShower::getUniqueId
int getUniqueId() const
Return unique identifier.
Definition: ECLShower.h:510
Belle2::ECLShower::getNumberOfCrystalsForEnergy
double getNumberOfCrystalsForEnergy() const
Get number of crystals used for energy calculation.
Definition: ECLShower.h:424
Belle2::ECLShower::m_centralCellId
int m_centralCellId
Central cell ID (TF)
Definition: ECLShower.h:523
Belle2::ECLShower::setStatus
void setStatus(int Status)
Set Status.
Definition: ECLShower.h:125
Belle2::ECLShower::hasHotCrystal
bool hasHotCrystal() const
Check if shower contains a hot crystal.
Definition: ECLShower.h:573
Belle2::ECLShower::setCovarianceMatrix
void setCovarianceMatrix(double covArray[6])
Set symmetric Error Array(3x3) for [0]->Error on Energy [2]->Error on Phi [5]->Error on Theta.
Definition: ECLShower.h:168
Belle2::ECLShower::setDeltaTime99
void setDeltaTime99(double TimeReso)
Set Time Resolution.
Definition: ECLShower.h:181
Belle2::ECLShower::getSecondMoment
double getSecondMoment() const
Get second moment.
Definition: ECLShower.h:394
Belle2::ECLShower::m_energy
Double32_t m_energy
Energy (GeV)
Definition: ECLShower.h:525
Belle2::ECLShower::getUncertaintyPhi
double getUncertaintyPhi() const
Get Error of phi.
Definition: ECLShower.h:334
Belle2::ECLShower::getIsTrack
bool getIsTrack() const
Get if matched with a Track.
Definition: ECLShower.h:259
Belle2::ECLShower::m_absZernike40
Double32_t m_absZernike40
Shower shape variable, absolute value of Zernike Moment 40 (TF)
Definition: ECLShower.h:539
Belle2::ECLShower::setIsTrack
void setIsTrack(bool val)
Set Match with Track.
Definition: ECLShower.h:121
Belle2::ECLShower::getTrkDepth
double getTrkDepth() const
path on track extrapolation to POCA to average cluster direction
Definition: ECLShower.h:364
Belle2::ECLShower::c_mergedPi0
@ c_mergedPi0
CR is reconstructed as merged pi0 (N3)
Definition: ECLShower.h:58
Belle2::ECLShower::getTheta
double getTheta() const
Get Theta.
Definition: ECLShower.h:299
Belle2::ECLShower::getE9oE21
double getE9oE21() const
Get energy ratio E9oE21.
Definition: ECLShower.h:404
Belle2::ECLShower::m_connectedRegionId
int m_connectedRegionId
Connected Region ID (TF)
Definition: ECLShower.h:521
Belle2::ECLShower::m_nominalNumberOfCrystalsForEnergy
Double32_t m_nominalNumberOfCrystalsForEnergy
number of crystals used for energy calculation (TF)
Definition: ECLShower.h:552
Belle2::ECLShower::setNominalNumberOfCrystalsForEnergy
void setNominalNumberOfCrystalsForEnergy(double nominalNumberOfCrystalsForEnergy)
Set nominal number of crystals used for energy calculation.
Definition: ECLShower.h:249
Belle2::ECLShower::m_listOfCrystalsForEnergy
std::vector< unsigned int > m_listOfCrystalsForEnergy
list of cell ids used for energy calculation (TF)
Definition: ECLShower.h:553
Belle2::ECLShower::m_absZernike51
Double32_t m_absZernike51
Shower shape variable, absolute value of Zernike Moment 51 (TF)
Definition: ECLShower.h:540
Belle2::ECLShower::getCovarianceMatrix3x3
TMatrixDSym getCovarianceMatrix3x3() const
Return TMatrixDsym 3x3 covariance matrix for E, Phi and Theta.
Definition: ECLShower.h:449
Belle2::ECLShower::getNumberOfHadronDigits
double getNumberOfHadronDigits() const
Get number of hadron digits.
Definition: ECLShower.h:419
Belle2::ECLShower::c_electronNPhotons
@ c_electronNPhotons
CR is split into an electron and n photons (T3)
Definition: ECLShower.h:52
Belle2::ECLShower::getStatus
int getStatus() const
Get Status.
Definition: ECLShower.h:264
Belle2::ECLShower::setR
void setR(double R)
Set R.
Definition: ECLShower.h:161
Belle2::ECLShower::m_E1oE9
Double32_t m_E1oE9
Shower shape variable, E1oE9 (TF)
Definition: ECLShower.h:543
Belle2::ECLShower::c_hasHotCrystal
@ c_hasHotCrystal
bit 1: Hot crystal within nominal shower neighbour region.
Definition: ECLShower.h:67
Belle2::ECLShower::setLateralEnergy
void setLateralEnergy(double lateralEnergy)
Set Lateral Energy.
Definition: ECLShower.h:189
Belle2::ECLShower::m_numberOfCrystalsForEnergy
Double32_t m_numberOfCrystalsForEnergy
number of crystals used for energy calculation (TF)
Definition: ECLShower.h:551
Belle2::ECLShower::getNumberOfCrystals
double getNumberOfCrystals() const
Get NofCrystals.
Definition: ECLShower.h:374
Belle2::ECLShower::getDetectorRegion
int getDetectorRegion() const
Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.
Definition: ECLShower.h:467
Belle2::ECLShower::setAbsZernike40
void setAbsZernike40(double absZernike40)
Set absolute value of Zernike moment 40.
Definition: ECLShower.h:209
Belle2::ECLShower::getListOfCrystalsForEnergy
std::vector< unsigned int > & getListOfCrystalsForEnergy()
Get list of cellids used for energy calculation.
Definition: ECLShower.h:434
Belle2::ECLShower::c_hasProblematicCrystal
@ c_hasProblematicCrystal
combined flag to test whether the shower is 'problematic'
Definition: ECLShower.h:70
Belle2::ECLShower::m_minTrkDistance
Double32_t m_minTrkDistance
Distance between shower and closest track (GDN)
Definition: ECLShower.h:535
Belle2::ECLShower::m_phi
Double32_t m_phi
Phi (rad)
Definition: ECLShower.h:528
Belle2::ECLShower::setConnectedRegionId
void setConnectedRegionId(int connectedRegionId)
Set Connected region ID.
Definition: ECLShower.h:133
Belle2::ECLShower::getMomentum
TVector3 getMomentum() const
The method to get return TVector3 Momentum.
Definition: ECLShower.h:439
Belle2::ECLShower::setEnergy
void setEnergy(double Energy)
Set Energy.
Definition: ECLShower.h:145
Belle2::ECLShower::getPulseShapeDiscriminationMVA
double getPulseShapeDiscriminationMVA() const
Get shower hadron intensity.
Definition: ECLShower.h:414
Belle2::ECLShower::getCentralCellId
int getCentralCellId() const
Get central cell Id.
Definition: ECLShower.h:284
Belle2::ECLShower::m_lateralEnergy
Double32_t m_lateralEnergy
Lateral Energy in Shower (GDN)
Definition: ECLShower.h:534
Belle2::ECLShower::getShowerDepth
double getShowerDepth() const
path on track extrapolation to POCA to average cluster direction
Definition: ECLShower.h:369
Belle2::ECLShower::c_neutralHadron
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
Definition: ECLShower.h:56
Belle2::ECLShower::setNumberOfCrystalsForEnergy
void setNumberOfCrystalsForEnergy(double numberOfCrystalsForEnergy)
Set number of crystals used for energy calculation.
Definition: ECLShower.h:245
Belle2::ECLShower::c_hasPulseShapeDiscrimination
@ c_hasPulseShapeDiscrimination
bit 2: Shower has pulse shape discrimination variables.
Definition: ECLShower.h:73
Belle2::ECLShower::c_muonNPhotons
@ c_muonNPhotons
CR is split into a muon and n photons (T1)
Definition: ECLShower.h:48
Belle2::ECLShower::hasProblematicCrystal
bool hasProblematicCrystal() const
Check if shower contains a problematic crystal.
Definition: ECLShower.h:583
Belle2::ECLShower::getZernikeMVA
double getZernikeMVA() const
Get Zernike MVA.
Definition: ECLShower.h:389
Belle2::ECLShower::m_theta
Double32_t m_theta
Theta (rad)
Definition: ECLShower.h:527
Belle2::ECLShower::m_zernikeMVA
Double32_t m_zernikeMVA
Shower shape variable, zernike MVA output.
Definition: ECLShower.h:541
Belle2::ECLShower::hasStatus
bool hasStatus(unsigned short int bitmask) const
Return if specific status bit is set.
Definition: ECLShower.h:485
Belle2::ECLShower::Hypothesis
Hypothesis
The hypothesis ID for ECLShowers.
Definition: ECLShower.h:46
Belle2::ECLShower::getPhi
double getPhi() const
Get Phi.
Definition: ECLShower.h:304
Belle2::ECLShower::m_ShowerHadronIntensity
Double32_t m_ShowerHadronIntensity
Shower Hadron Component Intensity (pulse shape discrimination variable).
Definition: ECLShower.h:546
Belle2::ECLShower::setEnergyRaw
void setEnergyRaw(double EnergySum)
Set Raw Energy Sum.
Definition: ECLShower.h:149
Belle2::ECLShower::setE9oE21
void setE9oE21(double E9oE21)
Set energy ration E9 over E21.
Definition: ECLShower.h:229
Belle2::ECLShower::setShowerDepth
void setShowerDepth(double showerDepth)
Set path on the average cluster direction.
Definition: ECLShower.h:201
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLShower::setMinTrkDistance
void setMinTrkDistance(double dist)
Set Distance to closest track.
Definition: ECLShower.h:193
Belle2::ECLShower::getEnergy
double getEnergy() const
Get Energy.
Definition: ECLShower.h:289
Belle2::ECLShower::getEnergyRaw
double getEnergyRaw() const
Get Energy Sum.
Definition: ECLShower.h:294
Belle2::ECLShower::m_Error
Double32_t m_Error[6]
Error of Energy, Theta and Phi.
Definition: ECLShower.h:530
Belle2::ECLShower::setZernikeMVA
void setZernikeMVA(double zernikeMVA)
SetZernike MVA value.
Definition: ECLShower.h:217
Belle2::ECLShower::setSecondMoment
void setSecondMoment(double secondMoment)
Set second moment.
Definition: ECLShower.h:221
Belle2::ECLShower::setListOfCrystalsForEnergy
void setListOfCrystalsForEnergy(const std::vector< unsigned int > &listofcrystals)
Set list of cell ids used for energy calculation.
Definition: ECLShower.h:253
Belle2::ECLShower::m_secondMoment
Double32_t m_secondMoment
Shower shape variable, second moment (for merged pi0) (TF)
Definition: ECLShower.h:542
Belle2::ECLShower::setNumberOfCrystals
void setNumberOfCrystals(double nofCrystals)
Set sum of weights of crystals.
Definition: ECLShower.h:205
Belle2::ECLShower::m_E9oE21
Double32_t m_E9oE21
Shower shape variable, E9oE25.
Definition: ECLShower.h:544
Belle2::ECLShower::getUncertaintyEnergy
double getUncertaintyEnergy() const
Get Error of Energy.
Definition: ECLShower.h:324
Belle2::ECLShower::getDeltaTime99
double getDeltaTime99() const
Get Time Resolution.
Definition: ECLShower.h:344
Belle2::ECLShower::m_time
Double32_t m_time
Time.
Definition: ECLShower.h:531
Belle2::ECLShower::setTime
void setTime(double Time)
Set Time.
Definition: ECLShower.h:177
Belle2::ECLShower::getAbsZernike51
double getAbsZernike51() const
Get absolute value of Zernike moment 51.
Definition: ECLShower.h:384
Belle2::ECLShower::setE1oE9
void setE1oE9(double E1oE9)
Set energy ration E1 over E9.
Definition: ECLShower.h:225
Belle2::ECLShower::m_showerDepth
Double32_t m_showerDepth
Same as above, but on the cluster average direction (GDN)
Definition: ECLShower.h:537
Belle2::ECLShower::setEnergyHighestCrystal
void setEnergyHighestCrystal(double HighestEnergy)
Set Highest Energy.
Definition: ECLShower.h:185
Belle2::ECLShower::m_energyRaw
Double32_t m_energyRaw
Raw Energy Sum(GeV)
Definition: ECLShower.h:526
Belle2::ECLShower::c_nPhotons
@ c_nPhotons
CR is split into n photons (N1)
Definition: ECLShower.h:54
Belle2::ECLShower::getAbsZernike40
double getAbsZernike40() const
Get absolute value of Zernike moment 40.
Definition: ECLShower.h:379
Belle2::ECLShower::getE1oE9
double getE1oE9() const
Get energy ratio E1oE9.
Definition: ECLShower.h:399
Belle2::ECLShower::getUncertaintyTheta
double getUncertaintyTheta() const
Get Error of theta.
Definition: ECLShower.h:329
Belle2::ECLShower::ECLShower
ECLShower()
Default constructor for ROOT.
Definition: ECLShower.h:78
Belle2::ECLShower::getTime
double getTime() const
Get Time.
Definition: ECLShower.h:339
Belle2::ECLShower::m_NumberOfHadronDigits
Double32_t m_NumberOfHadronDigits
Number of hadron digits in shower (pulse shape discrimination variable).
Definition: ECLShower.h:550
Belle2::ECLShower::setPhi
void setPhi(double Phi)
Set Phi (rad)
Definition: ECLShower.h:157
Belle2::ECLShower::m_PulseShapeDiscriminationMVA
Double32_t m_PulseShapeDiscriminationMVA
MVA classifier that uses pulse shape discrimination to identify electromagnetic vs hadronic showers.
Definition: ECLShower.h:548
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::ECLShower::setNumberOfHadronDigits
void setNumberOfHadronDigits(double NumberOfHadronDigits)
Set numver of hadron digits.
Definition: ECLShower.h:241
Belle2::ECLShower::setHypothesisId
void setHypothesisId(int hypothesisId)
Set Hypothesis identifier.
Definition: ECLShower.h:137
Belle2::ECLShower::m_r
Double32_t m_r
R (cm)
Definition: ECLShower.h:529
Belle2::ECLShower::addStatus
void addStatus(unsigned short int bitmask)
Add bitmask to current status.
Definition: ECLShower.h:491
Belle2::ECLShower::hasDeadCrystal
bool hasDeadCrystal() const
Check if shower contains a dead crystal.
Definition: ECLShower.h:578
Belle2::ECLShower::setAbsZernike51
void setAbsZernike51(double absZernike51)
Set absolute value of Zernike moment 51.
Definition: ECLShower.h:213
Belle2::ECLShower::setShowerHadronIntensity
void setShowerHadronIntensity(double hadronIntensity)
Set shower hadron intensity.
Definition: ECLShower.h:233
Belle2::ECLShower::m_trkDepth
Double32_t m_trkDepth
Path on track ext.
Definition: ECLShower.h:536
Belle2::ECLShower::getShowerHadronIntensity
double getShowerHadronIntensity() const
Get shower hadron intensity.
Definition: ECLShower.h:409
Belle2::ECLShower::setTrkDepth
void setTrkDepth(double trkDepth)
Set path on track extrapolation line to POCA to average cluster direction.
Definition: ECLShower.h:197
Belle2::ECLShower::StatusBit
StatusBit
The status information for the ECLShowers.
Definition: ECLShower.h:62
Belle2::ECLShower::getNominalNumberOfCrystalsForEnergy
double getNominalNumberOfCrystalsForEnergy() const
Get nominal number of crystals used for energy calculation.
Definition: ECLShower.h:429
Belle2::ECLShower::getR
double getR() const
Get R.
Definition: ECLShower.h:309
Belle2::ECLShower::hasPulseShapeDiscrimination
bool hasPulseShapeDiscrimination() const
Check if shower contains pulse shape discrimination information.
Definition: ECLShower.h:588
Belle2::ECLShower::setCentralCellId
void setCentralCellId(int centralCellId)
Set central cell id.
Definition: ECLShower.h:141
Belle2::ECLShower::m_energyHighestCrystal
Double32_t m_energyHighestCrystal
Highest Energy in Shower (GeV) (TF)
Definition: ECLShower.h:533
Belle2::ECLShower::c_chargedHadron
@ c_chargedHadron
CR is reconstructed as a charged hadron (T2)
Definition: ECLShower.h:50
Belle2::ECLShower::getConnectedRegionId
int getConnectedRegionId() const
Get Connected region Id.
Definition: ECLShower.h:274
Belle2::ECLShower::getMinTrkDistance
double getMinTrkDistance() const
Get distance to closest Track.
Definition: ECLShower.h:359
Belle2::ECLShower::m_numberOfCrystals
Double32_t m_numberOfCrystals
Sum of weights of crystals (~number of crystals) (TF)
Definition: ECLShower.h:538
Belle2::ECLShower::m_deltaTime99
Double32_t m_deltaTime99
Time that contains 99% of signal crystals.
Definition: ECLShower.h:532
Belle2::ECLShower
Class to store ECL Showers.
Definition: ECLShower.h:42
Belle2::ECLShower::m_status
int m_status
Status.
Definition: ECLShower.h:519
Belle2::ECLShower::ClassDef
ClassDef(ECLShower, 15)
ClassDef.