CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LXXXCorrectorImpl.h
Go to the documentation of this file.
1 // Generic LX jet corrector class. Inherits from JetCorrector.h
2 #ifndef LXXXCorrectorImpl_h
3 #define LXXXCorrectorImpl_h
4 
9 
10 //----- classes declaration -----------------------------------
11 namespace edm
12 {
13  class ParameterSet;
14  class Event;
15  class EventSetup;
16  class ConsumesCollector;
18 }
20 
22  public:
24  std::unique_ptr<reco::JetCorrectorImpl> make(edm::Event const&, edm::EventSetup const&);
25 
26  static void fillDescriptions(edm::ConfigurationDescriptions& iDescriptions);
27 };
28 
29 //----- LXXXCorrectorImpl interface -------------------------------
31 {
32  public:
34 
35  //----- constructors---------------------------------------
36  LXXXCorrectorImpl(std::shared_ptr<FactorizedJetCorrectorCalculator const> calculator, unsigned int level);
37 
38  //----- apply correction using Jet information only -------
39  virtual double correction(const LorentzVector& fJet) const override;
40 
41  //----- apply correction using Jet information only -------
42  virtual double correction(const reco::Jet& fJet) const override;
43 
44  //----- if correction needs a jet reference -------------
45  virtual bool refRequired() const override { return false; }
46 
47  private:
48  //----- member data ---------------------------------------
49  unsigned int mLevel;
50  std::shared_ptr<FactorizedJetCorrectorCalculator const> mCorrector;
51 };
52 
53 #endif
LXXXCorrectorImpl(std::shared_ptr< FactorizedJetCorrectorCalculator const > calculator, unsigned int level)
Base class for all types of Jets.
Definition: Jet.h:20
reco::Particle::LorentzVector LorentzVector
virtual bool refRequired() const override
if correction needs the jet reference
LXXXCorrectorImplMaker(edm::ParameterSet const &, edm::ConsumesCollector)
static void fillDescriptions(edm::ConfigurationDescriptions &iDescriptions)
std::unique_ptr< reco::JetCorrectorImpl > make(edm::Event const &, edm::EventSetup const &)
virtual double correction(const LorentzVector &fJet) const override
get correction using Jet information only
LXXXCorrectorImplMaker Maker
tuple level
Definition: testEve_cfg.py:34
std::shared_ptr< FactorizedJetCorrectorCalculator const > mCorrector