CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1JPTOffsetCorrectorImpl.h
Go to the documentation of this file.
1 // L1Offset jet corrector class. Inherits from JetCorrector.h
2 #ifndef L1JPTOffsetCorrectorImpl_h
3 #define L1JPTOffsetCorrectorImpl_h
4 
10 
11 //----- classes declaration -----------------------------------
12 namespace edm
13 {
14  class ParameterSet;
15  class Event;
16  class EventSetup;
17  class ConsumesCollector;
19 }
20 
21 namespace reco {
22  class JetCorrector;
23 }
24 
26  public:
28  std::unique_ptr<reco::JetCorrectorImpl> make(edm::Event const&, edm::EventSetup const&);
29 
30  static void fillDescriptions(edm::ConfigurationDescriptions& iDescriptions);
31  private:
33  bool useOffset_;
34 };
35 
36 //----- LXXXCorrector interface -------------------------------
38 {
39  public:
41 
42  //----- constructors---------------------------------------
43  L1JPTOffsetCorrectorImpl(std::shared_ptr<FactorizedJetCorrectorCalculator const> corrector,
44  const reco::JetCorrector* offsetService);
45 
46  //----- apply correction using Jet information only -------
47  virtual double correction(const LorentzVector& fJet) const override;
48 
49  //----- apply correction using Jet information only -------
50  virtual double correction(const reco::Jet& fJet) const override;
51 
52  //----- if correction needs event information -------------
53  virtual bool refRequired() const override {return false;}
54 
55  private:
56  //----- member data ---------------------------------------
58  std::shared_ptr<FactorizedJetCorrectorCalculator const> corrector_;
59 };
60 
61 #endif
virtual bool refRequired() const override
if correction needs the jet reference
L1JPTOffsetCorrectorImplMaker(edm::ParameterSet const &, edm::ConsumesCollector)
Base class for all types of Jets.
Definition: Jet.h:20
static void fillDescriptions(edm::ConfigurationDescriptions &iDescriptions)
reco::Particle::LorentzVector LorentzVector
const reco::JetCorrector * offsetService_
virtual double correction(const LorentzVector &fJet) const override
get correction using Jet information only
std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector_
L1JPTOffsetCorrectorImpl(std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector, const reco::JetCorrector *offsetService)
tuple corrector
Definition: mvaPFMET_cff.py:86
std::unique_ptr< reco::JetCorrectorImpl > make(edm::Event const &, edm::EventSetup const &)
L1JPTOffsetCorrectorImplMaker Maker
edm::EDGetTokenT< reco::JetCorrector > offsetCorrectorToken_