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 Attributes
scaleFunctionType15< T > Class Template Reference

#include <Functions.h>

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

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) More...
 
virtual double scale (const double &pt, const double &eta, const double &phi, const int chg, const T &parScale) const
 
 scaleFunctionType15 ()
 
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. More...
 
- Public Member Functions inherited from scaleFunctionBase< T >
virtual int parNum () const
 
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 ~scaleFunctionBase ()=0
 

Protected Attributes

double originalPtRegionSeparator_
 
- Protected Attributes inherited from scaleFunctionBase< T >
int parNum_
 

Additional Inherited Members

- Protected Member Functions inherited from scaleFunctionBase< T >
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. 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)
 

Detailed Description

template<class T>
class scaleFunctionType15< T >

Definition at line 690 of file Functions.h.

Constructor & Destructor Documentation

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

Definition at line 692 of file Functions.h.

References scaleFunctionBase< T >::parNum_.

692 { this->parNum_ = 5; }

Member Function Documentation

template<class T >
virtual void scaleFunctionType15< T >::resetParameters ( std::vector< double > *  scaleVec) const
inlinevirtual

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

Reimplemented from scaleFunctionBase< T >.

Definition at line 702 of file Functions.h.

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

702  {
703  // For the first, reset to the original pt region separator
704  scaleVec->push_back(originalPtRegionSeparator_);
705  // The next two are the scale in the two regions
706  scaleVec->push_back(1);
707  scaleVec->push_back(1);
708  for( int i=1; i<this->parNum_; ++i ) {
709  scaleVec->push_back(0);
710  }
711  }
int i
Definition: DBlmapReader.cc:9
double originalPtRegionSeparator_
Definition: Functions.h:739
template<class T >
virtual double scaleFunctionType15< T >::scale ( const double &  pt,
const double &  eta,
const double &  phi,
const int  chg,
const T parScale 
) const
inlinevirtual

Implements scaleFunctionBase< T >.

Definition at line 693 of file Functions.h.

References funct::pow().

693  {
694  if( pt > parScale[0] ) {
695  return( ( parScale[1] + parScale[3]*std::fabs(eta) + parScale[4]*pow(eta,2) )*pt );
696  }
697  else {
698  return( ( parScale[2] + parScale[3]*std::fabs(eta) + parScale[4]*pow(eta,2) )*pt );
699  }
700  }
T eta() const
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
template<class T >
virtual void scaleFunctionType15< 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 
)
inlinevirtual

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

Implements scaleFunctionBase< T >.

Definition at line 712 of file Functions.h.

References scaleFunctionType15< T >::originalPtRegionSeparator_, and scaleFunctionBase< T >::setPar().

712  {
713  originalPtRegionSeparator_ = parScale[0];
714  double thisStep[] = {0.001,
715  0.01, 0.01,
716  0.01, 0.00001};
717  TString thisParName[] = {"Pt offset",
718  "Pt slope 1", "Pt slope 2",
719  "Eta slope", "Eta quadr"};
720  if( muonType == 1 ) {
721  double thisMini[] = {30.,
722  0.9, 0.9,
723  -0.3, -0.3};
724  double thisMaxi[] = {50.,
725  1.1, 1.1,
726  0.3, 0.3};
727  this->setPar( Start, Step, Mini, Maxi, ind, parname, parScale, parScaleOrder, thisStep, thisMini, thisMaxi, thisParName );
728  } else {
729  double thisMini[] = {30.,
730  0.97, 0.97,
731  -0.1, -0.01};
732  double thisMaxi[] = {50.,
733  1.03, 1.03,
734  0.1, 0.01};
735  this->setPar( Start, Step, Mini, Maxi, ind, parname, parScale, parScaleOrder, thisStep, thisMini, thisMaxi, thisParName );
736  }
737  }
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.
Definition: Functions.h:70
double originalPtRegionSeparator_
Definition: Functions.h:739

Member Data Documentation

template<class T >
double scaleFunctionType15< T >::originalPtRegionSeparator_
protected