00001 // 00002 // $Id: TrackerIsolationPt.h,v 1.4 2008/03/05 14:51:03 fronga Exp $ 00003 // 00004 00005 #ifndef PhysicsTools_PatUtils_TrackerIsolationPt_h 00006 #define PhysicsTools_PatUtils_TrackerIsolationPt_h 00007 00019 namespace reco { 00020 class Track; 00021 } 00022 00023 namespace edm { 00024 template<typename T> class View; 00025 class InputTag; 00026 } 00027 00028 namespace pat { 00029 class Electron; 00030 class Muon; 00031 class TrackerIsolationPt { 00032 public: 00033 TrackerIsolationPt(); 00034 virtual ~TrackerIsolationPt(); 00035 00036 float calculate(const Electron & theElectron, const edm::View<reco::Track> & theTracks, float isoConeElectron = 0.3) const; 00037 float calculate(const Muon & theMuon, const edm::View<reco::Track> & theTracks, float isoConeMuon = 0.3) const; 00038 00039 private: 00040 float calculate(const reco::Track & theTrack, const edm::View<reco::Track> & theTracks, float isoCone) const; 00041 }; 00042 00043 } 00044 00045 #endif