ATLAS Offline Software
Loading...
Searching...
No Matches
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>
19
20#include "xAODBase/IParticle.h"
22
23namespace LVL1 {
24
25 //Doxygen class description below:
37
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
140CLASS_DEF( LVL1::gTower , 67395277 , 1 )
141
142
143#endif
std::vector< Identifier > ID
Helper class for offline supercell identifiers.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
The gTower class is an interface object for gFEX trigger algorithms The purposes are twofold:
Definition gTower.h:38
int getET_EM_float() const
Get ET in MeV from EM calo FLOAT VERSION.
Definition gTower.cxx:157
float m_phi_float
Definition gTower.h:126
void setET()
Definition gTower.cxx:70
char m_saturated
Definition gTower.h:135
int id() const
Definition gTower.h:73
void setEta(const float thiseta)
Definition gTower.h:71
std::vector< float > m_et_float_perlayer
Definition gTower.h:128
void setIsSaturated(char isSaturated)
Sets saturation flag.
Definition gTower.cxx:170
int getET_HAD_float() const
Get ET in MeV from HAD calo FLOAT VERSION.
Definition gTower.cxx:164
int getFWID() const
Calculates and returns the firmware ID.
Definition gTower.cxx:179
char isSaturated() const
Returns true if is saturated.
Definition gTower.cxx:174
std::vector< Identifier > m_scID
Definition gTower.h:129
float constid() const
Definition gTower.h:75
~gTower()
Destructor.
Definition gTower.h:47
void setSCID(Identifier ID)
Set supercell position ID.
Definition gTower.cxx:97
float m_et_float
Definition gTower.h:127
int m_noisecut
Definition gTower.h:133
int getID() const
Add to ET.
Definition gTower.cxx:119
void clear_scIDs()
Clear and resize Identifier value vector.
Definition gTower.cxx:45
int m_posneg
Definition gTower.h:132
void setPosNeg(int posneg)
Definition gTower.cxx:50
int m_eta
Internal data.
Definition gTower.h:122
bool noiseCut(int et) const
Apply supercell noise cut.
Definition gTower.cxx:107
float getET_float() const
Get ET (total) in MeV FLOAT VERSION.
Definition gTower.cxx:149
int iPhi() const
Definition gTower.cxx:137
int m_tower_id
Definition gTower.h:131
float phi() const
Definition gTower.h:69
int iEta() const
Get coordinates of tower.
Definition gTower.cxx:124
float m_eta_float
Definition gTower.h:125
const std::vector< Identifier > & getSCIDs() const
Definition gTower.h:96
int getPosNeg() const
Definition gTower.h:103
gTower()
Constructors.
Definition gTower.cxx:18
float eta() const
Definition gTower.h:68
void setTotalEt(int totEt)
Definition gTower.cxx:88
void clearET()
Clear supercell ET values.
Definition gTower.cxx:37
void getEtaPhi(float &Eta, float &Phi, int iEta, int iPhi) const
Calculates eta and phi from ieta and iphi.
Definition gTower.cxx:290
void addET(float et, int layer)
Add ET in MeV, layer refers to EM or HAD (Tile)
Definition gTower.cxx:60
int getET() const
Get ET (total) in MeV.
Definition gTower.cxx:142
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Extra patterns decribing particle interation process.