CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
AbsFFTJetScaleCalculator< Jet, Adjustable > Class Template Referenceabstract

#include <AbsFFTJetScaleCalculator.h>

Public Types

typedef Adjustable adjustable_type
 
typedef Jet jet_type
 

Public Member Functions

 AbsFFTJetScaleCalculator (std::shared_ptr< npstat::AbsMultivariateFunctor > f)
 
double scale (const Jet &jet, const Adjustable &current) const
 
virtual ~AbsFFTJetScaleCalculator ()
 

Private Member Functions

 AbsFFTJetScaleCalculator ()=delete
 
virtual void map (const Jet &jet, const Adjustable &current, double *buf, unsigned dim) const =0
 

Private Attributes

std::vector< double > buffer_
 
std::shared_ptr< npstat::AbsMultivariateFunctorfunctor
 

Detailed Description

template<class Jet, class Adjustable>
class AbsFFTJetScaleCalculator< Jet, Adjustable >

Definition at line 10 of file AbsFFTJetScaleCalculator.h.

Member Typedef Documentation

◆ adjustable_type

template<class Jet, class Adjustable>
typedef Adjustable AbsFFTJetScaleCalculator< Jet, Adjustable >::adjustable_type

Definition at line 13 of file AbsFFTJetScaleCalculator.h.

◆ jet_type

template<class Jet, class Adjustable>
typedef Jet AbsFFTJetScaleCalculator< Jet, Adjustable >::jet_type

Definition at line 12 of file AbsFFTJetScaleCalculator.h.

Constructor & Destructor Documentation

◆ AbsFFTJetScaleCalculator() [1/2]

template<class Jet, class Adjustable>
AbsFFTJetScaleCalculator< Jet, Adjustable >::AbsFFTJetScaleCalculator ( std::shared_ptr< npstat::AbsMultivariateFunctor f)
inlineexplicit

Definition at line 15 of file AbsFFTJetScaleCalculator.h.

16  : functor(f), buffer_(f->minDim()) {}

◆ ~AbsFFTJetScaleCalculator()

template<class Jet, class Adjustable>
virtual AbsFFTJetScaleCalculator< Jet, Adjustable >::~AbsFFTJetScaleCalculator ( )
inlinevirtual

Definition at line 18 of file AbsFFTJetScaleCalculator.h.

18 {}

◆ AbsFFTJetScaleCalculator() [2/2]

template<class Jet, class Adjustable>
AbsFFTJetScaleCalculator< Jet, Adjustable >::AbsFFTJetScaleCalculator ( )
privatedelete

Member Function Documentation

◆ map()

template<class Jet, class Adjustable>
virtual void AbsFFTJetScaleCalculator< Jet, Adjustable >::map ( const Jet &  jet,
const Adjustable &  current,
double *  buf,
unsigned  dim 
) const
privatepure virtual

◆ scale()

template<class Jet, class Adjustable>
double AbsFFTJetScaleCalculator< Jet, Adjustable >::scale ( const Jet &  jet,
const Adjustable &  current 
) const
inline

Definition at line 20 of file AbsFFTJetScaleCalculator.h.

20  {
21  const unsigned dim = buffer_.size();
22  double* buf = dim ? &buffer_[0] : static_cast<double*>(nullptr);
23  this->map(jet, current, buf, dim);
24  return (*functor)(buf, dim);
25  }

Member Data Documentation

◆ buffer_

template<class Jet, class Adjustable>
std::vector<double> AbsFFTJetScaleCalculator< Jet, Adjustable >::buffer_
mutableprivate

◆ functor

template<class Jet, class Adjustable>
std::shared_ptr<npstat::AbsMultivariateFunctor> AbsFFTJetScaleCalculator< Jet, Adjustable >::functor
private
AbsFFTJetScaleCalculator::functor
std::shared_ptr< npstat::AbsMultivariateFunctor > functor
Definition: AbsFFTJetScaleCalculator.h:32
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
visDQMUpload.buf
buf
Definition: visDQMUpload.py:154
metsig::jet
Definition: SignAlgoResolutions.h:47
AbsFFTJetScaleCalculator::buffer_
std::vector< double > buffer_
Definition: AbsFFTJetScaleCalculator.h:33
AbsFFTJetScaleCalculator::map
virtual void map(const Jet &jet, const Adjustable &current, double *buf, unsigned dim) const =0