Go to the documentation of this file.00001 #ifndef ElectronLikelihood_H
00002 #define ElectronLikelihood_H
00003
00004 #include "FWCore/Framework/interface/Event.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00007 #include "RecoEgamma/ElectronIdentification/interface/ElectronIDAlgo.h"
00008 #include "RecoEgamma/ElectronIdentification/interface/LikelihoodSwitches.h"
00009 #include "RecoEgamma/ElectronIdentification/interface/LikelihoodPdfProduct.h"
00010 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
00011 #include "CondFormats/DataRecord/interface/ElectronLikelihoodRcd.h"
00012 #include "CondFormats/EgammaObjects/interface/ElectronLikelihoodCalibration.h"
00013 #include <TDirectory.h>
00014 #include <vector>
00015
00016
00017 class ElectronLikelihood {
00018
00019 public:
00020
00022 ElectronLikelihood () {} ;
00023
00025 ElectronLikelihood (const ElectronLikelihoodCalibration *calibration,
00026 LikelihoodSwitches eleIDSwitches,
00027 std::string signalWeightSplitting,
00028 std::string backgroundWeightSplitting,
00029 bool splitSignalPdfs,
00030 bool splitBackgroundPdfs) ;
00031
00033 virtual ~ElectronLikelihood () ;
00034
00036 void setup (const edm::ParameterSet& conf) {} ;
00037
00039 float result (const reco::GsfElectron &electron,
00040 EcalClusterLazyTools) const ;
00041
00042 private:
00043
00046 void Setup (const ElectronLikelihoodCalibration *calibration,
00047 std::string signalWeightSplitting,
00048 std::string backgroundWeightSplitting,
00049 bool splitSignalPdfs,
00050 bool splitBackgroundPdfs) ;
00051
00052
00054 void getInputVar (const reco::GsfElectron &electron,
00055 std::vector<float> &measuremnts,
00056 EcalClusterLazyTools) const ;
00057
00059 LikelihoodPdfProduct *_EBlt15lh, *_EElt15lh;
00061 LikelihoodPdfProduct *_EBgt15lh, *_EEgt15lh;
00062
00064 LikelihoodSwitches m_eleIDSwitches ;
00065
00067 std::string m_signalWeightSplitting;
00068 std::string m_backgroundWeightSplitting;
00069 bool m_splitSignalPdfs;
00070 bool m_splitBackgroundPdfs;
00071
00072 };
00073
00074 #include "FWCore/Framework/interface/data_default_record_trait.h"
00075 EVENTSETUP_DATA_DEFAULT_RECORD (ElectronLikelihood, ElectronLikelihoodRcd)
00076
00077 #endif // ElectronLikelihood_H