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 // $Id: ChainedJetCorrector.h,v 1.3 2011/04/28 14:05:21 kkousour Exp $
4 //
5 // Correction which chains other corrections
6 //
7 #ifndef ChainedJetCorrector_h
8 #define ChainedJetCorrector_h
9 
10 #include "boost/shared_ptr.hpp"
11 #include <vector>
12 
14 
15 
17 {
18 public:
20  virtual ~ChainedJetCorrector () {}
21 
22  virtual double correction (const JetCorrector::LorentzVector& fJet) const;
23  virtual double correction (const reco::Jet& fJet) const;
24  virtual double correction (const reco::Jet& fJet,
25  const edm::Event& fEvent,
26  const edm::EventSetup& fSetup) const;
27  virtual double correction (const reco::Jet& fJet,
28  const edm::RefToBase<reco::Jet>& fJetRef,
29  const edm::Event& fEvent,
30  const edm::EventSetup& fSetup) const;
31 
32  virtual bool eventRequired () const;
33  virtual bool refRequired () const;
34 
35  void push_back (const JetCorrector* fCorrector) {mCorrectors.push_back (fCorrector);}
36  void clear () {mCorrectors.clear ();}
37 
38 private:
39  std::vector <const JetCorrector*> mCorrectors;
40 };
41 
42 #endif
Base class for all types of Jets.
Definition: Jet.h:21
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:24