CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
heppy::scaleFunctionBase< T > Class Template Referenceabstract

#include <MuScleFitCorrector_Functions.h>

Inheritance diagram for heppy::scaleFunctionBase< T >:
heppy::scaleFunction50< T >

Public Member Functions

virtual int parNum () const
 
virtual double scale (const double &pt, const double &eta, const double &phi, const int chg, const T &parScale) const =0
 
virtual ~scaleFunctionBase ()=0
 

Protected Member Functions

virtual void setPar (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const T &parResol, const std::vector< int > &parResolOrder, const std::vector< ParSet > &parSet)
 

Protected Attributes

int parNum_
 

Detailed Description

template<class T>
class heppy::scaleFunctionBase< T >

Definition at line 40 of file MuScleFitCorrector_Functions.h.

Constructor & Destructor Documentation

◆ ~scaleFunctionBase()

template<class T >
scaleFunctionBase< T >::~scaleFunctionBase ( )
inlinepure virtual

Definition at line 75 of file MuScleFitCorrector_Functions.h.

75  {
76  } // defined even though it's pure virtual; should be faster this way.

Member Function Documentation

◆ parNum()

template<class T>
virtual int heppy::scaleFunctionBase< T >::parNum ( ) const
inlinevirtual

◆ scale()

template<class T>
virtual double heppy::scaleFunctionBase< T >::scale ( const double &  pt,
const double &  eta,
const double &  phi,
const int  chg,
const T parScale 
) const
pure virtual

◆ setPar()

template<class T>
virtual void heppy::scaleFunctionBase< T >::setPar ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const T parResol,
const std::vector< int > &  parResolOrder,
const std::vector< ParSet > &  parSet 
)
inlineprotectedvirtual

Definition at line 49 of file MuScleFitCorrector_Functions.h.

57  {
58  if (int(parSet.size()) != this->parNum_) {
59  std::cout << "Error: wrong number of parameter initializations = " << parSet.size()
60  << ". Number of parameters is " << this->parNum_ << std::endl;
61  exit(1);
62  }
63  for (int iPar = 0; iPar < this->parNum_; ++iPar) {
64  Start[iPar] = parResol[iPar];
65  Step[iPar] = parSet[iPar].step;
66  Mini[iPar] = parSet[iPar].mini;
67  Maxi[iPar] = parSet[iPar].maxi;
68  ind[iPar] = parResolOrder[iPar];
69  parname[iPar] = parSet[iPar].name;
70  }
71  }
def exit(msg="")

Member Data Documentation

◆ parNum_

template<class T>
int heppy::scaleFunctionBase< T >::parNum_
protected