![]() |
ATLAS Offline Software
|
#include <TElectronLikelihoodTool.h>
Public Member Functions | |
TElectronLikelihoodTool (const char *name="TElectronLikelihoodTool") | |
Standard constructor. 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 std::string | getBinName (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 27 of file TElectronLikelihoodTool.cxx.
|
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 401 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 436 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 629 of file TElectronLikelihoodTool.cxx.
double Root::TElectronLikelihoodTool::calculate | ( | LikeEnum::LHCalcVars_t & | vars_struct | ) | const |
Definition at line 673 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 719 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 705 of file TElectronLikelihoodTool.cxx.
|
inline |
|
staticprivate |
Definition at line 1063 of file TElectronLikelihoodTool.cxx.
|
inline |
Definition at line 148 of file TElectronLikelihoodTool.h.
|
staticprivate |
Definition at line 976 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 1081 of file TElectronLikelihoodTool.cxx.
|
staticprivate |
Eta binning for pdfs and discriminant cuts.
Definition at line 988 of file TElectronLikelihoodTool.cxx.
|
private |
Fine Et binning. Used for the likelihood discriminant cuts.
Definition at line 1024 of file TElectronLikelihoodTool.cxx.
|
staticprivate |
Coarse Et binning. Used for the likelihood pdfs.
Definition at line 1004 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 1100 of file TElectronLikelihoodTool.cxx.
|
private |
Definition at line 1168 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 316 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 149 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 134 of file TElectronLikelihoodTool.h.
|
private |
Apply a transform to zoom into the LH output peaks.
Optionally do pileup correction too
Definition at line 817 of file TElectronLikelihoodTool.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 335 of file TElectronLikelihoodTool.h.
|
private |
Accept info.
Definition at line 277 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutA0 |
cut max on track d0 bit
Definition at line 187 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutAmbiguity |
do cut on ambiguity bit
Definition at line 193 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutBL |
cut min on b-layer hits
Definition at line 181 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutDeltaEta |
do cut on delta eta bit
Definition at line 189 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutDeltaPhiRes |
Definition at line 191 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutEoverPAtHighET |
Definition at line 207 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihood |
cut on likelihood output
Definition at line 213 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihood4GeV |
cut on likelihood output, 4 GeV bin
Definition at line 217 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutLikelihoodPileupCorrection |
pileup correction factor for cut on likelihood output
Definition at line 215 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 219 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutPi |
cut min on pixel hits
Definition at line 183 of file TElectronLikelihoodTool.h.
|
private |
The position of the ambiguity cut bit in the AcceptInfo return object.
Definition at line 299 of file TElectronLikelihoodTool.h.
|
private |
The position of the kinematic cut bit in the AcceptInfo return object.
Definition at line 287 of file TElectronLikelihoodTool.h.
|
private |
The position of the likelihood cut bit in the AcceptInfo return object.
Definition at line 302 of file TElectronLikelihoodTool.h.
|
private |
The position of the NBlayer cut bit in the AcceptInfo return object.
Definition at line 296 of file TElectronLikelihoodTool.h.
|
private |
The position of the NPixel cut bit in the AcceptInfo return object.
Definition at line 293 of file TElectronLikelihoodTool.h.
|
private |
The position of the NSilicon cut bit in the AcceptInfo return object.
Definition at line 290 of file TElectronLikelihoodTool.h.
|
private |
The position of the high ET EoverP cut bit in the AcceptInfo return object.
Definition at line 319 of file TElectronLikelihoodTool.h.
|
private |
The position of the d0 cut bit in the AcceptInfo return object.
Definition at line 305 of file TElectronLikelihoodTool.h.
|
private |
The position of the deltaeta cut bit in the AcceptInfo return object.
Definition at line 308 of file TElectronLikelihoodTool.h.
|
private |
The position of the deltaphi cut bit in the AcceptInfo return object.
Definition at line 311 of file TElectronLikelihoodTool.h.
|
private |
The position of the high ET wstot cut bit in the AcceptInfo return object.
Definition at line 315 of file TElectronLikelihoodTool.h.
std::vector<int> Root::TElectronLikelihoodTool::m_cutSi |
cut min on precision hits
Definition at line 185 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_cutWstotAtHighET |
Definition at line 205 of file TElectronLikelihoodTool.h.
std::vector<double> Root::TElectronLikelihoodTool::m_discHardCutForPileupTransform |
reference disc for very hard cut; used by pileup transform
Definition at line 221 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 233 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 227 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 239 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 224 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 236 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 230 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 242 of file TElectronLikelihoodTool.h.
double Root::TElectronLikelihoodTool::m_discMaxForPileupTransform |
max discriminant for which pileup transform is to be used
Definition at line 244 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doCentralityTransform |
do centrality-dependent transform on discriminant value
Definition at line 211 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doPileupTransform |
do pileup-dependent transform on discriminant value
Definition at line 209 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doRemoveF3AtHighEt |
do remove f3 variable from likelihood at high Et (>80 GeV)
Definition at line 195 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doRemoveTRTPIDAtHighEt |
do remove TRTPID variable from likelihood at high Et (>80 GeV)
Definition at line 197 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_doSmoothBinInterpolation |
do smooth interpolation between bins
Definition at line 199 of file TElectronLikelihoodTool.h.
double Root::TElectronLikelihoodTool::m_highETBinThreshold |
ET threshold for using high ET cuts and bin.
Definition at line 203 of file TElectronLikelihoodTool.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
private |
Deprecated.
Definition at line 284 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 274 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 250 of file TElectronLikelihoodTool.h.
double Root::TElectronLikelihoodTool::m_pileupMaxForPileupTransform |
max nvtx or mu to be used in pileup transform
Definition at line 246 of file TElectronLikelihoodTool.h.
bool Root::TElectronLikelihoodTool::m_useOneExtraHighETLHBin |
use one extra bin for high ET LH
Definition at line 201 of file TElectronLikelihoodTool.h.
|
private |
The bitmask corresponding to the variables in the likelihood.
For internal use.
Definition at line 281 of file TElectronLikelihoodTool.h.
std::string Root::TElectronLikelihoodTool::m_variableNames |
variables to use in the LH
Definition at line 248 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 321 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 328 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 331 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 332 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 325 of file TElectronLikelihoodTool.h.
|
staticconstexprprivate |
Definition at line 333 of file TElectronLikelihoodTool.h.
|
staticprivate |
Definition at line 337 of file TElectronLikelihoodTool.h.