CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1OffsetCorrectorImpl.h
Go to the documentation of this file.
1 // L1Offset jet corrector class. Inherits from JetCorrector.h
2 #ifndef L1OffsetCorrectorImpl_h
3 #define L1OffsetCorrectorImpl_h
4 
12 
13 //----- classes declaration -----------------------------------
14 namespace edm
15 {
16  class ParameterSet;
17  class Event;
18  class EventSetup;
19  class ConsumesCollector;
21 }
22 
24  public:
26  std::unique_ptr<reco::JetCorrectorImpl> make(edm::Event const&, edm::EventSetup const&);
27 
28  static void fillDescriptions(edm::ConfigurationDescriptions& iDescriptions);
29  private:
32 };
33 
34 //----- LXXXCorrector interface -------------------------------
36 {
37  public:
39 
40  //----- constructors---------------------------------------
41  L1OffsetCorrectorImpl(std::shared_ptr<FactorizedJetCorrectorCalculator const> calculator,
42  int npv);
43 
44  //----- destructor ----------------------------------------
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 a jet reference -------------
53  virtual bool refRequired() const override { return false; }
54 
55  private:
56  //----- member data ---------------------------------------
57  std::shared_ptr<FactorizedJetCorrectorCalculator const> corrector_;
58  int npv_;
59 
60 };
61 
62 #endif
static void fillDescriptions(edm::ConfigurationDescriptions &iDescriptions)
Base class for all types of Jets.
Definition: Jet.h:20
std::unique_ptr< reco::JetCorrectorImpl > make(edm::Event const &, edm::EventSetup const &)
reco::Particle::LorentzVector LorentzVector
L1OffsetCorrectorImplMaker Maker
virtual bool refRequired() const override
if correction needs the jet reference
edm::EDGetTokenT< reco::VertexCollection > verticesToken_
virtual double correction(const LorentzVector &fJet) const override
get correction using Jet information only
std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector_
L1OffsetCorrectorImpl(std::shared_ptr< FactorizedJetCorrectorCalculator const > calculator, int npv)
L1OffsetCorrectorImplMaker(edm::ParameterSet const &, edm::ConsumesCollector)