Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
JetMETCorrections
Objects
interface
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>
10
#include "
DataFormats/Common/interface/RefToBase.h
"
11
#include "
DataFormats/JetReco/interface/Jet.h
"
12
14
namespace
edm {
15
class
Event
;
16
class
EventSetup
;
17
}
18
19
class
JetCorrector
20
{
21
public
:
22
23
typedef
reco::Particle::LorentzVector
LorentzVector
;
24
25
JetCorrector
(){};
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
JetCorrector::~JetCorrector
virtual ~JetCorrector()
Definition:
JetCorrector.h:26
JetCorrector
Definition:
JetCorrector.h:19
JetCorrector::correction
virtual double correction(const LorentzVector &fJet) const =0
get correction using Jet information only
reco::Jet
Base class for all types of Jets.
Definition:
Jet.h:20
LorentzVector
math::XYZTLorentzVector LorentzVector
Definition:
HLTMuonMatchAndPlot.h:51
RefToBase.h
edm::RefToBase< reco::Jet >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
MainPageGenerator.fName
tuple fName
Definition:
MainPageGenerator.py:301
EventSetup
JetCorrector::eventRequired
virtual bool eventRequired() const =0
if correction needs event information
edm::EventSetup
Definition:
EventSetup.h:45
Jet.h
JetCorrector::vectorialCorrection
virtual bool vectorialCorrection() const
if vectorial correction is provided
Definition:
JetCorrector.h:66
JetCorrector::getJetCorrector
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
Event
edm::Event
Definition:
Event.h:64
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition:
Particle.h:21
JetCorrector::refRequired
virtual bool refRequired() const =0
if correction needs the jet reference
JetCorrector::JetCorrector
JetCorrector()
Definition:
JetCorrector.h:25
JetCorrector::LorentzVector
reco::Particle::LorentzVector LorentzVector
Definition:
JetCorrector.h:23
Generated for CMSSW Reference Manual by
1.8.5