CMS 3D CMS Logo

ElectronLikelihood.h
Go to the documentation of this file.
1 #ifndef ElectronLikelihood_H
2 #define ElectronLikelihood_H
3 
13 #include <TDirectory.h>
14 #include <vector>
15 
16 
18 
19  public:
20 
23 
26  LikelihoodSwitches eleIDSwitches,
29  bool splitSignalPdfs,
30  bool splitBackgroundPdfs) ;
31 
33  virtual ~ElectronLikelihood () ;
34 
36  void setup (const edm::ParameterSet& conf) {} ;
37 
39  float result (const reco::GsfElectron &electron,
40  const EcalClusterLazyTools&) const ;
42  float resultLog (const reco::GsfElectron &electron,
43  const EcalClusterLazyTools&) const ;
44 
45  private:
46 
49  void Setup (const ElectronLikelihoodCalibration *calibration,
50  std::string signalWeightSplitting,
51  std::string backgroundWeightSplitting,
52  bool splitSignalPdfs,
53  bool splitBackgroundPdfs) ;
54 
55 
57  void getInputVar (const reco::GsfElectron &electron,
58  std::vector<float> &measuremnts,
59  const EcalClusterLazyTools&) const ;
60 
61  //Class to enforce that we only call const functions on LikelihoodPdfProduct
62  // when we are in const functions of ElectronLikelihood
64  public:
67 
69  const LikelihoodPdfProduct* operator->() const { return m_ptr;}
70 
71  LikelihoodPdfProduct* get() { return m_ptr;}
72 
73  private:
75  };
76 
81 
84 
88 
89 };
90 
93 
94 #endif // ElectronLikelihood_H
virtual ~ElectronLikelihood()
dtor
float result(const reco::GsfElectron &electron, const EcalClusterLazyTools &) const
get the result of the algorithm
LikelihoodPdfProductPtr _EEgt15lh
std::string m_backgroundWeightSplitting
LikelihoodPdfProductPtr _EB1gt15lh
ElectronLikelihood()
ctor, not used for this algo (need initialization from ES)
#define nullptr
const LikelihoodPdfProduct * operator->() const
LikelihoodPdfProductPtr _EB0gt15lh
likelihood above 15GeV/c
#define EVENTSETUP_DATA_DEFAULT_RECORD(_data_, _record_)
LikelihoodSwitches m_eleIDSwitches
general parameters of all the ele id algorithms
void setup(const edm::ParameterSet &conf)
not used for this algo
float resultLog(const reco::GsfElectron &electron, const EcalClusterLazyTools &) const
get the log-expanded result of the algorithm
LikelihoodPdfProductPtr _EElt15lh
void getInputVar(const reco::GsfElectron &electron, std::vector< float > &measuremnts, const EcalClusterLazyTools &) const
get the input variables from the electron and the e-Setup
std::string m_signalWeightSplitting
splitting rule for PDF&#39;s
LikelihoodPdfProductPtr _EB0lt15lh
likelihood below 15GeV/c
void Setup(const ElectronLikelihoodCalibration *calibration, std::string signalWeightSplitting, std::string backgroundWeightSplitting, bool splitSignalPdfs, bool splitBackgroundPdfs)
LikelihoodPdfProductPtr _EB1lt15lh
LikelihoodPdfProductPtr(LikelihoodPdfProduct *iPtr)