CMS 3D CMS Logo

IsoDepositExtractor.h
Go to the documentation of this file.
1 #ifndef IsolationAlgos_IsoDepositExtractor_H
2 #define IsolationAlgos_IsoDepositExtractor_H
3 
4 //
5 //
6 //
7 
9 
12 
15 
18 
20 
21 namespace reco {
22  namespace isodeposit {
23 
25  public:
27  virtual ~IsoDepositExtractor(){};
28 
31  virtual void fillVetos(const edm::Event& ev,
32  const edm::EventSetup& evSetup,
33  const reco::TrackCollection& tracks) = 0;
34 
36  virtual void initEvent(const edm::Event&, const edm::EventSetup&) {}
37 
40  virtual reco::IsoDeposit deposit(const edm::Event& ev,
41  const edm::EventSetup& evSetup,
42  const reco::Track& track) const = 0;
43 
46  const edm::EventSetup& evSetup,
47  const reco::TrackBaseRef& track) const {
48  return deposit(ev, evSetup, *track);
49  }
50 
54  const edm::EventSetup& evSetup,
55  const reco::Candidate& track) const {
56  //track-based implementation as default <-- do I want this pure virtual?
57  return deposit(
58  ev,
59  evSetup,
60  reco::Track(10, 10, track.vertex(), track.momentum(), track.charge(), reco::Track::CovarianceMatrix()));
61  }
62 
65  const edm::EventSetup& evSetup,
66  const reco::CandidateBaseRef& track) const {
67  return deposit(ev, evSetup, *track);
68  }
69 
73  virtual std::vector<reco::IsoDeposit> deposits(const edm::Event& ev,
74  const edm::EventSetup& evSetup,
75  const reco::Track& track) const {
76  return std::vector<reco::IsoDeposit>(1, deposit(ev, evSetup, track));
77  }
78 
81  virtual std::vector<reco::IsoDeposit> deposits(const edm::Event& ev,
82  const edm::EventSetup& evSetup,
83  const reco::TrackBaseRef& track) const {
84  return deposits(ev, evSetup, *track);
85  }
86 
89  virtual std::vector<reco::IsoDeposit> deposits(const edm::Event& ev,
90  const edm::EventSetup& evSetup,
91  const reco::Candidate& track) const {
92  return deposits(
93  ev,
94  evSetup,
95  reco::Track(10, 10, track.vertex(), track.momentum(), track.charge(), reco::Track::CovarianceMatrix()));
96  }
97 
100  virtual std::vector<reco::IsoDeposit> deposits(const edm::Event& ev,
101  const edm::EventSetup& evSetup,
102  const reco::CandidateBaseRef& track) const {
103  return deposits(ev, evSetup, *track);
104  }
105  };
106  } // namespace isodeposit
107 } // namespace reco
108 #endif
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
reco::isodeposit::IsoDepositExtractor::deposits
virtual std::vector< reco::IsoDeposit > deposits(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const
Definition: IsoDepositExtractor.h:73
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::isodeposit::IsoDepositExtractor::fillVetos
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks)=0
reco::isodeposit::IsoDepositExtractor::initEvent
virtual void initEvent(const edm::Event &, const edm::EventSetup &)
perform some constly initialization
Definition: IsoDepositExtractor.h:36
CandidateFwd.h
reco::isodeposit::IsoDepositExtractor::deposits
virtual std::vector< reco::IsoDeposit > deposits(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::CandidateBaseRef &track) const
Definition: IsoDepositExtractor.h:100
Track.h
TrackFwd.h
reco::Track
Definition: Track.h:27
reco::isodeposit::IsoDepositExtractor::~IsoDepositExtractor
virtual ~IsoDepositExtractor()
Destructor.
Definition: IsoDepositExtractor.h:27
IsoDeposit.h
Event.h
reco::isodeposit::IsoDepositExtractor::deposits
virtual std::vector< reco::IsoDeposit > deposits(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Candidate &track) const
Definition: IsoDepositExtractor.h:89
edm::EventSetup
Definition: EventSetup.h:57
reco::Candidate
Definition: Candidate.h:27
reco::isodeposit::IsoDepositExtractor::deposit
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const =0
reco::isodeposit::IsoDepositExtractor::deposit
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::CandidateBaseRef &track) const
make single IsoDeposit based on a CandidateBaseRef as input
Definition: IsoDepositExtractor.h:64
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
reco::isodeposit::IsoDepositExtractor::deposit
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackBaseRef &track) const
make single IsoDeposit based on trackRef as input
Definition: IsoDepositExtractor.h:45
EventSetup.h
reco::IsoDeposit
Definition: IsoDeposit.h:49
edm::RefToBase< reco::Track >
reco::isodeposit::IsoDepositExtractor::deposit
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Candidate &track) const
Definition: IsoDepositExtractor.h:53
Candidate.h
ParameterSet.h
reco::isodeposit::IsoDepositExtractor
Definition: IsoDepositExtractor.h:24
reco::TrackBase::CovarianceMatrix
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackBase.h:74
edm::Event
Definition: Event.h:73
reco::isodeposit::IsoDepositExtractor::deposits
virtual std::vector< reco::IsoDeposit > deposits(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackBaseRef &track) const
Definition: IsoDepositExtractor.h:81
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14