CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual ~ChainedJetCorrector () {}
20 
21  virtual double correction (const JetCorrector::LorentzVector& fJet) const;
22  virtual double correction (const reco::Jet& fJet) const;
23  virtual double correction (const reco::Jet& fJet,
24  const edm::Event& fEvent,
25  const edm::EventSetup& fSetup) const;
26  virtual double correction (const reco::Jet& fJet,
27  const edm::RefToBase<reco::Jet>& fJetRef,
28  const edm::Event& fEvent,
29  const edm::EventSetup& fSetup) const;
30 
31  virtual bool eventRequired () const;
32  virtual bool refRequired () const;
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
virtual bool eventRequired() const
if correction needs event information
void push_back(const JetCorrector *fCorrector)
virtual bool refRequired() const
if correction needs jet reference
virtual double correction(const JetCorrector::LorentzVector &fJet) const
get correction using Jet information only
std::vector< const JetCorrector * > mCorrectors
reco::Particle::LorentzVector LorentzVector
Definition: JetCorrector.h:23