1 #ifndef RecoJets_FFTJetAlgorithms_ScaleCalculators_h
2 #define RecoJets_FFTJetAlgorithms_ScaleCalculators_h
7 #include "fftjet/SimpleFunctors.hh"
8 #include "fftjet/RecombinedJet.hh"
14 template <
typename Arg1>
47 const fftjet::Functor1<double,T>*
f,
48 const bool takeOwnership=
false)
58 const fftjet::Functor1<double,T>*
func_;
69 const fftjet::Functor1<double,T>*
f2,
70 const bool takeOwnership=
false)
80 const fftjet::Functor1<double,double>*
f1_;
81 const fftjet::Functor1<double,T>*
f2_;
92 const fftjet::Functor1<double,T>*
f2,
93 const bool takeOwnership=
false)
104 const fftjet::Functor1<double,T>*
f1_;
105 const fftjet::Functor1<double,T>*
f2_;
116 const bool takeOwnership=
false)
122 {
return (*
f1_)(r.magnitude());}
126 const fftjet::Functor1<double,double>*
f1_;
136 const bool takeOwnership=
false)
142 {
return (*
f1_)(r.eta());}
146 const fftjet::Functor1<double,double>*
f1_;
155 const fftjet::LinearInterpolator2d*
f1,
156 const bool takeOwnership,
157 const fftjet::JetMagnitudeMapper2d<fftjet::Peak>* jmmp,
158 const bool ownjmp,
const double fc)
170 const double scale = r.scale();
171 const double magnitude = r.magnitude();
172 const double pt = scale*scale*
factor_*magnitude;
173 const double partonpt = (*jmmp_)(
pt,
r);
179 const fftjet::LinearInterpolator2d*
f1_;
181 const fftjet::JetMagnitudeMapper2d <fftjet::Peak>*
jmmp_;
189 public fftjet::Functor1<double,fftjet::RecombinedJet<VectorLike> >
193 const bool takeOwnership=
false)
199 const fftjet::RecombinedJet<VectorLike>&
r)
const
200 {
return (*
f1_)(r.vec().eta());}
204 const fftjet::Functor1<double,double>*
f1_;
243 #endif // RecoJets_FFTJetAlgorithms_ScaleCalculators_h
double operator()(const double &x) const
double operator()(const Arg1 &) const
MultiplyByConst(const double factor, const fftjet::Functor1< double, T > *f, const bool takeOwnership=false)
JetEtaDependent(const fftjet::Functor1< double, double > *f1, const bool takeOwnership=false)
const fftjet::Functor1< double, double > * f1_
const bool ownsjmmpPointer_
const fftjet::Functor1< double, double > * f1_
double operator()(const T &r) const
const fftjet::Functor1< double, double > * f1_
ProportionalToScale(const double value)
const fftjet::Functor1< double, T > * f2_
MagnitudeDependent(const fftjet::Functor1< double, double > *f1, const bool takeOwnership=false)
double operator()(const T &r) const
double operator()(const fftjet::RecombinedJet< VectorLike > &r) const
double operator()(const fftjet::Peak &r) const
CompositeFunctor(const fftjet::Functor1< double, double > *f1, const fftjet::Functor1< double, T > *f2, const bool takeOwnership=false)
ProductFunctor(const fftjet::Functor1< double, T > *f1, const fftjet::Functor1< double, T > *f2, const bool takeOwnership=false)
Polynomial(const std::vector< double > &coeffs)
const fftjet::Functor1< double, T > * f1_
PeakEtaMagSsqDependent(const fftjet::LinearInterpolator2d *f1, const bool takeOwnership, const fftjet::JetMagnitudeMapper2d< fftjet::Peak > *jmmp, const bool ownjmp, const double fc)
double operator()(const T &r) const
const fftjet::Functor1< double, T > * func_
Abs< T >::type abs(const T &t)
const fftjet::LinearInterpolator2d * f1_
PeakEtaDependent(const fftjet::Functor1< double, double > *f1, const bool takeOwnership=false)
double operator()(const T &r) const
double operator()(const fftjet::Peak &r) const
const fftjet::JetMagnitudeMapper2d< fftjet::Peak > * jmmp_
const fftjet::Functor1< double, double > * f1_
~PeakEtaMagSsqDependent()
const fftjet::Functor1< double, T > * f2_
tuple size
Write out results.
ConstDouble(const double value)
double operator()(const T &r) const