ATLAS Offline Software
Loading...
Searching...
No Matches
LVL1::jFEXForwardElecInfo Class Reference

#include <jFEXForwardElecInfo.h>

Collaboration diagram for LVL1::jFEXForwardElecInfo:

Public Member Functions

void setup (int jfex, uint ttid, int neta, int nphi)
void setup (int *cval, uint reso=200)
uint getCoreTTID ()
uint getCoreIphi ()
uint getCoreIeta ()
void setCoreTTEtEM (int ET_EM)
int getCoreTTEtEM ()
void setCoreTTSatEM (bool sat)
bool getCoreTTSatEM ()
void setNextTTID (uint TTID)
uint getNextTTID ()
void setNextTTEtEM (int ET_EM)
int getNextTTEtEM ()
void setNextTTSatEM (bool sat)
bool getNextTTSatEM ()
void setTTEtEMiso (int iso_ET)
void addTTEtEMiso (int iso_ET)
int getTTEtEMiso ()
void setTTEtHad1 (int ET_HAD)
void addTTEtHad1 (int ET_HAD)
int getTTEtHad1 ()
void setTTEtHad2 (int ET_HAD)
int getTTEtHad2 ()
void calcTTClusEtEM ()
int getTTClusEtEM ()
bool getTTClusSatEM ()
void includeTTinSearchWindow (uint TT_ID)
const std::vector< uint > & getTTinSearchWindow ()
void setCoreTTfEta (float feta)
float getCoreTTfEta ()
void setCoreTTfPhi (float fphi)
float getCoreTTfPhi ()
uint getCoreTTiEta ()
uint getEtEMiso ()
uint getEtHad1 ()
uint getEtHad2 ()
uint getEtEM ()
uint getEt ()
int getGlobalEta ()
uint getGlobalPhi ()
uint32_t getTobWord ()
void calcFwdElEDM ()
 Calculate variables for top word.
std::unique_ptr< jFEXForwardElecTOBgetFwdElTOBs ()
 Calculate top word.

Private Attributes

int m_coreTTEtEM = 0
bool m_coreTTsatEM = false
uint m_nextTTID = 0
int m_nextTTEtEM = 0
bool m_nextTTsatEM = false
int m_TTEtEMiso = 0
int m_TTEtHad1 = 0
int m_TTEtHad2 = 0
int m_TTClusEtEM = 0
bool m_TTClusSatEM = false
float m_coreTTfEta = 0
float m_coreTTfPhi = 0
std::vector< uintm_TTsInSearchWindow = {}
uint m_coreTTID = 0
int m_ieta = 0
int m_iphi = 0
uint m_jfex = 0
uint m_reso = 200
int m_cval [9] = {1,2,3,20,30,40,20,30,40}
uint m_EtEMiso = 0
uint m_EtHad1 = 0
uint m_EtHad2 = 0
uint m_EtEM = 0
uint m_et = 0
uint m_emiso = 0
uint m_emfr1 = 0
uint m_emfr2 = 0
uint m_eta = 0
uint m_phi = 0
uint m_sat = 0
uint m_res = 0
uint32_t m_tob = 0

Detailed Description

Definition at line 23 of file jFEXForwardElecInfo.h.

Member Function Documentation

◆ addTTEtEMiso()

void LVL1::jFEXForwardElecInfo::addTTEtEMiso ( int iso_ET)

Definition at line 107 of file jFEXForwardElecInfo.cxx.

107 {
108 m_TTEtEMiso += iso_ET;
109}

◆ addTTEtHad1()

void LVL1::jFEXForwardElecInfo::addTTEtHad1 ( int ET_HAD)

Definition at line 132 of file jFEXForwardElecInfo.cxx.

132 {
133 m_TTEtHad1 += ET_HAD;
134}

◆ calcFwdElEDM()

void LVL1::jFEXForwardElecInfo::calcFwdElEDM ( )

Calculate variables for top word.

Definition at line 188 of file jFEXForwardElecInfo.cxx.

188 {
189 m_res = 0;
190 m_sat = 0;
191 m_emiso = 0;
192 m_emfr1 = 0;
193 m_emfr2 = 0;
194 m_eta = 0;
195 m_phi = 0;
196 m_et = 0;
197 m_tob = 0;
198 m_EtEMiso = 0;
199 m_EtHad1 = 0;
200 m_EtHad2 = 0;
201 m_EtEM = 0;
202
203 if(m_jfex == 5) {
204 m_eta = m_ieta -8;
205 if(m_ieta < FEXAlgoSpaceDefs::jFEX_algoSpace_A_EMIE_eta) { // ieta lower than EMIE stats -> belong to EMB
206 m_phi = m_iphi-8;
207 }
208 else if(m_ieta < FEXAlgoSpaceDefs::jFEX_algoSpace_A_FCAL_start_eta) { // ieta lower than FCAL stats -> belong to EMIE
209 m_phi = m_iphi -4;
210 }
211 else { // rest ieta belongs to FCAL
212 m_phi = m_iphi -2;
213 }
214 }
215 else if(m_jfex == 0) {
216 m_eta = 36 - m_ieta;
217
218 if(m_ieta < FEXAlgoSpaceDefs::jFEX_algoSpace_C_FCAL_end_eta) { // ieta lower than FCal ends -> FCAL
219 m_phi = m_iphi -2 ;
220 }
221 else if(m_ieta < FEXAlgoSpaceDefs::jFEX_algoSpace_C_EMIE_end_eta) {// ieta lower than EMIE ends -> EMIE
222 m_phi = m_iphi -4 ;
223 }
224 else {// rest of ieta -> EMB
225 m_phi = m_iphi -8 ;
226 }
227 }
228
230
231 if(m_reso > 0){
237 }
238
239 if (m_et > 0x7ff) { //0x7ff is 11 bits
240 m_et = 0x7ff;
241 //current FW convention is to NOT set the saturation bit on value overflow, but only to propagate cell saturation information from LAr
242 //m_sat=1;
243 }
245
246
247 // jFEX internal values are at higher granularity (25MeV), not output granularity (200MeV).
248 // since we avoid divisions, MeV values are just as good (given that input granularity is already 25MeV)
249 if (m_TTClusEtEM > m_cval[2] * m_TTEtEMiso) {
250 m_emiso = 3;
251 } else if (m_TTClusEtEM > m_cval[1] * m_TTEtEMiso){
252 m_emiso = 2;
253 } else if (m_TTClusEtEM > m_cval[0] * m_TTEtEMiso){
254 m_emiso = 1;
255 }
256
257 // hadronic fraction: only compare to core (=seed) tower
258 if (m_coreTTEtEM > m_cval[5] * m_TTEtHad1) {
259 m_emfr1 = 3;
260 } else if (m_coreTTEtEM > m_cval[4] * m_TTEtHad1){
261 m_emfr1 = 2;
262 } else if (m_coreTTEtEM > m_cval[3] * m_TTEtHad1){
263 m_emfr1 = 1;
264 }
265 if (m_coreTTEtEM > m_cval[8] * m_TTEtHad2) {
266 m_emfr2 = 3;
267 } else if (m_coreTTEtEM > m_cval[7] * m_TTEtHad2){
268 m_emfr2 = 2;
269 } else if (m_coreTTEtEM > m_cval[6] * m_TTEtHad2){
270 m_emfr2 = 1;
271 }
272
274}
static constexpr int jEM_phiBit
static constexpr int jEM_emf1Bit
static constexpr int jFEX_algoSpace_C_FCAL_end_eta
static constexpr int jEM_etBit
static constexpr int jFEX_algoSpace_A_FCAL_start_eta
static constexpr int jFEX_algoSpace_A_EMIE_eta
static constexpr int jEM_emf2Bit
static constexpr int jEM_resBit
static constexpr int jEM_isoBit
static constexpr int jEM_etaBit
static constexpr int jFEX_algoSpace_C_EMIE_end_eta

◆ calcTTClusEtEM()

void LVL1::jFEXForwardElecInfo::calcTTClusEtEM ( )

◆ getCoreIeta()

uint LVL1::jFEXForwardElecInfo::getCoreIeta ( )

Definition at line 34 of file jFEXForwardElecInfo.cxx.

34 {
35 return m_ieta;
36}

◆ getCoreIphi()

uint LVL1::jFEXForwardElecInfo::getCoreIphi ( )

Definition at line 38 of file jFEXForwardElecInfo.cxx.

38 {
39 return m_iphi;
40}

◆ getCoreTTEtEM()

int LVL1::jFEXForwardElecInfo::getCoreTTEtEM ( )

Definition at line 67 of file jFEXForwardElecInfo.cxx.

67 {
68 return m_coreTTEtEM;
69}

◆ getCoreTTfEta()

float LVL1::jFEXForwardElecInfo::getCoreTTfEta ( )

Definition at line 47 of file jFEXForwardElecInfo.cxx.

47 {
48 return m_coreTTfEta;
49}

◆ getCoreTTfPhi()

float LVL1::jFEXForwardElecInfo::getCoreTTfPhi ( )

Definition at line 59 of file jFEXForwardElecInfo.cxx.

59 {
60 return m_coreTTfPhi;
61}

◆ getCoreTTID()

uint LVL1::jFEXForwardElecInfo::getCoreTTID ( )

Definition at line 30 of file jFEXForwardElecInfo.cxx.

30 {
31 return m_coreTTID;
32}

◆ getCoreTTiEta()

uint LVL1::jFEXForwardElecInfo::getCoreTTiEta ( )

Definition at line 51 of file jFEXForwardElecInfo.cxx.

51 {
52 return m_ieta;
53}

◆ getCoreTTSatEM()

bool LVL1::jFEXForwardElecInfo::getCoreTTSatEM ( )

Definition at line 75 of file jFEXForwardElecInfo.cxx.

75 {
76 return m_coreTTsatEM;
77}

◆ getEt()

uint LVL1::jFEXForwardElecInfo::getEt ( )

Definition at line 160 of file jFEXForwardElecInfo.cxx.

160 {
161 return m_et ;
162}

◆ getEtEM()

uint LVL1::jFEXForwardElecInfo::getEtEM ( )

◆ getEtEMiso()

uint LVL1::jFEXForwardElecInfo::getEtEMiso ( )

Definition at line 148 of file jFEXForwardElecInfo.cxx.

148 {
149 return m_EtEMiso;
150}

◆ getEtHad1()

uint LVL1::jFEXForwardElecInfo::getEtHad1 ( )

Definition at line 156 of file jFEXForwardElecInfo.cxx.

156 {
157 return m_EtHad1;
158}

◆ getEtHad2()

uint LVL1::jFEXForwardElecInfo::getEtHad2 ( )

Definition at line 152 of file jFEXForwardElecInfo.cxx.

152 {
153 return m_EtHad2;
154}

◆ getFwdElTOBs()

std::unique_ptr< LVL1::jFEXForwardElecTOB > LVL1::jFEXForwardElecInfo::getFwdElTOBs ( )

Calculate top word.

Definition at line 278 of file jFEXForwardElecInfo.cxx.

278 {
279
280 std::unique_ptr<LVL1::jFEXForwardElecTOB> tob = std::make_unique<LVL1::jFEXForwardElecTOB>();
281
282 calcFwdElEDM();
283
284 tob->setET(m_et);
285 tob->setPhi(m_phi);
286 tob->setEta(m_eta);
287 tob->setIso(m_emiso);
288 tob->setEMf1(m_emfr1);
289 tob->setEMf2(m_emfr2);
290 tob->setSat(m_sat);
291 return tob;
292}
void calcFwdElEDM()
Calculate variables for top word.

◆ getGlobalEta()

int LVL1::jFEXForwardElecInfo::getGlobalEta ( )

Definition at line 164 of file jFEXForwardElecInfo.cxx.

164 {
165 return m_eta;
166}

◆ getGlobalPhi()

uint LVL1::jFEXForwardElecInfo::getGlobalPhi ( )

Definition at line 168 of file jFEXForwardElecInfo.cxx.

168 {
169 return m_phi;
170}

◆ getNextTTEtEM()

int LVL1::jFEXForwardElecInfo::getNextTTEtEM ( )

Definition at line 91 of file jFEXForwardElecInfo.cxx.

91 {
92 return m_nextTTEtEM;
93}

◆ getNextTTID()

uint LVL1::jFEXForwardElecInfo::getNextTTID ( )

Definition at line 83 of file jFEXForwardElecInfo.cxx.

83 {
84 return m_nextTTID;
85}

◆ getNextTTSatEM()

bool LVL1::jFEXForwardElecInfo::getNextTTSatEM ( )

Definition at line 99 of file jFEXForwardElecInfo.cxx.

99 {
100 return m_nextTTsatEM;
101}

◆ getTobWord()

uint32_t LVL1::jFEXForwardElecInfo::getTobWord ( )

Definition at line 172 of file jFEXForwardElecInfo.cxx.

172 {
173 return m_tob;
174}

◆ getTTClusEtEM()

int LVL1::jFEXForwardElecInfo::getTTClusEtEM ( )

Definition at line 120 of file jFEXForwardElecInfo.cxx.

120 {
121 return m_TTClusEtEM ;
122}

◆ getTTClusSatEM()

bool LVL1::jFEXForwardElecInfo::getTTClusSatEM ( )

Definition at line 124 of file jFEXForwardElecInfo.cxx.

124 {
125 return m_TTClusSatEM ;
126}

◆ getTTEtEMiso()

int LVL1::jFEXForwardElecInfo::getTTEtEMiso ( )

Definition at line 111 of file jFEXForwardElecInfo.cxx.

111 {
112 return m_TTEtEMiso;
113}

◆ getTTEtHad1()

int LVL1::jFEXForwardElecInfo::getTTEtHad1 ( )

Definition at line 136 of file jFEXForwardElecInfo.cxx.

136 {
137 return m_TTEtHad1;
138}

◆ getTTEtHad2()

int LVL1::jFEXForwardElecInfo::getTTEtHad2 ( )

Definition at line 144 of file jFEXForwardElecInfo.cxx.

144 {
145 return m_TTEtHad2;
146}

◆ getTTinSearchWindow()

const std::vector< uint > & LVL1::jFEXForwardElecInfo::getTTinSearchWindow ( )

Definition at line 180 of file jFEXForwardElecInfo.cxx.

180 {
181 return m_TTsInSearchWindow;
182}
std::vector< uint > m_TTsInSearchWindow

◆ includeTTinSearchWindow()

void LVL1::jFEXForwardElecInfo::includeTTinSearchWindow ( uint TT_ID)

Definition at line 176 of file jFEXForwardElecInfo.cxx.

176 {
177 m_TTsInSearchWindow.push_back(TT_ID);
178}

◆ setCoreTTEtEM()

void LVL1::jFEXForwardElecInfo::setCoreTTEtEM ( int ET_EM)

Definition at line 63 of file jFEXForwardElecInfo.cxx.

63 {
64 m_coreTTEtEM = ET_EM;
65}

◆ setCoreTTfEta()

void LVL1::jFEXForwardElecInfo::setCoreTTfEta ( float feta)

Definition at line 42 of file jFEXForwardElecInfo.cxx.

42 {
43 m_coreTTfEta = fEta;
44}

◆ setCoreTTfPhi()

void LVL1::jFEXForwardElecInfo::setCoreTTfPhi ( float fphi)

Definition at line 55 of file jFEXForwardElecInfo.cxx.

55 {
56 m_coreTTfPhi = fPhi;
57}

◆ setCoreTTSatEM()

void LVL1::jFEXForwardElecInfo::setCoreTTSatEM ( bool sat)

Definition at line 71 of file jFEXForwardElecInfo.cxx.

71 {
72 m_coreTTsatEM = sat;
73}

◆ setNextTTEtEM()

void LVL1::jFEXForwardElecInfo::setNextTTEtEM ( int ET_EM)

Definition at line 87 of file jFEXForwardElecInfo.cxx.

87 {
88 m_nextTTEtEM = nextEt;
89}

◆ setNextTTID()

void LVL1::jFEXForwardElecInfo::setNextTTID ( uint TTID)

Definition at line 79 of file jFEXForwardElecInfo.cxx.

79 {
80 m_nextTTID = TTID;
81}

◆ setNextTTSatEM()

void LVL1::jFEXForwardElecInfo::setNextTTSatEM ( bool sat)

Definition at line 95 of file jFEXForwardElecInfo.cxx.

95 {
96 m_nextTTsatEM = sat;
97}

◆ setTTEtEMiso()

void LVL1::jFEXForwardElecInfo::setTTEtEMiso ( int iso_ET)

Definition at line 103 of file jFEXForwardElecInfo.cxx.

103 {
104 m_TTEtEMiso = iso_ET;
105}

◆ setTTEtHad1()

void LVL1::jFEXForwardElecInfo::setTTEtHad1 ( int ET_HAD)

Definition at line 128 of file jFEXForwardElecInfo.cxx.

128 {
129 m_TTEtHad1 = ET_HAD;
130}

◆ setTTEtHad2()

void LVL1::jFEXForwardElecInfo::setTTEtHad2 ( int ET_HAD)

Definition at line 140 of file jFEXForwardElecInfo.cxx.

140 {
141 m_TTEtHad2 = ET_HAD;
142}

◆ setup() [1/2]

void LVL1::jFEXForwardElecInfo::setup ( int * cval,
uint reso = 200 )

Definition at line 24 of file jFEXForwardElecInfo.cxx.

24 {
25 m_reso = reso;
26 for(int i=0;i<9;i++) m_cval[i] = cval[i];
27}

◆ setup() [2/2]

void LVL1::jFEXForwardElecInfo::setup ( int jfex,
uint ttid,
int neta,
int nphi )

Definition at line 16 of file jFEXForwardElecInfo.cxx.

16 {
17 m_jfex = jfex;
18 m_coreTTID = ttid;
19 m_ieta = neta;
20 m_iphi = nphi;
21}

Member Data Documentation

◆ m_coreTTEtEM

int LVL1::jFEXForwardElecInfo::m_coreTTEtEM = 0
private

Definition at line 84 of file jFEXForwardElecInfo.h.

◆ m_coreTTfEta

float LVL1::jFEXForwardElecInfo::m_coreTTfEta = 0
private

Definition at line 94 of file jFEXForwardElecInfo.h.

◆ m_coreTTfPhi

float LVL1::jFEXForwardElecInfo::m_coreTTfPhi = 0
private

Definition at line 95 of file jFEXForwardElecInfo.h.

◆ m_coreTTID

uint LVL1::jFEXForwardElecInfo::m_coreTTID = 0
private

Definition at line 98 of file jFEXForwardElecInfo.h.

◆ m_coreTTsatEM

bool LVL1::jFEXForwardElecInfo::m_coreTTsatEM = false
private

Definition at line 85 of file jFEXForwardElecInfo.h.

◆ m_cval

int LVL1::jFEXForwardElecInfo::m_cval[9] = {1,2,3,20,30,40,20,30,40}
private

Definition at line 103 of file jFEXForwardElecInfo.h.

103{1,2,3,20,30,40,20,30,40};

◆ m_emfr1

uint LVL1::jFEXForwardElecInfo::m_emfr1 = 0
private

Definition at line 111 of file jFEXForwardElecInfo.h.

◆ m_emfr2

uint LVL1::jFEXForwardElecInfo::m_emfr2 = 0
private

Definition at line 112 of file jFEXForwardElecInfo.h.

◆ m_emiso

uint LVL1::jFEXForwardElecInfo::m_emiso = 0
private

Definition at line 110 of file jFEXForwardElecInfo.h.

◆ m_et

uint LVL1::jFEXForwardElecInfo::m_et = 0
private

Definition at line 109 of file jFEXForwardElecInfo.h.

◆ m_eta

uint LVL1::jFEXForwardElecInfo::m_eta = 0
private

Definition at line 113 of file jFEXForwardElecInfo.h.

◆ m_EtEM

uint LVL1::jFEXForwardElecInfo::m_EtEM = 0
private

Definition at line 108 of file jFEXForwardElecInfo.h.

◆ m_EtEMiso

uint LVL1::jFEXForwardElecInfo::m_EtEMiso = 0
private

Definition at line 105 of file jFEXForwardElecInfo.h.

◆ m_EtHad1

uint LVL1::jFEXForwardElecInfo::m_EtHad1 = 0
private

Definition at line 106 of file jFEXForwardElecInfo.h.

◆ m_EtHad2

uint LVL1::jFEXForwardElecInfo::m_EtHad2 = 0
private

Definition at line 107 of file jFEXForwardElecInfo.h.

◆ m_ieta

int LVL1::jFEXForwardElecInfo::m_ieta = 0
private

Definition at line 99 of file jFEXForwardElecInfo.h.

◆ m_iphi

int LVL1::jFEXForwardElecInfo::m_iphi = 0
private

Definition at line 100 of file jFEXForwardElecInfo.h.

◆ m_jfex

uint LVL1::jFEXForwardElecInfo::m_jfex = 0
private

Definition at line 101 of file jFEXForwardElecInfo.h.

◆ m_nextTTEtEM

int LVL1::jFEXForwardElecInfo::m_nextTTEtEM = 0
private

Definition at line 87 of file jFEXForwardElecInfo.h.

◆ m_nextTTID

uint LVL1::jFEXForwardElecInfo::m_nextTTID = 0
private

Definition at line 86 of file jFEXForwardElecInfo.h.

◆ m_nextTTsatEM

bool LVL1::jFEXForwardElecInfo::m_nextTTsatEM = false
private

Definition at line 88 of file jFEXForwardElecInfo.h.

◆ m_phi

uint LVL1::jFEXForwardElecInfo::m_phi = 0
private

Definition at line 114 of file jFEXForwardElecInfo.h.

◆ m_res

uint LVL1::jFEXForwardElecInfo::m_res = 0
private

Definition at line 116 of file jFEXForwardElecInfo.h.

◆ m_reso

uint LVL1::jFEXForwardElecInfo::m_reso = 200
private

Definition at line 102 of file jFEXForwardElecInfo.h.

◆ m_sat

uint LVL1::jFEXForwardElecInfo::m_sat = 0
private

Definition at line 115 of file jFEXForwardElecInfo.h.

◆ m_tob

uint32_t LVL1::jFEXForwardElecInfo::m_tob = 0
private

Definition at line 117 of file jFEXForwardElecInfo.h.

◆ m_TTClusEtEM

int LVL1::jFEXForwardElecInfo::m_TTClusEtEM = 0
private

Definition at line 92 of file jFEXForwardElecInfo.h.

◆ m_TTClusSatEM

bool LVL1::jFEXForwardElecInfo::m_TTClusSatEM = false
private

Definition at line 93 of file jFEXForwardElecInfo.h.

◆ m_TTEtEMiso

int LVL1::jFEXForwardElecInfo::m_TTEtEMiso = 0
private

Definition at line 89 of file jFEXForwardElecInfo.h.

◆ m_TTEtHad1

int LVL1::jFEXForwardElecInfo::m_TTEtHad1 = 0
private

Definition at line 90 of file jFEXForwardElecInfo.h.

◆ m_TTEtHad2

int LVL1::jFEXForwardElecInfo::m_TTEtHad2 = 0
private

Definition at line 91 of file jFEXForwardElecInfo.h.

◆ m_TTsInSearchWindow

std::vector<uint> LVL1::jFEXForwardElecInfo::m_TTsInSearchWindow = {}
private

Definition at line 96 of file jFEXForwardElecInfo.h.

96{};

The documentation for this class was generated from the following files: