00001 #ifndef MuonIsolation_MuIsoBaseAlgorithm_H 00002 #define MuonIsolation_MuIsoBaseAlgorithm_H 00003 00004 #include "DataFormats/TrackReco/interface/Track.h" 00005 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00006 00007 namespace edm { class Event; } 00008 namespace edm { class EventSetup; } 00009 00010 class MuIsoBaseAlgorithm { 00011 public: 00013 virtual ~MuIsoBaseAlgorithm() {} 00014 00016 virtual float isolation(const edm::Event&, 00017 const edm::EventSetup&, 00018 const reco::Track& muon) = 0; 00019 virtual float isolation(const edm::Event&, const edm::EventSetup&, const reco::TrackRef& muon) = 0; 00020 00023 virtual bool isIsolated(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) = 0; 00024 virtual bool isIsolated(const edm::Event&, const edm::EventSetup&, const reco::TrackRef& muon) = 0; 00025 00027 //virtual MuIsoExtractor * extractor() = 0; 00028 00030 //virtual MuIsoBaseIsolator * isolator() = 0; 00031 00032 }; 00033 #endif