00001 #include "RecoEgamma/ElectronIdentification/plugins/ElectronIDSelectorLikelihood.h" 00002 00003 ElectronIDSelectorLikelihood::ElectronIDSelectorLikelihood (const edm::ParameterSet& conf) : conf_ (conf) 00004 { 00005 doLikelihood_ = conf_.getParameter<bool> ("doLikelihood"); 00006 reducedBarrelRecHitCollection_ = conf.getParameter<edm::InputTag>("reducedBarrelRecHitCollection"); 00007 reducedEndcapRecHitCollection_ = conf.getParameter<edm::InputTag>("reducedEndcapRecHitCollection"); 00008 00009 } 00010 00011 ElectronIDSelectorLikelihood::~ElectronIDSelectorLikelihood () 00012 { 00013 } 00014 00015 void ElectronIDSelectorLikelihood::newEvent (const edm::Event& e, const edm::EventSetup& es) 00016 { 00017 00018 es.getData(likelihoodAlgo_) ; 00019 00020 } 00021 00022 double ElectronIDSelectorLikelihood::operator () (const reco::GsfElectron & ele, const edm::Event& e, const edm::EventSetup& es) 00023 { 00024 00025 if (doLikelihood_) { 00026 edm::Handle< EcalRecHitCollection > pEBRecHits; 00027 e.getByLabel( reducedBarrelRecHitCollection_, pEBRecHits ); 00028 00029 edm::Handle< EcalRecHitCollection > pEERecHits; 00030 e.getByLabel( reducedEndcapRecHitCollection_, pEERecHits ); 00031 00032 EcalClusterLazyTools lazyTools( e, es, reducedBarrelRecHitCollection_, reducedEndcapRecHitCollection_ ) ; 00033 return static_cast<double>(likelihoodAlgo_->result (ele,lazyTools)) ; 00034 } 00035 return 0; 00036 00037 }