11#ifndef ROOT_TF1NormSum__
12#define ROOT_TF1NormSum__
37 TF1NormSum(
const std::vector <TF1*>&functions,
const std::vector <Double_t> &coeffs,
Double_t scale = 1.);
#define ClassDef(name, id)
Class adding two functions: c1*f1+c2*f2.
Double_t fScale
Fixed Scale parameter to normalize function (e.g. bin width)
void SetScale(Double_t scale)
const char * GetParName(Int_t ipar) const
void GetRange(Double_t &a, Double_t &b) const
TF1NormSum & operator=(const TF1NormSum &rhs)
Operator =.
Double_t fXmax
Minimal bound of range of NormSum.
std::vector< TString > fParNames
Parameter names.
void SetParameters(const Double_t *params)
Initialize array of all parameters.
std::vector< double > GetParameters() const
Return array of parameters.
std::vector< std::unique_ptr< TF1 > > fFunctions
Maximal bound of range of NormSum.
void InitializeDataMembers(const std::vector< TF1 * > &functions, const std::vector< Double_t > &coeffs, Double_t scale)
void Copy(TObject &obj) const
Copy this to obj.
std::vector< Double_t > fCoeffs
Vector of size afNOfFunctions containing coefficients in front of each function.
Int_t GetNpar() const
Return the number of (non constant) parameters including the coefficients: for 2 functions: c1,...
Double_t GetScale() const
void Update()
Update the component functions of the normalized sum.
unsigned int fNOfFunctions
Number of functions to add.
double operator()(const Double_t *x, const Double_t *p)
Overload the parenthesis to add the functions.
void SetRange(Double_t a, Double_t b)
std::vector< Int_t > fCstIndexes
Vector with size of fNOfFunctions containing the index of the constant parameter/ function (the remov...
Mother of all ROOT objects.