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