CMS 3D CMS Logo

CandViewExtractor.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_CandViewExtractor_H
2 #define MuonIsolation_CandViewExtractor_H
3 
4 #include <string>
5 #include <vector>
6 
8 
15 
16 namespace muonisolation {
17 
19  public:
22 
23  ~CandViewExtractor() override {}
24 
25  void fillVetos(const edm::Event& ev, const edm::EventSetup& evSetup, const reco::TrackCollection& cand) override {}
26 
27  /* virtual reco::IsoDeposit::Vetos vetos(const edm::Event & ev,
28  const edm::EventSetup & evSetup, const reco::Candidate & cand) const;
29 
30  virtual reco::IsoDeposit::Vetos vetos(const edm::Event & ev,
31  const edm::EventSetup & evSetup, const reco::Track & cand) const;
32 */
33 
34  void initEvent(const edm::Event& ev, const edm::EventSetup& evSetup) override;
35 
37  const edm::EventSetup& evSetup,
38  const reco::Track& muon) const override {
39  return depositFromObject(ev, evSetup, muon);
40  }
41 
43  const edm::EventSetup& evSetup,
44  const reco::Candidate& muon) const override {
45  return depositFromObject(ev, evSetup, muon);
46  }
47 
48  private:
50 
51  template <typename T>
52  reco::IsoDeposit depositFromObject(const edm::Event& ev, const edm::EventSetup& evSetup, const T& cand) const;
53 
54  // Parameter set
56  std::string theDepositLabel; // name for deposit
59  double theDiff_r; // transverse distance to vertex
60  double theDiff_z; // z distance to vertex
61  double theDR_Max; // Maximum cone angle for deposits
62  double theDR_Veto; // Veto cone angle
63  };
64 
65 } // namespace muonisolation
66 
67 #endif
unsigned long CacheIdentifier_t
Definition: Event.h:115
reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &muon) const override
edm::Event::CacheIdentifier_t theCacheID
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::EDGetTokenT< edm::View< reco::Candidate > > theCandViewToken
edm::Handle< edm::View< reco::Candidate > > theCandViewH
bool ev
void initEvent(const edm::Event &ev, const edm::EventSetup &evSetup) override
perform some constly initialization
reco::IsoDeposit depositFromObject(const edm::Event &ev, const edm::EventSetup &evSetup, const T &cand) const
void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &cand) override
reco::IsoDeposit::Veto veto(const reco::IsoDeposit::Direction &dir) const
long double T
reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Candidate &muon) const override