CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MuIsoByTrackPt.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_MuIsoByTrackPt_H
2 #define MuonIsolation_MuIsoByTrackPt_H
3 
6 
7 namespace reco {
8  namespace isodeposit {
9  class IsoDepositExtractor;
10  }
11 } // namespace reco
12 namespace muonisolation {
13  class IsolatorByDeposit;
14 }
15 namespace reco {
16  class Track;
17 }
18 namespace edm {
19  class Event;
20 }
21 namespace edm {
22  class EventSetup;
23 }
24 namespace edm {
25  class ConsumesCollector;
26 }
27 namespace edm {
28  class ParameterSet;
29 }
30 
32 public:
34  ~MuIsoByTrackPt() override;
35 
36  float isolation(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) override;
37  float isolation(const edm::Event& ev, const edm::EventSetup& es, const reco::TrackRef& muon) override {
38  return isolation(ev, es, *muon);
39  }
40  bool isIsolated(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) override;
41  bool isIsolated(const edm::Event& ev, const edm::EventSetup& es, const reco::TrackRef& muon) override {
42  return isIsolated(ev, es, *muon);
43  }
44 
45  void setConeSize(float dr);
46  void setCut(float cut) { theCut = cut; }
47 
50 
51 private:
52  float theCut;
53  std::unique_ptr<reco::isodeposit::IsoDepositExtractor> theExtractor;
54  std::unique_ptr<muonisolation::IsolatorByDeposit> theIsolator;
55 };
56 
57 #endif
virtual muonisolation::IsolatorByDeposit * isolator()
MuIsoByTrackPt(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
virtual reco::isodeposit::IsoDepositExtractor * extractor()
~MuIsoByTrackPt() override
bool ev
bool isIsolated(const edm::Event &ev, const edm::EventSetup &es, const reco::TrackRef &muon) override
void setConeSize(float dr)
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
float isolation(const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
The isolation result for one muon.
void setCut(float cut)
bool isIsolated(const edm::Event &, const edm::EventSetup &, const reco::Track &muon) override
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator
float isolation(const edm::Event &ev, const edm::EventSetup &es, const reco::TrackRef &muon) override