ATLAS Offline Software
gTower.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 //***************************************************************************
5 // gTower - Defines all properties and methods for the gFEX towers
6 // -------------------
7 // begin : 01 04 2021
8 // email : cecilia.tosciri@cern.ch
9 //***************************************************************************
10 
11 #ifndef gTower_H
12 #define gTower_H
13 
14 #include <vector>
15 #include "AthenaKernel/CLASS_DEF.h"
19 
20 #include "xAODBase/IParticle.h"
22 
23 namespace LVL1 {
24 
25  //Doxygen class description below:
38  class gTower {
39 
40  public:
41 
43  gTower();
44  gTower(int eta, int phi, int nphi, int id_modifier, int posneg);
45 
47  ~gTower() {};
48 
50  void clearET();
51 
53  void clear_scIDs();
54 
56  void addET(float et, int layer);
57 
59  // void recordMD_ET(float et);
60 
62  int getID() const;
63 
65  int iEta() const;
66  int iPhi() const;
67 
68  float eta() const {return m_eta_float;};
69  float phi() const {return m_phi_float;};
70 
71  void setEta(const float thiseta){ m_eta = thiseta; }
72 
73  int id() const {return m_tower_id;}
74 
75  float constid() const {return m_tower_id;};
76 
78  int getET() const;
79 
81  float getET_float() const;
82 
84  int getET_EM_float() const;
85 
87  int getET_HAD_float() const;
88 
89  void setET();
90 
91  void setTotalEt(int totEt);
92 
94  void setSCID(Identifier ID);
95 
96  const std::vector<Identifier>& getSCIDs() const { return m_scID; }
97 
99  bool noiseCut(int et) const;
100 
101  void setPosNeg(int posneg);
102 
103  inline int getPosNeg() const {return m_posneg;}
104 
106  int getFWID(int & iPhiFW, int & iEtaFW) const;
107 
109  int getFWID() const;
110 
112  void getEtaPhi ( float &Eta, float &Phi, int iEta, int iPhi) const;
113 
115  void setIsSaturated(char isSaturated);
116 
118  char isSaturated() const;
119 
121  private:
122  int m_eta = 0;
123  int m_phi = 0;
124  int m_et = 0;
125  float m_eta_float = 0;
126  float m_phi_float = 0;
127  float m_et_float = 0;
128  std::vector<float> m_et_float_perlayer;
129  std::vector<Identifier> m_scID;
130 
131  int m_tower_id = -9999999;
132  int m_posneg = 0;
133  int m_noisecut = -100000; //noisecut currently not used by gFEX, leave it here in case we need it (default value is < of minimum negative energy received by gFEX)
134 
135  char m_saturated = 0;
136  };
137 
138 } // end of namespace
139 
140 CLASS_DEF( LVL1::gTower , 67395277 , 1 )
141 
142 
143 #endif
LVL1::gTower::getET_float
float getET_float() const
Get ET (total) in MeV FLOAT VERSION.
Definition: gTower.cxx:149
et
Extra patterns decribing particle interation process.
LVL1::gTower::~gTower
~gTower()
Destructor.
Definition: gTower.h:47
LVL1::gTower::setIsSaturated
void setIsSaturated(char isSaturated)
Sets saturation flag.
Definition: gTower.cxx:170
IParticle.h
LVL1::gTower::noiseCut
bool noiseCut(int et) const
Apply supercell noise cut.
Definition: gTower.cxx:107
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
AuxStoreAccessorMacros.h
LVL1::gTower::m_eta
int m_eta
Internal data.
Definition: gTower.h:122
LVL1::gTower::getEtaPhi
void getEtaPhi(float &Eta, float &Phi, int iEta, int iPhi) const
Calculates eta and phi from ieta and iphi.
Definition: gTower.cxx:290
LVL1::gTower::isSaturated
char isSaturated() const
Returns true if is saturated.
Definition: gTower.cxx:174
LVL1::gTower::setSCID
void setSCID(Identifier ID)
Set supercell position ID.
Definition: gTower.cxx:97
LVL1::gTower
The gTower class is an interface object for gFEX trigger algorithms The purposes are twofold:
Definition: gTower.h:38
LVL1::gTower::getFWID
int getFWID() const
Calculates and returns the firmware ID.
Definition: gTower.cxx:179
LVL1::gTower::setPosNeg
void setPosNeg(int posneg)
Definition: gTower.cxx:50
LVL1::gTower::setTotalEt
void setTotalEt(int totEt)
Definition: gTower.cxx:88
LVL1::gTower::phi
float phi() const
Definition: gTower.h:69
LVL1::gTower::m_et_float
float m_et_float
Definition: gTower.h:127
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::gTower::iPhi
int iPhi() const
Definition: gTower.cxx:137
LVL1::gTower::constid
float constid() const
Definition: gTower.h:75
LVL1::gTower::setEta
void setEta(const float thiseta)
Definition: gTower.h:71
LVL1::gTower::m_et_float_perlayer
std::vector< float > m_et_float_perlayer
Definition: gTower.h:128
LVL1::gTower::getET
int getET() const
Get ET (total) in MeV.
Definition: gTower.cxx:142
LVL1::gTower::getET_EM_float
int getET_EM_float() const
Get ET in MeV from EM calo FLOAT VERSION.
Definition: gTower.cxx:157
LVL1::gTower::m_scID
std::vector< Identifier > m_scID
Definition: gTower.h:129
LVL1::gTower::m_eta_float
float m_eta_float
Definition: gTower.h:125
LVL1::gTower::getSCIDs
const std::vector< Identifier > & getSCIDs() const
Definition: gTower.h:96
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1::gTower::m_phi
int m_phi
Definition: gTower.h:123
LVL1::gTower::id
int id() const
Definition: gTower.h:73
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
LVL1::gTower::getET_HAD_float
int getET_HAD_float() const
Get ET in MeV from HAD calo FLOAT VERSION.
Definition: gTower.cxx:164
LVL1::gTower::clear_scIDs
void clear_scIDs()
Clear and resize Identifier value vector.
Definition: gTower.cxx:45
LVL1::gTower::addET
void addET(float et, int layer)
Add ET in MeV, layer refers to EM or HAD (Tile)
Definition: gTower.cxx:60
LVL1::gTower::eta
float eta() const
Definition: gTower.h:68
LVL1::gTower::gTower
gTower()
Constructors.
Definition: gTower.cxx:18
LVL1::gTower::m_tower_id
int m_tower_id
Definition: gTower.h:131
CaloCellContainer.h
LVL1::gTower::clearET
void clearET()
Clear supercell ET values.
Definition: gTower.cxx:37
LVL1::gTower::m_phi_float
float m_phi_float
Definition: gTower.h:126
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:64
LVL1::gTower::iEta
int iEta() const
Get coordinates of tower.
Definition: gTower.cxx:124
LVL1::gTower::getPosNeg
int getPosNeg() const
Definition: gTower.h:103
CaloIdManager.h
LVL1::gTower::m_posneg
int m_posneg
Definition: gTower.h:132
LVL1::gTower::setET
void setET()
Definition: gTower.cxx:70
LVL1::gTower::m_et
int m_et
Definition: gTower.h:124
CLASS_DEF.h
macros to associate a CLID to a type
Eta
@ Eta
Definition: RPCdef.h:8
LVL1::gTower::getID
int getID() const
Add to ET
Definition: gTower.cxx:119
LVL1::gTower::m_noisecut
int m_noisecut
Definition: gTower.h:133
LVL1::gTower::m_saturated
char m_saturated
Definition: gTower.h:135
Identifier
Definition: IdentifierFieldParser.cxx:14