ROOT » HIST » HIST » TF1NormSum

class TF1NormSum

Function Members (Methods)

public:
~TF1NormSum()
Int_tGetNpar() const
vector<double>GetParameters() const
const char*GetParName(Int_t ipar) const
Double_tGetScale() const
doubleoperator()(double* x, double* p)
TF1NormSum&operator=(TF1NormSum&&)
TF1NormSum&operator=(const TF1NormSum&)
voidSetParameters(const double* params)
voidSetParameters(Double_t p0, Double_t p1, Double_t p2 = 0., Double_t p3 = 0., Double_t p4 = 0., Double_t p5 = 0., Double_t p6 = 0., Double_t p7 = 0., Double_t p8 = 0., Double_t p9 = 0., Double_t p10 = 0.)
voidSetScale(Double_t scale)
TF1NormSum()
TF1NormSum(TF1NormSum&&)
TF1NormSum(const TF1NormSum&)
TF1NormSum(const vector<TF1*>& functions, const vector<Double_t>& coeffs, Double_t scale = 1.)
TF1NormSum(const TString& formula, Double_t xmin, Double_t xmax)
TF1NormSum(TF1* function1, TF1* function2, Double_t coeff1 = 1., Double_t coeff2 = 1., Double_t scale = 1.)
TF1NormSum(TF1* function1, TF1* function2, TF1* function3, Double_t coeff1 = 1., Double_t coeff2 = 1., Double_t coeff3 = 1., Double_t scale = 1.)
protected:
voidInitializeDataMembers(const vector<shared_ptr<TF1> >& functions, const vector<Double_t>& coeffs, Double_t scale)

Data Members

protected:
vector<Double_t>fCoeffsVector of size afNOfFunctions containing coefficients in front of each function
vector<Int_t>fCstIndexesvector with size of fNOfFunctions containing the index of the constant parameter/ function (the removed ones)
vector<shared_ptr<TF1> >fFunctionsVector of size fNOfFunctions containing TF1 functions
unsigned intfNOfFunctions! Number of functions to add
vector<TString>fParNamesparameter names
Double_tfScaleFixed Scale parameter to normalize function (e.g. bin width)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void InitializeDataMembers(const vector<shared_ptr<TF1> >& functions, const vector<Double_t>& coeffs, Double_t scale)
TF1NormSum()
TF1NormSum(const TString& formula, Double_t xmin, Double_t xmax)
TF1NormSum(TF1* function1, TF1* function2, Double_t coeff1 = 1., Double_t coeff2 = 1., Double_t scale = 1.)
 TF1NormSum constructor taking 2 functions, and 2 coefficients (if not equal to 1)
TF1NormSum(TF1* function1, TF1* function2, TF1* function3, Double_t coeff1 = 1., Double_t coeff2 = 1., Double_t coeff3 = 1., Double_t scale = 1.)
 TF1NormSum constructor taking 3 functions, and 3 coefficients (if not equal to 1)
TF1NormSum(const TString& formula, Double_t xmin, Double_t xmax)
  TF1NormSum constructortaking any addition of formulas with coefficient or not
 example 1 : 2.*expo + gauss + 0.5* gauss
 example 2 : expo + 0.3*f1 if f1 is defined in the list of fucntions
double operator()(double* x, double* p)
 Overload the parenthesis to add the functions
std::vector<double> GetParameters() const
 return array of parameters
void SetParameters(const double* params)
 Initialize array of all parameters.
 double *params must contains first an array of the coefficients, then an array of the parameters.
void SetParameters(Double_t p0, Double_t p1, Double_t p2 = 0., Double_t p3 = 0., Double_t p4 = 0., Double_t p5 = 0., Double_t p6 = 0., Double_t p7 = 0., Double_t p8 = 0., Double_t p9 = 0., Double_t p10 = 0.)
 Initialize array of all parameters.
 Overload the TF1::SetParameters() method.
 A maximum of 10 parameters must be used, with first the coefficients, then the parameters
Int_t GetNpar() const
TF1NormSum()
smart pointer
TF1NormSum(const TString& formula, Double_t xmin, Double_t xmax)
void SetScale(Double_t scale)
{ fScale = scale; }
Double_t GetScale() const
{ return fScale; }
const char * GetParName(Int_t ipar) const
{ return fParNames.at(ipar).Data(); }