00001 #ifndef ElectronIDSelectorLikelihood_h 00002 #define ElectronIDSelectorLikelihood_h 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "FWCore/Framework/interface/MakerMacros.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "FWCore/Framework/interface/ESHandle.h" 00009 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00010 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h" 00011 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h" 00012 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" 00013 #include "Geometry/CaloGeometry/interface/CaloGeometry.h" 00014 #include "Geometry/CaloTopology/interface/CaloTopology.h" 00015 #include "Geometry/Records/interface/CaloGeometryRecord.h" 00016 #include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" 00017 #include "RecoEgamma/ElectronIdentification/interface/ElectronLikelihood.h" 00018 00019 class ElectronIDSelectorLikelihood 00020 { 00021 public: 00022 00023 explicit ElectronIDSelectorLikelihood (const edm::ParameterSet& conf) ; 00024 virtual ~ElectronIDSelectorLikelihood () ; 00025 00026 void newEvent (const edm::Event&, const edm::EventSetup&) ; 00027 double operator() (const reco::GsfElectron&, const edm::Event&, const edm::EventSetup&) ; 00028 00029 private: 00030 00031 edm::ESHandle<ElectronLikelihood> likelihoodAlgo_ ; 00032 00033 edm::ParameterSet conf_; 00034 00035 edm::InputTag reducedBarrelRecHitCollection_; 00036 edm::InputTag reducedEndcapRecHitCollection_; 00037 00038 bool doLikelihood_; 00039 00040 }; 00041 #endif