CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoEgamma/ElectronIdentification/interface/ElectronLikelihood.h

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