CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes

scaleFunctionBase< T > Class Template Reference

#include <Functions.h>

Inheritance diagram for scaleFunctionBase< T >:
scaleFunctionType0< T > scaleFunctionType1< T > scaleFunctionType10< T > scaleFunctionType11< T > scaleFunctionType12< T > scaleFunctionType13< T > scaleFunctionType14< T > scaleFunctionType15< T > scaleFunctionType16< T > scaleFunctionType17< T > scaleFunctionType18< T > scaleFunctionType19< T > scaleFunctionType2< T > scaleFunctionType20< T > scaleFunctionType21< T > scaleFunctionType22< T > scaleFunctionType23< T > scaleFunctionType24< T > scaleFunctionType25< T > scaleFunctionType26< T > scaleFunctionType27< T > scaleFunctionType3< T > scaleFunctionType4< T > scaleFunctionType5< T > scaleFunctionType6< T > scaleFunctionType7< T > scaleFunctionType8< T > scaleFunctionType9< T >

List of all members.

Public Member Functions

virtual int parNum () const
virtual void resetParameters (std::vector< double > *scaleVec) const
 This method is used to reset the scale parameters to neutral values (useful for iterations > 0)
virtual double scale (const double &pt, const double &eta, const double &phi, const int chg, const T &parScale) const =0
virtual void setParameters (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const T &parScale, const std::vector< int > &parScaleOrder, const int muonType)=0
 This method is used to differentiate parameters among the different functions.
virtual ~scaleFunctionBase ()=0

Protected Member Functions

virtual void setPar (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const T &parScale, const std::vector< int > &parScaleOrder, double *thisStep, double *thisMini, double *thisMaxi, TString *thisParName)
 This method sets the parameters.

Protected Attributes

int parNum_

Detailed Description

template<class T>
class scaleFunctionBase< T >

The correct functor is selected at job start in the constructor. The pt value is taken by reference and modified internally. eta, phi and chg are taken by const reference.
Made into a template so that it can be used with arrays too (parval for the scale fit is an array, because Lykelihood is an extern C function, because TMinuit asks it).
Note that in the array case it takes the pointer by const reference, thus the elements of the array are modifiable.

Definition at line 44 of file Functions.h.


Constructor & Destructor Documentation

template<class T >
scaleFunctionBase< T >::~scaleFunctionBase ( ) [inline, pure virtual]

Definition at line 73 of file Functions.h.

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

Member Function Documentation

template<class T>
virtual int scaleFunctionBase< T >::parNum ( ) const [inline, virtual]

Definition at line 56 of file Functions.h.

Referenced by MuScleFitUtils::minimizeLikelihood().

{ return parNum_; }
template<class T>
virtual void scaleFunctionBase< T >::resetParameters ( std::vector< double > *  scaleVec) const [inline, virtual]
template<class T>
virtual double scaleFunctionBase< T >::scale ( const double &  pt,
const double &  eta,
const double &  phi,
const int  chg,
const T parScale 
) const [pure virtual]
template<class T>
virtual void scaleFunctionBase< T >::setPar ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const T parScale,
const std::vector< int > &  parScaleOrder,
double *  thisStep,
double *  thisMini,
double *  thisMaxi,
TString *  thisParName 
) [inline, protected, virtual]
template<class T>
virtual void scaleFunctionBase< T >::setParameters ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const T parScale,
const std::vector< int > &  parScaleOrder,
const int  muonType 
) [pure virtual]

Member Data Documentation

template<class T>
int scaleFunctionBase< T >::parNum_ [protected]

Definition at line 58 of file Functions.h.

Referenced by scaleFunctionBase< std::vector< double > >::parNum(), scaleFunctionType9< T >::resetParameters(), scaleFunctionType10< T >::resetParameters(), scaleFunctionType13< T >::resetParameters(), scaleFunctionType20< T >::resetParameters(), scaleFunctionType23< T >::resetParameters(), scaleFunctionType19< T >::resetParameters(), scaleFunctionType5< T >::resetParameters(), scaleFunctionType8< T >::resetParameters(), scaleFunctionType6< T >::resetParameters(), scaleFunctionType15< T >::resetParameters(), scaleFunctionType18< T >::resetParameters(), scaleFunctionType25< T >::resetParameters(), scaleFunctionType1< T >::resetParameters(), scaleFunctionType4< T >::resetParameters(), scaleFunctionType16< T >::resetParameters(), scaleFunctionType7< T >::resetParameters(), scaleFunctionType26< T >::resetParameters(), scaleFunctionType2< T >::resetParameters(), scaleFunctionType11< T >::resetParameters(), scaleFunctionType14< T >::resetParameters(), scaleFunctionType21< T >::resetParameters(), scaleFunctionType17< T >::resetParameters(), scaleFunctionType24< T >::resetParameters(), scaleFunctionType3< T >::resetParameters(), scaleFunctionType12< T >::resetParameters(), scaleFunctionType27< T >::resetParameters(), scaleFunctionType22< T >::resetParameters(), scaleFunctionType0< T >::scaleFunctionType0(), scaleFunctionType1< T >::scaleFunctionType1(), scaleFunctionType10< T >::scaleFunctionType10(), scaleFunctionType11< T >::scaleFunctionType11(), scaleFunctionType12< T >::scaleFunctionType12(), scaleFunctionType13< T >::scaleFunctionType13(), scaleFunctionType14< T >::scaleFunctionType14(), scaleFunctionType15< T >::scaleFunctionType15(), scaleFunctionType16< T >::scaleFunctionType16(), scaleFunctionType17< T >::scaleFunctionType17(), scaleFunctionType18< T >::scaleFunctionType18(), scaleFunctionType19< T >::scaleFunctionType19(), scaleFunctionType2< T >::scaleFunctionType2(), scaleFunctionType20< T >::scaleFunctionType20(), scaleFunctionType21< T >::scaleFunctionType21(), scaleFunctionType22< T >::scaleFunctionType22(), scaleFunctionType23< T >::scaleFunctionType23(), scaleFunctionType24< T >::scaleFunctionType24(), scaleFunctionType25< T >::scaleFunctionType25(), scaleFunctionType26< T >::scaleFunctionType26(), scaleFunctionType27< T >::scaleFunctionType27(), scaleFunctionType3< T >::scaleFunctionType3(), scaleFunctionType4< T >::scaleFunctionType4(), scaleFunctionType5< T >::scaleFunctionType5(), scaleFunctionType6< T >::scaleFunctionType6(), scaleFunctionType7< T >::scaleFunctionType7(), scaleFunctionType8< T >::scaleFunctionType8(), scaleFunctionType9< T >::scaleFunctionType9(), and scaleFunctionBase< std::vector< double > >::setPar().