1 #ifndef JetMETCorrections_JetCorrector_JetCorrector_h 2 #define JetMETCorrections_JetCorrector_JetCorrector_h 25 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 40 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) 50 return impl_->correction(fJet);
55 return impl_->correction(fJet);
61 return impl_->correction(fJet,fJetRef);
67 LorentzVector& corrected )
const {
68 return impl_->correction(fJet,fJetRef,corrected);
73 return impl_->refRequired();
78 return impl_->vectorialCorrection();
91 std::unique_ptr<JetCorrectorImpl const>
impl_;
double correction(const reco::Jet &fJet, const edm::RefToBase< reco::Jet > &fJetRef, LorentzVector &corrected) const
Apply vectorial correction.
Base class for all types of Jets.
bool refRequired() const
if correction needs the jet reference
double correction(const LorentzVector &fJet) const
get correction using Jet information only
double correction(const reco::Jet &fJet, const edm::RefToBase< reco::Jet > &fJetRef) const
apply correction using Ref
double correction(const reco::Jet &fJet) const
apply correction using Jet information only
JetCorrector & operator=(JetCorrector &&)=default
reco::Particle::LorentzVector LorentzVector
bool vectorialCorrection() const
if vectorial correction is provided
std::unique_ptr< JetCorrectorImpl const > impl_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
JetCorrector(std::unique_ptr< JetCorrectorImpl const > fImpl)