CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoEgamma/ElectronIdentification/interface/ElectronIDAlgo.h

Go to the documentation of this file.
00001 #ifndef ElectronIDAlgo_H
00002 #define ElectronIDAlgo_H
00003 
00004 #include <memory>
00005 
00006 #include "FWCore/Framework/interface/Frameworkfwd.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/Framework/interface/MakerMacros.h"
00009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00010 #include "FWCore/Framework/interface/ESHandle.h"
00011 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00012 #include "DataFormats/EgammaReco/interface/BasicClusterFwd.h"
00013 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00014 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
00015 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00016 #include "Geometry/CaloTopology/interface/CaloTopology.h"
00017 #include "Geometry/Records/interface/CaloGeometryRecord.h"
00018 #include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h"
00019 
00020 
00021 class ElectronIDAlgo {
00022 
00023 public:
00024 
00025   ElectronIDAlgo(){};
00026 
00027   virtual ~ElectronIDAlgo(){};
00028 
00029   void baseSetup(const edm::ParameterSet& conf) ;
00030   virtual void setup(const edm::ParameterSet& conf)  {};
00031   virtual double result(const reco::GsfElectron*, const edm::Event&, const edm::EventSetup&) {return 0.;};
00032 
00033  protected:
00034 
00035   EcalClusterLazyTools getClusterShape(const edm::Event&, const edm::EventSetup&);
00036 
00037   edm::InputTag reducedBarrelRecHitCollection_;
00038   edm::InputTag reducedEndcapRecHitCollection_;
00039 };
00040 
00041 #endif // ElectronIDAlgo_H