CMS 3D CMS Logo

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 
48  virtual reco::isodeposit::IsoDepositExtractor* extractor() { return theExtractor.get(); }
49  virtual muonisolation::IsolatorByDeposit* isolator() { return theIsolator.get(); }
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()
virtual reco::isodeposit::IsoDepositExtractor * extractor()
bool ev
bool isIsolated(const edm::Event &ev, const edm::EventSetup &es, const reco::TrackRef &muon) override
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
void setCut(float cut)
fixed size matrix
std::unique_ptr< muonisolation::IsolatorByDeposit > theIsolator
HLT enums.
float isolation(const edm::Event &ev, const edm::EventSetup &es, const reco::TrackRef &muon) override