ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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. More...
 
virtual ~eFEXtauBDT ()
 Destructor. More...
 
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 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_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 }

◆ ~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 305 of file eFEXtauBDT.cxx.

306  {
307  if ((number >> (totalNBits - by)) != 0) {
308  return (1 << totalNBits) - 1;
309  }
310  return number << by;
311 }

◆ buildBDTVariables()

void LVL1::eFEXtauBDT::buildBDTVariables ( )

Definition at line 196 of file eFEXtauBDT.cxx.

196  {
197  for (size_t i = 0; i < m_bdtVarComputeSCellPointers.size(); i++) {
198  bool overflow;
200  ENERGY_WIDTH);
201  if (overflow) {
202  m_bdtVars[i] = (1 << ENERGY_WIDTH) - 1;
203  }
204  }
206  m_bdtVarsComputed = true;
207 }

◆ computeBDTCondition()

void LVL1::eFEXtauBDT::computeBDTCondition ( )

Definition at line 345 of file eFEXtauBDT.cxx.

345  {
346  computeBDTScore();
347  int n_thresholds = sizeof(m_bdtThresholds) / sizeof(m_bdtThresholds[0]);
348 
349  int toShiftRight = m_bdt.getScorePrecision() - PARAM_WIDTH;
350  // Only compare the MSB bits of the BDT score to the thresholds provided in
351  // the parameters
352  m_bdtScoreShifted = (m_bdtScore >> toShiftRight);
353 
356 
357  m_bdtCondition = (1 << (n_thresholds - 1)) - 1;
358  return;
359  }
360 
361  int i = 0;
362  for (; i < n_thresholds; i++) {
363  if (m_bdtScoreShifted < *(m_bdtThresholds[i])) {
364  break;
365  }
366  }
367  m_bdtCondition = i;
368 }

◆ computeBDTScore()

void LVL1::eFEXtauBDT::computeBDTScore ( )

Definition at line 209 of file eFEXtauBDT.cxx.

209  {
210  // Need BDT variables to be computed
211  if (m_bdtVarsComputed == false) {
213  << "BDT Variables not computed. BDT score will be garbage." << endmsg;
214  }
215 
217  m_log->msg(MSG::DEBUG) << "BDT Score: " << m_bdtScore << endmsg;
218 }

◆ computeEMETEstimate()

void LVL1::eFEXtauBDT::computeEMETEstimate ( )

Definition at line 226 of file eFEXtauBDT.cxx.

◆ computeEstimate()

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

Definition at line 273 of file eFEXtauBDT.cxx.

274  {
275  unsigned int estimate = 0;
276  overflow = false;
277  for (unsigned int *it : ptr_list) {
278  estimate += *it;
279  if (isOverflow(estimate, resultNBits)) {
280  overflow = true;
281  }
282  }
283  return estimate;
284 }

◆ computeETEstimate()

void LVL1::eFEXtauBDT::computeETEstimate ( )

Definition at line 220 of file eFEXtauBDT.cxx.

◆ computeFracCondition()

void LVL1::eFEXtauBDT::computeFracCondition ( )

Definition at line 313 of file eFEXtauBDT.cxx.

313  {
314  int n_multipliers = sizeof(m_fracMultipliers) / sizeof(m_fracMultipliers[0]);
315 
318 
319  m_fracCondition = (1 << (n_multipliers - 1)) - 1;
320  return;
321  }
322 
324  m_fracCondition = 0;
325  return;
326  }
327 
329  int i = 0;
330  for (; i < n_multipliers; i++) {
331 
332  bool overflow;
335  m_emEtXMultiplierOverflow[i] = (int)overflow;
336 
339  break;
340  }
341  }
342  m_fracCondition = i;
343 }

◆ computeHADETEstimate()

void LVL1::eFEXtauBDT::computeHADETEstimate ( )

Definition at line 232 of file eFEXtauBDT.cxx.

◆ computeIsCentralTowerSeed()

void LVL1::eFEXtauBDT::computeIsCentralTowerSeed ( )

Definition at line 372 of file eFEXtauBDT.cxx.

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

◆ computeTowers()

void LVL1::eFEXtauBDT::computeTowers ( )

Definition at line 252 of file eFEXtauBDT.cxx.

252  {
253  for (size_t i = 0; i < m_towers.size(); i++) {
254  bool overflow;
256  ENERGY_WIDTH);
257  if (overflow) {
258  m_towers[i] = (1 << ENERGY_WIDTH) - 1;
259  }
260  }
261 
263 }

◆ debugPrintBDTVariables()

void LVL1::eFEXtauBDT::debugPrintBDTVariables ( )

Definition at line 186 of file eFEXtauBDT.cxx.

186  {
187  std::string bdtVariables = "";
188  for (size_t i = 0; i < m_bdtVars.size(); i++) {
189  bdtVariables += std::to_string(m_bdtVars[i]) + " ";
190  }
191 
192  m_log->msg(MSG::DEBUG) << "BDT Variables: " << bdtVariables << endmsg;
193 }

◆ debugPrintTowers()

void LVL1::eFEXtauBDT::debugPrintTowers ( )

Definition at line 238 of file eFEXtauBDT.cxx.

238  {
239  m_log->msg(MSG::DEBUG) << "Towers Estimate: " << endmsg;
240  for (int eta = 0; eta < 3; eta++) {
241  for (int phi = 0; phi < 3; phi++) {
242  int flatIndex = flatTowerIndex(eta, phi);
244  << "Tower " << flatIndex << " ET (eta=" << eta << ", phi=" << phi
245  << "): " << m_towers[flatIndex] << endmsg;
246  }
247  }
248 }

◆ flatTowerIndex()

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

Definition at line 250 of file eFEXtauBDT.cxx.

250 { return 3 * phi + eta; }

◆ getBDTCondition()

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

Definition at line 86 of file eFEXtauBDT.h.

86 { return m_bdtCondition; }

◆ getBDTScore()

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

Definition at line 88 of file eFEXtauBDT.h.

88 { return m_bdtScore; }

◆ getBDTScoreShifted()

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

Definition at line 78 of file eFEXtauBDT.h.

78 { return m_bdtScoreShifted; }

◆ getBDTVars()

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

Definition at line 70 of file eFEXtauBDT.h.

70 { return m_bdtVars; }

◆ getEMETEstimate()

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

Definition at line 62 of file eFEXtauBDT.h.

62 { return m_EM_eTEstimate; }

◆ getEMETEstimateOverflow()

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

Definition at line 63 of file eFEXtauBDT.h.

63  {
65  }

◆ getEMMultipliedByFracParams()

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

Definition at line 72 of file eFEXtauBDT.h.

72  {
73  return m_emEtXMultiplier;
74  }

◆ getEMMultipliedByFracParamsOverflow()

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

Definition at line 75 of file eFEXtauBDT.h.

75  {
77  }

◆ getET()

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

Definition at line 410 of file eFEXtauBDT.cxx.

410  {
411  if (m_eTEstimateOverflow) {
412  return (1 << ENERGY_WIDTH) - 1;
413  }
414  if (m_eTEstimate < *m_etThreshold) {
415  return 0;
416  }
417  return m_eTEstimate;
418 }

◆ getETEstimate()

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

Definition at line 61 of file eFEXtauBDT.h.

61 { return m_eTEstimate; }

◆ getFracCondition()

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

Definition at line 87 of file eFEXtauBDT.h.

87 { return m_fracCondition; }

◆ getHADETEstimate()

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

Definition at line 66 of file eFEXtauBDT.h.

66 { return m_HAD_eTEstimate; }

◆ getHADETEstimateOverflow()

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

Definition at line 67 of file eFEXtauBDT.h.

67  {
69  }

◆ getIsMax()

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

Definition at line 85 of file eFEXtauBDT.h.

85 { return m_isSeeded; }

◆ getTOBETOverflow()

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

Definition at line 84 of file eFEXtauBDT.h.

84 { return m_eTEstimateOverflow; }

◆ getTowers()

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

Definition at line 71 of file eFEXtauBDT.h.

71 { return m_towers; }

◆ initBDTVars()

void LVL1::eFEXtauBDT::initBDTVars ( )

Definition at line 144 of file eFEXtauBDT.cxx.

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

◆ initEMETPointers()

void LVL1::eFEXtauBDT::initEMETPointers ( )

Definition at line 104 of file eFEXtauBDT.cxx.

◆ initETPointers()

void LVL1::eFEXtauBDT::initETPointers ( )

Definition at line 100 of file eFEXtauBDT.cxx.

◆ initHADETPointers()

void LVL1::eFEXtauBDT::initHADETPointers ( )

Definition at line 108 of file eFEXtauBDT.cxx.

◆ initPointers()

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

Definition at line 112 of file eFEXtauBDT.cxx.

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

◆ initTowersPointers()

void LVL1::eFEXtauBDT::initTowersPointers ( )

Definition at line 136 of file eFEXtauBDT.cxx.

136  {
138  for (size_t i = 0; i < m_towers.size(); i++) {
139  m_log->msg(MSG::DEBUG) << "Tower " << i << endmsg;
141  }
142 }

◆ isOverflow()

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

Definition at line 265 of file eFEXtauBDT.cxx.

265  {
266  if ((number >> nBits) != 0) {
267  return true;
268  }
269  return false;
270 }

◆ multWithOverflow()

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

Definition at line 286 of file eFEXtauBDT.cxx.

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

◆ next()

void LVL1::eFEXtauBDT::next ( )

Definition at line 175 of file eFEXtauBDT.cxx.

◆ setPointerToBDTMinETParam()

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

Definition at line 73 of file eFEXtauBDT.cxx.

74  {
75  m_bdtMinEtThreshold = bdtMinEtThreshold;
76 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ superCellToPtr()

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

Definition at line 78 of file eFEXtauBDT.cxx.

78  {
79  unsigned int *ptr = 0;
80  switch (layer) {
81  case 0:
82  ptr = m_em0cells[eta][phi];
83  break;
84  case 1:
85  ptr = m_em1cells[eta][phi];
86  break;
87  case 2:
88  ptr = m_em2cells[eta][phi];
89  break;
90  case 3:
91  ptr = m_em3cells[eta][phi];
92  break;
93  case 4:
94  ptr = m_hadcells[eta][phi];
95  break;
96  }
97  return ptr;
98 }

Member Data Documentation

◆ m_bdt

eFEXBDT LVL1::eFEXtauBDT::m_bdt
private

Definition at line 147 of file eFEXtauBDT.h.

◆ m_bdtCondition

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

Definition at line 124 of file eFEXtauBDT.h.

◆ m_bdtMinEtThreshold

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

Definition at line 114 of file eFEXtauBDT.h.

◆ m_bdtScore

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

Definition at line 115 of file eFEXtauBDT.h.

◆ m_bdtScoreShifted

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

Definition at line 116 of file eFEXtauBDT.h.

◆ m_bdtThresholds

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

Definition at line 111 of file eFEXtauBDT.h.

◆ m_bdtVarComputeSCellPointers

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

Definition at line 137 of file eFEXtauBDT.h.

◆ m_bdtVars

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

Definition at line 132 of file eFEXtauBDT.h.

◆ m_bdtVarsComputed

bool LVL1::eFEXtauBDT::m_bdtVarsComputed = false
private

Definition at line 146 of file eFEXtauBDT.h.

◆ m_em0cells

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

Definition at line 105 of file eFEXtauBDT.h.

◆ m_em1cells

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

Definition at line 106 of file eFEXtauBDT.h.

◆ m_em2cells

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

Definition at line 107 of file eFEXtauBDT.h.

◆ m_em3cells

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

Definition at line 108 of file eFEXtauBDT.h.

◆ m_EM_eTComputeSCellPointers

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

Definition at line 142 of file eFEXtauBDT.h.

◆ m_EM_eTEstimate

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

Definition at line 119 of file eFEXtauBDT.h.

◆ m_EM_eTEstimateOverflow

bool LVL1::eFEXtauBDT::m_EM_eTEstimateOverflow = 0
private

Definition at line 120 of file eFEXtauBDT.h.

◆ m_emEtXMultiplier

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

Definition at line 127 of file eFEXtauBDT.h.

◆ m_emEtXMultiplierOverflow

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

Definition at line 128 of file eFEXtauBDT.h.

◆ m_eTComputeSCellPointers

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

Definition at line 141 of file eFEXtauBDT.h.

◆ m_eTEstimate

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

Definition at line 117 of file eFEXtauBDT.h.

◆ m_eTEstimateOverflow

bool LVL1::eFEXtauBDT::m_eTEstimateOverflow = false
private

Definition at line 118 of file eFEXtauBDT.h.

◆ m_etThreshold

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

Definition at line 112 of file eFEXtauBDT.h.

◆ m_fracCondition

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

Definition at line 123 of file eFEXtauBDT.h.

◆ m_fracMultipliers

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

Definition at line 110 of file eFEXtauBDT.h.

◆ m_HAD_eTComputeSCellPointers

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

Definition at line 143 of file eFEXtauBDT.h.

◆ m_HAD_eTEstimate

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

Definition at line 121 of file eFEXtauBDT.h.

◆ m_HAD_eTEstimateOverflow

bool LVL1::eFEXtauBDT::m_HAD_eTEstimateOverflow = false
private

Definition at line 122 of file eFEXtauBDT.h.

◆ m_hadcells

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

Definition at line 109 of file eFEXtauBDT.h.

◆ m_hadEstimateShifted

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

Definition at line 126 of file eFEXtauBDT.h.

◆ m_isSeeded

bool LVL1::eFEXtauBDT::m_isSeeded = false
private

Definition at line 125 of file eFEXtauBDT.h.

◆ m_log

AthAlgTool* LVL1::eFEXtauBDT::m_log
private

Definition at line 148 of file eFEXtauBDT.h.

◆ m_maxEtThreshold

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

Definition at line 113 of file eFEXtauBDT.h.

◆ m_towers

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

Definition at line 129 of file eFEXtauBDT.h.

◆ m_towersComputeSCellPointers

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

Definition at line 144 of file eFEXtauBDT.h.


The documentation for this class was generated from the following files:
LVL1::eFEXtauBDT::computeBDTCondition
void computeBDTCondition()
Definition: eFEXtauBDT.cxx:345
LVL1::eFEXtauBDT::m_towers
std::vector< unsigned int > m_towers
Definition: eFEXtauBDT.h:129
beamspotnt.var
var
Definition: bin/beamspotnt.py:1394
test_pyathena.eta
eta
Definition: test_pyathena.py:10
LVL1::eFEXtauBDT::m_bdt
eFEXBDT m_bdt
Definition: eFEXtauBDT.h:147
LVL1::eFEXtauBDT::flatTowerIndex
int flatTowerIndex(int eta, int phi)
Definition: eFEXtauBDT.cxx:250
LVL1::eFEXtauBDT::m_HAD_eTEstimate
unsigned int m_HAD_eTEstimate
Definition: eFEXtauBDT.h:121
LVL1::eFEXtauBDT::m_bdtVarComputeSCellPointers
std::vector< std::vector< unsigned int * > > m_bdtVarComputeSCellPointers
Definition: eFEXtauBDT.h:137
get_generator_info.result
result
Definition: get_generator_info.py:21
LVL1::eFEXtauBDT::initPointers
void initPointers(const std::vector< std::vector< int >> &scells, std::vector< unsigned int * > &ptr_list)
Definition: eFEXtauBDT.cxx:112
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
eFEXBDT::getBDT
const conifer::BDT< unsigned int, unsigned int > & getBDT() const
Definition: eFEXBDT.h:72
LVL1::eFEXtauBDT::m_eTComputeSCellPointers
std::vector< unsigned int * > m_eTComputeSCellPointers
Definition: eFEXtauBDT.h:141
eFEXBDT::getVariables
const std::vector< BDTVariable > & getVariables() const
Definition: eFEXBDT.h:58
LVL1::eFEXtauBDT::m_maxEtThreshold
unsigned int * m_maxEtThreshold
Definition: eFEXtauBDT.h:113
skel.it
it
Definition: skel.GENtoEVGEN.py:396
LVL1::eFEXtauBDT::debugPrintBDTVariables
void debugPrintBDTVariables()
Definition: eFEXtauBDT.cxx:186
LVL1::eFEXtauBDT::debugPrintTowers
void debugPrintTowers()
Definition: eFEXtauBDT.cxx:238
LVL1::eFEXtauBDT::isOverflow
bool isOverflow(unsigned int number, int nBits)
Definition: eFEXtauBDT.cxx:265
LVL1::eFEXtauBDT::m_eTEstimateOverflow
bool m_eTEstimateOverflow
Definition: eFEXtauBDT.h:118
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
LVL1::eFEXtauBDT::computeETEstimate
void computeETEstimate()
Definition: eFEXtauBDT.cxx:220
LVL1::eFEXtauBDT::computeEMETEstimate
void computeEMETEstimate()
Definition: eFEXtauBDT.cxx:226
LVL1::eFEXtauBDT::m_bdtVarsComputed
bool m_bdtVarsComputed
Definition: eFEXtauBDT.h:146
ENERGY_WIDTH
#define ENERGY_WIDTH
Definition: eFEXtauBDT.cxx:15
LVL1::eFEXtauBDT::computeTowers
void computeTowers()
Definition: eFEXtauBDT.cxx:252
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
LVL1::eFEXtauBDT::m_bdtMinEtThreshold
unsigned int * m_bdtMinEtThreshold
Definition: eFEXtauBDT.h:114
LVL1::eFEXtauBDT::m_bdtScoreShifted
unsigned int m_bdtScoreShifted
Definition: eFEXtauBDT.h:116
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
LVL1::eFEXtauBDT::m_log
AthAlgTool * m_log
Definition: eFEXtauBDT.h:148
LVL1::eFEXtauBDT::m_hadcells
unsigned int * m_hadcells[3][3]
Definition: eFEXtauBDT.h:109
lumiFormat.i
int i
Definition: lumiFormat.py:85
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
LVL1::eFEXtauBDT::m_EM_eTComputeSCellPointers
std::vector< unsigned int * > m_EM_eTComputeSCellPointers
Definition: eFEXtauBDT.h:142
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1::eFEXtauBDT::m_towersComputeSCellPointers
std::vector< std::vector< unsigned int * > > m_towersComputeSCellPointers
Definition: eFEXtauBDT.h:144
conifer::BDT::decision_function
std::vector< U > decision_function(std::vector< T > x) const
Definition: conifer.h:121
eFEXBDT::getETSCells
const std::vector< std::vector< int > > & getETSCells() const
Definition: eFEXBDT.h:60
LVL1::eFEXtauBDT::m_em0cells
unsigned int * m_em0cells[3][3]
Definition: eFEXtauBDT.h:105
fitman.by
by
Definition: fitman.py:411
LVL1::eFEXtauBDT::m_EM_eTEstimate
unsigned int m_EM_eTEstimate
Definition: eFEXtauBDT.h:119
LVL1::eFEXtauBDT::m_hadEstimateShifted
unsigned int m_hadEstimateShifted
Definition: eFEXtauBDT.h:126
LVL1::eFEXtauBDT::m_fracCondition
unsigned int m_fracCondition
Definition: eFEXtauBDT.h:123
internal_poltrig::estimate
REAL estimate(const int &elen, REAL *e)
Definition: PolygonTriangulator.cxx:451
eFEXBDT::getEMETSCells
const std::vector< std::vector< int > > & getEMETSCells() const
Definition: eFEXBDT.h:64
LVL1::eFEXtauBDT::m_em3cells
unsigned int * m_em3cells[3][3]
Definition: eFEXtauBDT.h:108
python.selection.number
number
Definition: selection.py:20
LVL1::eFEXtauBDT::m_HAD_eTComputeSCellPointers
std::vector< unsigned int * > m_HAD_eTComputeSCellPointers
Definition: eFEXtauBDT.h:143
LVL1::eFEXtauBDT::m_emEtXMultiplier
std::vector< unsigned int > m_emEtXMultiplier
Definition: eFEXtauBDT.h:127
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
LVL1::eFEXtauBDT::m_fracMultipliers
unsigned int * m_fracMultipliers[3]
Definition: eFEXtauBDT.h:110
eFEXBDT::getNTowers
int getNTowers() const
Definition: eFEXBDT.h:80
LVL1::eFEXtauBDT::buildBDTVariables
void buildBDTVariables()
Definition: eFEXtauBDT.cxx:196
DeMoScan.index
string index
Definition: DeMoScan.py:364
LVL1::eFEXtauBDT::m_em2cells
unsigned int * m_em2cells[12][3]
Definition: eFEXtauBDT.h:107
a
TList * a
Definition: liststreamerinfos.cxx:10
eFEXBDT::getScorePrecision
int getScorePrecision() const
Definition: eFEXBDT.h:82
LVL1::eFEXtauBDT::computeBDTScore
void computeBDTScore()
Definition: eFEXtauBDT.cxx:209
LVL1::eFEXtauBDT::m_bdtScore
unsigned int m_bdtScore
Definition: eFEXtauBDT.h:115
DEBUG
#define DEBUG
Definition: page_access.h:11
eFEXBDT::getTowerSCells
const std::vector< std::vector< int > > & getTowerSCells(int towerIndex) const
Definition: eFEXBDT.h:76
LVL1::eFEXtauBDT::m_isSeeded
bool m_isSeeded
Definition: eFEXtauBDT.h:125
AthCommonMsg::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LVL1::eFEXtauBDT::computeFracCondition
void computeFracCondition()
Definition: eFEXtauBDT.cxx:313
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
PARAM_WIDTH
#define PARAM_WIDTH
Definition: eFEXtauBDT.cxx:16
LVL1::eFEXtauBDT::superCellToPtr
unsigned int * superCellToPtr(int eta, int phi, int layer)
Definition: eFEXtauBDT.cxx:78
LVL1::eFEXtauBDT::m_bdtThresholds
unsigned int * m_bdtThresholds[3]
Definition: eFEXtauBDT.h:111
LVL1::eFEXtauBDT::m_emEtXMultiplierOverflow
std::vector< unsigned int > m_emEtXMultiplierOverflow
Definition: eFEXtauBDT.h:128
LVL1::eFEXtauBDT::BitLeftShift
unsigned int BitLeftShift(unsigned int number, int by, int totalNBits)
Definition: eFEXtauBDT.cxx:305
LVL1::eFEXtauBDT::m_etThreshold
unsigned int * m_etThreshold
Definition: eFEXtauBDT.h:112
LVL1::eFEXtauBDT::m_HAD_eTEstimateOverflow
bool m_HAD_eTEstimateOverflow
Definition: eFEXtauBDT.h:122
MuonParameters::beta
@ beta
Definition: MuonParamDefs.h:144
LVL1::eFEXtauBDT::m_bdtVars
std::vector< unsigned int > m_bdtVars
Definition: eFEXtauBDT.h:132
LVL1::eFEXtauBDT::m_eTEstimate
unsigned int m_eTEstimate
Definition: eFEXtauBDT.h:117
LVL1::eFEXtauBDT::m_bdtCondition
unsigned int m_bdtCondition
Definition: eFEXtauBDT.h:124
LVL1::eFEXtauBDT::m_em1cells
unsigned int * m_em1cells[12][3]
Definition: eFEXtauBDT.h:106
LVL1::eFEXtauBDT::computeIsCentralTowerSeed
void computeIsCentralTowerSeed()
Definition: eFEXtauBDT.cxx:372
eFEXBDT::getHADETSCells
const std::vector< std::vector< int > > & getHADETSCells() const
Definition: eFEXBDT.h:68
LVL1::eFEXtauBDT::computeEstimate
unsigned int computeEstimate(std::vector< unsigned int * > &ptr_list, bool &overflow, int resultNBits)
Definition: eFEXtauBDT.cxx:273
LVL1::eFEXtauBDT::computeHADETEstimate
void computeHADETEstimate()
Definition: eFEXtauBDT.cxx:232
LVL1::eFEXtauBDT::multWithOverflow
unsigned int multWithOverflow(unsigned int a, unsigned int b, bool &overflow, int resultNBits)
Definition: eFEXtauBDT.cxx:286
BDTVariable
Definition: eFEXBDT.h:16
LVL1::eFEXtauBDT::m_EM_eTEstimateOverflow
bool m_EM_eTEstimateOverflow
Definition: eFEXtauBDT.h:120