CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1FastjetCorrectorImpl.h
Go to the documentation of this file.
1 //
2 // L1FastjetCorrector
3 // ------------------
4 //
5 // 08/09/2009 Philipp Schieferdecker <philipp.schieferdecker@cern.ch>
6 //
7 #ifndef JetMETCorrections_JetCorrector_L1FastjetCorrectorImpl_h
8 #define JetMETCorrections_JetCorrector_L1FastjetCorrectorImpl_h 1
9 
14 
15 namespace edm {
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:
31 };
32 
34 {
35 public:
37 
38  // construction / destruction
39  L1FastjetCorrectorImpl(std::shared_ptr<FactorizedJetCorrectorCalculator const> corrector, double rho):
40  rho_(rho),corrector_(corrector) {}
41 
42  //member functions
43 
45  virtual double correction(const LorentzVector& fJet) const;
47  virtual double correction(const reco::Jet& fJet) const;
48 
49  //----- if correction needs a jet reference -------------
50  virtual bool refRequired() const { return false; }
51 
52 private:
53  // member data
54  double rho_;
55  std::shared_ptr<FactorizedJetCorrectorCalculator const> corrector_;
56 };
57 
58 #endif
edm::EDGetTokenT< double > rhoToken_
Base class for all types of Jets.
Definition: Jet.h:20
math::XYZTLorentzVector LorentzVector
virtual double correction(const LorentzVector &fJet) const
apply correction using Jet information only
std::unique_ptr< reco::JetCorrectorImpl > make(edm::Event const &, edm::EventSetup const &)
tuple corrector
Definition: mvaPFMET_cff.py:86
L1FastjetCorrectorImplMaker Maker
static void fillDescriptions(edm::ConfigurationDescriptions &iDescriptions)
L1FastjetCorrectorImpl(std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector, double rho)
virtual bool refRequired() const
if correction needs the jet reference
L1FastjetCorrectorImplMaker(edm::ParameterSet const &, edm::ConsumesCollector)
std::shared_ptr< FactorizedJetCorrectorCalculator const > corrector_