ATLAS Offline Software
Calorimeter/CaloEvent/CaloEvent/CaloCluster.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //Dear emacs, this is -*-c++-*-
6 
7 #ifndef CALOEVENT_CALOCLUSTER_H
8 #define CALOEVENT_CALOCLUSTER_H
9 /***************************************************************************
10  CaloCluster class
11  base class for calorimeter classes
12 
13 Update: Jan 10 2001 HMA
14  order of static/virtual/const
15 
16 Update: Redesign. May 21, 2001
17  Concrete base class for Calorimeter cluster
18  Using CaloSampling for sampling information.
19 
20 Update: Redesign. Nov 12, 2001 efrank
21  Inherit from Navigable to plug into navigation code.
22  Modify addcell() to update token. I realize now that CaloCluster
23  and NavClusterToken may need to be extend so that a weight can
24  be stored with added cells.
25 
26 Update: Redesign. Mar 06, 2003 P Loch
27  New navigation system.
28 
29 Update: Redesign. Feb 17, 2004 P Loch
30  Complete overhaul. Now inherits from CaloEnergyCluster (navigable
31  4-vector object with constituents). Non-backward compatible change
32  of interfaces.
33 
34 Update: Jul 18, 2005 P Loch
35  Add basic signal data word and access methods
36 
37 Update: Sep 18, 2005 P Loch
38  Completely new EDM with external data objects storing the cell links
39  and cluster data.
40 ***************************************************************************/
44 
47 
50 
52 #include "CaloEvent/CaloShower.h"
54 
58 
59 #include "CaloEvent/CaloClusterBadChannelData.h"
60 
61 #include <vector>
62 
65 
66 
67 class CaloCell ;
68 
69 class CaloCluster;
70 
71 struct CaloClusterSignalState;
72 
73 
75  public CaloCompositeCellBase<CaloClusterNavigable>,
76  virtual public INavigable4Momentum,
77  public ISignalState,
78  public AthenaBarCodeBase
79 {
80 
81  public:
82 
85  enum ClusterSize {
86  // electrons
87  SW_55ele = 1,
88  SW_35ele = 2,
89  SW_37ele = 3,
90  // photons
91  SW_55gam = 4,
92  SW_35gam = 5,
93  SW_37gam = 6,
94  // early converted photons
98  // soft electrons
99  SW_softe = 10,
100  // topological clusters
101  Topo_420 = 11,
102  Topo_633 = 12,
103  // transient cluster for AODCellContainer
104  SW_7_11 = 13,
105  Unknown = 99
106  };
107 
108 
110  // Public Types //
112 
116 
119 
122 
124  typedef double value_type;
125 
126 
139 
140  // xAOD compatibility.
142 
143  typedef double (CaloCluster::*GET_VALUE)() const;
144  typedef void (CaloCluster::*SET_VALUE)(double v);
145 
148 
150  // MomentStore Iterator //
152 
155  {
156  public:
157 
159  MomentStoreIter();
162  const moment_store* firstStore,
163  const moment_store* secndStore=0) ;
166 
169 
172 
181 
183  bool operator==(const MomentStoreIter& anOther) const;
185  bool operator!=(const MomentStoreIter& anOther) const;
186 
188  const CaloClusterMoment& operator*() const;
190  const CaloClusterMoment& getMoment() const;
192  moment_type getMomentType() const;
193 
194  private:
195 
202  };
203 
206 
208  // Constructors & Destructors //
210 
212  CaloCluster(double eta0 = 0, double phi0 = 0,
213  unsigned int varTypePattern = 0x00000000,
214  unsigned int clusterSize=CaloCluster::SW_55ele);
216  virtual ~CaloCluster();
218  CaloCluster(const CaloCluster* pCluster);
219  CaloCluster(const CaloCluster& rCluster);
220 
222  // General Set and Get for all Variables //
224 
226  double
227  getVariable(const variable_type& varType,
228  const sampling_type& samType,
229  bool useLink = true) const;
230 
232  bool
233  getVariable(const variable_type& varType,
234  std::vector<double>& varList,
235  bool useLink = true) const;
236 
238  bool
239  setVariable(const variable_type& varType,
240  const sampling_type& samType,
241  const double& varData,
242  bool useLink = false);
244  bool
245  setVariable(const variable_type& varType,
246  const std::vector<double>& varList,
247  bool useLink = false);
248 
249 
251  bool
252  lockVariable(const variable_type& varType);
253 
255  bool
256  unlockVariable(const variable_type& varType);
257 
259  bool isLocked(const variable_type& varType) const;
260  bool isLocked(const unsigned int& bitPattern) const;
261 
263  bool allLocked() const;
264 
266  // Kinematics //
268 
270  virtual CLHEP::HepLorentzVector hlv() const {return CaloCompositeKineBase::hlv();}
271 
273  virtual CLHEP::HepLorentzVector hlv(signalstate_t s) const;
274 
276  virtual double e() const;
278  virtual double eta() const;
280  virtual double phi() const;
282  virtual double m() const;
283 
285  double e(signalstate_t s) const;
287  double eta(signalstate_t s) const;
289  double phi(signalstate_t s) const;
291  double m(signalstate_t s) const;
292 
294  virtual void setE(double e);
296  virtual void setEta(double eta);
298  virtual void setPhi(double phi);
300  virtual void setM(double m);
301 
303  virtual void set4Mom(const I4Momentum* const pMom);
305  virtual void set4Mom(const I4Momentum& rMom);
307  virtual void set4Mom(const CLHEP::HepLorentzVector& rVec);
308 
310  unsigned int nSamples() const;
312  double eSample(sampling_type sampling) const;
314  double etaSample(sampling_type sampling) const;
316  double phiSample(sampling_type sampling) const;
317 
319  void getEInSamples(std::vector<double>& theEnergies) const;
321  void getEtaInSamples( std::vector<double>& theEtas) const;
323  void getPhiInSamples( std::vector<double>& thePhis) const;
324 
326  void setEInSamples(const std::vector<double>& theEnergies);
328  void setEtaInSamples(const std::vector<double>& theEtas);
330  void setPhiInSamples(const std::vector<double>& thePhis);
332  virtual double getBasicEnergy() const;
334  virtual void setBasicEnergy(double theEnergy);
336  double getTime() const;
338  void setTime(double theTime);
339 
341  void setClusterSize(unsigned int theClusterSize);
342 
344  unsigned int getClusterSize() const;
345 
346  /* \brief Get eta/phi size from cluster size */
347  unsigned int getClusterEtaSize() const;
348  unsigned int getClusterPhiSize() const;
349 
351  void setenergy(sampling_type sampling, double e);
353  void seteta (sampling_type sampling, double eta);
355  void setphi (sampling_type sampling, double phi);
356 
358  // Cluster Moments //
360 
362  void insertMoment(const moment_type& momType,
363  const moment_value& momValue,
364  bool useLink=true);
366  moment_iterator beginMoment(bool useLink=true) const;
368  moment_iterator endMoment(bool useLink=true) const;
370  bool retrieveMoment(const moment_type& momType,
371  moment_value& momValue,
372  bool useLink=true) const;
373  bool retrieveMoment(const moment_type& momType,
374  double& momData,
375  bool useLink=true) const;
377  moment_value getMoment(const moment_type& momType,
378  bool useLink=true) const;
380  moment_value getMoment(const moment_iterator& momIter) const;
381 
383  double getMomentValue(const moment_type& momType,
384  bool useLink=true) const;
385  double getMomentValue(const moment_iterator& momIter) const;
386 
388  moment_type getMomentType(const moment_iterator& momIter) const;
389 
391  // Special Variables //
393 
396  bool is_valid_sampling(const sampling_type& sampling) const;
399  bool isEMSampling(const sampling_type& theSampling) const;
401  bool hasSampling(const sampling_type& theSampling) const;
403  unsigned int samplingPattern() const;
404 
406  double eta0() const;
408  double phi0() const;
409 
411  double etasize(sampling_type sampling) const;
413  double phisize(sampling_type sampling) const;
415  void setetasize(sampling_type sampling, double size);
417  void setphisize(sampling_type sampling, double size) ;
418 
420  double energy_max(sampling_type sampling) const;
423  double etamax(sampling_type sampling) const;
426  double phimax(sampling_type sampling) const;
428  void setenergymax(sampling_type sampling, double m) ;
431  void setetamax(sampling_type sampling, double m);
434  void setphimax(sampling_type sampling, double m) ;
435 
437  double etaBE(int sampling) const;
439  double phiBE(int sampling) const;
441  double energyBE(int sampling) const;
442 
444  bool inBarrel() const;
446  bool inEndcap() const;
448  void setBarrel(bool barrel);
450  void setEndcap(bool endcap);
451 
453  void addBadChannel(const CaloClusterBadChannelData& badChannel);
455  void resetBadChannel();
456 
458  typedef std::vector<CaloClusterBadChannelData> badChannelList;
459  const badChannelList* getBadChannel() const;
460 
462  bool containsBadCells() const;
463 
465  void calculateKine(const bool useweight=true, const bool updateLayers=true );
466 
467  protected:
468 
470  friend struct CaloClusterSignalState;
471 
472  typedef
474 
476  static const double m_errorValue;
477 
484  // CaloShower* m_dataStorePointer;
486 
493 
496 
498  double m_time;
499 
501  unsigned int m_samplingPattern;
502 
504  virtual void updateKine(const CaloCell* theCell, double weight);
505 
506  double variableBE(const variable_type& theVariable,
507  const int& samplingIndex) const;
508 
509  CaloSamplingData* getDataStore(const variable_type& theVariable,
510  bool useLink=true);
512  theVariable,
513  bool useLink=false) const;
514 
516  getMomentStore(bool useLink=true);
517  const CaloClusterMomentStore*
518  getMomentStore(bool useLink=false) const;
519  const CaloClusterMomentStore*
520  getMomentStore(const moment_type& theMoment, bool useLink=false) const;
522  getMomentStore(const moment_type& theMoment, bool useLink=true);
523  bool
524  getMomentStorePtrs(const CaloClusterMomentStore*& pFirstStore,
525  const CaloClusterMomentStore*& pSecndStore,
526  bool useLink) const;
527  //DEBUG const std::string& mode) const;
528 
530  bool setDataLink(CaloShowerContainer* pDataLink);
531 
533  bool setStores(CaloShower* pData,CaloCellLink* pLink,bool ownStores=true);
534 
536  bool setDataStore(CaloShower* pData,bool ownStores=true);
537 
538  private:
539 
542  template <class InputIterator>
543  void
545  InputIterator beg,
546  InputIterator end);
547 
549  bool m_barrel;
551  bool m_endcap;
552 
554  unsigned int m_clusterSize;
555 
556  // ... RAW eta,phi of cluster seed
558  double m_eta0;
560  double m_phi0;
561 
564  double m_timeNorm;
565 
568  double m_posNorm;
569 
572  std::vector<double> m_posSamNorm;
573 
581  unsigned int m_lockPattern;
582 
584 
586  // Signal States //
588 
589  public:
590 
592  signalstate_t signalState() const;
595 
597  virtual bool hasSignalState(signalstate_t s) const;
599  virtual bool isAtSignalState(signalstate_t s) const;
600 
601  protected:
602 
604  virtual bool setSignalState(signalstate_t s);
605 
607  virtual void resetSignalState();
608 
611 
612  private:
613 
615  double getRawE() const;
617  double getRawEta() const;
619  double getRawPhi() const;
621  double getRawM() const;
622 
624  double getCalE() const;
626  double getCalEta() const;
628  double getCalPhi() const;
630  double getCalM() const;
631 
633  double getAltE() const;
635  double getAltEta() const;
637  double getAltPhi() const;
639  double getAltM() const;
640 
642  void setRawE(double e);
644  void setRawEta(double eta);
646  void setRawPhi(double phi);
648  void setRawM(double m);
649 
651  void setCalE(double e);
653  void setCalEta(double eta);
655  void setCalPhi(double phi);
657  void setCalM(double m);
658 
660  void setAltE(double e);
662  void setAltEta(double eta);
664  void setAltPhi(double phi);
666  void setAltM(double m);
667 
668  // Cint has trouble with the types of these members.
669  // Just hide them from reflex for now.
670 #ifndef __REFLEX__
671 
679 
688 #endif
689 
694 
696  double m_rawE;
698  double m_rawEta;
700  double m_rawPhi;
702  double m_rawM;
703 
705  double m_altE;
707  double m_altEta;
709  double m_altPhi;
711  double m_altM;
712 
714  bool setStateRaw();
715 
717  bool setStateCal();
718 
720  bool setStateAlt();
721 
722 public:
723  // For interactive debugging from python ---
724  // should not be used from client code.
726  { return m_dataLink; }
727 
728 private:
731 
741 
742 };
743 
745 // Inline Funtions //
747 
749 // Kinematics //
751 
752 #ifndef __REFLEX__
753 inline double CaloCluster::e() const
754 { return (this->*m_getE)(); }
755 inline double CaloCluster::eta() const
756 {
757  return (this->*m_getEta)();
758 }
759 inline double CaloCluster::phi() const
760 {
761  return (this->*m_getPhi)();
762 }
763 
764 inline double CaloCluster::m() const
765 { return (this->*m_getM)(); }
766 
767 inline void CaloCluster::setE(double e)
768 { (this->*m_setE)(e); }
769 inline void CaloCluster::setEta(double eta)
770 { (this->*m_setEta)(eta); }
771 inline void CaloCluster::setPhi(double phi)
772 { (this->*m_setPhi)(phi); }
773 inline void CaloCluster::setM(double m)
774 { (this->*m_setM)(m); }
775 #endif
776 
777 inline double CaloCluster::e(signalstate_t s) const
778 {
779  if (!hasSignalState(s)) return m_errorValue;
780  switch (s) {
782  return P4EEtaPhiM::e();
784  return m_rawE;
786  return m_altE;
787  default:
788  return m_errorValue;
789  }
790 }
791 
792 
793 inline double CaloCluster::eta(signalstate_t s) const
794 {
795  if (!hasSignalState(s)) return m_errorValue;
796  switch (s) {
798  return P4EEtaPhiM::eta();
800  return m_rawEta;
802  return m_altEta;
803  default:
804  return m_errorValue;
805  }
806 }
807 
808 
809 inline double CaloCluster::phi(signalstate_t s) const
810 {
811  if (!hasSignalState(s)) return m_errorValue;
812  switch (s) {
814  return P4EEtaPhiM::phi();
816  return m_rawPhi;
818  return m_altPhi;
819  default:
820  return m_errorValue;
821  }
822 }
823 
824 
825 inline double CaloCluster::m(signalstate_t s) const
826 {
827  if (!hasSignalState(s)) return m_errorValue;
828  switch (s) {
830  return P4EEtaPhiM::m();
832  return m_rawM;
834  return m_altM;
835  default:
836  return m_errorValue;
837  }
838 }
839 
840 
841 inline void CaloCluster::set4Mom(const I4Momentum* const pMom)
842 {
843  this->setE(pMom->e());
844  this->setEta(pMom->eta());
845  this->setPhi(pMom->phi());
846  this->setM(pMom->m());
847 }
848 
849 inline void CaloCluster::set4Mom(const I4Momentum& rMom)
850 { this->set4Mom(&rMom); }
851 
852 inline void CaloCluster::set4Mom(const CLHEP::HepLorentzVector& rVec)
853 {
854  this->setE(rVec.e());
855  this->setEta(rVec.eta());
856  this->setPhi(rVec.phi());
857  this->setM(rVec.m());
858 }
859 
861 { return m_signalState; }
863 { return m_defSigState; }
864 
866 {
867  m_defSigState = s;
868  return this->setSignalState(s);
869 }
870 
872 // Basic Signal and Time //
874 
875 inline double
882 inline void
884 
885 inline double
886 CaloCluster::getTime() const { return m_time; }
887 
888 inline void
889 CaloCluster::setTime(double theTime) { m_time = theTime; }
890 
891 inline void
892 CaloCluster::setClusterSize(unsigned int theClusterSize) { m_clusterSize = theClusterSize; }
893 
894 inline unsigned int
896 
898 // Configuration //
900 
901 inline bool
902 CaloCluster::setStores(CaloShower* pData, CaloCellLink* pLink, bool ownStores)
903 {
904  return ( this->setDataStore(pData,ownStores) &&
905  this->setLinkStore(pLink,ownStores) );
906 }
907 
908 inline bool
909 CaloCluster::setDataStore(CaloShower* pData,bool ownStores)
910 {
911  // m_dataStorePointer = pData;
912  m_ownDataStore = ownStores;
913  m_dataLink.setElement(pData);
914  m_shower = pData;
915  return m_dataLink.isValid();
916 }
917 
919 // Tags //
921 
926 inline bool CaloCluster::inBarrel() const { return m_barrel; }
931 inline bool CaloCluster::inEndcap() const { return m_endcap; }
939 inline void CaloCluster::setEndcap(bool endcap) { m_endcap = endcap; }
947 inline bool
949 { return this->isEMSampling(sampling); }
950 
951 inline bool CaloCluster::isEMSampling(const sampling_type& theSampling) const
952 { return CaloSamplingHelper::isEMSampling(theSampling); }
953 
954 inline bool CaloCluster::hasSampling(const sampling_type& theSampling) const
955 {
956  unsigned int bitPattern = CaloSamplingHelper::getSamplingBit(theSampling);
957  return (m_samplingPattern & bitPattern) == bitPattern;
958 }
959 
961 // Get Energy/Eta/Phi in Samplings //
963 
968 inline unsigned int CaloCluster::nSamples() const
975 inline double CaloCluster::eSample(sampling_type theSampling) const
976 { return this->getVariable(CaloVariableType::ENERGY,theSampling,true); }
983 inline void CaloCluster::getEInSamples(std::vector<double>& theEnergies) const
984 { this->getVariable(CaloVariableType::ENERGY,theEnergies,true); }
985 
991 inline double CaloCluster::etaSample(sampling_type theSampling) const
992 { return this->getVariable(CaloVariableType::ETA,theSampling,true); }
999 inline void CaloCluster::getEtaInSamples(std::vector<double>& theEtas) const
1000 { this->getVariable(CaloVariableType::ETA,theEtas,true); }
1006 inline double CaloCluster::phiSample(sampling_type theSampling) const
1007 { return this->getVariable(CaloVariableType::PHI,theSampling,true); }
1015 inline void CaloCluster::getPhiInSamples(std::vector<double>& thePhis) const
1016 { this->getVariable(CaloVariableType::PHI,thePhis,true); }
1017 
1019 // Set Methods for Sampling Kinematic //
1021 
1029 inline void CaloCluster::setenergy(sampling_type theSampling, double theEnergy)
1030 { this->setVariable(CaloVariableType::ENERGY,theSampling,theEnergy,true); }
1041 inline void CaloCluster::setEInSamples(const std::vector<double>& theEnergies)
1042 { this->setVariable(CaloVariableType::ENERGY,theEnergies,true); }
1043 
1048 inline void CaloCluster::seteta(sampling_type sampling, double eta)
1049 { this->setVariable(CaloVariableType::ETA,sampling,eta,true); }
1061 inline void CaloCluster::setEtaInSamples(const std::vector<double>& theEtas)
1062 { this->setVariable(CaloVariableType::ETA,theEtas,true); }
1063 
1068 inline void CaloCluster::setphi(sampling_type sampling, double phi)
1069 { this->setVariable(CaloVariableType::PHI,sampling,phi,true); }
1081 inline void CaloCluster::setPhiInSamples(const std::vector<double>& thePhis)
1082 { this->setVariable(CaloVariableType::PHI,thePhis,true); }
1083 
1085 // Energy/eta/phi of Maximum Signal Cell //
1087 
1096 inline double CaloCluster::energy_max(sampling_type sampling) const
1097 {
1098  return this->isEMSampling(sampling)
1099  ? this->getVariable(CaloVariableType::MAX_ENERGY,sampling,true)
1100  : double(0);
1101 }
1102 
1112 inline double CaloCluster::etamax(sampling_type sampling) const
1113 {
1114  return this->isEMSampling(sampling)
1115  ? this->getVariable(CaloVariableType::MAX_ETA,sampling,true)
1116  : double(0);
1117 }
1118 
1128 inline double CaloCluster::phimax(sampling_type sampling) const
1129 {
1130  return this->isEMSampling(sampling)
1131  ? this->getVariable(CaloVariableType::MAX_PHI,sampling,true)
1132  : double(0);
1133 }
1134 
1136 // Cluster Sizes in Samplings //
1138 
1148 inline double CaloCluster::etasize(sampling_type sampling) const
1149 {
1150  return this->isEMSampling(sampling)
1151  ? this->getVariable(CaloVariableType::DELTA_ETA,sampling,true)
1152  : double(0);
1153 }
1154 
1165 inline double CaloCluster::phisize(sampling_type sampling) const
1166 {
1167  return this->isEMSampling(sampling)
1168  ? this->getVariable(CaloVariableType::DELTA_PHI,sampling,true)
1169  : double(0);
1170 }
1171 
1173 // Seeds //
1175 
1180 inline double CaloCluster::eta0() const { return m_eta0; }
1181 
1186 inline double CaloCluster::phi0() const { return m_phi0; }
1187 
1189 // Kinematics in Barrel/EndCap EM //
1191 
1199 inline double CaloCluster::etaBE(int sam) const
1200 { return this->variableBE(CaloVariableType::ETA,sam); }
1209 inline double CaloCluster::phiBE(int sam) const
1210 { return this->variableBE(CaloVariableType::PHI,sam); }
1219 inline double CaloCluster::energyBE(int sam) const
1220 { return this->variableBE(CaloVariableType::ENERGY,sam); }
1221 
1223 // Moments //
1225 
1226 inline CaloClusterMoment
1227 CaloCluster::getMoment(const moment_type& momType,bool useLink) const {
1228  CaloClusterMoment value(0.0);
1229  if (!this->retrieveMoment(momType,value,useLink))
1230  value = 0; // Make coverity happy.
1231  return value;
1232 }
1233 
1234 
1235 inline CaloClusterMoment
1237 { return rMomIter.getMoment(); }
1238 
1239 inline double
1240 CaloCluster::getMomentValue(const moment_type& momType,bool useLink) const {
1241  double value(0.0);
1242  if (!this->retrieveMoment(momType,value,useLink))
1243  value = 0; // Make coverity happy.
1244  return value;
1245 }
1246 
1247 
1248 
1249 inline double
1251 { return (momIter.getMoment()).getValue(); }
1252 
1255 { return rMomIter.getMomentType(); }
1256 
1258 // Internal Stores //
1260 
1261 // set data link store
1263 {
1264  if (!pDataLink)
1265  return false;
1266  CaloShower* pData = m_shower;
1267  m_ownDataStore = !pDataLink->ownElements();
1269  pData,
1270  m_dataLink);
1271 }
1272 
1274 // Variable Locking //
1276 
1277 // check if variable is locked
1278 inline bool CaloCluster::isLocked(const variable_type& varType) const
1279 {
1280  unsigned int bitPattern(CaloVariableType::getVariableBit(varType));
1281  return this->isLocked(bitPattern);
1282 }
1283 inline bool CaloCluster::isLocked(const unsigned int& bitPattern) const
1284 {
1285  return ( m_lockPattern & bitPattern ) == bitPattern;
1286 }
1287 
1288 // check if all variables are locked
1289 inline bool CaloCluster::allLocked() const
1290 {
1291  return
1294 }
1295 
1297 // containsBadCell
1299 
1300 inline bool CaloCluster::containsBadCells() const {
1301  return !(this->getBadChannel()->empty());
1302 }
1303 
1304 // internal functions
1305 
1306 
1307 // Override the default hash function for NavigationToken so that
1308 // we'll get reproducible ordering.
1309 inline
1310 std::size_t navigationHash (const CaloCluster* p)
1311 {
1312  return static_cast<std::size_t> (static_cast<long long>(p->energy_nonvirt()));
1313 }
1314 
1315 
1316 template <class InputIterator>
1318  InputIterator beg,
1319  InputIterator end)
1320 {
1321  if (this->isLocked (varType)) return;
1322  CaloSamplingData* p = this->getDataStore (varType, true);
1323  if (p)
1324  p->storeData (varType, beg, end);
1325 }
1326 
1327 
1328 
1329 // check if variable is locked
1380 #endif // CALOCLUSTER_H
1381 
CaloSamplingHelper::isEMSampling
static bool isEMSampling(const CaloSample &rSample)
Get sampling characteristics.
Definition: CaloEvent/src/CaloSamplingHelper.cxx:57
AthenaBarCodeBase.h
A mixin base class implementing IAthenaBarCode. IAthenaBarCode should be a virtual base of the class ...
CaloCluster::isLocked
bool isLocked(const variable_type &varType) const
Check lock status of variable.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1278
CaloCluster::setPhiInSamples
void setPhiInSamples(const std::vector< double > &thePhis)
Set in all samplings from a vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1081
CaloCluster::m_ownDataStore
bool m_ownDataStore
}
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:485
CaloCluster::m_setPhi
SET_VALUE m_setPhi
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:685
navigationHash
std::size_t navigationHash(const CaloCluster *p)
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1310
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
CaloCluster::SW_55ele
@ SW_55ele
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:87
CaloCluster::signalState
signalstate_t signalState() const
Retrieve signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:860
CaloClusterMoment::MomentType
MomentType
enums to identify different moments
Definition: CaloClusterMoment.h:38
CaloCluster::phi0
double phi0() const
Returns raw of cluster seed.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1186
CaloCluster::m_momentStore
CaloClusterMomentStore m_momentStore
cluster moments
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:480
CaloVariableType::VariableType
VariableType
Definition: CaloVariableType.h:15
I4Momentum
Definition: I4Momentum.h:31
CaloCluster::eSample
double eSample(sampling_type sampling) const
Retrieve energy in a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:975
CaloCluster::setEtaInSamples
void setEtaInSamples(const std::vector< double > &theEtas)
Set in all samplings from a vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1061
CaloVariableType::getAllVariableBits
static unsigned int getAllVariableBits()
Definition: CaloVariableType.h:63
CaloCluster::setTime
void setTime(double theTime)
Set cluster time.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:889
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
CaloCluster::m_altPhi
double m_altPhi
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:709
CaloShowerContainer::ownElements
bool ownElements() const
Definition: CaloShowerContainer.h:20
CaloCluster::setenergy
void setenergy(sampling_type sampling, double e)
Set energy for a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1029
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
CaloCluster::resetSignalState
virtual void resetSignalState()
reset the signal state
Definition: CaloCluster.cxx:1370
CaloCluster::phiSample
double phiSample(sampling_type sampling) const
Retrieve barycenter in a given sample.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1006
CaloCluster::m_getM
GET_VALUE m_getM
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:678
CaloShowerContainer
Container class for CaloShower.
Definition: CaloShowerContainer.h:15
CaloCluster::hasSampling
bool hasSampling(const sampling_type &theSampling) const
Checks if certain sampling contributes to cluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:954
CaloVariableType::MAX_ENERGY
@ MAX_ENERGY
Definition: CaloVariableType.h:20
CaloCluster::m_basicSignal
double m_basicSignal
Stores basic energy signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:495
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
CaloCluster::value_type
double value_type
Variable value type.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:124
CaloCluster::setCalEta
void setCalEta(double eta)
Set calibrated (LC) eta.
Definition: CaloCluster.cxx:1341
CaloCluster::setetamax
void setetamax(sampling_type sampling, double m)
Set the of cell with maximum energy in a given sampling.
Definition: CaloCluster.cxx:914
CaloCluster::m_getPhi
GET_VALUE m_getPhi
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:676
CaloCluster::setRawEta
void setRawEta(double eta)
Set raw eta.
Definition: CaloCluster.cxx:1321
CaloCluster::is_valid_sampling
bool is_valid_sampling(const sampling_type &sampling) const
Checks if cells from a given sampling in EMB or EMEC (!) are in cluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:948
CaloVariableType::PHI
@ PHI
Definition: CaloVariableType.h:17
CaloClusterNavigable.h
CaloCluster::m_nEndcap
int m_nEndcap
Counter for number of endcap cells with non-zero weight and energy.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:579
CaloCluster::nSamples
unsigned int nSamples() const
Retrieve number of samplings in this cluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:968
CaloCluster::phiBE
double phiBE(int sampling) const
EMB/EMEC combined barycenter .
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1209
INavigable4Momentum.h
CaloCluster::SW_35Econv
@ SW_35Econv
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:96
CaloCluster::CaloCluster
CaloCluster(double eta0=0, double phi0=0, unsigned int varTypePattern=0x00000000, unsigned int clusterSize=CaloCluster::SW_55ele)
Constructor.
Definition: CaloCluster.cxx:73
CaloCluster::phisize
double phisize(sampling_type sampling) const
Returns cluster size in for a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1165
AthenaBarCodeBase
Definition: AthenaBarCodeBase.h:28
CaloCluster::setEInSamples
void setEInSamples(const std::vector< double > &theEnergies)
Set energy in all samplings from a vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1041
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
ISignalState
Definition: ISignalState.h:42
CaloCluster::getMomentStoreLink
data_link_type getMomentStoreLink() const
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:725
CaloCluster::m_eta0
double m_eta0
Cluster seed
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:558
CaloCluster::setphi
void setphi(sampling_type sampling, double phi)
Set in a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1068
CaloCluster::getRawPhi
double getRawPhi() const
Access to raw phi.
Definition: CaloCluster.cxx:1317
CaloCluster::setCalE
void setCalE(double e)
Set calibrated (LC) energy.
Definition: CaloCluster.cxx:1340
CaloCluster::inBarrel
bool inBarrel() const
Returns true if at least one clustered cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:926
CaloCluster::setStateCal
bool setStateCal()
Helper to switch to calibrated (LC) state.
Definition: CaloCluster.cxx:1408
CaloCluster::MomentStoreIter
Internal cell iterator.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:155
I4Momentum::p
virtual double p() const =0
momentum magnitude
CaloCluster::setetasize
void setetasize(sampling_type sampling, double size)
Set the cluster size in for a given sampling.
Definition: CaloCluster.cxx:930
CaloCluster::energy_max
double energy_max(sampling_type sampling) const
Retrieve maximum cell energy in given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1096
CaloCluster::SW_35gam
@ SW_35gam
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:92
CaloCluster::getDataStore
CaloSamplingData * getDataStore(const variable_type &theVariable, bool useLink=true)
Definition: CaloCluster.cxx:1093
CaloCluster::getEInSamples
void getEInSamples(std::vector< double > &theEnergies) const
Retrieve energy for all samplings into a vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:983
CaloClusterLinkTemplate.h
CaloCluster::m_getEta
GET_VALUE m_getEta
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:674
CaloVariableType::DELTA_PHI
@ DELTA_PHI
Definition: CaloVariableType.h:19
CaloClusterContainerCnv_p5
Definition: CaloClusterContainerCnv_p5.h:27
CaloCluster::setVariable
bool setVariable(const variable_type &varType, const sampling_type &samType, const double &varData, bool useLink=false)
General sampling variable setter.
Definition: CaloCluster.cxx:872
CaloCluster::getClusterPhiSize
unsigned int getClusterPhiSize() const
Definition: CaloCluster.cxx:1461
athena.value
value
Definition: athena.py:124
CaloCluster::SW_37gam
@ SW_37gam
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:93
CaloCluster::m_altE
double m_altE
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:705
CaloCluster::m_timeNorm
double m_timeNorm
Stores the normalization for time calculation e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:564
CaloCluster::setSignalState
virtual bool setSignalState(signalstate_t s)
Sets signal state.
Definition: CaloCluster.cxx:1345
CaloClusterMomentStore::CaloClusterMomentIterator
Internally used iterator.
Definition: CaloClusterMomentStore.h:54
CaloCluster::getBasicEnergy
virtual double getBasicEnergy() const
Access basic energy scale signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:876
CaloCluster::m_setEta
SET_VALUE m_setEta
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:683
CaloCluster::SW_7_11
@ SW_7_11
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:104
CaloCluster::set4Mom
virtual void set4Mom(const I4Momentum *const pMom)
Set kinematics from four-vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:841
CaloCluster::samplingPattern
unsigned int samplingPattern() const
Get sampling bitmask.
Definition: CaloCluster.cxx:1507
CaloCluster::setDefaultSignalState
bool setDefaultSignalState(signalstate_t s)
Sets default signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:865
CaloCluster::m_posSamNorm
std::vector< double > m_posSamNorm
Stores the normalization e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:572
CaloCluster::seteta
void seteta(sampling_type sampling, double eta)
Set in a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1048
CaloCluster::setDataLink
bool setDataLink(CaloShowerContainer *pDataLink)
Set element link for shower data.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1262
CaloShower
Data class for cluster variables associated with a CaloCluster.
Definition: CaloShower.h:12
P4EEtaPhiM::e
virtual double e() const
get energy data member
Definition: P4EEtaPhiM.h:102
CaloCluster::getCalE
double getCalE() const
Access to calibrated (LC) energy.
Definition: CaloCluster.cxx:1335
CaloCluster::variable_type
CaloVariableType::VariableType variable_type
Data type indicator.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:121
CaloCluster::getMomentType
moment_type getMomentType(const moment_iterator &momIter) const
Get moment type.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1254
CaloCluster::Unknown
@ Unknown
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:105
CaloCluster::setenergymax
void setenergymax(sampling_type sampling, double m)
Set the maximum energy in a given sampling.
Definition: CaloCluster.cxx:908
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
CaloClusterMomentStore
Stores CaloClusterMoment in a keyed map.
Definition: CaloClusterMomentStore.h:15
CaloCluster::getMomentStorePtrs
bool getMomentStorePtrs(const CaloClusterMomentStore *&pFirstStore, const CaloClusterMomentStore *&pSecndStore, bool useLink) const
Definition: CaloCluster.cxx:1216
CaloCluster::m_setM
SET_VALUE m_setM
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:687
CaloCluster::inEndcap
bool inEndcap() const
Returns true if at least one clustered cell in EMEC.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:931
P4EEtaPhiM::eta
virtual double eta() const
get eta data member
Definition: P4EEtaPhiM.h:105
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
CaloCluster::etasize
double etasize(sampling_type sampling) const
Returns cluster size in for a given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1148
CaloCluster::phimax
double phimax(sampling_type sampling) const
Retrieve of cell with maximum energy in given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1128
CaloVariableType::MAX_PHI
@ MAX_PHI
Definition: CaloVariableType.h:22
CaloCluster::unlockVariable
bool unlockVariable(const variable_type &varType)
Unlock variable (remove lock)
Definition: CaloCluster.cxx:1301
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
GeoPrimitives.h
CaloCluster::m_dataLink
data_link_type m_dataLink
{
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:488
CaloSamplingHelper::getSamplingBit
static unsigned int getSamplingBit(const CaloSample &rSample)
Return a unique bit set for a given sampling.
Definition: CaloEvent/CaloEvent/CaloSamplingHelper.h:48
CaloCluster::cell_iterator
CaloCompositeCellBase< CaloClusterNavigable >::cell_iterator cell_iterator
Iterator on CaloCell s.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:115
CaloSamplingHelper.h
P4SignalState
Definition: ISignalState.h:26
CaloCluster::m_time
double m_time
Cluster timing.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:498
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
CaloClusterNavigable::end
virtual object_iter end() const
end iterator for public object access
Definition: CaloClusterNavigable.h:309
CaloCluster::m_clusterSize
unsigned int m_clusterSize
Cluster size (e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:554
CaloClusterContainerCnv_p6
Definition: CaloClusterContainerCnv_p6.h:27
CaloCluster::m_phi0
double m_phi0
Cluster seed
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:560
CaloClusterLinkTemplate::setLink
static bool setLink(CONT *pCont, DOBJ *pDat, ELEM &rElm)
Definition: CaloClusterLinkTemplate.h:26
CaloCluster::MomentStoreIter::operator!=
bool operator!=(const MomentStoreIter &anOther) const
Inequality comparator.
Definition: CaloCluster.cxx:1564
CaloCluster::getMoment
moment_value getMoment(const moment_type &momType, bool useLink=true) const
Get individual moment.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1227
CaloCluster::isAtSignalState
virtual bool isAtSignalState(signalstate_t s) const
check if we are at the passed state
Definition: CaloCluster.cxx:1365
CaloCluster::getBadChannel
const badChannelList * getBadChannel() const
Definition: CaloCluster.cxx:1434
P4EEtaPhiMBase::hlv
virtual CLHEP::HepLorentzVector hlv() const
HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite dir...
Definition: P4EEtaPhiMBase.cxx:134
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloCluster::m_getE
GET_VALUE m_getE
Pointer to getter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:672
CaloCluster::CaloClusterSignalState
friend struct CaloClusterSignalState
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:470
CaloCluster::MomentStoreIter::operator==
bool operator==(const MomentStoreIter &anOther) const
Equality comparator.
Definition: CaloCluster.cxx:1561
CaloCluster::MomentStoreIter::operator*
const CaloClusterMoment & operator*() const
Operator access to CaloClusterMoment.
Definition: CaloCluster.cxx:1568
I4Momentum::e
virtual double e() const =0
energy
CaloVariableType::DELTA_ETA
@ DELTA_ETA
Definition: CaloVariableType.h:18
P4EEtaPhiM::m
virtual double m() const
get mass data member
Definition: P4EEtaPhiM.h:111
CaloCluster::getRawE
double getRawE() const
Access to raw energy.
Definition: CaloCluster.cxx:1315
CaloCluster::m_endcap
bool m_endcap
Flag is true if at least one cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:551
CaloCluster::Topo_633
@ Topo_633
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:102
CaloCluster::setAltM
void setAltM(double m)
Set calibrated (cell weight) m.
Definition: CaloCluster.cxx:1333
CaloCluster::m_dataStore
CaloSamplingData m_dataStore
{\ brief Cached Stores
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:479
CaloClusterMomentStore.h
CaloCluster::etaSample
double etaSample(sampling_type sampling) const
Retrieve barycenter in a given sample.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:991
CaloCluster::getAltPhi
double getAltPhi() const
Access to calibrated (cell weight) phi.
Definition: CaloCluster.cxx:1327
CaloCluster::insertMoment
void insertMoment(const moment_type &momType, const moment_value &momValue, bool useLink=true)
Set individual moment.
Definition: CaloCluster.cxx:1247
CaloCluster::getEtaInSamples
void getEtaInSamples(std::vector< double > &theEtas) const
Retrieve for all samplings into a vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:999
CaloCompositeKineBase.h
CaloCluster::data_link_type
CaloClusterLinkTemplate< CaloShowerContainer >::link_type data_link_type
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:473
CaloCluster::m_altM
double m_altM
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:711
CaloCluster::beginMoment
moment_iterator beginMoment(bool useLink=true) const
First iterator on moment store.
Definition: CaloCluster.cxx:1119
CaloCluster::MomentStoreIter::operator++
MomentStoreIter operator++()
Post-advance operator.
Definition: CaloCluster.cxx:1552
I4Momentum::eta
virtual double eta() const =0
pseudo rapidity
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloCluster::m_rawM
double m_rawM
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:702
CaloCluster::setEta
virtual void setEta(double eta)
Set eta.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:769
P4SignalState::UNCALIBRATED
@ UNCALIBRATED
Definition: ISignalState.h:30
CaloShowerContainer.h
CaloCluster::setRawM
void setRawM(double m)
Set raw m.
Definition: CaloCluster.cxx:1323
CaloCluster::m_samplingPattern
unsigned int m_samplingPattern
Sampling pattern.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:501
CaloCluster::MomentStoreIter::operator--
MomentStoreIter operator--()
Post-step back operator.
Definition: CaloCluster.cxx:1556
CaloCluster::etaBE
double etaBE(int sampling) const
EMB/EMEC combined barycenter .
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1199
PowhegPythia8EvtGen_jetjet.theEnergy
int theEnergy
Definition: PowhegPythia8EvtGen_jetjet.py:12
CaloCluster::badChannelList
std::vector< CaloClusterBadChannelData > badChannelList
Get Bad Channel information.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:458
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
CaloCluster::setRawE
void setRawE(double e)
Set raw energy.
Definition: CaloCluster.cxx:1320
CaloCluster::getCalEta
double getCalEta() const
Access to calibrated (LC) eta.
Definition: CaloCluster.cxx:1336
CaloCluster::SW_softe
@ SW_softe
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:99
CaloCluster::setphimax
void setphimax(sampling_type sampling, double m)
Set the of cell with maximum energy in a given sampling.
Definition: CaloCluster.cxx:920
CaloCluster::setCalPhi
void setCalPhi(double phi)
Set calibrated (LC) phi.
Definition: CaloCluster.cxx:1342
CaloCluster::SW_55Econv
@ SW_55Econv
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:95
I4Momentum::phi
virtual double phi() const =0
phi in [-pi,pi[
CaloVariableType::MAX_ETA
@ MAX_ETA
Definition: CaloVariableType.h:21
CaloCluster::m_errorValue
static const double m_errorValue
Internal error return for real numbers.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:476
CaloCluster::getMomentValue
double getMomentValue(const moment_type &momType, bool useLink=true) const
Get moment value.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1240
CaloCluster::MomentType
moment_type MomentType
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:141
CaloCluster::setDataStore
bool setDataStore(CaloShower *pData, bool ownStores=true)
Setup data store.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:909
CaloCluster::MomentStoreIter::getMomentType
moment_type getMomentType() const
Function access to moment type.
Definition: CaloCluster.cxx:1572
CaloCluster::calculateKine
void calculateKine(const bool useweight=true, const bool updateLayers=true)
Calculate cluster kinematics from contained cells.
Definition: CaloCluster.cxx:736
CaloClusterContainerCnv_p1
Definition: CaloClusterContainerCnv_p1.h:29
CaloCluster::moment_iterator
MomentStoreIter moment_iterator
Moment iterator type for CaloCluster clients.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:205
CaloCluster::setCalM
void setCalM(double m)
Set calibrated (LC) m.
Definition: CaloCluster.cxx:1343
CaloCluster::m_rawPhi
double m_rawPhi
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:700
CaloCluster::MomentStoreIter::next
MomentStoreIter next()
Advance iterator.
Definition: CaloCluster.cxx:1529
CaloCluster::getTime
double getTime() const
Access cluster time.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:886
CaloClusterContainerCnv_p3
Definition: CaloClusterContainerCnv_p3.h:29
WriteBchToCool.beg
beg
Definition: WriteBchToCool.py:69
P4EEtaPhiM::phi
virtual double phi() const
get phi data member
Definition: P4EEtaPhiM.h:108
CaloCluster::setStateAlt
bool setStateAlt()
Helper to switch to calibrated (cell weight) state.
Definition: CaloCluster.cxx:1392
CaloCluster::moment_store
CaloClusterMomentStore moment_store
Store type for cluster moments.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:128
CaloCluster::MomentStoreIter::m_firstStore
const moment_store * m_firstStore
Pointer to first CaloClusterMomentStore.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:199
CaloCluster::energyBE
double energyBE(int sampling) const
EMB/EMEC combined signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1219
CaloVariableType::getVariableBit
static unsigned int getVariableBit(const VariableType &varType)
Definition: CaloVariableType.h:25
CaloCluster::statename_t
P4SignalState statename_t
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:146
CaloCluster::sampling_type
CaloSampling::CaloSample sampling_type
Sampling indicator.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:118
CaloCluster::setBarrel
void setBarrel(bool barrel)
Sets EMB indicator.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:935
CaloCluster::MomentStoreIter::~MomentStoreIter
~MomentStoreIter()
Destructor.
CaloClusterMoment.h
CaloSampling::getNumberOfSamplings
static constexpr unsigned int getNumberOfSamplings()
Get number of available samplings.
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:30
CaloCluster::MomentStoreIter::m_secndStore
const moment_store * m_secndStore
Pointer to second CaloClusterMomentStore.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:201
CaloCluster::~CaloCluster
virtual ~CaloCluster()
Destructor.
Definition: CaloCluster.cxx:248
CaloCluster::setRawPhi
void setRawPhi(double phi)
Set raw phi.
Definition: CaloCluster.cxx:1322
CaloCluster::endMoment
moment_iterator endMoment(bool useLink=true) const
Last iterator on moment store.
Definition: CaloCluster.cxx:1141
CaloCluster::hlv
virtual CLHEP::HepLorentzVector hlv() const
redefine hlv() here to avoid ambiguities
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:270
CaloCluster::m_altEta
double m_altEta
Stores calibrated (cell weight) signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:707
CaloCluster::setAltE
void setAltE(double e)
Set calibrated (cell weight) energy.
Definition: CaloCluster.cxx:1330
CaloCluster::setAltPhi
void setAltPhi(double phi)
Set calibrated (cell weight) phi.
Definition: CaloCluster.cxx:1332
CaloCluster::MomentStoreIter::getMoment
const CaloClusterMoment & getMoment() const
Function access to CaloClusterMoment.
Definition: CaloCluster.cxx:1570
CaloCompositeCellBase.h
CaloCluster::moment_type
moment_store::moment_type moment_type
Cluster moment indicator type.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:130
I4Momentum::m
virtual double m() const =0
mass
python.PyAthena.v
v
Definition: PyAthena.py:154
ISignalState.h
CaloCluster::containsBadCells
bool containsBadCells() const
Check if cluster has any bad channel in it.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1300
CaloClusterBadChannelData
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterBadChannelData.h:12
CaloCluster::MomentStoreIter::m_iter
moment_iterator_i m_iter
Actual iterator on CaloClusterMomentStore.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:197
CaloCluster::m_setE
SET_VALUE m_setE
Pointer to setter functions.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:681
CaloCluster::setEndcap
void setEndcap(bool endcap)
Sets EMEC indicator.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:939
CaloCluster::GET_VALUE
double(CaloCluster::* GET_VALUE)() const
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:143
CaloCluster::SW_35ele
@ SW_35ele
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:88
CaloCluster::ClusterSize
ClusterSize
enums to identify different cluster size
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:85
CaloCluster::SW_37Econv
@ SW_37Econv
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:97
CaloCluster::moment_iterator_i
moment_store::moment_iterator moment_iterator_i
Cluster moment store iterator type.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:138
CaloCluster::setE
virtual void setE(double e)
Set energy.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:767
CaloCluster::m_shower
CaloShower * m_shower
}
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:492
CaloCluster::allLocked
bool allLocked() const
Check if all variables are locked.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1289
CaloCluster::getAltEta
double getAltEta() const
Access to calibrated (cell weight) eta.
Definition: CaloCluster.cxx:1326
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloCluster::m_defSigState
signalstate_t m_defSigState
Stores default signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:693
CaloCluster::getClusterSize
unsigned int getClusterSize() const
Get cluster size.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:895
CaloCluster::lockVariable
bool lockVariable(const variable_type &varType)
Lock variable (protect against future updates)
Definition: CaloCluster.cxx:1293
CaloCluster::CaloClusterContainerCnvTest_p6
friend class CaloClusterContainerCnvTest_p6
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:739
CaloCluster::eta
virtual double eta() const
Retrieve eta independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:755
CaloCluster::SW_55gam
@ SW_55gam
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:91
CaloClusterContainerCnv_p7
Definition: CaloClusterContainerCnv_p7.h:28
CaloClusterMoment
defines enums and data types for different moments of CaloCluster
Definition: CaloClusterMoment.h:29
P4SignalState::State
State
Definition: ISignalState.h:28
CaloCluster::m_nBarrel
int m_nBarrel
Counter for number of barrel cells with non-zero weight and energy.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:576
INavigable4Momentum
Definition: INavigable4Momentum.h:21
CaloCluster::MomentStoreIter::prev
MomentStoreIter prev()
Step back iterator.
Definition: CaloCluster.cxx:1541
CaloCluster::signalstate_t
P4SignalState::State signalstate_t
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:147
CaloCluster::setStores
bool setStores(CaloShower *pData, CaloCellLink *pLink, bool ownStores=true)
Setup internal store.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:902
CaloCluster::maybeSetVariable
void maybeSetVariable(variable_type varType, InputIterator beg, InputIterator end)
Set variables of a given type in all samplings at once, taking locking into account.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1317
CaloCluster::setM
virtual void setM(double m)
Set mass.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:773
CaloCluster::updateKine
virtual void updateKine(const CaloCell *theCell, double weight)
Updates cluster kinematics when cell is added.
Definition: CaloCluster.cxx:263
DetectorZone::barrel
@ barrel
CaloCluster::operator=
CaloCluster & operator=(const CaloCluster &)
Disallow (avoid coverity warning).
CaloCluster::e
virtual double e() const
Retrieve energy independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:753
CaloCluster::setClusterSize
void setClusterSize(unsigned int theClusterSize)
Set cluster size.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:892
P4SignalState::CALIBRATED
@ CALIBRATED
Definition: ISignalState.h:31
beamspotnt.varList
list varList
Definition: bin/beamspotnt.py:1108
CaloCluster::m_rawE
double m_rawE
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:696
CaloClusterContainerCnv_p2
Definition: CaloClusterContainerCnv_p2.h:32
CaloCluster::eta0
double eta0() const
Returns raw of cluster seed.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1180
CaloCluster::m_posNorm
double m_posNorm
Stores the normalization e.g.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:568
CaloCluster::getAltE
double getAltE() const
Access to calibrated (cell weight) energy.
Definition: CaloCluster.cxx:1325
CaloShower.h
CaloCluster::variableBE
double variableBE(const variable_type &theVariable, const int &samplingIndex) const
Rewrite as for calculation.
Definition: CaloCluster.cxx:953
P4SignalState::ALTCALIBRATED
@ ALTCALIBRATED
Definition: ISignalState.h:32
CaloCluster::etamax
double etamax(sampling_type sampling) const
Retrieve of cell with maximum energy in given sampling.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1112
CaloClusterContainerCnv_p4
Definition: CaloClusterContainerCnv_p4.h:27
CaloClusterNavigable::setLinkStore
bool setLinkStore(CaloCellLink *pLink, bool ownStores=true)
Definition: CaloClusterNavigable.h:191
CaloCluster::getMomentStore
CaloClusterMomentStore * getMomentStore(bool useLink=true)
Definition: CaloCluster.cxx:1172
CaloVariableType::ETA
@ ETA
Definition: CaloVariableType.h:16
CaloCluster::getCalPhi
double getCalPhi() const
Access to calibrated (LC) phi.
Definition: CaloCluster.cxx:1337
CaloCluster::moment_value
moment_store::moment_value moment_value
Cluster moment value type.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:132
CaloCluster::getAltM
double getAltM() const
Access to calibrated (cell weight) m.
Definition: CaloCluster.cxx:1328
CaloCluster::setBasicEnergy
virtual void setBasicEnergy(double theEnergy)
Set basic energy scale signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:883
CaloCluster::setphisize
void setphisize(sampling_type sampling, double size)
Set the cluster size in for a given sampling.
Definition: CaloCluster.cxx:940
CaloCluster::retrieveMoment
bool retrieveMoment(const moment_type &momType, moment_value &momValue, bool useLink=true) const
Retrieve individual moment.
Definition: CaloCluster.cxx:1266
CaloCluster::m
virtual double m() const
Retrieve mass independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:764
CaloCluster::m_signalState
signalstate_t m_signalState
Stores actual signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:691
CaloCluster::setPhi
virtual void setPhi(double phi)
Set phi.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:771
CaloSamplingData
Simple data object to store all variables in calorimeter samplings.
Definition: CaloSamplingData.h:18
CaloCluster::defaultSignalState
signalstate_t defaultSignalState() const
Retrieve default signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:862
CaloCluster::m_badChannelData
badChannelList m_badChannelData
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:583
CaloCluster::SW_37ele
@ SW_37ele
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:89
CaloCluster::hasSignalState
virtual bool hasSignalState(signalstate_t s) const
check if signal state exists for current implementation
Definition: CaloCluster.cxx:1358
checker_macros.h
Define macros for attributes used to control the static checker.
CaloCompositeCellBase
base class for methods and store of cell links
Definition: CaloCompositeCellBase.h:13
CaloCluster::addBadChannel
void addBadChannel(const CaloClusterBadChannelData &badChannel)
Add Bad channel information.
Definition: CaloCluster.cxx:1424
CaloCluster::setAltEta
void setAltEta(double eta)
Set calibrated (cell weight) eta.
Definition: CaloCluster.cxx:1331
CaloVariableType.h
CaloCluster::Topo_420
@ Topo_420
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:101
CaloCluster::getClusterEtaSize
unsigned int getClusterEtaSize() const
Definition: CaloCluster.cxx:1439
CaloCluster::m_barrel
bool m_barrel
Flag is true if at least one cell in EMB.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:549
CaloCluster::getRawM
double getRawM() const
Access to raw mass.
Definition: CaloCluster.cxx:1318
CaloCluster::SET_VALUE
void(CaloCluster::* SET_VALUE)(double v)
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:144
CaloCluster::resetBadChannel
void resetBadChannel()
Reset Bad channel list.
Definition: CaloCluster.cxx:1429
CaloCluster::m_rawEta
double m_rawEta
Stores raw signal.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:698
CaloCluster::getCalM
double getCalM() const
Access to calibrated (LC) m.
Definition: CaloCluster.cxx:1338
CaloCluster::setStateRaw
bool setStateRaw()
Helper to switch to raw state.
Definition: CaloCluster.cxx:1375
CaloCluster::CaloClusterContainerCnvTest_p7
friend class CaloClusterContainerCnvTest_p7
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:740
CaloVariableType::ENERGY
@ ENERGY
Definition: CaloVariableType.h:15
CaloClusterLinkTemplate
template class for CaloClusterLink
Definition: CaloClusterLinkTemplate.h:23
CaloCluster::MomentStoreIter::MomentStoreIter
MomentStoreIter()
Default constructor builds unusable iterator.
Definition: CaloCluster.cxx:1518
CaloCompositeKineBase
base class for kinematics of composite calo object
Definition: CaloCompositeKineBase.h:13
CaloCluster::getPhiInSamples
void getPhiInSamples(std::vector< double > &thePhis) const
Retrieve for all samplings into a vector.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1015
CaloCluster::getVariable
double getVariable(const variable_type &varType, const sampling_type &samType, bool useLink=true) const
General sampling variable access.
Definition: CaloCluster.cxx:837
CaloCluster::m_lockPattern
unsigned int m_lockPattern
Variable lock pattern.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:581
CaloCluster::getRawEta
double getRawEta() const
Access to raw eta.
Definition: CaloCluster.cxx:1316
CaloCluster::phi
virtual double phi() const
Retrieve phi independent of signal state.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:759
CaloClusterStoreHelper
Definition: CaloClusterStoreHelper.h:20
CaloCluster::isEMSampling
bool isEMSampling(const sampling_type &theSampling) const
Checks if cells from a given sampling in EMB and EMEC are in the cluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:951