Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:04

0001 #ifndef MuonIsolation_MuIsoBaseAlgorithm_H
0002 #define MuonIsolation_MuIsoBaseAlgorithm_H
0003 
0004 #include "DataFormats/TrackReco/interface/Track.h"
0005 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0006 
0007 namespace edm {
0008   class Event;
0009 }
0010 namespace edm {
0011   class EventSetup;
0012 }
0013 
0014 class MuIsoBaseAlgorithm {
0015 public:
0016   /// Destructor
0017   virtual ~MuIsoBaseAlgorithm() {}
0018 
0019   /// The isolation result for one muon
0020   virtual float isolation(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) = 0;
0021   virtual float isolation(const edm::Event&, const edm::EventSetup&, const reco::TrackRef& muon) = 0;
0022 
0023   /// Return logical result of isolaton is all parameters and cuts are fixe
0024   /// (may remain not implemented for all types of isolation)
0025   virtual bool isIsolated(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) = 0;
0026   virtual bool isIsolated(const edm::Event&, const edm::EventSetup&, const reco::TrackRef& muon) = 0;
0027 
0028   /// The component that reconstructs and selects deposits
0029   //virtual MuIsoExtractor * extractor() = 0;
0030 
0031   /// The component that computes the isolation value from the deposits
0032   //virtual MuIsoBaseIsolator  * isolator() = 0;
0033 };
0034 #endif