#include <Functions.h>
Classes | |
class | FunctionForIntegral |
Public Member Functions | |
backgroundFunctionBase (const double &lowerLimit, const double &upperLimit) | |
virtual double | fracVsEta (const double *parval, const double &eta1, const double &eta2) const |
virtual TF1 * | functionForIntegral (const std::vector< double >::const_iterator &parBgrIt) const |
virtual double | operator() (const double *parval, const double &mass, const double &eta1, const double &eta2) const |
virtual double | operator() (const double *parval, const double &mass, const double &eta) const =0 |
virtual int | parNum () const |
virtual void | setParameters (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double >::const_iterator &parBgrIt, const std::vector< int >::const_iterator &parBgrOrderIt, const int muonType)=0 |
This method is used to differentiate parameters among the different functions. | |
virtual | ~backgroundFunctionBase () |
Protected Member Functions | |
virtual void | setPar (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double >::const_iterator &parBgrIt, const std::vector< int >::const_iterator &parBgrOrderIt, double *thisStep, double *thisMini, double *thisMaxi, TString *thisParName) |
This method sets the parameters. | |
Protected Attributes | |
FunctionForIntegral * | functionForIntegral_ |
double | lowerLimit_ |
int | parNum_ |
double | upperLimit_ |
Background functors.
MuScleFit uses different background functions for each resonance. This is done because the background shape can change from a region to another so that it is not well described just one of the following functions. Since we are only interested in getting the correct shape and fraction in the resonance region we can split it in several parts and fit them separately.
When fitting the background function:
Definition at line 5639 of file Functions.h.
backgroundFunctionBase::backgroundFunctionBase | ( | const double & | lowerLimit, |
const double & | upperLimit | ||
) | [inline] |
Definition at line 5641 of file Functions.h.
: lowerLimit_(lowerLimit), upperLimit_(upperLimit) {}
virtual backgroundFunctionBase::~backgroundFunctionBase | ( | ) | [inline, virtual] |
Definition at line 5643 of file Functions.h.
References functionForIntegral_.
{ delete functionForIntegral_; };
virtual double backgroundFunctionBase::fracVsEta | ( | const double * | parval, |
const double & | eta1, | ||
const double & | eta2 | ||
) | const [inline, virtual] |
Reimplemented in backgroundFunctionType6, backgroundFunctionType7, backgroundFunctionType8, backgroundFunctionType9, and backgroundFunctionType10.
Definition at line 5662 of file Functions.h.
{ return 1.; }
virtual TF1* backgroundFunctionBase::functionForIntegral | ( | const std::vector< double >::const_iterator & | parBgrIt | ) | const [inline, virtual] |
Definition at line 5655 of file Functions.h.
References functionForIntegral_, lowerLimit_, parNum_, and upperLimit_.
Referenced by BackgroundHandler::rescale().
{ functionForIntegral_ = new FunctionForIntegral(this, parBgrIt); TF1 * backgroundFunctionForIntegral = new TF1("backgroundFunctionForIntegral", functionForIntegral_, lowerLimit_, upperLimit_, this->parNum_); return( backgroundFunctionForIntegral ); }
virtual double backgroundFunctionBase::operator() | ( | const double * | parval, |
const double & | mass, | ||
const double & | eta | ||
) | const [pure virtual] |
virtual double backgroundFunctionBase::operator() | ( | const double * | parval, |
const double & | mass, | ||
const double & | eta1, | ||
const double & | eta2 | ||
) | const [inline, virtual] |
Reimplemented in backgroundFunctionType6, backgroundFunctionType7, backgroundFunctionType8, backgroundFunctionType9, and backgroundFunctionType10.
Definition at line 5648 of file Functions.h.
References operator()().
{ return operator()(parval, mass, eta1); }
virtual int backgroundFunctionBase::parNum | ( | ) | const [inline, virtual] |
Definition at line 5652 of file Functions.h.
References parNum_.
Referenced by backgroundFunctionBase::FunctionForIntegral::FunctionForIntegral().
{ return parNum_; }
virtual void backgroundFunctionBase::setPar | ( | double * | Start, |
double * | Step, | ||
double * | Mini, | ||
double * | Maxi, | ||
int * | ind, | ||
TString * | parname, | ||
const std::vector< double >::const_iterator & | parBgrIt, | ||
const std::vector< int >::const_iterator & | parBgrOrderIt, | ||
double * | thisStep, | ||
double * | thisMini, | ||
double * | thisMaxi, | ||
TString * | thisParName | ||
) | [inline, protected, virtual] |
This method sets the parameters.
Definition at line 5669 of file Functions.h.
References parNum_.
Referenced by backgroundFunctionType8::setParameters(), backgroundFunctionType7::setParameters(), backgroundFunctionType6::setParameters(), backgroundFunctionType5::setParameters(), backgroundFunctionType9::setParameters(), backgroundFunctionType10::setParameters(), backgroundFunctionType4::setParameters(), backgroundFunctionType2::setParameters(), and backgroundFunctionType1::setParameters().
{ for( int iPar=0; iPar<this->parNum_; ++iPar ) { Start[iPar] = *(parBgrIt+iPar); Step[iPar] = thisStep[iPar]; Mini[iPar] = thisMini[iPar]; Maxi[iPar] = thisMaxi[iPar]; ind[iPar] = *(parBgrOrderIt+iPar); // EM 2012.05.22 this line is crashing cmsRun (need to be fixed) parname[iPar] = thisParName[iPar]; } }
virtual void backgroundFunctionBase::setParameters | ( | double * | Start, |
double * | Step, | ||
double * | Mini, | ||
double * | Maxi, | ||
int * | ind, | ||
TString * | parname, | ||
const std::vector< double >::const_iterator & | parBgrIt, | ||
const std::vector< int >::const_iterator & | parBgrOrderIt, | ||
const int | muonType | ||
) | [pure virtual] |
This method is used to differentiate parameters among the different functions.
Implemented in backgroundFunctionType1, backgroundFunctionType2, backgroundFunctionType4, backgroundFunctionType5, backgroundFunctionType6, backgroundFunctionType7, backgroundFunctionType8, backgroundFunctionType9, and backgroundFunctionType10.
FunctionForIntegral* backgroundFunctionBase::functionForIntegral_ [mutable, protected] |
Definition at line 5706 of file Functions.h.
Referenced by functionForIntegral(), and ~backgroundFunctionBase().
double backgroundFunctionBase::lowerLimit_ [protected] |
Definition at line 5666 of file Functions.h.
Referenced by functionForIntegral(), backgroundFunctionType1::operator()(), backgroundFunctionType2::operator()(), backgroundFunctionType4::operator()(), backgroundFunctionType10::operator()(), backgroundFunctionType5::operator()(), backgroundFunctionType6::operator()(), backgroundFunctionType7::operator()(), backgroundFunctionType8::operator()(), and backgroundFunctionType9::operator()().
int backgroundFunctionBase::parNum_ [protected] |
Definition at line 5665 of file Functions.h.
Referenced by backgroundFunctionType1::backgroundFunctionType1(), backgroundFunctionType10::backgroundFunctionType10(), backgroundFunctionType2::backgroundFunctionType2(), backgroundFunctionType4::backgroundFunctionType4(), backgroundFunctionType5::backgroundFunctionType5(), backgroundFunctionType6::backgroundFunctionType6(), backgroundFunctionType7::backgroundFunctionType7(), backgroundFunctionType8::backgroundFunctionType8(), backgroundFunctionType9::backgroundFunctionType9(), functionForIntegral(), parNum(), and setPar().
double backgroundFunctionBase::upperLimit_ [protected] |
Definition at line 5667 of file Functions.h.
Referenced by functionForIntegral(), backgroundFunctionType1::operator()(), backgroundFunctionType2::operator()(), backgroundFunctionType4::operator()(), backgroundFunctionType10::operator()(), backgroundFunctionType5::operator()(), backgroundFunctionType6::operator()(), backgroundFunctionType7::operator()(), backgroundFunctionType8::operator()(), and backgroundFunctionType9::operator()().