CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
resolutionFunctionType10< T > Class Template Reference

This is resolution function where sigmaPt/Pt is described by f(Pt) = polynomial(4th grade) and f(Eta) = polynomial(8th grade). More...

#include <Functions.h>

Inheritance diagram for resolutionFunctionType10< T >:
resolutionFunctionBase< T >

Public Member Functions

 resolutionFunctionType10 ()
 
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. More...
 
virtual double sigmaCotgTh (const double &pt, const double &eta, const T &parval)
 
virtual double sigmaPhi (const double &pt, const double &eta, const T &parval)
 
virtual double sigmaPt (const double &pt, const double &eta, const T &parval)
 
- Public Member Functions inherited from resolutionFunctionBase< T >
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 double sigmaPtError (const double &pt, const double &eta, const T &parval, const T &parError)
 
virtual ~resolutionFunctionBase ()=0
 

Additional Inherited Members

- Protected Member Functions inherited from resolutionFunctionBase< T >
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. More...
 
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 inherited from resolutionFunctionBase< T >
int parNum_
 

Detailed Description

template<class T>
class resolutionFunctionType10< T >

This is resolution function where sigmaPt/Pt is described by f(Pt) = polynomial(4th grade) and f(Eta) = polynomial(8th grade).

Definition at line 3417 of file Functions.h.

Constructor & Destructor Documentation

template<class T >
resolutionFunctionType10< T >::resolutionFunctionType10 ( )
inline

Definition at line 3419 of file Functions.h.

References resolutionFunctionBase< T >::parNum_.

3419 { this->parNum_ = 21; }

Member Function Documentation

template<class T >
virtual void resolutionFunctionType10< 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 
)
inlinevirtual

This method is used to differentiate parameters among the different functions.

Reimplemented from resolutionFunctionBase< T >.

Definition at line 3435 of file Functions.h.

References resolutionFunctionBase< T >::setPar().

3435  {
3436 
3437  double thisStep[] = { 0.0002, 0.000002, 0.0000002, 0.00000002, 0.000000002,
3438  0.02, 0.02, 0.002, 0.0002,
3439  0.00002, 0.000002, 0.0000002, 0.00000002,
3440  0.00002, 0.0002, 0.0000002, 0.00002,
3441  0.00002, 0.0002, 0.00000002, 0.000002 };
3442  TString thisParName[] = { "Pt res. sc.", "Pt res. Pt sc.", "Pt res. Pt^2 sc.", "Pt res. Pt^3 sc.", "Pt res. Pt^4 sc",
3443  "Pt res. Eta sc.", "Pt res. Eta^2 sc." ,"Pt res. Eta^3 sc.", "Pt res. Eta^4 sc.",
3444  "Pt res. Eta^5 sc.", "Pt res. Eta^6 sc.", "Pt res. Eta^7 sc.", "Pt res. Eta^8 sc.",
3445  "Cth res. sc.", "Cth res. 1/Pt sc.", "Cth res. Eta sc.", "Cth res. Eta^2 sc.",
3446  "Phi res. sc.", "Phi res. 1/Pt sc.", "Phi res. Eta sc.", "Phi res. Eta^2 sc." };
3447  double thisMini[] = { -0.1, -0.001, -0.001, -0.001, -0.001,
3448  -2., -1., -0.1, -0.1,
3449  -0.1, -0.1, -0.1, -0.1,
3450  -0.001, 0.002, -0.0001, -0.0001,
3451  -0.0001, 0.0005, -0.0001, -0.00001,
3452  0.};
3453  if( muonType == 1 ) {
3454  double thisMaxi[] = { 1., 1., 1., 1., 1.,
3455  1., 1., 1., 1.,
3456  1., 1., 1., 1.,
3457  1., 1., 1., 0.1,
3458  1., 1., 1., 1. };
3459  this->setPar( Start, Step, Mini, Maxi, ind, parname, parResol, parResolOrder, thisStep, thisMini, thisMaxi, thisParName );
3460  } else {
3461  double thisMaxi[] = { 0.1, 0.001, 0.001, 0.001, 0.001,
3462  2., 1., 0.1, 0.1, 0.1,
3463  0.1, 0.1, 0.1, 0.1, 0.1,
3464  0.001, 0.005, 0.00004, 0.0007,
3465  0.001, 0.01, -0.0000015, 0.0004 };
3466  this->setPar( Start, Step, Mini, Maxi, ind, parname, parResol, parResolOrder, thisStep, thisMini, thisMaxi, thisParName );
3467  }
3468  }
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.
Definition: Functions.h:3054
template<class T >
virtual double resolutionFunctionType10< T >::sigmaCotgTh ( const double &  pt,
const double &  eta,
const T parval 
)
inlinevirtual

Implements resolutionFunctionBase< T >.

Definition at line 3428 of file Functions.h.

3428  {
3429  return( parval[13]+parval[14]/pt + parval[15]*std::fabs(eta)+parval[16]*eta*eta );
3430  }
T eta() const
template<class T >
virtual double resolutionFunctionType10< T >::sigmaPhi ( const double &  pt,
const double &  eta,
const T parval 
)
inlinevirtual

Implements resolutionFunctionBase< T >.

Definition at line 3432 of file Functions.h.

3432  {
3433  return( parval[17]+parval[18]/pt + parval[19]*std::fabs(eta)+parval[20]*eta*eta );
3434  }
T eta() const
template<class T >
virtual double resolutionFunctionType10< T >::sigmaPt ( const double &  pt,
const double &  eta,
const T parval 
)
inlinevirtual

Implements resolutionFunctionBase< T >.

Definition at line 3421 of file Functions.h.

References funct::pow().

3421  {
3422  double fabsEta = std::fabs(eta);
3423  return( parval[0] + parval[1]*pt + parval[2]*pt*pt + parval[3]*pt*pt*pt + parval[4]*pt*pt*pt*pt
3424  + parval[5]*fabsEta + parval[6]*fabsEta*fabsEta + parval[7]*pow(fabsEta,3) + parval[8]*pow(fabsEta,4)
3425  + parval[9]*pow(fabsEta,5) + parval[10]*pow(fabsEta,6) + parval[11]*pow(fabsEta,7) + parval[12]*pow(fabsEta,8) );
3426  }
T eta() const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40