CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L2RecoScaleCalculator.h
Go to the documentation of this file.
1 #ifndef JetMETCorrections_FFTJetObjects_L2RecoScaleCalculator_h
2 #define JetMETCorrections_FFTJetObjects_L2RecoScaleCalculator_h
3 
4 #include <cassert>
5 
9 
11 {
12 public:
13  inline explicit L2RecoScaleCalculator(const edm::ParameterSet& ps)
14  : m_radiusFactor(ps.getParameter<double>("radiusFactor")) {}
15 
16  inline virtual ~L2RecoScaleCalculator() {}
17 
18  inline virtual void mapFFTJet(const reco::Jet& /* jet */,
19  const reco::FFTJet<float>& fftJet,
20  const math::XYZTLorentzVector& /* current */,
21  double* buf, const unsigned dim) const
22  {
23  if (dim != 1)
24  throw cms::Exception("FFTJetBadConfig")
25  << "In L2RecoScaleCalculator::mapFFTJet: "
26  << "invalid table dimensionality: "
27  << dim << std::endl;
28  assert(buf);
29  const double radius = fftJet.f_recoScale();
30  buf[0] = radius*m_radiusFactor;
31  }
32 
33 private:
35 };
36 
37 #endif // JetMETCorrections_FFTJetObjects_L2RecoScaleCalculator_h
L2RecoScaleCalculator(const edm::ParameterSet &ps)
Base class for all types of Jets.
Definition: Jet.h:20
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
Real f_recoScale() const
Definition: FFTJet.h:73
virtual void mapFFTJet(const reco::Jet &, const reco::FFTJet< float > &fftJet, const math::XYZTLorentzVector &, double *buf, const unsigned dim) const