00001 #ifndef EgammaIsolationAlgos_ElectronTkIsolation_h 00002 #define EgammaIsolationAlgos_ElectronTkIsolation_h 00003 //***************************************************************************** 00004 // File: ElectronTkIsolation.h 00005 // ---------------------------------------------------------------------------- 00006 // OrigAuth: Matthias Mozer 00007 // Institute: IIHE-VUB 00008 //============================================================================= 00009 //***************************************************************************** 00010 00011 //C++ includes 00012 #include <vector> 00013 #include <functional> 00014 00015 //Root includes 00016 #include "TObjArray.h" 00017 00018 //CMSSW includes 00019 #include "FWCore/Framework/interface/ESHandle.h" 00020 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h" 00021 #include "DataFormats/TrackReco/interface/Track.h" 00022 00023 00024 class ElectronTkIsolation { 00025 public: 00026 00027 //constructors 00028 ElectronTkIsolation ( double extRadius, 00029 double intRadius, 00030 double ptLow, 00031 double lip, 00032 const reco::TrackCollection* ) ; 00033 //destructor 00034 ~ElectronTkIsolation() ; 00035 00036 //methods 00037 00038 int getNumberTracks(const reco::GsfElectron*) const ; 00039 double getPtTracks (const reco::GsfElectron*) const ; 00040 00041 private: 00042 00043 double extRadius_ ; 00044 double intRadius_ ; 00045 double ptLow_ ; 00046 double lip_ ; 00047 00048 const reco::TrackCollection *trackCollection_ ; 00049 00050 std::pair<int,double>getIso(const reco::GsfElectron*) const ; 00051 }; 00052 00053 #endif