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 { namespace isodeposit { class IsoDepositExtractor; }}
8 namespace muonisolation { class IsolatorByDeposit; }
9 namespace reco { class Track; }
10 namespace edm { class Event; }
11 namespace edm { class EventSetup; }
12 namespace edm { class ConsumesCollector; }
13 namespace edm { class ParameterSet; }
14 
15 
17 public:
19  ~MuIsoByTrackPt() override;
20 
21  float isolation(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) override;
22  float isolation(const edm::Event& ev, const edm::EventSetup& es, const reco::TrackRef& muon) override
23  {
24  return isolation(ev, es, *muon);
25  }
26  bool isIsolated(const edm::Event&, const edm::EventSetup&, const reco::Track& muon) override;
27  bool isIsolated(const edm::Event& ev, const edm::EventSetup& es, const reco::TrackRef& muon) override
28  {
29  return isIsolated(ev, es, *muon);
30  }
31 
32  void setConeSize(float dr);
33  void setCut(float cut) { theCut = cut; }
34 
35  virtual reco::isodeposit::IsoDepositExtractor * extractor() { return theExtractor.get(); }
36  virtual muonisolation::IsolatorByDeposit * isolator() { return theIsolator.get(); }
37 
38 private:
39  float theCut;
40  std::unique_ptr<reco::isodeposit::IsoDepositExtractor> theExtractor;
41  std::unique_ptr<muonisolation::IsolatorByDeposit> theIsolator;
42 };
43 
44 #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