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