ATLAS Offline Software
|
#include <TElectronLikelihoodTool.h>
Public Member Functions | |
TElectronLikelihoodTool (const char *name="TElectronLikelihoodTool") | |
Standard constructor. More... | |
~TElectronLikelihoodTool () | |
Standard destructor. More... | |
StatusCode | initialize () |
Initialize this class. More... | |
const asg::AcceptInfo & | getAcceptInfo () const |
accesss to the accept info object More... | |
asg::AcceptData | accept (LikeEnum::LHAcceptVars_t &vars_struct) const |
The main accept method: the actual cuts are applied here. More... | |
asg::AcceptData | accept (double likelihood, double eta, double eT, int nSiHitsPlusDeadSensors, int nPixHitsPlusDeadSensors, bool passBLayerRequirement, uint8_t ambiguityBit, double d0, double deltaEta, double deltaphires, double wstot, double EoverP, double ip) const |
asg::AcceptData | accept () const |
Return dummy accept with only info. More... | |
double | calculate (LikeEnum::LHCalcVars_t &vars_struct) const |
double | calculate (double eta, double eT, double f3, double rHad, double rHad1, double Reta, double w2, double f1, double eratio, double deltaEta, double d0, double d0sigma, double rphi, double deltaPoverP, double deltaphires, double TRT_PID, double ip) const |
void | setPDFFileName (const std::string &val) |
Add an input file that holds the PDFs. More... | |
void | setVariableNames (const std::string &val) |
Define the variable names. More... | |
int | loadVarHistograms (const std::string &vstr, TFile *pdfFile, unsigned int varIndex) |
Load the variable histograms from the pdf file. More... | |
void | setBinning (const std::string &val) |
Define the binning. More... | |
unsigned int | getBitmask (void) const |
void | setBitmask (unsigned int val) |
void | setLevel (MSG::Level lvl) |
Change the current logging level. More... | |
Public Attributes | |
std::vector< int > | m_cutBL |
cut min on b-layer hits More... | |
std::vector< int > | m_cutPi |
cut min on pixel hits More... | |
std::vector< int > | m_cutSi |
cut min on precision hits More... | |
std::vector< double > | m_cutA0 |
cut max on track d0 bit More... | |
std::vector< double > | m_cutDeltaEta |
do cut on delta eta bit More... | |
std::vector< double > | m_cutDeltaPhiRes |
std::vector< int > | m_cutAmbiguity |
do cut on ambiguity bit More... | |
bool | m_doRemoveF3AtHighEt |
do remove f3 variable from likelihood at high Et (>80 GeV) More... | |
bool | m_doRemoveTRTPIDAtHighEt |
do remove TRTPID variable from likelihood at high Et (>80 GeV) More... | |
bool | m_doSmoothBinInterpolation |
do smooth interpolation between bins More... | |
bool | m_useOneExtraHighETLHBin |
use one extra bin for high ET LH More... | |
double | m_highETBinThreshold |
ET threshold for using high ET cuts and bin. More... | |
std::vector< double > | m_cutWstotAtHighET |
std::vector< double > | m_cutEoverPAtHighET |
bool | m_doPileupTransform |
do pileup-dependent transform on discriminant value More... | |
bool | m_doCentralityTransform |
do centrality-dependent transform on discriminant value More... | |
std::vector< double > | m_cutLikelihood |
cut on likelihood output More... | |
std::vector< double > | m_cutLikelihoodPileupCorrection |
pileup correction factor for cut on likelihood output More... | |
std::vector< double > | m_cutLikelihood4GeV |
cut on likelihood output, 4 GeV bin More... | |
std::vector< double > | m_cutLikelihoodPileupCorrection4GeV |
pileup correction factor for cut on likelihood output, 4 GeV bin More... | |
std::vector< double > | m_discHardCutForPileupTransform |
reference disc for very hard cut; used by pileup transform More... | |
std::vector< double > | m_discHardCutSlopeForPileupTransform |
reference slope on disc for very hard cut; used by pileup transform More... | |
std::vector< double > | m_discHardCutQuadForPileupTransform |
reference quadratic apr on disc for very hard cut; used by centrality transform More... | |
std::vector< double > | m_discLooseForPileupTransform |
reference disc for a pileup independent loose menu; used by pileup transform More... | |
std::vector< double > | m_discHardCutForPileupTransform4GeV |
reference disc for very hard cut; used by pileup transform - 4-7 GeV More... | |
std::vector< double > | m_discHardCutSlopeForPileupTransform4GeV |
reference slope on disc for very hard cut; used by pileup transform More... | |
std::vector< double > | m_discHardCutQuadForPileupTransform4GeV |
reference quadratic par on disc for very hard cut; used by centrality transform - 4-7 GeV More... | |
std::vector< double > | m_discLooseForPileupTransform4GeV |
reference disc for a pileup independent loose menu; used by pileup transform - 4-7 GeV More... | |
double | m_discMaxForPileupTransform |
max discriminant for which pileup transform is to be used More... | |
double | m_pileupMaxForPileupTransform |
max nvtx or mu to be used in pileup transform More... | |
std::string | m_variableNames |
variables to use in the LH More... | |
std::string | m_pdfFileName |
Name of the pdf file. More... | |
Private Member Functions | |
double | evaluateLikelihood (const std::vector< double > &varVector, double et, double eta, double ip=0) const |
double | evaluateLikelihood (const std::vector< float > &varVector, double et, double eta, double ip=0) const |
unsigned int | getLikelihoodBitmask (const std::string &vars) const |
double | InterpolateCuts (const std::vector< double > &cuts, const std::vector< double > &cuts_4gev, double et, double eta) const |
double | InterpolatePdfs (unsigned int s_or_b, unsigned int ipbin, double et, double eta, int bin, unsigned int var) const |
double | TransformLikelihoodOutput (double ps, double pb, double ip, double et, double eta) const |
Apply a transform to zoom into the LH output peaks. More... | |
unsigned int | getLikelihoodEtDiscBin (double eT, const bool isLHbinning) const |
Fine Et binning. Used for the likelihood discriminant cuts. More... | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Static Private Member Functions | |
static unsigned int | getLikelihoodEtaBin (double eta) |
Eta binning for pdfs and discriminant cuts. More... | |
static unsigned int | getLikelihoodEtHistBin (double eT) |
Coarse Et binning. Used for the likelihood pdfs. More... | |
static unsigned int | getIpBin (double ip) |
static void | getBinName (char *buffer, int etbin, int etabin, int ipbin, const std::string &iptype) |
Private Attributes | |
std::string | m_name |
tool name More... | |
asg::AcceptInfo | m_acceptInfo |
Accept info. More... | |
unsigned int | m_variableBitMask |
The bitmask corresponding to the variables in the likelihood. More... | |
std::string | m_ipBinning |
Deprecated. More... | |
int | m_cutPosition_kinematic |
The position of the kinematic cut bit in the AcceptInfo return object. More... | |
int | m_cutPosition_NSilicon |
The position of the NSilicon cut bit in the AcceptInfo return object. More... | |
int | m_cutPosition_NPixel |
The position of the NPixel cut bit in the AcceptInfo return object. More... | |
int | m_cutPosition_NBlayer |
The position of the NBlayer cut bit in the AcceptInfo return object. More... | |
int | m_cutPosition_ambiguity |
The position of the ambiguity cut bit in the AcceptInfo return object. More... | |
int | m_cutPosition_LH |
The position of the likelihood cut bit in the AcceptInfo return object. More... | |
int | m_cutPositionTrackA0 |
The position of the d0 cut bit in the AcceptInfo return object. More... | |
int | m_cutPositionTrackMatchEta |
The position of the deltaeta cut bit in the AcceptInfo return object. More... | |
int | m_cutPositionTrackMatchPhiRes |
The position of the deltaphi cut bit in the AcceptInfo return object. More... | |
int | m_cutPositionWstotAtHighET |
The position of the high ET wstot cut bit in the AcceptInfo return object. More... | |
int | m_cutPositionEoverPAtHighET |
The position of the high ET EoverP cut bit in the AcceptInfo return object. More... | |
EGSelectors::SafeTH1 * | fPDFbins [2][IP_BINS][s_fnEtBinsHist][s_fnEtaBins][s_fnVariables] {} |
std::string | m_nm |
Message source name. More... | |
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
MsgStream instance (a std::cout like with print-out levels) More... | |
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
MessageSvc pointer. More... | |
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
Current logging level. More... | |
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
Messaging initialized (initMessaging) More... | |
Static Private Attributes | |
static constexpr double | s_fIpBounds [IP_BINS+1] = { 0., 500. } |
static constexpr unsigned int | s_fnEtBinsHist = 7 |
static constexpr unsigned int | s_fnDiscEtBins = 9 |
static constexpr unsigned int | s_fnDiscEtBinsOneExtra = 10 |
static constexpr unsigned int | s_fnEtaBins = 10 |
static constexpr unsigned int | s_fnVariables = 13 |
static const std::string | s_fVariables [s_fnVariables] |
Definition at line 78 of file TElectronLikelihoodTool.h.
Root::TElectronLikelihoodTool::TElectronLikelihoodTool | ( | const char * | name = "TElectronLikelihoodTool" | ) |
Standard constructor.
Author : Kurt Brendlinger kurb@ Please see sas. upenn .eduTElectronLikelihoodTool.h for usage.
Definition at line 28 of file TElectronLikelihoodTool.cxx.
Root::TElectronLikelihoodTool::~TElectronLikelihoodTool | ( | ) |
|
inline |
asg::AcceptData Root::TElectronLikelihoodTool::accept | ( | double | likelihood, |
double | eta, | ||
double | eT, | ||
int | nSiHitsPlusDeadSensors, | ||
int | nPixHitsPlusDeadSensors, | ||
bool | passBLayerRequirement, | ||
uint8_t | ambiguityBit, | ||
double | d0, | ||
double | deltaEta, | ||
double | deltaphires, | ||
double | wstot, | ||
double | EoverP, | ||
double | ip | ||
) | const |
Definition at line 452 of file TElectronLikelihoodTool.cxx.
asg::AcceptData Root::TElectronLikelihoodTool::accept | ( | LikeEnum::LHAcceptVars_t & | vars_struct | ) | const |
The main accept method: the actual cuts are applied here.
Definition at line 487 of file TElectronLikelihoodTool.cxx.
double Root::TElectronLikelihoodTool::calculate | ( | double | eta, |
double | eT, | ||
double | f3, | ||
double | rHad, | ||
double | rHad1, | ||
double | Reta, | ||
double | w2, | ||
double | f1, | ||
double | eratio, | ||
double | deltaEta, | ||
double | d0, | ||
double | d0sigma, | ||
double | rphi, | ||
double | deltaPoverP, | ||
double | deltaphires, | ||
double | TRT_PID, | ||
double | ip | ||
) | const |
Definition at line 680 of file TElectronLikelihoodTool.cxx.
double Root::TElectronLikelihoodTool::calculate | ( | LikeEnum::LHCalcVars_t & | vars_struct | ) | const |
Definition at line 724 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 770 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 756 of file TElectronLikelihoodTool.cxx.
|
inline |
|
staticprivate |
Definition at line 1114 of file TElectronLikelihoodTool.cxx.
|
inline |
Definition at line 152 of file TElectronLikelihoodTool.h.
|
staticprivate |
Definition at line 1027 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 1136 of file TElectronLikelihoodTool.cxx.
|
staticprivate |
Eta binning for pdfs and discriminant cuts.
Definition at line 1039 of file TElectronLikelihoodTool.cxx.
|
private |
Fine Et binning. Used for the likelihood discriminant cuts.
Definition at line 1075 of file TElectronLikelihoodTool.cxx.
|
staticprivate |
Coarse Et binning. Used for the likelihood pdfs.
Definition at line 1055 of file TElectronLikelihoodTool.cxx.
StatusCode Root::TElectronLikelihoodTool::initialize | ( | ) |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
private |
Definition at line 1155 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 1223 of file TElectronLikelihoodTool.cxx.
int Root::TElectronLikelihoodTool::loadVarHistograms | ( | const std::string & | vstr, |
TFile * | pdfFile, | ||
unsigned int | varIndex | ||
) |
Load the variable histograms from the pdf file.
Definition at line 349 of file TElectronLikelihoodTool.cxx.
|
inherited |
The standard message stream.
Definition at line 49 of file AsgMessaging.cxx.
|
inherited |
The standard message stream.
lvl | The message level to set the stream to |
Definition at line 57 of file AsgMessaging.cxx.
|
inherited |
Test the output level of the object.
lvl | The message level to test against |
true
If messages at level "lvl" will be printed Definition at line 41 of file AsgMessaging.cxx.
|
inline |
|
inline |
Definition at line 153 of file TElectronLikelihoodTool.h.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
|
inline |
|
inline |
Define the variable names.
Definition at line 138 of file TElectronLikelihoodTool.h.
|
private |
Apply a transform to zoom into the LH output peaks.
Optionally do pileup correction too
Definition at line 868 of file TElectronLikelihoodTool.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 339 of file TElectronLikelihoodTool.h.
|
private |
Accept info.
Definition at line 281 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutA0 |
cut max on track d0 bit
Definition at line 191 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutAmbiguity |
do cut on ambiguity bit
Definition at line 197 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutBL |
cut min on b-layer hits
Definition at line 185 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutDeltaEta |
do cut on delta eta bit
Definition at line 193 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutDeltaPhiRes |
Definition at line 195 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutEoverPAtHighET |
Definition at line 211 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihood |
cut on likelihood output
Definition at line 217 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihood4GeV |
cut on likelihood output, 4 GeV bin
Definition at line 221 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihoodPileupCorrection |
pileup correction factor for cut on likelihood output
Definition at line 219 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihoodPileupCorrection4GeV |
pileup correction factor for cut on likelihood output, 4 GeV bin
Definition at line 223 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutPi |
cut min on pixel hits
Definition at line 187 of file TElectronLikelihoodTool.h.
|
private |
The position of the ambiguity cut bit in the AcceptInfo return object.
Definition at line 303 of file TElectronLikelihoodTool.h.
|
private |
The position of the kinematic cut bit in the AcceptInfo return object.
Definition at line 291 of file TElectronLikelihoodTool.h.
|
private |
The position of the likelihood cut bit in the AcceptInfo return object.
Definition at line 306 of file TElectronLikelihoodTool.h.
|
private |
The position of the NBlayer cut bit in the AcceptInfo return object.
Definition at line 300 of file TElectronLikelihoodTool.h.
|
private |
The position of the NPixel cut bit in the AcceptInfo return object.
Definition at line 297 of file TElectronLikelihoodTool.h.
|
private |
The position of the NSilicon cut bit in the AcceptInfo return object.
Definition at line 294 of file TElectronLikelihoodTool.h.
|
private |
The position of the high ET EoverP cut bit in the AcceptInfo return object.
Definition at line 323 of file TElectronLikelihoodTool.h.
|
private |
The position of the d0 cut bit in the AcceptInfo return object.
Definition at line 309 of file TElectronLikelihoodTool.h.
|
private |
The position of the deltaeta cut bit in the AcceptInfo return object.
Definition at line 312 of file TElectronLikelihoodTool.h.
|
private |
The position of the deltaphi cut bit in the AcceptInfo return object.
Definition at line 315 of file TElectronLikelihoodTool.h.
|
private |
The position of the high ET wstot cut bit in the AcceptInfo return object.
Definition at line 319 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutSi |
cut min on precision hits
Definition at line 189 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutWstotAtHighET |
Definition at line 209 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutForPileupTransform |
reference disc for very hard cut; used by pileup transform
Definition at line 225 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutForPileupTransform4GeV |
reference disc for very hard cut; used by pileup transform - 4-7 GeV
Definition at line 237 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutQuadForPileupTransform |
reference quadratic apr on disc for very hard cut; used by centrality transform
Definition at line 231 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutQuadForPileupTransform4GeV |
reference quadratic par on disc for very hard cut; used by centrality transform - 4-7 GeV
Definition at line 243 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutSlopeForPileupTransform |
reference slope on disc for very hard cut; used by pileup transform
Definition at line 228 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutSlopeForPileupTransform4GeV |
reference slope on disc for very hard cut; used by pileup transform
Definition at line 240 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discLooseForPileupTransform |
reference disc for a pileup independent loose menu; used by pileup transform
Definition at line 234 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discLooseForPileupTransform4GeV |
reference disc for a pileup independent loose menu; used by pileup transform - 4-7 GeV
Definition at line 246 of file TElectronLikelihoodTool.h.
double Root::TElectronLikelihoodTool::m_discMaxForPileupTransform |
max discriminant for which pileup transform is to be used
Definition at line 248 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doCentralityTransform |
do centrality-dependent transform on discriminant value
Definition at line 215 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doPileupTransform |
do pileup-dependent transform on discriminant value
Definition at line 213 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doRemoveF3AtHighEt |
do remove f3 variable from likelihood at high Et (>80 GeV)
Definition at line 199 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doRemoveTRTPIDAtHighEt |
do remove TRTPID variable from likelihood at high Et (>80 GeV)
Definition at line 201 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doSmoothBinInterpolation |
do smooth interpolation between bins
Definition at line 203 of file TElectronLikelihoodTool.h.
double Root::TElectronLikelihoodTool::m_highETBinThreshold |
ET threshold for using high ET cuts and bin.
Definition at line 207 of file TElectronLikelihoodTool.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
private |
Deprecated.
Definition at line 288 of file TElectronLikelihoodTool.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
private |
tool name
Definition at line 278 of file TElectronLikelihoodTool.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
std::string Root::TElectronLikelihoodTool::m_pdfFileName |
Name of the pdf file.
Definition at line 254 of file TElectronLikelihoodTool.h.
double Root::TElectronLikelihoodTool::m_pileupMaxForPileupTransform |
max nvtx or mu to be used in pileup transform
Definition at line 250 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_useOneExtraHighETLHBin |
use one extra bin for high ET LH
Definition at line 205 of file TElectronLikelihoodTool.h.
|
private |
The bitmask corresponding to the variables in the likelihood.
For internal use.
Definition at line 285 of file TElectronLikelihoodTool.h.
std::string Root::TElectronLikelihoodTool::m_variableNames |
variables to use in the LH
Definition at line 252 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 325 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 332 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 335 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 336 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 329 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 337 of file TElectronLikelihoodTool.h.
|
staticprivate |
Definition at line 341 of file TElectronLikelihoodTool.h.