ATLAS Offline Software
TElectronLikelihoodTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 // Dear emacs, this is -*-c++-*-
6 
19 #ifndef TELECTRONLIKELIHOODTOOL_H
20 #define TELECTRONLIKELIHOODTOOL_H
21 
22 // Include the return objects and the base class
24 #include "AsgTools/IAsgTool.h"
25 #include "PATCore/AcceptData.h"
26 #include "PATCore/AcceptInfo.h"
27 //
28 #include "SafeTH1.h"
29 #include <string> // for string
30 #include <vector> // for vector
31 class TFile;
32 
33 namespace {
34 constexpr unsigned int IP_BINS = 1;
35 }
36 namespace LikeEnum {
37 
39 {
40  double likelihood;
41  double eta;
42  double eT;
47  double d0;
48  double deltaEta;
49  double deltaphires;
50  double wstot;
51  double EoverP;
52  double ip;
53 };
54 
56 {
57  double eta;
58  double eT;
59  double f3;
60  double rHad;
61  double rHad1;
62  double Reta;
63  double w2;
64  double f1;
65  double eratio;
66  double deltaEta;
67  double d0;
68  double d0sigma;
69  double rphi;
70  double deltaPoverP;
71  double deltaphires;
72  double TRT_PID;
73  double ip;
74 };
75 }
76 
77 namespace Root {
79 {
80 
81 public:
83 
84  TElectronLikelihoodTool(const char* name = "TElectronLikelihoodTool");
85 
88 
89  // Main methods
90 public:
93 
95  const asg::AcceptInfo& getAcceptInfo() const { return m_acceptInfo; }
96 
99  asg::AcceptData accept(double likelihood,
100  double eta,
101  double eT,
102  int nSiHitsPlusDeadSensors,
103  int nPixHitsPlusDeadSensors,
105  uint8_t ambiguityBit,
106  double d0,
107  double deltaEta,
108  double deltaphires,
109  double wstot,
110  double EoverP,
111  double ip) const;
114 
115  double calculate(LikeEnum::LHCalcVars_t& vars_struct) const;
116  double calculate(double eta,
117  double eT,
118  double f3,
119  double rHad,
120  double rHad1,
121  double Reta,
122  double w2,
123  double f1,
124  double eratio,
125  double deltaEta,
126  double d0,
127  double d0sigma,
128  double rphi,
129  double deltaPoverP,
130  double deltaphires,
131  double TRT_PID,
132  double ip) const;
133 
135  inline void setPDFFileName(const std::string& val) { m_pdfFileName = val; }
136 
138  inline void setVariableNames(const std::string& val)
139  {
142  }
143 
145  int loadVarHistograms(const std::string& vstr,
146  TFile* pdfFile,
147  unsigned int varIndex);
148 
150  inline void setBinning(const std::string& val) { m_ipBinning = val; }
151 
152  unsigned int getBitmask(void) const { return m_variableBitMask; }
153  inline void setBitmask(unsigned int val) { m_variableBitMask = val; };
154 
155  // Private methods
156 private:
157  // For every input "varVector", make sure elements of vector are
158  // in the same order as prescribed in fVariables
159 
160  double evaluateLikelihood(const std::vector<double>& varVector,
161  double et,
162  double eta,
163  double ip = 0) const;
164 
165  double evaluateLikelihood(const std::vector<float>& varVector,
166  double et,
167  double eta,
168  double ip = 0) const;
169 
170  unsigned int getLikelihoodBitmask(const std::string& vars) const;
171 
172  double InterpolateCuts(const std::vector<double>& cuts,
173  const std::vector<double>& cuts_4gev,
174  double et,
175  double eta) const;
176  double InterpolatePdfs(unsigned int s_or_b,
177  unsigned int ipbin,
178  double et,
179  double eta,
180  int bin,
181  unsigned int var) const;
182 
183 public:
185  std::vector<int> m_cutBL;
187  std::vector<int> m_cutPi;
189  std::vector<int> m_cutSi;
191  std::vector<double> m_cutA0;
193  std::vector<double> m_cutDeltaEta;
194  // /** @brief do cut on delta phi bit*/
195  std::vector<double> m_cutDeltaPhiRes;
197  std::vector<int> m_cutAmbiguity;
208  // /** @brief do cut on wstot above HighETBinThreshold bit*/
209  std::vector<double> m_cutWstotAtHighET;
210  // /** @brief do cut on EoverP above HighETBinThreshold bit*/
211  std::vector<double> m_cutEoverPAtHighET;
217  std::vector<double> m_cutLikelihood;
219  std::vector<double> m_cutLikelihoodPileupCorrection;
221  std::vector<double> m_cutLikelihood4GeV;
225  std::vector<double> m_discHardCutForPileupTransform;
234  std::vector<double> m_discLooseForPileupTransform;
252  std::string m_variableNames;
254  std::string m_pdfFileName;
255 
256  // Private methods
257 private:
260  double TransformLikelihoodOutput(double ps,
261  double pb,
262  double ip,
263  double et,
264  double eta) const;
265 
267  static unsigned int getLikelihoodEtaBin(double eta) ;
268 
270  static unsigned int getLikelihoodEtHistBin(double eT) ;
271 
273  unsigned int getLikelihoodEtDiscBin(double eT, const bool isLHbinning) const;
274 
275  // Private member variables
276 private:
278  std::string m_name;
279 
282 
285  unsigned int m_variableBitMask;
286 
288  std::string m_ipBinning;
289 
292 
295 
298 
301 
304 
307 
310 
313 
316 
320 
324 
325  static constexpr double s_fIpBounds[IP_BINS + 1] = { 0., 500. };
326 
327  // number of hists stored for original LH, including 4GeV bin (for backwards
328  // compatibility)
329  static constexpr unsigned int s_fnEtBinsHist = 7;
330  // number of discs stored for original LH, excluding 4GeV bin (for
331  // backwards compatibility)
332  static constexpr unsigned int s_fnDiscEtBins = 9;
333  // number of discs stored for original LH plus one for
334  // HighETBinThreshold (useOneExtraHighETLHBin), excluding 4GeV bin
335  static constexpr unsigned int s_fnDiscEtBinsOneExtra = 10;
336  static constexpr unsigned int s_fnEtaBins = 10;
337  static constexpr unsigned int s_fnVariables = 13;
338  // 5D array of ptr to SafeTH1 // [sig(0)/bkg(1)][ip][et][eta][variable]
340  [s_fnVariables]{};
341  static const std::string s_fVariables[s_fnVariables];
342 
343  static unsigned int getIpBin(double ip) ;
344  static void getBinName(char* buffer,
345  int etbin,
346  int etabin,
347  int ipbin,
348  const std::string& iptype) ;
349 };
350 
351 } // End: namespace Root
352 
353 #endif
LikeEnum::LHCalcVars_t::d0
double d0
Definition: TElectronLikelihoodTool.h:67
LikeEnum::LHAcceptVars_t::nPixHitsPlusDeadSensors
int nPixHitsPlusDeadSensors
Definition: TElectronLikelihoodTool.h:44
Root::EGSelectors::SafeTH1
Definition: SafeTH1.h:12
beamspotnt.var
var
Definition: bin/beamspotnt.py:1394
Root::TElectronLikelihoodTool::setBinning
void setBinning(const std::string &val)
Define the binning.
Definition: TElectronLikelihoodTool.h:150
Root::TElectronLikelihoodTool::m_cutLikelihoodPileupCorrection4GeV
std::vector< double > m_cutLikelihoodPileupCorrection4GeV
pileup correction factor for cut on likelihood output, 4 GeV bin
Definition: TElectronLikelihoodTool.h:223
xAOD::eratio
setCharge setNTRTHiThresholdHits eratio
Definition: TrigElectron_v1.cxx:96
LikeEnum::LHAcceptVars_t::eT
double eT
Definition: TElectronLikelihoodTool.h:42
et
Extra patterns decribing particle interation process.
LikeEnum::LHAcceptVars_t
Definition: TElectronLikelihoodTool.h:39
Root::TElectronLikelihoodTool::m_doCentralityTransform
bool m_doCentralityTransform
do centrality-dependent transform on discriminant value
Definition: TElectronLikelihoodTool.h:215
Root::TElectronLikelihoodTool::setVariableNames
void setVariableNames(const std::string &val)
Define the variable names.
Definition: TElectronLikelihoodTool.h:138
Root::TElectronLikelihoodTool::m_cutPositionTrackMatchEta
int m_cutPositionTrackMatchEta
The position of the deltaeta cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:312
LikeEnum::LHAcceptVars_t::ambiguityBit
uint8_t ambiguityBit
Definition: TElectronLikelihoodTool.h:46
Root::TElectronLikelihoodTool::getBinName
static void getBinName(char *buffer, int etbin, int etabin, int ipbin, const std::string &iptype)
Definition: TElectronLikelihoodTool.cxx:1114
Root::TElectronLikelihoodTool::TElectronLikelihoodTool
TElectronLikelihoodTool(const char *name="TElectronLikelihoodTool")
Standard constructor.
Definition: TElectronLikelihoodTool.cxx:28
Root
Definition: GoodRunsListSelectorTool.h:30
Root::TElectronLikelihoodTool::getIpBin
static unsigned int getIpBin(double ip)
Definition: TElectronLikelihoodTool.cxx:1027
Root::TElectronLikelihoodTool::s_fnDiscEtBinsOneExtra
static constexpr unsigned int s_fnDiscEtBinsOneExtra
Definition: TElectronLikelihoodTool.h:335
LikeEnum::LHCalcVars_t::Reta
double Reta
Definition: TElectronLikelihoodTool.h:62
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
xAOD::EgammaParameters::Reta
@ Reta
e237/e277
Definition: EgammaEnums.h:154
SafeTH1.h
LikeEnum::LHCalcVars_t::rHad1
double rHad1
Definition: TElectronLikelihoodTool.h:61
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
Root::TElectronLikelihoodTool::m_discHardCutQuadForPileupTransform4GeV
std::vector< double > m_discHardCutQuadForPileupTransform4GeV
reference quadratic par on disc for very hard cut; used by centrality transform - 4-7 GeV
Definition: TElectronLikelihoodTool.h:243
Root::TElectronLikelihoodTool::m_cutDeltaEta
std::vector< double > m_cutDeltaEta
do cut on delta eta bit
Definition: TElectronLikelihoodTool.h:193
Root::TElectronLikelihoodTool::getLikelihoodEtHistBin
static unsigned int getLikelihoodEtHistBin(double eT)
Coarse Et binning. Used for the likelihood pdfs.
Definition: TElectronLikelihoodTool.cxx:1055
Root::TElectronLikelihoodTool::m_discHardCutSlopeForPileupTransform
std::vector< double > m_discHardCutSlopeForPileupTransform
reference slope on disc for very hard cut; used by pileup transform
Definition: TElectronLikelihoodTool.h:228
Root::TElectronLikelihoodTool::s_fnEtaBins
static constexpr unsigned int s_fnEtaBins
Definition: TElectronLikelihoodTool.h:336
LikeEnum::LHCalcVars_t::TRT_PID
double TRT_PID
Definition: TElectronLikelihoodTool.h:72
bin
Definition: BinsDiffFromStripMedian.h:43
Root::TElectronLikelihoodTool::m_cutBL
std::vector< int > m_cutBL
cut min on b-layer hits
Definition: TElectronLikelihoodTool.h:185
Root::TElectronLikelihoodTool::m_ipBinning
std::string m_ipBinning
Deprecated.
Definition: TElectronLikelihoodTool.h:288
LikeEnum::LHCalcVars_t::d0sigma
double d0sigma
Definition: TElectronLikelihoodTool.h:68
Root::TElectronLikelihoodTool::m_cutPosition_NPixel
int m_cutPosition_NPixel
The position of the NPixel cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:297
Root::TElectronLikelihoodTool::initialize
StatusCode initialize()
Initialize this class.
Definition: TElectronLikelihoodTool.cxx:91
Root::TElectronLikelihoodTool::~TElectronLikelihoodTool
~TElectronLikelihoodTool()
Standard destructor.
Definition: TElectronLikelihoodTool.cxx:72
Root::TElectronLikelihoodTool::m_cutPositionEoverPAtHighET
int m_cutPositionEoverPAtHighET
The position of the high ET EoverP cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:323
xAOD::wstot
setEt setPhi setE277 setWeta2 setEta1 setE2tsts1 wstot
Definition: TrigEMCluster_v1.cxx:49
Root::TElectronLikelihoodTool::getAcceptInfo
const asg::AcceptInfo & getAcceptInfo() const
accesss to the accept info object
Definition: TElectronLikelihoodTool.h:95
Root::TElectronLikelihoodTool::m_discHardCutQuadForPileupTransform
std::vector< double > m_discHardCutQuadForPileupTransform
reference quadratic apr on disc for very hard cut; used by centrality transform
Definition: TElectronLikelihoodTool.h:231
Root::TElectronLikelihoodTool::m_discLooseForPileupTransform4GeV
std::vector< double > m_discLooseForPileupTransform4GeV
reference disc for a pileup independent loose menu; used by pileup transform - 4-7 GeV
Definition: TElectronLikelihoodTool.h:246
Root::TElectronLikelihoodTool::calculate
double calculate(LikeEnum::LHCalcVars_t &vars_struct) const
Definition: TElectronLikelihoodTool.cxx:724
ElectronSelectorHelpers::passBLayerRequirement
bool passBLayerRequirement(const xAOD::TrackParticle &tp)
return true if effective number of BL hits + outliers is at least one
Definition: ElectronSelectorHelpers.cxx:59
Root::TElectronLikelihoodTool::m_highETBinThreshold
double m_highETBinThreshold
ET threshold for using high ET cuts and bin.
Definition: TElectronLikelihoodTool.h:207
LikeEnum::LHAcceptVars_t::ip
double ip
Definition: TElectronLikelihoodTool.h:52
Root::TElectronLikelihoodTool::m_variableNames
std::string m_variableNames
variables to use in the LH
Definition: TElectronLikelihoodTool.h:252
Root::TElectronLikelihoodTool::m_cutWstotAtHighET
std::vector< double > m_cutWstotAtHighET
Definition: TElectronLikelihoodTool.h:209
Root::TElectronLikelihoodTool::s_fnEtBinsHist
static constexpr unsigned int s_fnEtBinsHist
Definition: TElectronLikelihoodTool.h:329
LikeEnum::LHCalcVars_t
Definition: TElectronLikelihoodTool.h:56
Root::TElectronLikelihoodTool::m_pdfFileName
std::string m_pdfFileName
Name of the pdf file.
Definition: TElectronLikelihoodTool.h:254
LikeEnum::LHCalcVars_t::ip
double ip
Definition: TElectronLikelihoodTool.h:73
AsgMessaging.h
xAOD::EgammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: EgammaEnums.h:54
LikeEnum
Definition: LikelihoodEnums.h:9
Root::TElectronLikelihoodTool::m_cutPi
std::vector< int > m_cutPi
cut min on pixel hits
Definition: TElectronLikelihoodTool.h:187
Root::TElectronLikelihoodTool::accept
asg::AcceptData accept() const
Return dummy accept with only info.
Definition: TElectronLikelihoodTool.h:113
Root::TElectronLikelihoodTool::m_doSmoothBinInterpolation
bool m_doSmoothBinInterpolation
do smooth interpolation between bins
Definition: TElectronLikelihoodTool.h:203
Root::TElectronLikelihoodTool::s_fnVariables
static constexpr unsigned int s_fnVariables
Definition: TElectronLikelihoodTool.h:337
createCoolChannelIdFile.buffer
buffer
Definition: createCoolChannelIdFile.py:12
Root::TElectronLikelihoodTool::m_cutPosition_NBlayer
int m_cutPosition_NBlayer
The position of the NBlayer cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:300
Root::TElectronLikelihoodTool::InterpolateCuts
double InterpolateCuts(const std::vector< double > &cuts, const std::vector< double > &cuts_4gev, double et, double eta) const
Definition: TElectronLikelihoodTool.cxx:1155
LikeEnum::LHAcceptVars_t::deltaEta
double deltaEta
Definition: TElectronLikelihoodTool.h:48
asg::AcceptInfo
Definition: AcceptInfo.h:28
LikeEnum::LHCalcVars_t::eT
double eT
Definition: TElectronLikelihoodTool.h:58
LikeEnum::LHCalcVars_t::deltaphires
double deltaphires
Definition: TElectronLikelihoodTool.h:71
IDTPM::eT
float eT(const U &p)
Accessor utility function for getting the value of Tranverse energy.
Definition: TrackParametersHelper.h:130
P4Helpers::deltaEta
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition: P4Helpers.h:53
LikeEnum::LHCalcVars_t::f3
double f3
Definition: TElectronLikelihoodTool.h:59
Root::TElectronLikelihoodTool::m_cutPosition_ambiguity
int m_cutPosition_ambiguity
The position of the ambiguity cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:303
Root::TElectronLikelihoodTool::m_cutLikelihoodPileupCorrection
std::vector< double > m_cutLikelihoodPileupCorrection
pileup correction factor for cut on likelihood output
Definition: TElectronLikelihoodTool.h:219
LikeEnum::LHAcceptVars_t::wstot
double wstot
Definition: TElectronLikelihoodTool.h:50
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PyAlgorithmExample.EoverP
int EoverP
Definition: PyAlgorithmExample.py:122
Root::TElectronLikelihoodTool::m_cutLikelihood
std::vector< double > m_cutLikelihood
cut on likelihood output
Definition: TElectronLikelihoodTool.h:217
LikeEnum::LHCalcVars_t::eratio
double eratio
Definition: TElectronLikelihoodTool.h:65
Root::TElectronLikelihoodTool::m_useOneExtraHighETLHBin
bool m_useOneExtraHighETLHBin
use one extra bin for high ET LH
Definition: TElectronLikelihoodTool.h:205
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
Root::TElectronLikelihoodTool::m_cutAmbiguity
std::vector< int > m_cutAmbiguity
do cut on ambiguity bit
Definition: TElectronLikelihoodTool.h:197
plotBeamSpotVert.cuts
string cuts
Definition: plotBeamSpotVert.py:93
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
LikeEnum::LHAcceptVars_t::likelihood
double likelihood
Definition: TElectronLikelihoodTool.h:40
IAsgTool.h
LikeEnum::LHAcceptVars_t::passBLayerRequirement
bool passBLayerRequirement
Definition: TElectronLikelihoodTool.h:45
AcceptData.h
Root::TElectronLikelihoodTool::s_fnDiscEtBins
static constexpr unsigned int s_fnDiscEtBins
Definition: TElectronLikelihoodTool.h:332
Root::TElectronLikelihoodTool::fPDFbins
EGSelectors::SafeTH1 * fPDFbins[2][IP_BINS][s_fnEtBinsHist][s_fnEtaBins][s_fnVariables]
Definition: TElectronLikelihoodTool.h:340
Root::TElectronLikelihoodTool::m_doRemoveTRTPIDAtHighEt
bool m_doRemoveTRTPIDAtHighEt
do remove TRTPID variable from likelihood at high Et (>80 GeV)
Definition: TElectronLikelihoodTool.h:201
Root::TElectronLikelihoodTool::s_fVariables
static const std::string s_fVariables[s_fnVariables]
Definition: TElectronLikelihoodTool.h:341
Root::TElectronLikelihoodTool::m_doRemoveF3AtHighEt
bool m_doRemoveF3AtHighEt
do remove f3 variable from likelihood at high Et (>80 GeV)
Definition: TElectronLikelihoodTool.h:199
Root::TElectronLikelihoodTool::m_discMaxForPileupTransform
double m_discMaxForPileupTransform
max discriminant for which pileup transform is to be used
Definition: TElectronLikelihoodTool.h:248
Root::TElectronLikelihoodTool::m_variableBitMask
unsigned int m_variableBitMask
The bitmask corresponding to the variables in the likelihood.
Definition: TElectronLikelihoodTool.h:285
LikeEnum::LHCalcVars_t::rphi
double rphi
Definition: TElectronLikelihoodTool.h:69
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
Root::TElectronLikelihoodTool::m_doPileupTransform
bool m_doPileupTransform
do pileup-dependent transform on discriminant value
Definition: TElectronLikelihoodTool.h:213
LikeEnum::LHCalcVars_t::eta
double eta
Definition: TElectronLikelihoodTool.h:57
LikeEnum::LHAcceptVars_t::nSiHitsPlusDeadSensors
int nSiHitsPlusDeadSensors
Definition: TElectronLikelihoodTool.h:43
Root::TElectronLikelihoodTool::evaluateLikelihood
double evaluateLikelihood(const std::vector< double > &varVector, double et, double eta, double ip=0) const
Definition: TElectronLikelihoodTool.cxx:770
Root::TElectronLikelihoodTool::m_cutEoverPAtHighET
std::vector< double > m_cutEoverPAtHighET
Definition: TElectronLikelihoodTool.h:211
AcceptInfo.h
Root::TElectronLikelihoodTool::m_discLooseForPileupTransform
std::vector< double > m_discLooseForPileupTransform
reference disc for a pileup independent loose menu; used by pileup transform
Definition: TElectronLikelihoodTool.h:234
Root::TElectronLikelihoodTool::getBitmask
unsigned int getBitmask(void) const
Definition: TElectronLikelihoodTool.h:152
LikeEnum::LHCalcVars_t::rHad
double rHad
Definition: TElectronLikelihoodTool.h:60
Root::TElectronLikelihoodTool::m_cutPosition_LH
int m_cutPosition_LH
The position of the likelihood cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:306
Root::TElectronLikelihoodTool::setBitmask
void setBitmask(unsigned int val)
Definition: TElectronLikelihoodTool.h:153
Root::TElectronLikelihoodTool::m_cutA0
std::vector< double > m_cutA0
cut max on track d0 bit
Definition: TElectronLikelihoodTool.h:191
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
Root::TElectronLikelihoodTool::getLikelihoodBitmask
unsigned int getLikelihoodBitmask(const std::string &vars) const
Definition: TElectronLikelihoodTool.cxx:1136
Root::TElectronLikelihoodTool::m_acceptInfo
asg::AcceptInfo m_acceptInfo
Accept info.
Definition: TElectronLikelihoodTool.h:281
Root::TElectronLikelihoodTool::TransformLikelihoodOutput
double TransformLikelihoodOutput(double ps, double pb, double ip, double et, double eta) const
Apply a transform to zoom into the LH output peaks.
Definition: TElectronLikelihoodTool.cxx:868
Root::TElectronLikelihoodTool::InterpolatePdfs
double InterpolatePdfs(unsigned int s_or_b, unsigned int ipbin, double et, double eta, int bin, unsigned int var) const
Definition: TElectronLikelihoodTool.cxx:1223
LikeEnum::LHAcceptVars_t::EoverP
double EoverP
Definition: TElectronLikelihoodTool.h:51
Root::TElectronLikelihoodTool::m_discHardCutSlopeForPileupTransform4GeV
std::vector< double > m_discHardCutSlopeForPileupTransform4GeV
reference slope on disc for very hard cut; used by pileup transform
Definition: TElectronLikelihoodTool.h:240
LikeEnum::LHAcceptVars_t::d0
double d0
Definition: TElectronLikelihoodTool.h:47
Root::TElectronLikelihoodTool::loadVarHistograms
int loadVarHistograms(const std::string &vstr, TFile *pdfFile, unsigned int varIndex)
Load the variable histograms from the pdf file.
Definition: TElectronLikelihoodTool.cxx:349
LikeEnum::LHCalcVars_t::f1
double f1
Definition: TElectronLikelihoodTool.h:64
LikeEnum::LHAcceptVars_t::eta
double eta
Definition: TElectronLikelihoodTool.h:41
Root::TElectronLikelihoodTool::m_cutDeltaPhiRes
std::vector< double > m_cutDeltaPhiRes
Definition: TElectronLikelihoodTool.h:195
Root::TElectronLikelihoodTool::m_cutPosition_kinematic
int m_cutPosition_kinematic
The position of the kinematic cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:291
Root::TElectronLikelihoodTool::getLikelihoodEtaBin
static unsigned int getLikelihoodEtaBin(double eta)
Eta binning for pdfs and discriminant cuts.
Definition: TElectronLikelihoodTool.cxx:1039
LikeEnum::LHCalcVars_t::deltaEta
double deltaEta
Definition: TElectronLikelihoodTool.h:66
Root::TElectronLikelihoodTool::m_cutPositionTrackMatchPhiRes
int m_cutPositionTrackMatchPhiRes
The position of the deltaphi cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:315
Root::TElectronLikelihoodTool::m_cutLikelihood4GeV
std::vector< double > m_cutLikelihood4GeV
cut on likelihood output, 4 GeV bin
Definition: TElectronLikelihoodTool.h:221
Root::TElectronLikelihoodTool
Definition: TElectronLikelihoodTool.h:79
LikeEnum::LHCalcVars_t::w2
double w2
Definition: TElectronLikelihoodTool.h:63
LikeEnum::LHCalcVars_t::deltaPoverP
double deltaPoverP
Definition: TElectronLikelihoodTool.h:70
asg::AcceptData
Definition: AcceptData.h:30
Root::TElectronLikelihoodTool::m_discHardCutForPileupTransform
std::vector< double > m_discHardCutForPileupTransform
reference disc for very hard cut; used by pileup transform
Definition: TElectronLikelihoodTool.h:225
Root::TElectronLikelihoodTool::m_pileupMaxForPileupTransform
double m_pileupMaxForPileupTransform
max nvtx or mu to be used in pileup transform
Definition: TElectronLikelihoodTool.h:250
Root::TElectronLikelihoodTool::setPDFFileName
void setPDFFileName(const std::string &val)
Add an input file that holds the PDFs.
Definition: TElectronLikelihoodTool.h:135
Root::TElectronLikelihoodTool::m_cutPositionWstotAtHighET
int m_cutPositionWstotAtHighET
The position of the high ET wstot cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:319
Root::TElectronLikelihoodTool::m_name
std::string m_name
tool name
Definition: TElectronLikelihoodTool.h:278
Root::TElectronLikelihoodTool::m_discHardCutForPileupTransform4GeV
std::vector< double > m_discHardCutForPileupTransform4GeV
reference disc for very hard cut; used by pileup transform - 4-7 GeV
Definition: TElectronLikelihoodTool.h:237
LikeEnum::LHAcceptVars_t::deltaphires
double deltaphires
Definition: TElectronLikelihoodTool.h:49
Root::TElectronLikelihoodTool::s_fIpBounds
static constexpr double s_fIpBounds[IP_BINS+1]
Definition: TElectronLikelihoodTool.h:325
Root::TElectronLikelihoodTool::m_cutPositionTrackA0
int m_cutPositionTrackA0
The position of the d0 cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:309
Root::TElectronLikelihoodTool::m_cutPosition_NSilicon
int m_cutPosition_NSilicon
The position of the NSilicon cut bit in the AcceptInfo return object.
Definition: TElectronLikelihoodTool.h:294
Root::TElectronLikelihoodTool::getLikelihoodEtDiscBin
unsigned int getLikelihoodEtDiscBin(double eT, const bool isLHbinning) const
Fine Et binning. Used for the likelihood discriminant cuts.
Definition: TElectronLikelihoodTool.cxx:1075
Root::TElectronLikelihoodTool::m_cutSi
std::vector< int > m_cutSi
cut min on precision hits
Definition: TElectronLikelihoodTool.h:189
read_hist_ntuple.f1
f1
Definition: read_hist_ntuple.py:4