|
ATLAS Offline Software
|
The eFEXtauBDT class calculates the tau TOB variables.
More...
#include <eFEXtauBDT.h>
|
| 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) |
|
|
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) |
|
The eFEXtauBDT class calculates the tau TOB variables.
Definition at line 26 of file eFEXtauBDT.h.
◆ eFEXtauBDT()
LVL1::eFEXtauBDT::eFEXtauBDT |
( |
AthAlgTool * |
log, |
|
|
std::string |
config_path |
|
) |
| |
◆ ~eFEXtauBDT()
LVL1::eFEXtauBDT::~eFEXtauBDT |
( |
| ) |
|
|
virtual |
◆ BitLeftShift()
unsigned int LVL1::eFEXtauBDT::BitLeftShift |
( |
unsigned int |
number, |
|
|
int |
by, |
|
|
int |
totalNBits |
|
) |
| |
|
inline |
Definition at line 305 of file eFEXtauBDT.cxx.
307 if ((
number >> (totalNBits -
by)) != 0) {
308 return (1 << totalNBits) - 1;
◆ buildBDTVariables()
void LVL1::eFEXtauBDT::buildBDTVariables |
( |
| ) |
|
◆ computeBDTCondition()
void LVL1::eFEXtauBDT::computeBDTCondition |
( |
| ) |
|
◆ computeBDTScore()
void LVL1::eFEXtauBDT::computeBDTScore |
( |
| ) |
|
Definition at line 209 of file eFEXtauBDT.cxx.
213 <<
"BDT Variables not computed. BDT score will be garbage." <<
endmsg;
◆ computeEMETEstimate()
void LVL1::eFEXtauBDT::computeEMETEstimate |
( |
| ) |
|
◆ computeEstimate()
unsigned int LVL1::eFEXtauBDT::computeEstimate |
( |
std::vector< unsigned int * > & |
ptr_list, |
|
|
bool & |
overflow, |
|
|
int |
resultNBits |
|
) |
| |
|
private |
◆ computeETEstimate()
void LVL1::eFEXtauBDT::computeETEstimate |
( |
| ) |
|
◆ computeFracCondition()
void LVL1::eFEXtauBDT::computeFracCondition |
( |
| ) |
|
◆ computeHADETEstimate()
void LVL1::eFEXtauBDT::computeHADETEstimate |
( |
| ) |
|
◆ computeIsCentralTowerSeed()
void LVL1::eFEXtauBDT::computeIsCentralTowerSeed |
( |
| ) |
|
Definition at line 372 of file eFEXtauBDT.cxx.
376 unsigned int centralET =
m_towers[4];
380 for (
unsigned int bphi = 0; bphi < 3; bphi++) {
383 if ((
beta == 1) && (bphi == 1)) {
388 if (
beta == 2 || (
beta == 1 && bphi == 2)) {
389 if (centralET <=
m_towers[flatIndex]) {
395 else if (
beta == 0 || (
beta == 1 && bphi == 0)) {
396 if (centralET <
m_towers[flatIndex]) {
◆ computeTowers()
void LVL1::eFEXtauBDT::computeTowers |
( |
| ) |
|
◆ debugPrintBDTVariables()
void LVL1::eFEXtauBDT::debugPrintBDTVariables |
( |
| ) |
|
◆ debugPrintTowers()
void LVL1::eFEXtauBDT::debugPrintTowers |
( |
| ) |
|
Definition at line 238 of file eFEXtauBDT.cxx.
240 for (
int eta = 0;
eta < 3;
eta++) {
241 for (
int phi = 0;
phi < 3;
phi++) {
244 <<
"Tower " << flatIndex <<
" ET (eta=" <<
eta <<
", phi=" <<
phi
◆ flatTowerIndex()
int LVL1::eFEXtauBDT::flatTowerIndex |
( |
int |
eta, |
|
|
int |
phi |
|
) |
| |
|
inline |
◆ getBDTCondition()
unsigned int LVL1::eFEXtauBDT::getBDTCondition |
( |
| ) |
const |
|
inline |
◆ getBDTScore()
unsigned int LVL1::eFEXtauBDT::getBDTScore |
( |
| ) |
const |
|
inline |
◆ getBDTScoreShifted()
unsigned int LVL1::eFEXtauBDT::getBDTScoreShifted |
( |
| ) |
const |
|
inline |
◆ getBDTVars()
std::vector<unsigned int>& LVL1::eFEXtauBDT::getBDTVars |
( |
| ) |
|
|
inline |
◆ getEMETEstimate()
unsigned int LVL1::eFEXtauBDT::getEMETEstimate |
( |
| ) |
const |
|
inline |
◆ getEMETEstimateOverflow()
unsigned int LVL1::eFEXtauBDT::getEMETEstimateOverflow |
( |
| ) |
const |
|
inline |
◆ getEMMultipliedByFracParams()
std::vector<unsigned int>& LVL1::eFEXtauBDT::getEMMultipliedByFracParams |
( |
| ) |
|
|
inline |
◆ getEMMultipliedByFracParamsOverflow()
std::vector<unsigned int>& LVL1::eFEXtauBDT::getEMMultipliedByFracParamsOverflow |
( |
| ) |
|
|
inline |
◆ getET()
unsigned int LVL1::eFEXtauBDT::getET |
( |
| ) |
const |
◆ getETEstimate()
unsigned int LVL1::eFEXtauBDT::getETEstimate |
( |
| ) |
const |
|
inline |
◆ getFracCondition()
unsigned int LVL1::eFEXtauBDT::getFracCondition |
( |
| ) |
const |
|
inline |
◆ getHADETEstimate()
unsigned int LVL1::eFEXtauBDT::getHADETEstimate |
( |
| ) |
const |
|
inline |
◆ getHADETEstimateOverflow()
unsigned int LVL1::eFEXtauBDT::getHADETEstimateOverflow |
( |
| ) |
const |
|
inline |
◆ getIsMax()
unsigned int LVL1::eFEXtauBDT::getIsMax |
( |
| ) |
const |
|
inline |
◆ getTOBETOverflow()
unsigned int LVL1::eFEXtauBDT::getTOBETOverflow |
( |
| ) |
const |
|
inline |
◆ getTowers()
std::vector<unsigned int>& LVL1::eFEXtauBDT::getTowers |
( |
| ) |
|
|
inline |
◆ initBDTVars()
void LVL1::eFEXtauBDT::initBDTVars |
( |
| ) |
|
Definition at line 144 of file eFEXtauBDT.cxx.
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];
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(
166 " to a pointer to supercell. Are they within range?");
168 pointersToSCells.push_back(
ptr);
◆ initEMETPointers()
void LVL1::eFEXtauBDT::initEMETPointers |
( |
| ) |
|
◆ initETPointers()
void LVL1::eFEXtauBDT::initETPointers |
( |
| ) |
|
◆ initHADETPointers()
void LVL1::eFEXtauBDT::initHADETPointers |
( |
| ) |
|
◆ 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.
115 for (
auto scell : scells) {
118 int layer = scell[2];
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(
130 " to a pointer to supercell. Are they within range?");
132 ptr_list.push_back(
ptr);
◆ initTowersPointers()
void LVL1::eFEXtauBDT::initTowersPointers |
( |
| ) |
|
◆ isOverflow()
bool LVL1::eFEXtauBDT::isOverflow |
( |
unsigned int |
number, |
|
|
int |
nBits |
|
) |
| |
|
inline |
◆ multWithOverflow()
unsigned int LVL1::eFEXtauBDT::multWithOverflow |
( |
unsigned int |
a, |
|
|
unsigned int |
b, |
|
|
bool & |
overflow, |
|
|
int |
resultNBits |
|
) |
| |
◆ next()
void LVL1::eFEXtauBDT::next |
( |
| ) |
|
◆ setPointerToBDTMinETParam()
void LVL1::eFEXtauBDT::setPointerToBDTMinETParam |
( |
unsigned int * |
bdtMinEtThreshold | ) |
|
◆ setPointerToBDTThresholdsParam()
void LVL1::eFEXtauBDT::setPointerToBDTThresholdsParam |
( |
int |
index, |
|
|
unsigned int * |
bdtThresholds |
|
) |
| |
◆ setPointerToETThresholdParam()
void LVL1::eFEXtauBDT::setPointerToETThresholdParam |
( |
unsigned int * |
etThreshold | ) |
|
◆ setPointerToFracMultipliersParam()
void LVL1::eFEXtauBDT::setPointerToFracMultipliersParam |
( |
int |
index, |
|
|
unsigned int * |
fracMultipliers |
|
) |
| |
◆ setPointerToMaxETParam()
void LVL1::eFEXtauBDT::setPointerToMaxETParam |
( |
unsigned int * |
maxEtThreshold | ) |
|
◆ setPointerToSCell()
void LVL1::eFEXtauBDT::setPointerToSCell |
( |
int |
eta, |
|
|
int |
phi, |
|
|
int |
layer, |
|
|
unsigned int * |
sCellPtr |
|
) |
| |
◆ superCellToPtr()
unsigned int * LVL1::eFEXtauBDT::superCellToPtr |
( |
int |
eta, |
|
|
int |
phi, |
|
|
int |
layer |
|
) |
| |
|
private |
◆ m_bdt
◆ m_bdtCondition
unsigned int LVL1::eFEXtauBDT::m_bdtCondition = 0 |
|
private |
◆ m_bdtMinEtThreshold
unsigned int* LVL1::eFEXtauBDT::m_bdtMinEtThreshold {} |
|
private |
◆ m_bdtScore
unsigned int LVL1::eFEXtauBDT::m_bdtScore = 0 |
|
private |
◆ m_bdtScoreShifted
unsigned int LVL1::eFEXtauBDT::m_bdtScoreShifted = 0 |
|
private |
◆ m_bdtThresholds
unsigned int* LVL1::eFEXtauBDT::m_bdtThresholds[3] {} |
|
private |
◆ m_bdtVarComputeSCellPointers
std::vector<std::vector<unsigned int *> > LVL1::eFEXtauBDT::m_bdtVarComputeSCellPointers |
|
private |
◆ m_bdtVars
std::vector<unsigned int> LVL1::eFEXtauBDT::m_bdtVars |
|
private |
◆ m_bdtVarsComputed
bool LVL1::eFEXtauBDT::m_bdtVarsComputed = false |
|
private |
◆ m_em0cells
unsigned int* LVL1::eFEXtauBDT::m_em0cells[3][3] {} |
|
private |
◆ m_em1cells
unsigned int* LVL1::eFEXtauBDT::m_em1cells[12][3] {} |
|
private |
◆ m_em2cells
unsigned int* LVL1::eFEXtauBDT::m_em2cells[12][3] {} |
|
private |
◆ m_em3cells
unsigned int* LVL1::eFEXtauBDT::m_em3cells[3][3] {} |
|
private |
◆ m_EM_eTComputeSCellPointers
std::vector<unsigned int *> LVL1::eFEXtauBDT::m_EM_eTComputeSCellPointers |
|
private |
◆ m_EM_eTEstimate
unsigned int LVL1::eFEXtauBDT::m_EM_eTEstimate = 0 |
|
private |
◆ m_EM_eTEstimateOverflow
bool LVL1::eFEXtauBDT::m_EM_eTEstimateOverflow = 0 |
|
private |
◆ m_emEtXMultiplier
std::vector<unsigned int> LVL1::eFEXtauBDT::m_emEtXMultiplier |
|
private |
◆ m_emEtXMultiplierOverflow
std::vector<unsigned int> LVL1::eFEXtauBDT::m_emEtXMultiplierOverflow |
|
private |
◆ m_eTComputeSCellPointers
std::vector<unsigned int *> LVL1::eFEXtauBDT::m_eTComputeSCellPointers |
|
private |
◆ m_eTEstimate
unsigned int LVL1::eFEXtauBDT::m_eTEstimate = 0 |
|
private |
◆ m_eTEstimateOverflow
bool LVL1::eFEXtauBDT::m_eTEstimateOverflow = false |
|
private |
◆ m_etThreshold
unsigned int* LVL1::eFEXtauBDT::m_etThreshold {} |
|
private |
◆ m_fracCondition
unsigned int LVL1::eFEXtauBDT::m_fracCondition = 0 |
|
private |
◆ m_fracMultipliers
unsigned int* LVL1::eFEXtauBDT::m_fracMultipliers[3] {} |
|
private |
◆ m_HAD_eTComputeSCellPointers
std::vector<unsigned int *> LVL1::eFEXtauBDT::m_HAD_eTComputeSCellPointers |
|
private |
◆ m_HAD_eTEstimate
unsigned int LVL1::eFEXtauBDT::m_HAD_eTEstimate = 0 |
|
private |
◆ m_HAD_eTEstimateOverflow
bool LVL1::eFEXtauBDT::m_HAD_eTEstimateOverflow = false |
|
private |
◆ m_hadcells
unsigned int* LVL1::eFEXtauBDT::m_hadcells[3][3] {} |
|
private |
◆ m_hadEstimateShifted
unsigned int LVL1::eFEXtauBDT::m_hadEstimateShifted = 0 |
|
private |
◆ m_isSeeded
bool LVL1::eFEXtauBDT::m_isSeeded = false |
|
private |
◆ m_log
◆ m_maxEtThreshold
unsigned int* LVL1::eFEXtauBDT::m_maxEtThreshold {} |
|
private |
◆ m_towers
std::vector<unsigned int> LVL1::eFEXtauBDT::m_towers |
|
private |
◆ m_towersComputeSCellPointers
std::vector<std::vector<unsigned int *> > LVL1::eFEXtauBDT::m_towersComputeSCellPointers |
|
private |
The documentation for this class was generated from the following files:
void computeBDTCondition()
std::vector< unsigned int > m_towers
int flatTowerIndex(int eta, int phi)
unsigned int m_HAD_eTEstimate
std::vector< std::vector< unsigned int * > > m_bdtVarComputeSCellPointers
void initPointers(const std::vector< std::vector< int >> &scells, std::vector< unsigned int * > &ptr_list)
const conifer::BDT< unsigned int, unsigned int > & getBDT() const
std::vector< unsigned int * > m_eTComputeSCellPointers
const std::vector< BDTVariable > & getVariables() const
unsigned int * m_maxEtThreshold
void debugPrintBDTVariables()
bool isOverflow(unsigned int number, int nBits)
bool m_eTEstimateOverflow
void computeEMETEstimate()
unsigned int * m_bdtMinEtThreshold
unsigned int m_bdtScoreShifted
unsigned int * m_hadcells[3][3]
std::vector< unsigned int * > m_EM_eTComputeSCellPointers
std::vector< std::vector< unsigned int * > > m_towersComputeSCellPointers
std::vector< U > decision_function(std::vector< T > x) const
const std::vector< std::vector< int > > & getETSCells() const
unsigned int * m_em0cells[3][3]
unsigned int m_EM_eTEstimate
unsigned int m_hadEstimateShifted
unsigned int m_fracCondition
REAL estimate(const int &elen, REAL *e)
const std::vector< std::vector< int > > & getEMETSCells() const
unsigned int * m_em3cells[3][3]
std::vector< unsigned int * > m_HAD_eTComputeSCellPointers
std::vector< unsigned int > m_emEtXMultiplier
std::string to_string(const DetectorType &type)
unsigned int * m_fracMultipliers[3]
unsigned int * m_em2cells[12][3]
int getScorePrecision() const
const std::vector< std::vector< int > > & getTowerSCells(int towerIndex) const
void computeFracCondition()
unsigned int * superCellToPtr(int eta, int phi, int layer)
unsigned int * m_bdtThresholds[3]
std::vector< unsigned int > m_emEtXMultiplierOverflow
unsigned int BitLeftShift(unsigned int number, int by, int totalNBits)
unsigned int * m_etThreshold
bool m_HAD_eTEstimateOverflow
std::vector< unsigned int > m_bdtVars
unsigned int m_eTEstimate
unsigned int m_bdtCondition
unsigned int * m_em1cells[12][3]
void computeIsCentralTowerSeed()
const std::vector< std::vector< int > > & getHADETSCells() const
unsigned int computeEstimate(std::vector< unsigned int * > &ptr_list, bool &overflow, int resultNBits)
void computeHADETEstimate()
unsigned int multWithOverflow(unsigned int a, unsigned int b, bool &overflow, int resultNBits)
bool m_EM_eTEstimateOverflow