CMS 3D CMS Logo

Public Member Functions

scaleFunctionType1< T > Class Template Reference

#include <Functions.h>

Inheritance diagram for scaleFunctionType1< T >:
scaleFunctionBase< T >

List of all members.

Public Member Functions

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
 scaleFunctionType1 ()
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)
 This method is used to differentiate parameters among the different functions.

Detailed Description

template<class T>
class scaleFunctionType1< T >

Definition at line 91 of file Functions.h.


Constructor & Destructor Documentation

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

Definition at line 93 of file Functions.h.

References scaleFunctionBase< T >::parNum_.

{ this->parNum_ = 2; }

Member Function Documentation

template<class T >
virtual void scaleFunctionType1< T >::resetParameters ( std::vector< double > *  scaleVec) const [inline, virtual]

This method is used to reset the scale parameters to neutral values (useful for iterations > 0)

Reimplemented from scaleFunctionBase< T >.

Definition at line 98 of file Functions.h.

References i, and scaleFunctionBase< T >::parNum_.

                                                                   {
    scaleVec->push_back(1);
    for( int i=1; i<this->parNum_; ++i ) {
      scaleVec->push_back(0);
    }
  }
template<class T >
virtual double scaleFunctionType1< T >::scale ( const double &  pt,
const double &  eta,
const double &  phi,
const int  chg,
const T parScale 
) const [inline, virtual]

Implements scaleFunctionBase< T >.

Definition at line 94 of file Functions.h.

                                                                                                                           {
    return ( (parScale[0] + parScale[1]*pt)*pt );
  }
template<class T >
virtual void scaleFunctionType1< 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 
) [inline, virtual]

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

Implements scaleFunctionBase< T >.

Definition at line 104 of file Functions.h.

References scaleFunctionBase< T >::setPar().

                                                                                                                                                                                                {
    double thisStep[] = {0.001, 0.01};
    TString thisParName[] = {"Pt offset", "Pt slope"};
    if( muonType == 1 ) {
      double thisMini[] = {0.97, -0.1};
      double thisMaxi[] = {1.03, 0.1};
      this->setPar( Start, Step, Mini, Maxi, ind, parname, parScale, parScaleOrder, thisStep, thisMini, thisMaxi, thisParName );
    } else {
      double thisMini[] = {0.97, -0.1};
      double thisMaxi[] = {1.03, 0.1};
      this->setPar( Start, Step, Mini, Maxi, ind, parname, parScale, parScaleOrder, thisStep, thisMini, thisMaxi, thisParName );
    }
  }