CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes

resolutionFunctionBase< T > Class Template Reference

#include <Functions.h>

Inheritance diagram for resolutionFunctionBase< T >:
resolutionFunctionType1< T > resolutionFunctionType10< T > resolutionFunctionType11< T > resolutionFunctionType12< T > resolutionFunctionType13< T > resolutionFunctionType14< T > resolutionFunctionType15< T > resolutionFunctionType17< T > resolutionFunctionType18< T > resolutionFunctionType19< T > resolutionFunctionType20< T > resolutionFunctionType30< T > resolutionFunctionType31< T > resolutionFunctionType32< T > resolutionFunctionType40< T > resolutionFunctionType41< T > resolutionFunctionType42< T > resolutionFunctionType43< T > resolutionFunctionType44< T > resolutionFunctionType45< T > resolutionFunctionType46< T > resolutionFunctionType47< T > resolutionFunctionType6< T > resolutionFunctionType7< T > resolutionFunctionType8< T > resolutionFunctionType9< T > resolutionFunctionType99< T >

List of all members.

Public Member Functions

virtual double covPt1Pt2 (const double &pt1, const double &eta1, const double &pt2, const double &eta2, const T &parval)
virtual int parNum () const
 resolutionFunctionBase ()
virtual void setParameters (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const T &parResol, const std::vector< int > &parResolOrder, const std::vector< double > &parStep, const std::vector< double > &parMin, const std::vector< double > &parMax, const int muonType)
virtual void setParameters (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const T &parResol, const std::vector< int > &parResolOrder, const int muonType)
 This method is used to differentiate parameters among the different functions.
virtual double sigmaCotgTh (const double &pt, const double &eta, const T &parval)=0
virtual double sigmaPhi (const double &pt, const double &eta, const T &parval)=0
virtual double sigmaPt (const double &pt, const double &eta, const T &parval)=0
virtual double sigmaPtError (const double &pt, const double &eta, const T &parval, const T &parError)
virtual ~resolutionFunctionBase ()=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, double *thisStep, double *thisMini, double *thisMaxi, TString *thisParName)
 This method sets the parameters.
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< ParameterSet > &parSet)

Protected Attributes

int parNum_

Detailed Description

template<class T>
class resolutionFunctionBase< T >

Resolution functions.
Need to use templates to make it work with both array and std::vector<double>.

Definition at line 3022 of file Functions.h.


Constructor & Destructor Documentation

template<class T>
resolutionFunctionBase< T >::resolutionFunctionBase ( ) [inline]

Definition at line 3035 of file Functions.h.

{}
template<class T >
resolutionFunctionBase< T >::~resolutionFunctionBase ( ) [inline, pure virtual]

Definition at line 3082 of file Functions.h.

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

Member Function Documentation

template<class T>
virtual double resolutionFunctionBase< T >::covPt1Pt2 ( const double &  pt1,
const double &  eta1,
const double &  pt2,
const double &  eta2,
const T parval 
) [inline, virtual]
template<class T>
virtual int resolutionFunctionBase< T >::parNum ( ) const [inline, virtual]

Definition at line 3050 of file Functions.h.

Referenced by MuScleFitUtils::minimizeLikelihood().

{ return parNum_; }
template<class T>
virtual void resolutionFunctionBase< T >::setPar ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const T parResol,
const std::vector< int > &  parResolOrder,
double *  thisStep,
double *  thisMini,
double *  thisMaxi,
TString *  thisParName 
) [inline, protected, virtual]

This method sets the parameters.

Definition at line 3054 of file Functions.h.

Referenced by resolutionFunctionType9< T >::setParameters(), resolutionFunctionType46< T >::setParameters(), resolutionFunctionType17< T >::setParameters(), resolutionFunctionType7< T >::setParameters(), resolutionFunctionType47< T >::setParameters(), resolutionFunctionType18< T >::setParameters(), resolutionFunctionType19< T >::setParameters(), resolutionFunctionType12< T >::setParameters(), resolutionFunctionType42< T >::setParameters(), resolutionFunctionType13< T >::setParameters(), resolutionFunctionType43< T >::setParameters(), resolutionFunctionType32< T >::setParameters(), resolutionFunctionType14< T >::setParameters(), resolutionFunctionType1< T >::setParameters(), resolutionFunctionType44< T >::setParameters(), resolutionFunctionType15< T >::setParameters(), resolutionFunctionType45< T >::setParameters(), resolutionFunctionType20< T >::setParameters(), resolutionFunctionType99< T >::setParameters(), resolutionFunctionType10< T >::setParameters(), resolutionFunctionType8< T >::setParameters(), resolutionFunctionType40< T >::setParameters(), resolutionFunctionType11< T >::setParameters(), resolutionFunctionType41< T >::setParameters(), resolutionFunctionType30< T >::setParameters(), resolutionFunctionType6< T >::setParameters(), and resolutionFunctionType31< T >::setParameters().

                                                                                      {
    for( int iPar=0; iPar<this->parNum_; ++iPar ) {
      Start[iPar] = parResol[iPar];
      Step[iPar] = thisStep[iPar];
      Mini[iPar] = thisMini[iPar];
      Maxi[iPar] = thisMaxi[iPar];
      ind[iPar] = parResolOrder[iPar];
      parname[iPar] = thisParName[iPar];
    }
  }
template<class T>
virtual void resolutionFunctionBase< 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< ParameterSet > &  parSet 
) [inline, protected, virtual]

Definition at line 3066 of file Functions.h.

                                                                                                                              {
    if( int(parSet.size()) != this->parNum_ ) {
      std::cout << "Error: wrong number of parameter initializations = " << parSet.size() << ". Number of parameters is " << this->parNum_ << std::endl;
      exit(1);
    }
    for( int iPar=0; iPar<this->parNum_; ++iPar ) {
      Start[iPar] = parResol[iPar];
      Step[iPar] = parSet[iPar].step;
      Mini[iPar] = parSet[iPar].mini;
      Maxi[iPar] = parSet[iPar].maxi;
      ind[iPar] = parResolOrder[iPar];
      parname[iPar] = parSet[iPar].name;
    }
  }
template<class T>
virtual void resolutionFunctionBase< T >::setParameters ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const T parResol,
const std::vector< int > &  parResolOrder,
const std::vector< double > &  parStep,
const std::vector< double > &  parMin,
const std::vector< double > &  parMax,
const int  muonType 
) [inline, virtual]
template<class T>
virtual void resolutionFunctionBase< T >::setParameters ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const T parResol,
const std::vector< int > &  parResolOrder,
const int  muonType 
) [inline, virtual]
template<class T>
virtual double resolutionFunctionBase< T >::sigmaCotgTh ( const double &  pt,
const double &  eta,
const T parval 
) [pure virtual]
template<class T>
virtual double resolutionFunctionBase< T >::sigmaPhi ( const double &  pt,
const double &  eta,
const T parval 
) [pure virtual]
template<class T>
virtual double resolutionFunctionBase< T >::sigmaPt ( const double &  pt,
const double &  eta,
const T parval 
) [pure virtual]
template<class T>
virtual double resolutionFunctionBase< T >::sigmaPtError ( const double &  pt,
const double &  eta,
const T parval,
const T parError 
) [inline, virtual]

Member Data Documentation

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

Definition at line 3052 of file Functions.h.

Referenced by resolutionFunctionBase< double * >::parNum(), resolutionFunctionType1< T >::resolutionFunctionType1(), resolutionFunctionType10< T >::resolutionFunctionType10(), resolutionFunctionType11< T >::resolutionFunctionType11(), resolutionFunctionType12< T >::resolutionFunctionType12(), resolutionFunctionType13< T >::resolutionFunctionType13(), resolutionFunctionType14< T >::resolutionFunctionType14(), resolutionFunctionType15< T >::resolutionFunctionType15(), resolutionFunctionType17< T >::resolutionFunctionType17(), resolutionFunctionType18< T >::resolutionFunctionType18(), resolutionFunctionType19< T >::resolutionFunctionType19(), resolutionFunctionType20< T >::resolutionFunctionType20(), resolutionFunctionType30< T >::resolutionFunctionType30(), resolutionFunctionType31< T >::resolutionFunctionType31(), resolutionFunctionType32< T >::resolutionFunctionType32(), resolutionFunctionType40< T >::resolutionFunctionType40(), resolutionFunctionType41< T >::resolutionFunctionType41(), resolutionFunctionType42< T >::resolutionFunctionType42(), resolutionFunctionType43< T >::resolutionFunctionType43(), resolutionFunctionType44< T >::resolutionFunctionType44(), resolutionFunctionType45< T >::resolutionFunctionType45(), resolutionFunctionType46< T >::resolutionFunctionType46(), resolutionFunctionType47< T >::resolutionFunctionType47(), resolutionFunctionType6< T >::resolutionFunctionType6(), resolutionFunctionType7< T >::resolutionFunctionType7(), resolutionFunctionType8< T >::resolutionFunctionType8(), resolutionFunctionType9< T >::resolutionFunctionType9(), resolutionFunctionType99< T >::resolutionFunctionType99(), resolutionFunctionBase< double * >::setPar(), resolutionFunctionType46< T >::setParameters(), resolutionFunctionType47< T >::setParameters(), resolutionFunctionType12< T >::setParameters(), resolutionFunctionType42< T >::setParameters(), resolutionFunctionType32< T >::setParameters(), resolutionFunctionType43< T >::setParameters(), resolutionFunctionType44< T >::setParameters(), resolutionFunctionType45< T >::setParameters(), resolutionFunctionType99< T >::setParameters(), resolutionFunctionType30< T >::setParameters(), and resolutionFunctionType31< T >::setParameters().