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

The eFEXtauBDT class calculates the tau TOB variables. More...

#include <eFEXtauBDT.h>

Collaboration diagram for LVL1::eFEXtauBDT:

Public Member Functions

 eFEXtauBDT (AthAlgTool *log, std::string config_path)
 Constructors.
virtual ~eFEXtauBDT ()
 Destructor.
void next ()
void setPointerToSCell (int eta, int phi, int layer, unsigned int *sCellPtr)
void setPointerToFracMultipliersParam (int index, unsigned int *fracMultipliers)
void setPointerToBDTThresholdsParam (int index, unsigned int *bdtThresholds)
void setPointerToETThresholdParam (unsigned int *etThreshold)
void setPointerToMaxETParam (unsigned int *maxEtThreshold)
void setPointerToMaxETParamFrac (unsigned int *maxEtThreshold)
void setPointerToBDTMinETParam (unsigned int *bdtMinEtThreshold)
void buildBDTVariables ()
void computeBDTScore ()
void computeETEstimate ()
void computeEMETEstimate ()
void computeHADETEstimate ()
void computeFracCondition ()
void computeBDTCondition ()
void computeTowers ()
void computeIsCentralTowerSeed ()
void debugPrintBDTVariables ()
void debugPrintTowers ()
void initBDTVars ()
void initETPointers ()
void initEMETPointers ()
void initHADETPointers ()
void initTowersPointers ()
unsigned int getETEstimate () const
unsigned int getEMETEstimate () const
unsigned int getEMETEstimateOverflow () const
unsigned int getHADETEstimate () const
unsigned int getHADETEstimateOverflow () const
std::vector< unsigned int > & getBDTVars ()
std::vector< unsigned int > & getTowers ()
std::vector< unsigned int > & getEMMultipliedByFracParams ()
std::vector< unsigned int > & getEMMultipliedByFracParamsOverflow ()
unsigned int getBDTScoreShifted () const
unsigned int getET () const
unsigned int getTOBETOverflow () const
unsigned int getIsMax () const
unsigned int getBDTCondition () const
unsigned int getFracCondition () const
unsigned int getBDTScore () const
unsigned int multWithOverflow (unsigned int a, unsigned int b, bool &overflow, int resultNBits)
bool isOverflow (unsigned int number, int nBits)
unsigned int BitLeftShift (unsigned int number, int by, int totalNBits)
int flatTowerIndex (int eta, int phi)

Private Member Functions

void initPointers (const std::vector< std::vector< int > > &scells, std::vector< unsigned int * > &ptr_list)
unsigned int computeEstimate (std::vector< unsigned int * > &ptr_list, bool &overflow, int resultNBits)
unsigned int * superCellToPtr (int eta, int phi, int layer)

Private Attributes

unsigned int * m_em0cells [3][3] {}
unsigned int * m_em1cells [12][3] {}
unsigned int * m_em2cells [12][3] {}
unsigned int * m_em3cells [3][3] {}
unsigned int * m_hadcells [3][3] {}
unsigned int * m_fracMultipliers [3] {}
unsigned int * m_bdtThresholds [3] {}
unsigned int * m_etThreshold {}
unsigned int * m_maxEtThreshold {}
unsigned int * m_maxEtThresholdFrac {}
unsigned int * m_bdtMinEtThreshold {}
unsigned int m_bdtScore = 0
unsigned int m_bdtScoreShifted = 0
unsigned int m_eTEstimate = 0
bool m_eTEstimateOverflow = false
unsigned int m_EM_eTEstimate = 0
bool m_EM_eTEstimateOverflow = 0
unsigned int m_HAD_eTEstimate = 0
bool m_HAD_eTEstimateOverflow = false
unsigned int m_fracCondition = 0
unsigned int m_bdtCondition = 0
bool m_isSeeded = false
unsigned int m_hadEstimateShifted = 0
std::vector< unsigned int > m_emEtXMultiplier
std::vector< unsigned int > m_emEtXMultiplierOverflow
std::vector< unsigned int > m_towers
std::vector< unsigned int > m_bdtVars
std::vector< std::vector< unsigned int * > > m_bdtVarComputeSCellPointers
std::vector< unsigned int * > m_eTComputeSCellPointers
std::vector< unsigned int * > m_EM_eTComputeSCellPointers
std::vector< unsigned int * > m_HAD_eTComputeSCellPointers
std::vector< std::vector< unsigned int * > > m_towersComputeSCellPointers
bool m_bdtVarsComputed = false
eFEXBDT m_bdt
AthAlgToolm_log

Detailed Description

The eFEXtauBDT class calculates the tau TOB variables.

Definition at line 26 of file eFEXtauBDT.h.

Constructor & Destructor Documentation

◆ eFEXtauBDT()

LVL1::eFEXtauBDT::eFEXtauBDT ( AthAlgTool * log,
std::string config_path )

Constructors.

Definition at line 19 of file eFEXtauBDT.cxx.

20 : m_bdt(config_path), m_log(log) {
21 m_log->msg(MSG::DEBUG) << "Configured BDT with this file: " << config_path
22 << endmsg;
23 m_bdtVars.resize(m_bdt.getVariables().size());
24 m_towers.resize(m_bdt.getNTowers());
25 int n_multipliers = sizeof(m_fracMultipliers) / sizeof(m_fracMultipliers[0]);
26 m_emEtXMultiplier.resize(n_multipliers);
27 m_emEtXMultiplierOverflow.resize(n_multipliers);
28}
#define endmsg
std::vector< unsigned int > m_emEtXMultiplierOverflow
Definition eFEXtauBDT.h:130
unsigned int * m_fracMultipliers[3]
Definition eFEXtauBDT.h:111
std::vector< unsigned int > m_towers
Definition eFEXtauBDT.h:131
std::vector< unsigned int > m_emEtXMultiplier
Definition eFEXtauBDT.h:129
AthAlgTool * m_log
Definition eFEXtauBDT.h:150
std::vector< unsigned int > m_bdtVars
Definition eFEXtauBDT.h:134

◆ ~eFEXtauBDT()

LVL1::eFEXtauBDT::~eFEXtauBDT ( )
virtual

Destructor.

Definition at line 31 of file eFEXtauBDT.cxx.

31{}

Member Function Documentation

◆ BitLeftShift()

unsigned int LVL1::eFEXtauBDT::BitLeftShift ( unsigned int number,
int by,
int totalNBits )
inline

Definition at line 310 of file eFEXtauBDT.cxx.

311 {
312 if ((number >> (totalNBits - by)) != 0) {
313 return (1 << totalNBits) - 1;
314 }
315 return number << by;
316}
std::string number(const double &d, const std::string &s)
Definition utils.cxx:186

◆ buildBDTVariables()

void LVL1::eFEXtauBDT::buildBDTVariables ( )

Definition at line 201 of file eFEXtauBDT.cxx.

201 {
202 for (size_t i = 0; i < m_bdtVarComputeSCellPointers.size(); i++) {
203 bool overflow;
206 if (overflow) {
207 m_bdtVars[i] = (1 << ENERGY_WIDTH) - 1;
208 }
209 }
211 m_bdtVarsComputed = true;
212}
unsigned int computeEstimate(std::vector< unsigned int * > &ptr_list, bool &overflow, int resultNBits)
void debugPrintBDTVariables()
std::vector< std::vector< unsigned int * > > m_bdtVarComputeSCellPointers
Definition eFEXtauBDT.h:139
#define ENERGY_WIDTH

◆ computeBDTCondition()

void LVL1::eFEXtauBDT::computeBDTCondition ( )

Definition at line 350 of file eFEXtauBDT.cxx.

350 {
352 int n_thresholds = sizeof(m_bdtThresholds) / sizeof(m_bdtThresholds[0]);
353
354 int toShiftRight = m_bdt.getScorePrecision() - PARAM_WIDTH;
355 // Only compare the MSB bits of the BDT score to the thresholds provided in
356 // the parameters
357 m_bdtScoreShifted = (m_bdtScore >> toShiftRight);
358
361
362 m_bdtCondition = (1 << (n_thresholds - 1)) - 1;
363 return;
364 }
365
366 int i = 0;
367 for (; i < n_thresholds; i++) {
369 break;
370 }
371 }
373}
unsigned int * m_maxEtThreshold
Definition eFEXtauBDT.h:114
unsigned int m_eTEstimate
Definition eFEXtauBDT.h:119
unsigned int m_bdtCondition
Definition eFEXtauBDT.h:126
unsigned int m_bdtScore
Definition eFEXtauBDT.h:117
bool m_eTEstimateOverflow
Definition eFEXtauBDT.h:120
unsigned int * m_bdtMinEtThreshold
Definition eFEXtauBDT.h:116
unsigned int * m_bdtThresholds[3]
Definition eFEXtauBDT.h:112
unsigned int m_bdtScoreShifted
Definition eFEXtauBDT.h:118
#define PARAM_WIDTH

◆ computeBDTScore()

void LVL1::eFEXtauBDT::computeBDTScore ( )

Definition at line 214 of file eFEXtauBDT.cxx.

214 {
215 // Need BDT variables to be computed
216 if (m_bdtVarsComputed == false) {
217 m_log->msg(MSG::DEBUG)
218 << "BDT Variables not computed. BDT score will be garbage." << endmsg;
219 }
220
221 m_bdtScore = m_bdt.getBDT().decision_function(m_bdtVars)[0];
222 m_log->msg(MSG::DEBUG) << "BDT Score: " << m_bdtScore << endmsg;
223}

◆ computeEMETEstimate()

void LVL1::eFEXtauBDT::computeEMETEstimate ( )

Definition at line 231 of file eFEXtauBDT.cxx.

231 {
234 m_log->msg(MSG::DEBUG) << "EM ET Estimate: " << m_EM_eTEstimate << endmsg;
235}
bool m_EM_eTEstimateOverflow
Definition eFEXtauBDT.h:122
std::vector< unsigned int * > m_EM_eTComputeSCellPointers
Definition eFEXtauBDT.h:144
unsigned int m_EM_eTEstimate
Definition eFEXtauBDT.h:121

◆ computeEstimate()

unsigned int LVL1::eFEXtauBDT::computeEstimate ( std::vector< unsigned int * > & ptr_list,
bool & overflow,
int resultNBits )
private

Definition at line 278 of file eFEXtauBDT.cxx.

279 {
280 unsigned int estimate = 0;
281 overflow = false;
282 for (unsigned int *it : ptr_list) {
283 estimate += *it;
284 if (isOverflow(estimate, resultNBits)) {
285 overflow = true;
286 }
287 }
288 return estimate;
289}
bool isOverflow(unsigned int number, int nBits)
REAL estimate(const int &elen, REAL *e)

◆ computeETEstimate()

void LVL1::eFEXtauBDT::computeETEstimate ( )

Definition at line 225 of file eFEXtauBDT.cxx.

225 {
228 m_log->msg(MSG::DEBUG) << "ET Estimate: " << m_eTEstimate << endmsg;
229}
std::vector< unsigned int * > m_eTComputeSCellPointers
Definition eFEXtauBDT.h:143

◆ computeFracCondition()

void LVL1::eFEXtauBDT::computeFracCondition ( )

Definition at line 318 of file eFEXtauBDT.cxx.

318 {
319 int n_multipliers = sizeof(m_fracMultipliers) / sizeof(m_fracMultipliers[0]);
320
323
324 m_fracCondition = (1 << (n_multipliers - 1)) - 1;
325 return;
326 }
327
329 m_fracCondition = 0;
330 return;
331 }
332
334 int i = 0;
335 for (; i < n_multipliers; i++) {
336
337 bool overflow;
340 m_emEtXMultiplierOverflow[i] = (int)overflow;
341
344 break;
345 }
346 }
348}
unsigned int BitLeftShift(unsigned int number, int by, int totalNBits)
unsigned int m_hadEstimateShifted
Definition eFEXtauBDT.h:128
unsigned int multWithOverflow(unsigned int a, unsigned int b, bool &overflow, int resultNBits)
unsigned int m_fracCondition
Definition eFEXtauBDT.h:125
unsigned int * m_maxEtThresholdFrac
Definition eFEXtauBDT.h:115
unsigned int m_HAD_eTEstimate
Definition eFEXtauBDT.h:123
bool m_HAD_eTEstimateOverflow
Definition eFEXtauBDT.h:124

◆ computeHADETEstimate()

void LVL1::eFEXtauBDT::computeHADETEstimate ( )

Definition at line 237 of file eFEXtauBDT.cxx.

237 {
240 m_log->msg(MSG::DEBUG) << "HAD ET Estimate: " << m_HAD_eTEstimate << endmsg;
241}
std::vector< unsigned int * > m_HAD_eTComputeSCellPointers
Definition eFEXtauBDT.h:145

◆ computeIsCentralTowerSeed()

void LVL1::eFEXtauBDT::computeIsCentralTowerSeed ( )

Definition at line 377 of file eFEXtauBDT.cxx.

377 {
378 m_isSeeded = true;
379
380 // Get central tower ET
381 unsigned int centralET = m_towers[4];
382
383 // Loop over all cells and check that the central tower is a local maximum
384 for (unsigned int beta = 0; beta < 3; beta++) {
385 for (unsigned int bphi = 0; bphi < 3; bphi++) {
386 int flatIndex = flatTowerIndex(beta, bphi);
387 // Don't need to compare central cell with itself
388 if ((beta == 1) && (bphi == 1)) {
389 continue;
390 }
391
392 // Cells to the up and right must have strictly lesser ET
393 if (beta == 2 || (beta == 1 && bphi == 2)) {
394 if (centralET <= m_towers[flatIndex]) {
395 m_isSeeded = false;
396 }
397 }
398 // Cells down and to the left must have lesser or equal ET. If strictly
399 // lesser would create zero TOB if two adjacent cells had equal energy
400 else if (beta == 0 || (beta == 1 && bphi == 0)) {
401 if (centralET < m_towers[flatIndex]) {
402 m_isSeeded = false;
403 }
404 }
405 }
406 }
407
409 m_isSeeded = false;
410 }
411
412 m_log->msg(MSG::DEBUG) << "Seeded: " << (int)m_isSeeded << endmsg;
413}
int flatTowerIndex(int eta, int phi)
unsigned int * m_etThreshold
Definition eFEXtauBDT.h:113

◆ computeTowers()

void LVL1::eFEXtauBDT::computeTowers ( )

Definition at line 257 of file eFEXtauBDT.cxx.

257 {
258 for (size_t i = 0; i < m_towers.size(); i++) {
259 bool overflow;
262 if (overflow) {
263 m_towers[i] = (1 << ENERGY_WIDTH) - 1;
264 }
265 }
266
268}
std::vector< std::vector< unsigned int * > > m_towersComputeSCellPointers
Definition eFEXtauBDT.h:146

◆ debugPrintBDTVariables()

void LVL1::eFEXtauBDT::debugPrintBDTVariables ( )

Definition at line 191 of file eFEXtauBDT.cxx.

191 {
192 std::string bdtVariables = "";
193 for (size_t i = 0; i < m_bdtVars.size(); i++) {
194 bdtVariables += std::to_string(m_bdtVars[i]) + " ";
195 }
196
197 m_log->msg(MSG::DEBUG) << "BDT Variables: " << bdtVariables << endmsg;
198}

◆ debugPrintTowers()

void LVL1::eFEXtauBDT::debugPrintTowers ( )

Definition at line 243 of file eFEXtauBDT.cxx.

243 {
244 m_log->msg(MSG::DEBUG) << "Towers Estimate: " << endmsg;
245 for (int eta = 0; eta < 3; eta++) {
246 for (int phi = 0; phi < 3; phi++) {
247 int flatIndex = flatTowerIndex(eta, phi);
248 m_log->msg(MSG::DEBUG)
249 << "Tower " << flatIndex << " ET (eta=" << eta << ", phi=" << phi
250 << "): " << m_towers[flatIndex] << endmsg;
251 }
252 }
253}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ flatTowerIndex()

int LVL1::eFEXtauBDT::flatTowerIndex ( int eta,
int phi )
inline

Definition at line 255 of file eFEXtauBDT.cxx.

255{ return 3 * phi + eta; }

◆ getBDTCondition()

unsigned int LVL1::eFEXtauBDT::getBDTCondition ( ) const
inline

Definition at line 87 of file eFEXtauBDT.h.

87{ return m_bdtCondition; }

◆ getBDTScore()

unsigned int LVL1::eFEXtauBDT::getBDTScore ( ) const
inline

Definition at line 89 of file eFEXtauBDT.h.

89{ return m_bdtScore; }

◆ getBDTScoreShifted()

unsigned int LVL1::eFEXtauBDT::getBDTScoreShifted ( ) const
inline

Definition at line 79 of file eFEXtauBDT.h.

79{ return m_bdtScoreShifted; }

◆ getBDTVars()

std::vector< unsigned int > & LVL1::eFEXtauBDT::getBDTVars ( )
inline

Definition at line 71 of file eFEXtauBDT.h.

71{ return m_bdtVars; }

◆ getEMETEstimate()

unsigned int LVL1::eFEXtauBDT::getEMETEstimate ( ) const
inline

Definition at line 63 of file eFEXtauBDT.h.

63{ return m_EM_eTEstimate; }

◆ getEMETEstimateOverflow()

unsigned int LVL1::eFEXtauBDT::getEMETEstimateOverflow ( ) const
inline

Definition at line 64 of file eFEXtauBDT.h.

64 {
66 }

◆ getEMMultipliedByFracParams()

std::vector< unsigned int > & LVL1::eFEXtauBDT::getEMMultipliedByFracParams ( )
inline

Definition at line 73 of file eFEXtauBDT.h.

73 {
74 return m_emEtXMultiplier;
75 }

◆ getEMMultipliedByFracParamsOverflow()

std::vector< unsigned int > & LVL1::eFEXtauBDT::getEMMultipliedByFracParamsOverflow ( )
inline

Definition at line 76 of file eFEXtauBDT.h.

76 {
78 }

◆ getET()

unsigned int LVL1::eFEXtauBDT::getET ( ) const

Definition at line 415 of file eFEXtauBDT.cxx.

415 {
417 return (1 << ENERGY_WIDTH) - 1;
418 }
420 return 0;
421 }
422 return m_eTEstimate;
423}

◆ getETEstimate()

unsigned int LVL1::eFEXtauBDT::getETEstimate ( ) const
inline

Definition at line 62 of file eFEXtauBDT.h.

62{ return m_eTEstimate; }

◆ getFracCondition()

unsigned int LVL1::eFEXtauBDT::getFracCondition ( ) const
inline

Definition at line 88 of file eFEXtauBDT.h.

88{ return m_fracCondition; }

◆ getHADETEstimate()

unsigned int LVL1::eFEXtauBDT::getHADETEstimate ( ) const
inline

Definition at line 67 of file eFEXtauBDT.h.

67{ return m_HAD_eTEstimate; }

◆ getHADETEstimateOverflow()

unsigned int LVL1::eFEXtauBDT::getHADETEstimateOverflow ( ) const
inline

Definition at line 68 of file eFEXtauBDT.h.

68 {
70 }

◆ getIsMax()

unsigned int LVL1::eFEXtauBDT::getIsMax ( ) const
inline

Definition at line 86 of file eFEXtauBDT.h.

86{ return m_isSeeded; }

◆ getTOBETOverflow()

unsigned int LVL1::eFEXtauBDT::getTOBETOverflow ( ) const
inline

Definition at line 85 of file eFEXtauBDT.h.

85{ return m_eTEstimateOverflow; }

◆ getTowers()

std::vector< unsigned int > & LVL1::eFEXtauBDT::getTowers ( )
inline

Definition at line 72 of file eFEXtauBDT.h.

72{ return m_towers; }

◆ initBDTVars()

void LVL1::eFEXtauBDT::initBDTVars ( )

Definition at line 149 of file eFEXtauBDT.cxx.

149 {
150 for (size_t i = 0; i < m_bdt.getVariables().size(); i++) {
151 BDTVariable var = m_bdt.getVariables()[i];
152
153 m_log->msg(MSG::DEBUG) << i << " is " << var.m_name << ", sum of supercells"
154 << endmsg;
155 std::vector<unsigned int *> pointersToSCells;
156 for (size_t j = 0; j < var.m_scells.size(); j++) {
157 int eta = var.m_scells[j][0];
158 int phi = var.m_scells[j][1];
159 int layer = var.m_scells[j][2];
160 m_log->msg(MSG::DEBUG) << "\teta=" << eta << "\tphi=" << phi
161 << "\tlayer=" << layer << endmsg;
162 unsigned int *ptr = superCellToPtr(eta, phi, layer);
163 if (ptr == 0) {
164 m_log->msg(MSG::DEBUG)
165 << "Could not convert eta=" << eta << " phi=" << phi
166 << " layer=" << layer
167 << " to a pointer to supercell. Are they within range?" << endmsg;
168 throw std::domain_error(
169 std::string("Could not convert eta=") + std::to_string(eta) +
170 " phi=" + std::to_string(phi) + " layer=" + std::to_string(layer) +
171 " to a pointer to supercell. Are they within range?");
172 }
173 pointersToSCells.push_back(ptr);
174 }
175
176 m_bdtVarComputeSCellPointers.push_back(std::move(pointersToSCells));
177 }
178}
unsigned int * superCellToPtr(int eta, int phi, int layer)
@ layer
Definition HitInfo.h:79
void * ptr(T *p)
Definition SGImplSvc.cxx:74

◆ initEMETPointers()

void LVL1::eFEXtauBDT::initEMETPointers ( )

Definition at line 109 of file eFEXtauBDT.cxx.

109 {
111}
void initPointers(const std::vector< std::vector< int > > &scells, std::vector< unsigned int * > &ptr_list)

◆ initETPointers()

void LVL1::eFEXtauBDT::initETPointers ( )

Definition at line 105 of file eFEXtauBDT.cxx.

105 {
107}

◆ initHADETPointers()

void LVL1::eFEXtauBDT::initHADETPointers ( )

Definition at line 113 of file eFEXtauBDT.cxx.

113 {
115}

◆ initPointers()

void LVL1::eFEXtauBDT::initPointers ( const std::vector< std::vector< int > > & scells,
std::vector< unsigned int * > & ptr_list )
private

Definition at line 117 of file eFEXtauBDT.cxx.

118 {
119 m_log->msg(MSG::DEBUG) << "Will use sum of supercells: " << endmsg;
120 for (const auto& scell : scells) {
121 int eta = scell[0];
122 int phi = scell[1];
123 int layer = scell[2];
124 m_log->msg(MSG::DEBUG) << "\teta=" << eta << "\tphi=" << phi
125 << "\tlayer=" << layer << endmsg;
126 unsigned int *ptr = superCellToPtr(eta, phi, layer);
127 if (ptr == 0) {
128 m_log->msg(MSG::DEBUG)
129 << "Could not convert eta=" << eta << " phi=" << phi
130 << " layer=" << layer
131 << " to a pointer to supercell. Are they within range?" << endmsg;
132 throw std::domain_error(
133 std::string("Could not convert eta=") + std::to_string(eta) +
134 " phi=" + std::to_string(phi) + " layer=" + std::to_string(layer) +
135 " to a pointer to supercell. Are they within range?");
136 }
137 ptr_list.push_back(ptr);
138 }
139}

◆ initTowersPointers()

void LVL1::eFEXtauBDT::initTowersPointers ( )

Definition at line 141 of file eFEXtauBDT.cxx.

141 {
142 m_towersComputeSCellPointers.resize(m_bdt.getNTowers());
143 for (size_t i = 0; i < m_towers.size(); i++) {
144 m_log->msg(MSG::DEBUG) << "Tower " << i << endmsg;
145 initPointers(m_bdt.getTowerSCells(i), m_towersComputeSCellPointers[i]);
146 }
147}

◆ isOverflow()

bool LVL1::eFEXtauBDT::isOverflow ( unsigned int number,
int nBits )
inline

Definition at line 270 of file eFEXtauBDT.cxx.

270 {
271 if ((number >> nBits) != 0) {
272 return true;
273 }
274 return false;
275}

◆ multWithOverflow()

unsigned int LVL1::eFEXtauBDT::multWithOverflow ( unsigned int a,
unsigned int b,
bool & overflow,
int resultNBits )

Definition at line 291 of file eFEXtauBDT.cxx.

293 {
294 overflow = false;
295 if (b == 0) {
296 return 0;
297 }
298 unsigned int result = a * b;
299 if (a != result / b) {
300 // This shouldn't happen (a and b are in reality 16 bit numbers), but just
301 // in case.
302 overflow = true;
303 }
304
305 overflow = isOverflow(result, resultNBits);
306
307 return result;
308}
static Double_t a

◆ next()

void LVL1::eFEXtauBDT::next ( )

Definition at line 180 of file eFEXtauBDT.cxx.

◆ setPointerToBDTMinETParam()

void LVL1::eFEXtauBDT::setPointerToBDTMinETParam ( unsigned int * bdtMinEtThreshold)

Definition at line 78 of file eFEXtauBDT.cxx.

79 {
80 m_bdtMinEtThreshold = bdtMinEtThreshold;
81}

◆ setPointerToBDTThresholdsParam()

void LVL1::eFEXtauBDT::setPointerToBDTThresholdsParam ( int index,
unsigned int * bdtThresholds )

Definition at line 59 of file eFEXtauBDT.cxx.

60 {
61 m_bdtThresholds[index] = bdtThresholdPtr;
62}
str index
Definition DeMoScan.py:362

◆ setPointerToETThresholdParam()

void LVL1::eFEXtauBDT::setPointerToETThresholdParam ( unsigned int * etThreshold)

Definition at line 64 of file eFEXtauBDT.cxx.

64 {
65 m_etThreshold = etThreshold;
66}

◆ setPointerToFracMultipliersParam()

void LVL1::eFEXtauBDT::setPointerToFracMultipliersParam ( int index,
unsigned int * fracMultipliers )

Definition at line 54 of file eFEXtauBDT.cxx.

55 {
56 m_fracMultipliers[index] = fracMultiplierPtr;
57}

◆ setPointerToMaxETParam()

void LVL1::eFEXtauBDT::setPointerToMaxETParam ( unsigned int * maxEtThreshold)

Definition at line 68 of file eFEXtauBDT.cxx.

69 {
70 m_maxEtThreshold = maxEtThreshold;
71}

◆ setPointerToMaxETParamFrac()

void LVL1::eFEXtauBDT::setPointerToMaxETParamFrac ( unsigned int * maxEtThreshold)

Definition at line 73 of file eFEXtauBDT.cxx.

74 {
75 m_maxEtThresholdFrac = maxEtThreshold;
76}

◆ setPointerToSCell()

void LVL1::eFEXtauBDT::setPointerToSCell ( int eta,
int phi,
int layer,
unsigned int * sCellPtr )

Definition at line 33 of file eFEXtauBDT.cxx.

34 {
35 switch (layer) {
36 case 0:
37 m_em0cells[eta][phi] = sCellPtr;
38 break;
39 case 1:
40 m_em1cells[eta][phi] = sCellPtr;
41 break;
42 case 2:
43 m_em2cells[eta][phi] = sCellPtr;
44 break;
45 case 3:
46 m_em3cells[eta][phi] = sCellPtr;
47 break;
48 case 4:
49 m_hadcells[eta][phi] = sCellPtr;
50 break;
51 }
52}
unsigned int * m_em3cells[3][3]
Definition eFEXtauBDT.h:109
unsigned int * m_em1cells[12][3]
Definition eFEXtauBDT.h:107
unsigned int * m_hadcells[3][3]
Definition eFEXtauBDT.h:110
unsigned int * m_em2cells[12][3]
Definition eFEXtauBDT.h:108
unsigned int * m_em0cells[3][3]
Definition eFEXtauBDT.h:106

◆ superCellToPtr()

unsigned int * LVL1::eFEXtauBDT::superCellToPtr ( int eta,
int phi,
int layer )
private

Definition at line 83 of file eFEXtauBDT.cxx.

83 {
84 unsigned int *ptr = 0;
85 switch (layer) {
86 case 0:
88 break;
89 case 1:
91 break;
92 case 2:
94 break;
95 case 3:
97 break;
98 case 4:
100 break;
101 }
102 return ptr;
103}

Member Data Documentation

◆ m_bdt

eFEXBDT LVL1::eFEXtauBDT::m_bdt
private

Definition at line 149 of file eFEXtauBDT.h.

◆ m_bdtCondition

unsigned int LVL1::eFEXtauBDT::m_bdtCondition = 0
private

Definition at line 126 of file eFEXtauBDT.h.

◆ m_bdtMinEtThreshold

unsigned int* LVL1::eFEXtauBDT::m_bdtMinEtThreshold {}
private

Definition at line 116 of file eFEXtauBDT.h.

116{};

◆ m_bdtScore

unsigned int LVL1::eFEXtauBDT::m_bdtScore = 0
private

Definition at line 117 of file eFEXtauBDT.h.

◆ m_bdtScoreShifted

unsigned int LVL1::eFEXtauBDT::m_bdtScoreShifted = 0
private

Definition at line 118 of file eFEXtauBDT.h.

◆ m_bdtThresholds

unsigned int* LVL1::eFEXtauBDT::m_bdtThresholds[3] {}
private

Definition at line 112 of file eFEXtauBDT.h.

112{};

◆ m_bdtVarComputeSCellPointers

std::vector<std::vector<unsigned int *> > LVL1::eFEXtauBDT::m_bdtVarComputeSCellPointers
private

Definition at line 139 of file eFEXtauBDT.h.

◆ m_bdtVars

std::vector<unsigned int> LVL1::eFEXtauBDT::m_bdtVars
private

Definition at line 134 of file eFEXtauBDT.h.

◆ m_bdtVarsComputed

bool LVL1::eFEXtauBDT::m_bdtVarsComputed = false
private

Definition at line 148 of file eFEXtauBDT.h.

◆ m_em0cells

unsigned int* LVL1::eFEXtauBDT::m_em0cells[3][3] {}
private

Definition at line 106 of file eFEXtauBDT.h.

106{};

◆ m_em1cells

unsigned int* LVL1::eFEXtauBDT::m_em1cells[12][3] {}
private

Definition at line 107 of file eFEXtauBDT.h.

107{};

◆ m_em2cells

unsigned int* LVL1::eFEXtauBDT::m_em2cells[12][3] {}
private

Definition at line 108 of file eFEXtauBDT.h.

108{};

◆ m_em3cells

unsigned int* LVL1::eFEXtauBDT::m_em3cells[3][3] {}
private

Definition at line 109 of file eFEXtauBDT.h.

109{};

◆ m_EM_eTComputeSCellPointers

std::vector<unsigned int *> LVL1::eFEXtauBDT::m_EM_eTComputeSCellPointers
private

Definition at line 144 of file eFEXtauBDT.h.

◆ m_EM_eTEstimate

unsigned int LVL1::eFEXtauBDT::m_EM_eTEstimate = 0
private

Definition at line 121 of file eFEXtauBDT.h.

◆ m_EM_eTEstimateOverflow

bool LVL1::eFEXtauBDT::m_EM_eTEstimateOverflow = 0
private

Definition at line 122 of file eFEXtauBDT.h.

◆ m_emEtXMultiplier

std::vector<unsigned int> LVL1::eFEXtauBDT::m_emEtXMultiplier
private

Definition at line 129 of file eFEXtauBDT.h.

◆ m_emEtXMultiplierOverflow

std::vector<unsigned int> LVL1::eFEXtauBDT::m_emEtXMultiplierOverflow
private

Definition at line 130 of file eFEXtauBDT.h.

◆ m_eTComputeSCellPointers

std::vector<unsigned int *> LVL1::eFEXtauBDT::m_eTComputeSCellPointers
private

Definition at line 143 of file eFEXtauBDT.h.

◆ m_eTEstimate

unsigned int LVL1::eFEXtauBDT::m_eTEstimate = 0
private

Definition at line 119 of file eFEXtauBDT.h.

◆ m_eTEstimateOverflow

bool LVL1::eFEXtauBDT::m_eTEstimateOverflow = false
private

Definition at line 120 of file eFEXtauBDT.h.

◆ m_etThreshold

unsigned int* LVL1::eFEXtauBDT::m_etThreshold {}
private

Definition at line 113 of file eFEXtauBDT.h.

113{};

◆ m_fracCondition

unsigned int LVL1::eFEXtauBDT::m_fracCondition = 0
private

Definition at line 125 of file eFEXtauBDT.h.

◆ m_fracMultipliers

unsigned int* LVL1::eFEXtauBDT::m_fracMultipliers[3] {}
private

Definition at line 111 of file eFEXtauBDT.h.

111{};

◆ m_HAD_eTComputeSCellPointers

std::vector<unsigned int *> LVL1::eFEXtauBDT::m_HAD_eTComputeSCellPointers
private

Definition at line 145 of file eFEXtauBDT.h.

◆ m_HAD_eTEstimate

unsigned int LVL1::eFEXtauBDT::m_HAD_eTEstimate = 0
private

Definition at line 123 of file eFEXtauBDT.h.

◆ m_HAD_eTEstimateOverflow

bool LVL1::eFEXtauBDT::m_HAD_eTEstimateOverflow = false
private

Definition at line 124 of file eFEXtauBDT.h.

◆ m_hadcells

unsigned int* LVL1::eFEXtauBDT::m_hadcells[3][3] {}
private

Definition at line 110 of file eFEXtauBDT.h.

110{};

◆ m_hadEstimateShifted

unsigned int LVL1::eFEXtauBDT::m_hadEstimateShifted = 0
private

Definition at line 128 of file eFEXtauBDT.h.

◆ m_isSeeded

bool LVL1::eFEXtauBDT::m_isSeeded = false
private

Definition at line 127 of file eFEXtauBDT.h.

◆ m_log

AthAlgTool* LVL1::eFEXtauBDT::m_log
private

Definition at line 150 of file eFEXtauBDT.h.

◆ m_maxEtThreshold

unsigned int* LVL1::eFEXtauBDT::m_maxEtThreshold {}
private

Definition at line 114 of file eFEXtauBDT.h.

114{};

◆ m_maxEtThresholdFrac

unsigned int* LVL1::eFEXtauBDT::m_maxEtThresholdFrac {}
private

Definition at line 115 of file eFEXtauBDT.h.

115{};

◆ m_towers

std::vector<unsigned int> LVL1::eFEXtauBDT::m_towers
private

Definition at line 131 of file eFEXtauBDT.h.

◆ m_towersComputeSCellPointers

std::vector<std::vector<unsigned int *> > LVL1::eFEXtauBDT::m_towersComputeSCellPointers
private

Definition at line 146 of file eFEXtauBDT.h.


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