CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
JetCorrector.h
Go to the documentation of this file.
1 //
2 // Original Author: Fedor Ratnikov Dec 27, 2006
3 //
4 // Generic interface for JetCorrection services
5 //
6 #ifndef JetCorrector_h
7 #define JetCorrector_h
8 
9 #include <string>
12 
14 namespace edm {
15  class Event;
16  class EventSetup;
17 }
18 
20 {
21  public:
22 
24 
26  virtual ~JetCorrector (){};
27 
29  virtual double correction (const LorentzVector& fJet) const = 0;
30 
32  virtual double correction (const reco::Jet& fJet) const = 0;
33 
35  virtual double correction (const reco::Jet& fJet,
36  const edm::Event& fEvent,
37  const edm::EventSetup& fSetup) const;
38 
40  virtual double correction (const reco::Jet& fJet,
41  const edm::RefToBase<reco::Jet>& fJetRef,
42  const edm::Event& fEvent,
43  const edm::EventSetup& fSetup) const;
44 
46  virtual double correction ( const reco::Jet& fJet,
47  const edm::RefToBase<reco::Jet>& fJetRef,
48  const edm::Event& fEvent,
49  const edm::EventSetup& fSetup,
50  LorentzVector& corrected ) const;
51 
53  virtual bool eventRequired () const = 0;
54 
56  virtual bool refRequired () const = 0;
57 
59  inline virtual bool vectorialCorrection () const;
60 
62  static const JetCorrector* getJetCorrector (const std::string& fName, const edm::EventSetup& fSetup);
63 };
64 
65 // inline method
66 inline bool JetCorrector::vectorialCorrection () const { return false; }
67 
68 #endif
virtual ~JetCorrector()
Definition: JetCorrector.h:26
virtual double correction(const LorentzVector &fJet) const =0
get correction using Jet information only
Base class for all types of Jets.
Definition: Jet.h:20
math::XYZTLorentzVector LorentzVector
virtual bool eventRequired() const =0
if correction needs event information
virtual bool vectorialCorrection() const
if vectorial correction is provided
Definition: JetCorrector.h:66
static const JetCorrector * getJetCorrector(const std::string &fName, const edm::EventSetup &fSetup)
retrieve corrector from the event setup. troughs exception if something is missing ...
Definition: JetCorrector.cc:50
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Particle.h:21
virtual bool refRequired() const =0
if correction needs the jet reference
reco::Particle::LorentzVector LorentzVector
Definition: JetCorrector.h:23