CMS 3D CMS Logo

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

#include <Functions.h>

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

Public Member Functions

 resolutionFunctionType19 ()
 
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
 

Protected Member Functions

double etaByPoints (const double &inEta, const double &border)
 
- 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)
 

Additional Inherited Members

- Protected Attributes inherited from resolutionFunctionBase< T >
int parNum_
 

Detailed Description

template<class T>
class resolutionFunctionType19< T >

Definition at line 3967 of file Functions.h.

Constructor & Destructor Documentation

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

Definition at line 3969 of file Functions.h.

References resolutionFunctionBase< T >::parNum_.

3969 { this->parNum_ = 4; }

Member Function Documentation

template<class T >
double resolutionFunctionType19< T >::etaByPoints ( const double &  inEta,
const double &  border 
)
inlineprotected

This is the pt vs eta resolution by points. It uses std::fabs(eta) assuming symmetry. The values are derived from 100k events of MuonGun with 5<pt<100 and |eta|<3.

Definition at line 4004 of file Functions.h.

References eta().

Referenced by resolutionFunctionType19< T >::sigmaPt().

4004  {
4005  Double_t eta = std::fabs(inEta);
4006  if( 0. <= eta && eta <= 0.2 ) return 0.00942984;
4007  else if( 0.2 < eta && eta <= 0.4 ) return 0.0104489;
4008  else if( 0.4 < eta && eta <= 0.6 ) return 0.0110521;
4009  else if( 0.6 < eta && eta <= 0.8 ) return 0.0117338;
4010  else if( 0.8 < eta && eta <= 1.0 ) return 0.0138142;
4011  else if( 1.0 < eta && eta <= 1.2 ) return 0.0165826;
4012  else if( 1.2 < eta && eta <= 1.4 ) return 0.0183663;
4013  else if( 1.4 < eta && eta <= 1.6 ) return 0.0169904;
4014  else if( 1.6 < eta && eta <= 1.8 ) return 0.0173289;
4015  else if( 1.8 < eta && eta <= 2.0 ) return 0.0205821;
4016  else if( 2.0 < eta && eta <= 2.2 ) return 0.0250032;
4017  else if( 2.2 < eta && eta <= 2.4 ) return 0.0339477;
4018  else if( 2.4 < eta && eta <= 2.6 ) return border;
4019  return ( 0. );
4020  }
T eta() const
template<class T >
virtual void resolutionFunctionType19< 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 3986 of file Functions.h.

References resolutionFunctionBase< T >::setPar().

3987  {
3988  double thisStep[] = { 0.0000002, 0.0000001, 0.00001, 0.001 };
3989  TString thisParName[] = { "Pt res. sc.", "Pt res. Pt sc.", "Pt res. Eta sc.", "Pt res. eta border"};
3990  double thisMini[] = { -0.03, -0.0000001, 0.001, 0.01};
3991  if( muonType == 1 ) {
3992  double thisMaxi[] = { 1., 1., 1., 1.};
3993  this->setPar( Start, Step, Mini, Maxi, ind, parname, parResol, parResolOrder, thisStep, thisMini, thisMaxi, thisParName );
3994  } else {
3995  double thisMaxi[] = { 0.03, 0.1, 2., 0.6};
3996  this->setPar( Start, Step, Mini, Maxi, ind, parname, parResol, parResolOrder, thisStep, thisMini, thisMaxi, thisParName );
3997  }
3998  }
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 resolutionFunctionType19< T >::sigmaCotgTh ( const double &  pt,
const double &  eta,
const T parval 
)
inlinevirtual

Implements resolutionFunctionBase< T >.

Definition at line 3979 of file Functions.h.

References alignCSCRings::e.

3979  {
3980  return( 0.00043 + 0.0041/pt + (2.8e-06)*std::fabs(eta) + (7.7e-05)*eta*eta );
3981  }
T eta() const
template<class T >
virtual double resolutionFunctionType19< T >::sigmaPhi ( const double &  pt,
const double &  eta,
const T parval 
)
inlinevirtual

Implements resolutionFunctionBase< T >.

Definition at line 3983 of file Functions.h.

References alignCSCRings::e.

3983  {
3984  return( 0.00011 + 0.0018/pt - (9.4e-07)*std::fabs(eta) + (2.2e-05)*eta*eta );
3985  }
T eta() const
template<class T >
virtual double resolutionFunctionType19< T >::sigmaPt ( const double &  pt,
const double &  eta,
const T parval 
)
inlinevirtual

Implements resolutionFunctionBase< T >.

Definition at line 3971 of file Functions.h.

References gather_cfg::cout, resolutionFunctionType19< T >::etaByPoints(), and relativeConstraints::value.

3971  {
3972  double value = parval[0]+parval[1]*pt + parval[2]*etaByPoints(eta, parval[3]);
3973  if( value != value ) {
3974  std::cout << "parval[0] = " << parval[0] << ", parval[1]*"<<pt<<" = " << parval[1]*pt << "parval[2] = " << parval[1] << ",etaByPoints("<<eta<<", "<<parval[3]<<") = " << etaByPoints(eta, parval[3]) << std::endl;
3975  }
3976  return( parval[0] + parval[1]*pt + parval[2]*etaByPoints(eta, parval[3]) );
3977  }
T eta() const
double etaByPoints(const double &inEta, const double &border)
Definition: Functions.h:4004
tuple cout
Definition: gather_cfg.py:121