CMS 3D CMS Logo

ChainedJetCorrector.h
Go to the documentation of this file.
1 //
2 // Original Author: Fedor Ratnikov Dec 27, 2006
3 //
4 // Correction which chains other corrections
5 //
6 #ifndef ChainedJetCorrector_h
7 #define ChainedJetCorrector_h
8 
9 #include "boost/shared_ptr.hpp"
10 #include <vector>
11 
13 
14 
16 {
17 public:
19  ~ChainedJetCorrector () override {}
20 
21  double correction (const JetCorrector::LorentzVector& fJet) const override;
22  double correction (const reco::Jet& fJet) const override;
23  double correction (const reco::Jet& fJet,
24  const edm::Event& fEvent,
25  const edm::EventSetup& fSetup) const override;
26  double correction (const reco::Jet& fJet,
27  const edm::RefToBase<reco::Jet>& fJetRef,
28  const edm::Event& fEvent,
29  const edm::EventSetup& fSetup) const override;
30 
31  bool eventRequired () const override;
32  bool refRequired () const override;
33 
34  void push_back (const JetCorrector* fCorrector) {mCorrectors.push_back (fCorrector);}
35  void clear () {mCorrectors.clear ();}
36 
37 private:
38  std::vector <const JetCorrector*> mCorrectors;
39 };
40 
41 #endif
Base class for all types of Jets.
Definition: Jet.h:20
double correction(const JetCorrector::LorentzVector &fJet) const override
get correction using Jet information only
void push_back(const JetCorrector *fCorrector)
bool refRequired() const override
if correction needs jet reference
std::vector< const JetCorrector * > mCorrectors
bool eventRequired() const override
if correction needs event information
reco::Particle::LorentzVector LorentzVector
Definition: JetCorrector.h:23