ATLAS Offline Software
Loading...
Searching...
No Matches
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
11NAME: TrigTauCluster.h
12PACKAGE: Trigger/TrigEvent/TrigCaloEvent
13AUTHORS: Denis O. Damazio, Carlos Osuna, Xin Wu
14
15PURPOSE: 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).
20INHERITSFROM: TrigCaloCluster
21DATE: October 17th, 2005
22
23******************************************************/
24// includes section
25#include "AthLinks/ElementLink.h"
28
32{
33public:
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
159private:
165 float m_eCalib;
185 float m_EMFrac;
188
192
193};
194
196std::string str(const TrigTauCluster& tau);
197
199MsgStream& operator<< (MsgStream& m, const TrigTauCluster& tau);
200
202bool operator== (const TrigTauCluster& left, const TrigTauCluster& right);
204inline bool operator!= (const TrigTauCluster& left, const TrigTauCluster& right)
205{
206 return !(left == right);
207}
208
210void diff(const TrigTauCluster& left, const TrigTauCluster& right, std::map<std::string, double>& varChange);
211
212
213// CLIDSvc is already loaded in base class
214CLASS_DEF ( TrigTauCluster, 213051884, 1)
215
216#endif
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
MsgStream & operator<<(MsgStream &m, const TrigTauCluster &tau)
Helper operator for printing the object.
bool operator!=(const TrigTauCluster &left, const TrigTauCluster &right)
Operator comparing two TrigTauCluster objects for inequality.
bool operator==(const TrigTauCluster &left, const TrigTauCluster &right)
Operator comparing two TrigTauCluster objects for equality.
void diff(const TrigTauCluster &left, const TrigTauCluster &right, std::map< std::string, double > &varChange)
Comparison with feedback.
void setRawEta(float eta)
set Raw Eta (no calibration)
TrigCaloCluster(float energy=0.0, float eta=-10.0, float phi=-10.0, long roi_word=0)
Constructor, please note the default values.
void setRawPhi(float phi)
set Raw Phi (no calibration)
float rawEnergy() const
get Raw Energy (no calibration)
Container from TrigTauClusterDetails type objects.
float EMenergyNarrow(int samp) const
get EM Energy in the narrow region (0.1x0.1)
float HADenergyNarrow(int samp) const
get HAD Energy in the narrow region (0.1x0.1)
float HADenergyWidth(int samp) const
get Width in HAD samplings
float EMenergyWidth(int samp) const
get Width in EM samplings
float EMenergyMedium(int samp) const
get EM Energy in the wide region (0.2x0.2)
float EMenergyWide(int samp) const
get EM Energy in the mormalization region (0.3x0.3)
float HADenergyWide(int samp) const
get HAD Energy in the normalization region (0.3x0.3)
float HADenergyMedium(int samp) const
get HAD Energy in the wide region (0.2x0.2)
float EMRadius(int samp) const
get EM Radius per sampling
Class with calibrated variables for tau clustering.
void setStripWidth(float stripwidth)
set Width in the strip sampling
float HadRadius() const
get Hadronic Radius
int numStripCells() const
get Number of fired strips
float EMRadius3S() const
get EM Radius 3S
float CoreFrac() const
get Core Fraction
const TrigTauClusterDetails * clusterDetails() const
accessor to TrigTauClusterDetails*
float energy(CaloSampling::CaloSample) const
get Energy per sampling
TrigTauCluster(float energy=0.0, float eta=-10.0, float phi=-10.0, long roi_word=0)
Constructors, please note the default values.
~TrigTauCluster()
Destructor.
float EMenergyWidth(int samp) const
get Width in EM samplings
float EMenergyNarrow(int samp) const
get EM Energy in the narrow region (0.1x0.1)
float eta() const
get Eta of the cluster
float EMRadius2() const
get EM Radius
float et() const
get Raw Et
float energyInSample(CaloSampling::CaloSample) const
get Energy per sampling
float eCalib() const
get Calibrated Energy
void setEMFrac(float emFrac)
set EM Fraction
float stripWidthOffline() const
get Width as in offline
float m_stripWidth
Width in the strip sampling.
float m_CaloRadius
Total Calo Radius.
void setNumStripCells(int numstripcells)
set Number of fired strips
float m_IsoFrac
Isolation Fraction.
float EMRadius(int samp) const
get EM Radius per sampling
float m_EMenergy
EM Energy.
void setEMRadius2(float emradius)
set EM Radius
void setStripWidthOffline(float stripwidthOffline)
set strip Width as in offline
float m_EMRadius2
EM Radius.
ElementLink< TrigTauClusterDetailsContainer > m_clusterDetails
ElementLink to TrigTauClusterDetailsContainer.
float phi() const
get Phi of the cluster
float EMenergyMedium(int samp) const
get EM Energy in the medium region (0.2x0.2)
float m_HADenergy
HAD Energy.
float m_EMFrac
EM Fraction.
void setEta(float eta)
set Eta of the cluster
void setHadRadius(float hadRadius)
set Hadronic Radius
void setCaloRadius(float caloradius)
set Total Calo Radius
float stripWidth() const
get Width in the strip sampling
int numTotCells() const
get Number of total cells in the cluster
const ElementLink< TrigTauClusterDetailsContainer > & clusterDetailsLink() const
void setCoreFrac(float coreFrac)
set Core Fraction
void setHADenergy(float energy)
set HAD Energy
float EMenergy() const
get EM Energy
void setEnergyCalib(float e)
set Calibrated Energy
float CaloRadius() const
get Total Calo Radius
float m_stripWidthOffline
Width calculated as in Offline tauRec.
void setEMenergy(float energy)
set EM Energy
void setEMRadius3S(float emradius3s)
set EM Radius 3S
float eEMCalib() const
get EM calibrated Energy
void setClusterDetails(const ElementLink< TrigTauClusterDetailsContainer > &clusterDetailsLink)
float HADenergy() const
get HAD Energy
void setPhi(float phi)
set Phi of the cluster
void setIsoFrac(float isofrac)
set Isolation Fraction
float energy() const
get Raw Energy
void setNumTotCells(int numtotcells)
set Number of Cells in the cluster
float m_eCalib
Calibrated Energy.
float m_EMRadius3S
EM Radius 3S.
float EMenergyWide(int samp) const
get EM Energy in the wide region (0.3x0.3)
int m_numTotCells
Total number of cells in the cluster.
float m_HadRadius
Hadronic Radius.
float IsoFrac() const
get Isolation Fraction
int m_numStripCells
Number of fired strips.
float HADenergyNarrow(int samp) const
get HAD Energy in the narrow region (0.1x0.1)
float HADenergyWide(int samp) const
get HAD Energy in the wide region (0.3x0.3)
float HADenergyMedium(int samp) const
get HAD Energy in the medium region (0.2x0.2)
float EMFrac() const
get EM Fraction
float m_CoreFrac
Core Fraction.
float EMCalibEnergy() const
get EM calibrated Energy
void print(void) const
Prints out cluster variables to std::cout.
float HADenergyWidth(int samp) const
get Width in HAD samplings