ATLAS Offline Software
TrigTauCluster.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGTAUCLUSTER_H
6 #define TRIGTAUCLUSTER_H
7 
8 
9 /*******************************************************
10 
11 NAME: TrigTauCluster.h
12 PACKAGE: Trigger/TrigEvent/TrigCaloEvent
13 AUTHORS: Denis O. Damazio, Carlos Osuna, Xin Wu
14 
15 PURPOSE: Keep the important output variables
16  from the Calorimeter LVL2 Tau Trigger.
17  Optionally seed ID Trigger and EF.
18  Variables here should be corrected variables
19  not raw (in mother class).
20 INHERITSFROM: TrigCaloCluster
21 DATE: October 17th, 2005
22 
23 ******************************************************/
24 // includes section
25 #include "AthLinks/ElementLink.h"
28 
32 {
33 public:
35  TrigTauCluster(float energy = 0.0, float eta = -10.0,
36  float phi = -10.0, long roi_word = 0);
38  unsigned int details_index,
39  float energy = 0.0, float eta = -10.0,
40  float phi = -10.0, long roi_word = 0);
44  TrigTauCluster(const TrigTauCluster* trigemcluster) ;
45 
46  // Print out variables for Debug
48  void print(void) const;
50  void print(MsgStream& log) const;
51 
52  // set internal variables methods
54  inline void setEMenergy(float energy) { m_EMenergy = energy; };
56  inline void setHADenergy(float energy) { m_HADenergy = energy; };
58  inline void setEta(float eta) { setRawEta(eta); };
60  inline void setPhi(float phi) { setRawPhi(phi); };
62  inline void setEMRadius2(float emradius) { m_EMRadius2 = emradius; };
64  inline void setCaloRadius(float caloradius) { m_CaloRadius = caloradius; };
66  inline void setIsoFrac(float isofrac) { m_IsoFrac = isofrac; };
68  inline void setStripWidth(float stripwidth) { m_stripWidth = stripwidth; };
70  inline void setStripWidthOffline(float stripwidthOffline) { m_stripWidthOffline = stripwidthOffline; };
72  inline void setNumStripCells(int numstripcells) { m_numStripCells = numstripcells; };
74  inline void setNumTotCells(int numtotcells) { m_numTotCells = numtotcells; };
76  inline void setEnergyCalib(float e) { m_eCalib = e; };
78  inline void setEMRadius3S(float emradius3s) { m_EMRadius3S = emradius3s; };
80  inline void setCoreFrac(float coreFrac) { m_CoreFrac = coreFrac; };
82  inline void setEMFrac(float emFrac) { m_EMFrac = emFrac; };
84  inline void setHadRadius(float hadRadius) { m_HadRadius = hadRadius; };
85 
86  // get internal variables methods
88  inline float energy() const { return rawEnergy(); };
90  inline float et() const { return rawEnergy() / cosh(eta()); };
92  inline float EMCalibEnergy() const { return 0; };
94  inline float EMenergy() const { return m_EMenergy; };
96  inline float HADenergy() const { return m_HADenergy;};
98  inline float energy(CaloSampling::CaloSample /* sample */) const { return 0.; };
100  inline float energyInSample(CaloSampling::CaloSample /* sample */) const { return 0.; };
102  inline float eta() const { return rawEta(); };
104  inline float phi() const { return rawPhi(); };
106  inline float EMRadius2() const { return m_EMRadius2; };
108  inline float CaloRadius() const { return m_CaloRadius; };
110  inline float EMRadius(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->EMRadius(samp) : 0; };
112  inline float IsoFrac() const { return m_IsoFrac; };
114  inline float EMenergyWidth(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->EMenergyWidth(samp) : 0; };
116  inline float HADenergyWidth(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->HADenergyWidth(samp) : 0; };
118  inline int numStripCells() const { return m_numStripCells; };
120  inline int numTotCells() const { return m_numTotCells; };
122  inline float stripWidth() const { return m_stripWidth; };
124  inline float stripWidthOffline() const { return m_stripWidthOffline; };
126  inline float eCalib() const { return m_eCalib; };
128  inline float eEMCalib() const { return 0; };
130  inline float EMRadius3S() const { return m_EMRadius3S; };
132  inline float CoreFrac() const { return m_CoreFrac; };
134  inline float EMFrac() const { return m_EMFrac; };
136  inline float HadRadius() const { return m_HadRadius; };
137 
139  inline float EMenergyWide(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->EMenergyWide(samp) : 0; };
141  inline float EMenergyMedium(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->EMenergyMedium(samp) : 0; };
143  inline float EMenergyNarrow(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->EMenergyNarrow(samp) : 0; };
144 
146  inline float HADenergyWide(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->HADenergyWide(samp) : 0;};
148  inline float HADenergyMedium(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->HADenergyMedium(samp) : 0;};
150  inline float HADenergyNarrow(int samp) const { return m_clusterDetails.isValid() && clusterDetails() != 0 ? clusterDetails()->HADenergyNarrow(samp) : 0;};
151 
156 
157 
158 // internal variables must be private
159 private:
161  float m_EMenergy;
163  float m_HADenergy;
165  float m_eCalib;
167  float m_EMRadius2;
169  float m_CaloRadius;
171  float m_IsoFrac;
173  int m_numStripCells;
183  float m_CoreFrac;
185  float m_EMFrac;
187  float m_HadRadius;
188 
189  bool m_valid;
192 
193 };
194 
196 std::string str(const TrigTauCluster& tau);
197 
199 MsgStream& operator<< (MsgStream& m, const TrigTauCluster& tau);
200 
202 bool operator== (const TrigTauCluster& left, const TrigTauCluster& right);
204 inline bool operator!= (const TrigTauCluster& left, const TrigTauCluster& right)
205 {
206  return !(left == right);
207 }
208 
210 void diff(const TrigTauCluster& left, const TrigTauCluster& right, std::map<std::string, double>& varChange);
211 
212 
213 // CLIDSvc is already loaded in base class
214 CLASS_DEF ( TrigTauCluster, 213051884, 1)
215 
216 #endif
TrigTauCluster::setEMRadius3S
void setEMRadius3S(float emradius3s)
set EM Radius 3S
Definition: TrigTauCluster.h:92
TrigTauClusterDetails::EMRadius
float EMRadius(int samp) const
get EM Radius per sampling
Definition: TrigTauClusterDetails.h:80
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
TrigTauCluster::setPhi
void setPhi(float phi)
set Phi of the cluster
Definition: TrigTauCluster.h:74
TrigTauCluster::EMenergy
float EMenergy() const
get EM Energy
Definition: TrigTauCluster.h:108
TrigTauCluster::m_EMRadius3S
float m_EMRadius3S
EM Radius 3S.
Definition: TrigTauCluster.h:195
TrigTauClusterDetails::HADenergyWide
float HADenergyWide(int samp) const
get HAD Energy in the normalization region (0.3x0.3)
Definition: TrigTauClusterDetails.h:98
TrigTauCluster::HADenergyNarrow
float HADenergyNarrow(int samp) const
get HAD Energy in the narrow region (0.1x0.1)
Definition: TrigTauCluster.h:164
TrigTauCluster::phi
float phi() const
get Phi of the cluster
Definition: TrigTauCluster.h:118
TrigTauCluster::clusterDetails
const TrigTauClusterDetails * clusterDetails() const
accessor to TrigTauClusterDetails*
Definition: TrigTauCluster.cxx:157
TrigTauCluster::EMRadius3S
float EMRadius3S() const
get EM Radius 3S
Definition: TrigTauCluster.h:144
TrigTauCluster::IsoFrac
float IsoFrac() const
get Isolation Fraction
Definition: TrigTauCluster.h:126
TrigTauCluster::m_EMFrac
float m_EMFrac
EM Fraction.
Definition: TrigTauCluster.h:199
TrigTauCluster::setNumTotCells
void setNumTotCells(int numtotcells)
set Number of Cells in the cluster
Definition: TrigTauCluster.h:88
TrigTauCluster::m_stripWidth
float m_stripWidth
Width in the strip sampling.
Definition: TrigTauCluster.h:191
TrigTauCluster::HADenergyWidth
float HADenergyWidth(int samp) const
get Width in HAD samplings
Definition: TrigTauCluster.h:130
TrigTauClusterDetails::EMenergyWide
float EMenergyWide(int samp) const
get EM Energy in the mormalization region (0.3x0.3)
Definition: TrigTauClusterDetails.h:91
operator<<
MsgStream & operator<<(MsgStream &m, const TrigTauCluster &tau)
Helper operator for printing the object.
Definition: TrigTauCluster.cxx:238
TrigTauClusterDetails::EMenergyNarrow
float EMenergyNarrow(int samp) const
get EM Energy in the narrow region (0.1x0.1)
Definition: TrigTauClusterDetails.h:95
TrigCaloCluster::rawPhi
float rawPhi() const
get Raw Phi (no calibration)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:112
TrigTauCluster::energyInSample
float energyInSample(CaloSampling::CaloSample) const
get Energy per sampling
Definition: TrigTauCluster.h:114
TrigTauCluster::m_CaloRadius
float m_CaloRadius
Total Calo Radius.
Definition: TrigTauCluster.h:183
TrigTauCluster::CaloRadius
float CaloRadius() const
get Total Calo Radius
Definition: TrigTauCluster.h:122
TrigTauCluster::setNumStripCells
void setNumStripCells(int numstripcells)
set Number of fired strips
Definition: TrigTauCluster.h:86
TrigTauCluster::m_valid
bool m_valid
Definition: TrigTauCluster.h:203
TrigTauCluster::stripWidth
float stripWidth() const
get Width in the strip sampling
Definition: TrigTauCluster.h:136
TrigTauCluster
Class with calibrated variables for tau clustering.
Definition: TrigTauCluster.h:32
xAOD::TauJetParameters::hadRadius
@ hadRadius
Get hadron calorimeter radius.
Definition: TauDefs.h:192
TrigTauCluster::m_IsoFrac
float m_IsoFrac
Isolation Fraction.
Definition: TrigTauCluster.h:185
TrigTauClusterDetails::HADenergyMedium
float HADenergyMedium(int samp) const
get HAD Energy in the wide region (0.2x0.2)
Definition: TrigTauClusterDetails.h:100
TrigTauClusterDetailsContainer
Container from TrigTauClusterDetails type objects.
Definition: TrigTauClusterDetailsContainer.h:28
TrigTauCluster::m_EMRadius2
float m_EMRadius2
EM Radius.
Definition: TrigTauCluster.h:181
TrigTauCluster::m_eCalib
float m_eCalib
Calibrated Energy.
Definition: TrigTauCluster.h:179
TrigTauCluster::HADenergyMedium
float HADenergyMedium(int samp) const
get HAD Energy in the medium region (0.2x0.2)
Definition: TrigTauCluster.h:162
TrigTauCluster::setEMenergy
void setEMenergy(float energy)
set EM Energy
Definition: TrigTauCluster.h:68
TrigTauCluster::TrigTauCluster
TrigTauCluster(float energy=0.0, float eta=-10.0, float phi=-10.0, long roi_word=0)
Constructors, please note the default values
Definition: TrigTauCluster.cxx:26
TrigTauCluster::print
void print(void) const
Prints out cluster variables to std::cout
Definition: TrigTauCluster.cxx:116
TrigTauCluster::~TrigTauCluster
~TrigTauCluster()
Destructor
Definition: TrigTauCluster.cxx:82
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
TrigTauCluster::numTotCells
int numTotCells() const
get Number of total cells in the cluster
Definition: TrigTauCluster.h:134
TrigTauCluster::setStripWidth
void setStripWidth(float stripwidth)
set Width in the strip sampling
Definition: TrigTauCluster.h:82
TrigTauCluster::EMenergyMedium
float EMenergyMedium(int samp) const
get EM Energy in the medium region (0.2x0.2)
Definition: TrigTauCluster.h:155
TrigTauCluster::m_CoreFrac
float m_CoreFrac
Core Fraction.
Definition: TrigTauCluster.h:197
TrigCaloCluster
Base Cluster Class.
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:39
TrigTauCluster::setClusterDetails
void setClusterDetails(const ElementLink< TrigTauClusterDetailsContainer > &clusterDetailsLink)
Definition: TrigTauCluster.cxx:175
TrigTauCluster::m_HADenergy
float m_HADenergy
HAD Energy.
Definition: TrigTauCluster.h:177
TrigTauCluster::m_numStripCells
int m_numStripCells
Number of fired strips.
Definition: TrigTauCluster.h:187
TrigTauCluster::m_stripWidthOffline
float m_stripWidthOffline
Width calculated as in Offline tauRec.
Definition: TrigTauCluster.h:193
TrigTauCluster::EMFrac
float EMFrac() const
get EM Fraction
Definition: TrigTauCluster.h:148
TrigCaloCluster::rawEta
float rawEta() const
get Raw Eta (no calibration)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:109
TrigTauCluster::HadRadius
float HadRadius() const
get Hadronic Radius
Definition: TrigTauCluster.h:150
TrigTauCluster::setEnergyCalib
void setEnergyCalib(float e)
set Calibrated Energy
Definition: TrigTauCluster.h:90
TrigTauCluster::m_HadRadius
float m_HadRadius
Hadronic Radius.
Definition: TrigTauCluster.h:201
TrigTauCluster::eta
float eta() const
get Eta of the cluster
Definition: TrigTauCluster.h:116
TrigTauCluster::setEta
void setEta(float eta)
set Eta of the cluster
Definition: TrigTauCluster.h:72
TrigTauClusterDetails::HADenergyWidth
float HADenergyWidth(int samp) const
get Width in HAD samplings
Definition: TrigTauClusterDetails.h:87
TrigTauCluster::EMCalibEnergy
float EMCalibEnergy() const
get EM calibrated Energy
Definition: TrigTauCluster.h:106
TrigCaloCluster::setRawPhi
void setRawPhi(float phi)
set Raw Phi (no calibration)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:78
TrigTauCluster::EMenergyWidth
float EMenergyWidth(int samp) const
get Width in EM samplings
Definition: TrigTauCluster.h:128
TrigCaloCluster::setRawEta
void setRawEta(float eta)
set Raw Eta (no calibration)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:75
TrigTauCluster::EMenergyWide
float EMenergyWide(int samp) const
get EM Energy in the wide region (0.3x0.3)
Definition: TrigTauCluster.h:153
diff
void diff(const TrigTauCluster &left, const TrigTauCluster &right, std::map< std::string, double > &varChange)
Comparison with feedback.
Definition: TrigTauCluster.cxx:244
TrigTauCluster::setEMRadius2
void setEMRadius2(float emradius)
set EM Radius
Definition: TrigTauCluster.h:76
TrigTauClusterDetails::EMenergyWidth
float EMenergyWidth(int samp) const
get Width in EM samplings
Definition: TrigTauClusterDetails.h:84
TrigTauCluster::eCalib
float eCalib() const
get Calibrated Energy
Definition: TrigTauCluster.h:140
operator==
bool operator==(const TrigTauCluster &left, const TrigTauCluster &right)
Operator comparing two TrigTauCluster objects for equality.
Definition: TrigTauCluster.cxx:181
TrigTauCluster::HADenergyWide
float HADenergyWide(int samp) const
get HAD Energy in the wide region (0.3x0.3)
Definition: TrigTauCluster.h:160
TrigTauCluster::EMRadius2
float EMRadius2() const
get EM Radius
Definition: TrigTauCluster.h:120
TrigTauClusterDetailsContainer.h
TrigTauCluster::setCaloRadius
void setCaloRadius(float caloradius)
set Total Calo Radius
Definition: TrigTauCluster.h:78
TrigTauCluster::stripWidthOffline
float stripWidthOffline() const
get Width as in offline
Definition: TrigTauCluster.h:138
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
TrigCaloCluster.h
TrigTauCluster::HADenergy
float HADenergy() const
get HAD Energy
Definition: TrigTauCluster.h:110
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TrigTauCluster::m_clusterDetails
ElementLink< TrigTauClusterDetailsContainer > m_clusterDetails
ElementLink to TrigTauClusterDetailsContainer.
Definition: TrigTauCluster.h:205
TrigTauCluster::eEMCalib
float eEMCalib() const
get EM calibrated Energy
Definition: TrigTauCluster.h:142
TrigTauClusterDetails
Definition: TrigTauClusterDetails.h:30
TrigTauCluster::numStripCells
int numStripCells() const
get Number of fired strips
Definition: TrigTauCluster.h:132
TrigTauCluster::setStripWidthOffline
void setStripWidthOffline(float stripwidthOffline)
set strip Width as in offline
Definition: TrigTauCluster.h:84
str
std::string str(const TrigTauCluster &tau)
Helper function for printing the object.
Definition: TrigTauCluster.cxx:212
TrigTauCluster::EMenergyNarrow
float EMenergyNarrow(int samp) const
get EM Energy in the narrow region (0.1x0.1)
Definition: TrigTauCluster.h:157
operator!=
bool operator!=(const TrigTauCluster &left, const TrigTauCluster &right)
Operator comparing two TrigTauCluster objects for inequality.
Definition: TrigTauCluster.h:204
TrigTauClusterDetails::HADenergyNarrow
float HADenergyNarrow(int samp) const
get HAD Energy in the narrow region (0.1x0.1)
Definition: TrigTauClusterDetails.h:102
TrigTauCluster::setHadRadius
void setHadRadius(float hadRadius)
set Hadronic Radius
Definition: TrigTauCluster.h:98
TrigTauCluster::clusterDetailsLink
const ElementLink< TrigTauClusterDetailsContainer > & clusterDetailsLink() const
Definition: TrigTauCluster.cxx:170
TrigTauCluster::setIsoFrac
void setIsoFrac(float isofrac)
set Isolation Fraction
Definition: TrigTauCluster.h:80
TrigTauClusterDetails::EMenergyMedium
float EMenergyMedium(int samp) const
get EM Energy in the wide region (0.2x0.2)
Definition: TrigTauClusterDetails.h:93
TrigTauCluster::CoreFrac
float CoreFrac() const
get Core Fraction
Definition: TrigTauCluster.h:146
TrigTauCluster::m_numTotCells
int m_numTotCells
Total number of cells in the cluster.
Definition: TrigTauCluster.h:189
TrigTauCluster::EMRadius
float EMRadius(int samp) const
get EM Radius per sampling
Definition: TrigTauCluster.h:124
TrigTauCluster::energy
float energy() const
get Raw Energy
Definition: TrigTauCluster.h:102
TrigCaloCluster::rawEnergy
float rawEnergy() const
get Raw Energy (no calibration)
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloCluster.h:92
TrigTauCluster::m_EMenergy
float m_EMenergy
EM Energy.
Definition: TrigTauCluster.h:175
TrigTauCluster::setEMFrac
void setEMFrac(float emFrac)
set EM Fraction
Definition: TrigTauCluster.h:96
TrigTauCluster::setCoreFrac
void setCoreFrac(float coreFrac)
set Core Fraction
Definition: TrigTauCluster.h:94
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
TrigTauCluster::et
float et() const
get Raw Et
Definition: TrigTauCluster.h:104
TrigTauCluster::setHADenergy
void setHADenergy(float energy)
set HAD Energy
Definition: TrigTauCluster.h:70