Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TLinearFitter Class Reference

Note
An alternative to this class is to use ROOT::Fit::Fitter, calling the LinearFit() method.

The Linear Fitter - For fitting functions that are LINEAR IN PARAMETERS

The Linear Fitter

Linear fitter is used to fit a set of data points with a linear combination of specified functions. Note, that "linear" in the name stands only for the model dependency on parameters, the specified functions can be nonlinear. The general form of this kind of model is

y(x) = a[0] + a[1]*f[1](x)+...a[n]*f[n](x)
#define f(i)
Definition RSha256.hxx:104
#define a(i)
Definition RSha256.hxx:99
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16

Functions f are fixed functions of x. For example, fitting with a polynomial is linear fitting in this sense.

Introduction

The fitting method

The fit is performed using the Normal Equations method with Cholesky decomposition.

Why should it be used?

The linear fitter is considerably faster than general non-linear fitters and doesn't require to set the initial values of parameters.

Using the fitter:

1.Adding the data points:

1.1 To store or not to store the input data?

  • There are 2 options in the constructor - to store or not store the input data. The advantages of storing the data are that you'll be able to reset the fitting model without adding all the points again, and that for very large sets of points the chisquare is calculated more precisely. The obvious disadvantage is the amount of memory used to keep all the points.
  • Before you start adding the points, you can change the store/not store option by StoreData() method.

1.2 The data can be added:

  • simply point by point - AddPoint() method
  • an array of points at once: If the data is already stored in some arrays, this data can be assigned to the linear fitter without physically coping bytes, thanks to the Use() method of TVector and TMatrix classes - AssignData() method

2.Setting the formula

2.1 The linear formula syntax:

-Additive parts are separated by 2 plus signs "++" –for example "1 ++ x" - for fitting a straight line -All standard functions, undrestood by TFormula, can be used as additive parts –TMath functions can be used too -Functions, used as additive parts, shouldn't have any parameters, even if those parameters are set. –for example, if normalizing a sum of a gaus(0, 1) and a gaus(0, 2), don't use the built-in "gaus" of TFormula, because it has parameters, take TMath::Gaus(x, 0, 1) instead. -Polynomials can be used like "pol3", .."polN" -If fitting a more than 3-dimensional formula, variables should be numbered as follows: – x[0], x[1], x[2]... For example, to fit "1 ++ x[0] ++ x[1] ++ x[2] ++ x[3]*x[3]"

2.2 Setting the formula:

2.2.1 If fitting a 1-2-3-dimensional formula, one can create a

TF123 based on a linear expression and pass this function to the fitter: –Example:

TF2 *f2 = new TF2("f2", "x ++ y ++ x*x*y*y", -2, 2, -2, 2);
lf->SetFormula(f2);
A 2-Dim function with parameters.
Definition TF2.h:29
TLinearFitter()
default c-tor, input data is stored If you don't want to store the input data, run the function Store...
virtual void SetFormula(const char *formula)
Additive parts should be separated by "++".

–The results of the fit are then stored in the function, just like when the TH1::Fit or TGraph::Fit is used –A linear function of this kind is by no means different from any other function, it can be drawn, evaluated, etc.

–For multidimensional fitting, TFormulas of the form: x[0]++...++x[n] can be used

2.2.2 There is no need to create the function if you don't want to,

the formula can be set by expression: –Example:

// 2 is the number of dimensions
lf->SetFormula("x ++ y ++ x*x*y*y");
2.2.3 The fastest functions to compute are polynomials and hyperplanes.

–Polynomials are set the usual way: "pol1", "pol2",... –Hyperplanes are set by expression "hyp3", "hyp4", ... —The "hypN" expressions only work when the linear fitter is used directly, not through TH1::Fit or TGraph::Fit. To fit a graph or a histogram with a hyperplane, define the function as "1++x++y". —A constant term is assumed for a hyperplane, when using the "hypN" expression, so "hyp3" is in fact fitting with "1++x++y++z" function. –Fitting hyperplanes is much faster than fitting other expressions so if performance is vital, calculate the function values beforehand and give them to the fitter as variables –Example: You want to fit "sin(x)|cos(2*x)" very fast. Calculate sin(x) and cos(2*x) beforehand and store them in array *data. Then: TLinearFitter *lf=new TLinearFitter(2, "hyp2"); lf->AssignData(npoint, 2, data, y);

2.3 Resetting the formula

2.3.1 If the input data is stored (or added via AssignData() function),

the fitting formula can be reset without re-adding all the points. –Example:

TLinearFitter *lf=new TLinearFitter("1++x++x*x");
lf->AssignData(n, 1, x, y, e);
lf->Eval()
//looking at the parameter significance, you see,
// that maybe the fit will improve, if you take out
// the constant term
lf->SetFormula("x++x*x");
lf->Eval();
...
#define e(i)
Definition RSha256.hxx:103
virtual Int_t Eval()
Perform the fit and evaluate the parameters Returns 0 if the fit is ok, 1 if there are errors.
virtual void AssignData(Int_t npoints, Int_t xncols, Double_t *x, Double_t *y, Double_t *e=nullptr)
This function is to use when you already have all the data in arrays and don't want to copy them into...
2.3.2 If the input data is not stored, the fitter will have to be

cleared and the data will have to be added again to try a different formula.

3.Accessing the fit results

3.1 There are methods in the fitter to access all relevant information:

–GetParameters, GetCovarianceMatrix, etc –the t-values of parameters and their significance can be reached by GetParTValue() and GetParSignificance() methods

3.2 If fitting with a pre-defined TF123, the fit results are also

written into this function.

4.Robust fitting - Least Trimmed Squares regression (LTS)

Outliers are atypical(by definition), infrequant observations; data points which do not appear to follow the characteristic distribution of the rest of the data. These may reflect genuine properties of the underlying phenomenon(variable), or be due to measurement errors or anomalies which shouldn't be modelled. (StatSoft electronic textbook)

Even a single gross outlier can greatly influence the results of least- squares fitting procedure, and in this case use of robust(resistant) methods is recommended.

The method implemented here is based on the article and algorithm: "Computing LTS Regression for Large Data Sets" by P.J.Rousseeuw and Katrien Van Driessen The idea of the method is to find the fitting coefficients for a subset of h observations (out of n) with the smallest sum of squared residuals. The size of the subset h should lie between (npoints + nparameters +1)/2 and n, and represents the minimal number of good points in the dataset. The default value is set to (npoints + nparameters +1)/2, but of course if you are sure that the data contains less outliers it's better to change h according to your data.

To perform a robust fit, call EvalRobust() function instead of Eval() after adding the points and setting the fitting function. Note, that standard errors on parameters are not computed!

Definition at line 153 of file TLinearFitter.h.

Public Member Functions

 TLinearFitter ()
 default c-tor, input data is stored If you don't want to store the input data, run the function StoreData(kFALSE) after constructor
 
 TLinearFitter (const TLinearFitter &tlf)
 Copy ctor.
 
 TLinearFitter (Int_t ndim)
 The parameter stands for number of dimensions in the fitting formula The input data is stored.
 
 TLinearFitter (Int_t ndim, const char *formula, Option_t *opt="D")
 First parameter stands for number of dimensions in the fitting formula Second parameter is the fitting formula: see class description for formula syntax Options: The option is to store or not to store the data If you don't want to store the data, choose "" for the option, or run StoreData(kFalse) member function after the constructor.
 
 TLinearFitter (TFormula *function, Option_t *opt="D")
 This constructor uses a linear function.
 
 ~TLinearFitter () override
 Linear fitter cleanup.
 
virtual void Add (TLinearFitter *tlf)
 Add another linear fitter to this linear fitter.
 
virtual void AddPoint (Double_t *x, Double_t y, Double_t e=1)
 Adds 1 point to the fitter.
 
virtual void AddTempMatrices ()
 
virtual void AssignData (Int_t npoints, Int_t xncols, Double_t *x, Double_t *y, Double_t *e=nullptr)
 This function is to use when you already have all the data in arrays and don't want to copy them into the fitter.
 
virtual void Chisquare ()
 Calculates the chisquare.
 
Double_t Chisquare (Int_t, Double_t *) const override
 
void Clear (Option_t *option="") override
 Clears everything. Used in TH1::Fit and TGraph::Fit().
 
virtual void ClearPoints ()
 To be used when different sets of points are fitted with the same formula.
 
virtual Int_t Eval ()
 Perform the fit and evaluate the parameters Returns 0 if the fit is ok, 1 if there are errors.
 
virtual Int_t EvalRobust (Double_t h=-1)
 Finds the parameters of the fitted function in case data contains outliers.
 
Int_t ExecuteCommand (const char *command, Double_t *args, Int_t nargs) override
 To use in TGraph::Fit and TH1::Fit().
 
void FixParameter (Int_t ipar) override
 Fixes paramter #ipar at its current value.
 
virtual void FixParameter (Int_t ipar, Double_t parvalue)
 Fixes parameter #ipar at value parvalue.
 
virtual void GetAtbVector (TVectorD &v)
 Get the Atb vector - a vector, used for internal computations.
 
virtual Double_t GetChisquare ()
 Get the Chisquare.
 
void GetConfidenceIntervals (Int_t n, Int_t ndim, const Double_t *x, Double_t *ci, Double_t cl=0.95) override
 Computes point-by-point confidence intervals for the fitted function Parameters: n - number of points ndim - dimensions of points x - points, at which to compute the intervals, for ndim > 1 should be in order: (x0,y0, x1, y1, ... xn, yn) ci - computed intervals are returned in this array cl - confidence level, default=0.95.
 
void GetConfidenceIntervals (TObject *obj, Double_t cl=0.95) override
 Computes confidence intervals at level cl.
 
Double_tGetCovarianceMatrix () const override
 Returns covariance matrix.
 
virtual void GetCovarianceMatrix (TMatrixD &matr)
 Returns covariance matrix.
 
Double_t GetCovarianceMatrixElement (Int_t i, Int_t j) const override
 
virtual void GetDesignMatrix (TMatrixD &matr)
 Returns the internal design matrix.
 
Int_t GetErrors (Int_t, Double_t &, Double_t &, Double_t &, Double_t &) const override
 
virtual void GetErrors (TVectorD &vpar)
 Returns parameter errors.
 
virtual void GetFitSample (TBits &bits)
 For robust lts fitting, returns the sample, on which the best fit was based.
 
virtual Int_t GetNpoints ()
 
Int_t GetNumberFreeParameters () const override
 
Int_t GetNumberTotalParameters () const override
 
Double_t GetParameter (Int_t ipar) const override
 
Int_t GetParameter (Int_t ipar, char *name, Double_t &value, Double_t &, Double_t &, Double_t &) const override
 Returns the value and the name of the parameter #ipar NB: In the calling function the argument name must be set large enough.
 
virtual void GetParameters (TVectorD &vpar)
 Returns parameter values.
 
Double_t GetParError (Int_t ipar) const override
 Returns the error of parameter #ipar
 
const char * GetParName (Int_t ipar) const override
 Returns name of parameter #ipar
 
virtual Double_t GetParSignificance (Int_t ipar)
 Returns the significance of parameter #ipar
 
virtual Double_t GetParTValue (Int_t ipar)
 Returns the t-value for parameter #ipar
 
Int_t GetStats (Double_t &, Double_t &, Double_t &, Int_t &, Int_t &) const override
 
Double_t GetSumLog (Int_t) override
 
virtual Double_t GetY2 () const
 
TClassIsA () const override
 
Bool_t IsFixed (Int_t ipar) const override
 
virtual Int_t Merge (TCollection *list)
 Merge objects in list.
 
TLinearFitteroperator= (const TLinearFitter &tlf)
 Assignment operator.
 
void PrintResults (Int_t level, Double_t amin=0) const override
 Level = 3 (to be consistent with minuit) prints parameters and parameter errors.
 
void ReleaseParameter (Int_t ipar) override
 Releases parameter #ipar.
 
virtual void SetBasisFunctions (TObjArray *functions)
 set the basis functions in case the fitting function is not set directly The TLinearFitter will manage and delete the functions contained in the list
 
virtual void SetDim (Int_t n)
 set the number of dimensions
 
void SetFitMethod (const char *) override
 
virtual void SetFormula (const char *formula)
 Additive parts should be separated by "++".
 
virtual void SetFormula (TFormula *function)
 Set the fitting function.
 
Int_t SetParameter (Int_t, const char *, Double_t, Double_t, Double_t, Double_t) override
 
virtual void StoreData (Bool_t store)
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual Bool_t UpdateMatrix ()
 Update the design matrix after the formula has been changed.
 
- Public Member Functions inherited from TVirtualFitter
 TVirtualFitter ()
 Default constructor.
 
 ~TVirtualFitter () override
 Cleanup virtual fitter.
 
virtual FCNFunc_t GetFCN ()
 
virtual Foption_t GetFitOption () const
 
TMethodCallGetMethodCall () const
 
virtual TObjectGetObjectFit () const
 
virtual TObjectGetUserFunc () const
 
virtual Int_t GetXfirst () const
 
virtual Int_t GetXlast () const
 
virtual Int_t GetYfirst () const
 
virtual Int_t GetYlast () const
 
virtual Int_t GetZfirst () const
 
virtual Int_t GetZlast () const
 
TClassIsA () const override
 
virtual Double_tSetCache (Int_t npoints, Int_t psize)
 Initialize the cache array npoints is the number of points to be stored (or already stored) in the cache psize is the number of elements per point.
 
virtual void SetFCN (void(*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t))
 To set the address of the minimization objective function called by the native compiler (see function below when called by CINT)
 
virtual void SetFitOption (Foption_t option)
 
virtual void SetObjectFit (TObject *obj)
 
virtual void SetUserFunc (TObject *userfunc)
 
virtual void SetXfirst (Int_t first)
 
virtual void SetXlast (Int_t last)
 
virtual void SetYfirst (Int_t first)
 
virtual void SetYlast (Int_t last)
 
virtual void SetZfirst (Int_t first)
 
virtual void SetZlast (Int_t last)
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TVirtualFitter
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TVirtualFitterFitter (TObject *obj, Int_t maxpar=25)
 Static function returning a pointer to the current fitter.
 
static const char * GetDefaultFitter ()
 static: return the name of the default fitter
 
static Double_t GetErrorDef ()
 static: Return the Error Definition
 
static TVirtualFitterGetFitter ()
 static: return the current Fitter
 
static Int_t GetMaxIterations ()
 static: Return the maximum number of iterations actually max number of function calls
 
static Double_t GetPrecision ()
 static: Return the fit relative precision
 
static void SetDefaultFitter (const char *name="")
 static: set name of default fitter
 
static void SetErrorDef (Double_t errdef=1)
 static: Set the Error Definition (default=1) For Minuit this is the value passed with the "SET ERR" command (see https://cern-tex.web.cern.ch/cern-tex/minuit/node18.html)
 
static void SetFitter (TVirtualFitter *fitter, Int_t maxpar=25)
 Static function to set an alternative fitter.
 
static void SetMaxIterations (Int_t niter=5000)
 static: Set the maximum number of function calls for the minimization algorithm For example for MIGRAD this is the maxcalls value passed as first argument (see https://cern-tex.web.cern.ch/cern-tex/minuit/node18.html )
 
static void SetPrecision (Double_t prec=1e-6)
 static: Set the tolerance used in the minimization algorithm For example for MIGRAD this is tolerance value passed as second argument (see https://cern-tex.web.cern.ch/cern-tex/minuit/node18.html )
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Private Member Functions

void AddToDesign (Double_t *x, Double_t y, Double_t e)
 Add a point to the AtA matrix and to the Atb vector.
 
void ComputeTValues ()
 Computes parameters' t-values and significance.
 
void CreateSubset (Int_t ntotal, Int_t h, Int_t *index)
 Creates a p-subset to start ntotal - total number of points from which the subset is chosen.
 
Double_t CStep (Int_t step, Int_t h, Double_t *residuals, Int_t *index, Int_t *subdat, Int_t start, Int_t end)
 The CStep procedure, as described in the article.
 
Int_t Graph2DLinearFitter (Double_t h)
 Minimisation function for a TGraph2D.
 
Int_t GraphLinearFitter (Double_t h)
 Used in TGraph::Fit().
 
Int_t HistLinearFitter ()
 Minimization function for H1s using a Chisquare method.
 
Bool_t Linf ()
 
Int_t MultiGraphLinearFitter (Double_t h)
 Minimisation function for a TMultiGraph.
 
Int_t Partition (Int_t nmini, Int_t *indsubdat)
 divides the elements into approximately equal subgroups number of elements in each subgroup is stored in indsubdat number of subgroups is returned
 
void RDraw (Int_t *subdat, Int_t *indsubdat)
 Draws ngroup nonoverlapping subdatasets out of a dataset of size n such that the selected case numbers are uniformly distributed from 1 to n.
 

Private Attributes

TVectorD fAtb
 
TVectorD fAtbTemp
 
TVectorD fAtbTemp2
 temporary vector, used for num.stability
 
TVectorD fAtbTemp3
 
Double_t fChisquare
 
TMatrixDSym fDesign
 
TMatrixDSym fDesignTemp
 
TMatrixDSym fDesignTemp2
 temporary matrix, used for num.stability
 
TMatrixDSym fDesignTemp3
 
TVectorD fE
 
TBits fFitsample
 
Bool_tfFixedParams
 
char * fFormula
 
Int_t fFormulaSize
 
TObjArray fFunctions
 map of basis functions and formula
 
Int_t fH
 
TFormulafInputFunction
 
Bool_t fIsSet
 
Int_t fNdim
 
Int_t fNfixed
 
Int_t fNfunctions
 
Int_t fNpoints
 temporary
 
TVectorD fParams
 
TMatrixDSym fParCovar
 
TVectorD fParSign
 
Bool_t fRobust
 
Int_t fSpecial
 
Bool_t fStoreData
 
TVectorD fTValues
 
Double_t fVal [1000]
 
TMatrixD fX
 temporary variable used for num.stability
 
TVectorD fY
 
Double_t fY2
 
Double_t fY2Temp
 

Static Private Attributes

static std::map< TString, TFormula * > fgFormulaMap
 

Additional Inherited Members

- Public Types inherited from TVirtualFitter
typedef void(* FCNFunc_t) (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Member Functions inherited from TVirtualFitter
 TVirtualFitter (const TVirtualFitter &tvf)
 copy constructor
 
TVirtualFitteroperator= (const TVirtualFitter &tvf)
 assignment operator
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 
- Protected Attributes inherited from TVirtualFitter
Double_tfCache
 [fCacheSize] Array of points data (fNpoints*fPointSize < fCacheSize words)
 
Int_t fCacheSize
 Size of the fCache array.
 
void(* fFCN )(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
 
TMethodCallfMethodCall
 Pointer to MethodCall in case of interpreted function.
 
Int_t fNpoints
 Number of points to fit.
 
TObjectfObjectFit
 Pointer to object being fitted.
 
Foption_t fOption
 Struct with the fit options.
 
Int_t fPointSize
 Number of words per point in the cache.
 
TObjectfUserFunc
 Pointer to user theoretical function (a TF1*)
 
Int_t fXfirst
 First bin on X axis.
 
Int_t fXlast
 Last bin on X axis.
 
Int_t fYfirst
 First bin on Y axis.
 
Int_t fYlast
 Last bin on Y axis.
 
Int_t fZfirst
 First bin on Z axis.
 
Int_t fZlast
 Last bin on Z axis.
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TLinearFitter.h>

Inheritance diagram for TLinearFitter:
[legend]

Constructor & Destructor Documentation

◆ TLinearFitter() [1/5]

TLinearFitter::TLinearFitter ( )

default c-tor, input data is stored If you don't want to store the input data, run the function StoreData(kFALSE) after constructor

Definition at line 228 of file TLinearFitter.cxx.

◆ TLinearFitter() [2/5]

TLinearFitter::TLinearFitter ( Int_t  ndim,
const char *  formula,
Option_t opt = "D" 
)

First parameter stands for number of dimensions in the fitting formula Second parameter is the fitting formula: see class description for formula syntax Options: The option is to store or not to store the data If you don't want to store the data, choose "" for the option, or run StoreData(kFalse) member function after the constructor.

Definition at line 299 of file TLinearFitter.cxx.

◆ TLinearFitter() [3/5]

TLinearFitter::TLinearFitter ( Int_t  ndim)

The parameter stands for number of dimensions in the fitting formula The input data is stored.

If you don't want to store the input data, run the function StoreData(kFALSE) after constructor

Definition at line 270 of file TLinearFitter.cxx.

◆ TLinearFitter() [4/5]

TLinearFitter::TLinearFitter ( TFormula function,
Option_t opt = "D" 
)

This constructor uses a linear function.

How to create it? TFormula now accepts formulas of the following kind: TFormula("f", "x++y++z++x*x") or TFormula("f", "x[0]++x[1]++x[2]*x[2]"); Other than the look, it's in no way different from the regular formula, it can be evaluated, drawn, etc. The option is to store or not to store the data If you don't want to store the data, choose "" for the option, or run StoreData(kFalse) member function after the constructor

Definition at line 332 of file TLinearFitter.cxx.

◆ TLinearFitter() [5/5]

TLinearFitter::TLinearFitter ( const TLinearFitter tlf)

Copy ctor.

Definition at line 365 of file TLinearFitter.cxx.

◆ ~TLinearFitter()

TLinearFitter::~TLinearFitter ( )
override

Linear fitter cleanup.

Definition at line 421 of file TLinearFitter.cxx.

Member Function Documentation

◆ Add()

void TLinearFitter::Add ( TLinearFitter tlf)
virtual

Add another linear fitter to this linear fitter.

Points and Design matrices are added, but the previous fitting results (if any) are deleted. Fitters must have same formulas (this is not checked). Fixed parameters are not changed

Definition at line 512 of file TLinearFitter.cxx.

◆ AddPoint()

void TLinearFitter::AddPoint ( Double_t x,
Double_t  y,
Double_t  e = 1 
)
virtual

Adds 1 point to the fitter.

First parameter stands for the coordinates of the point, where the function is measured Second parameter - the value being fitted Third parameter - weight(measurement error) of this point (=1 by default)

Definition at line 561 of file TLinearFitter.cxx.

◆ AddTempMatrices()

void TLinearFitter::AddTempMatrices ( )
virtual

Definition at line 723 of file TLinearFitter.cxx.

◆ AddToDesign()

void TLinearFitter::AddToDesign ( Double_t x,
Double_t  y,
Double_t  e 
)
private

Add a point to the AtA matrix and to the Atb vector.

Definition at line 637 of file TLinearFitter.cxx.

◆ AssignData()

void TLinearFitter::AssignData ( Int_t  npoints,
Int_t  xncols,
Double_t x,
Double_t y,
Double_t e = nullptr 
)
virtual

This function is to use when you already have all the data in arrays and don't want to copy them into the fitter.

In this function, the Use() method of TVectorD and TMatrixD is used, so no bytes are physically moved around. First parameter - number of points to fit Second parameter - number of variables in the model Third parameter - the variables of the model, stored in the following way: (x0(0), x1(0), x2(0), x3(0), x0(1), x1(1), x2(1), x3(1),...

Definition at line 599 of file TLinearFitter.cxx.

◆ Chisquare() [1/2]

void TLinearFitter::Chisquare ( )
virtual

Calculates the chisquare.

Definition at line 813 of file TLinearFitter.cxx.

◆ Chisquare() [2/2]

Double_t TLinearFitter::Chisquare ( Int_t  ,
Double_t  
) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 269 of file TLinearFitter.h.

◆ Class()

static TClass * TLinearFitter::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TLinearFitter::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TLinearFitter::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 277 of file TLinearFitter.h.

◆ Clear()

void TLinearFitter::Clear ( Option_t option = "")
overridevirtual

Clears everything. Used in TH1::Fit and TGraph::Fit().

Implements TVirtualFitter.

Definition at line 747 of file TLinearFitter.cxx.

◆ ClearPoints()

void TLinearFitter::ClearPoints ( )
virtual

To be used when different sets of points are fitted with the same formula.

Definition at line 787 of file TLinearFitter.cxx.

◆ ComputeTValues()

void TLinearFitter::ComputeTValues ( )
private

Computes parameters' t-values and significance.

Definition at line 878 of file TLinearFitter.cxx.

◆ CreateSubset()

void TLinearFitter::CreateSubset ( Int_t  ntotal,
Int_t  h,
Int_t index 
)
private

Creates a p-subset to start ntotal - total number of points from which the subset is chosen.

Definition at line 2307 of file TLinearFitter.cxx.

◆ CStep()

Double_t TLinearFitter::CStep ( Int_t  step,
Int_t  h,
Double_t residuals,
Int_t index,
Int_t subdat,
Int_t  start,
Int_t  end 
)
private

The CStep procedure, as described in the article.

Definition at line 2370 of file TLinearFitter.cxx.

◆ DeclFileName()

static const char * TLinearFitter::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 277 of file TLinearFitter.h.

◆ Eval()

Int_t TLinearFitter::Eval ( )
virtual

Perform the fit and evaluate the parameters Returns 0 if the fit is ok, 1 if there are errors.

Definition at line 890 of file TLinearFitter.cxx.

◆ EvalRobust()

Int_t TLinearFitter::EvalRobust ( Double_t  h = -1)
virtual

Finds the parameters of the fitted function in case data contains outliers.

Parameter h stands for the minimal fraction of good points in the dataset (h < 1, i.e. for 70% of good points take h=0.7). The default value of h*Npoints is (Npoints + Nparameters+1)/2 If the user provides a value of h smaller than above, default is taken See class description for the algorithm details

Definition at line 2111 of file TLinearFitter.cxx.

◆ ExecuteCommand()

Int_t TLinearFitter::ExecuteCommand ( const char *  command,
Double_t args,
Int_t  nargs 
)
overridevirtual

To use in TGraph::Fit and TH1::Fit().

Implements TVirtualFitter.

Definition at line 1740 of file TLinearFitter.cxx.

◆ FixParameter() [1/2]

void TLinearFitter::FixParameter ( Int_t  ipar)
overridevirtual

Fixes paramter #ipar at its current value.

Implements TVirtualFitter.

Definition at line 1017 of file TLinearFitter.cxx.

◆ FixParameter() [2/2]

void TLinearFitter::FixParameter ( Int_t  ipar,
Double_t  parvalue 
)
virtual

Fixes parameter #ipar at value parvalue.

Definition at line 1040 of file TLinearFitter.cxx.

◆ GetAtbVector()

void TLinearFitter::GetAtbVector ( TVectorD v)
virtual

Get the Atb vector - a vector, used for internal computations.

Definition at line 1080 of file TLinearFitter.cxx.

◆ GetChisquare()

Double_t TLinearFitter::GetChisquare ( )
virtual

Get the Chisquare.

Definition at line 1090 of file TLinearFitter.cxx.

◆ GetConfidenceIntervals() [1/2]

void TLinearFitter::GetConfidenceIntervals ( Int_t  n,
Int_t  ndim,
const Double_t x,
Double_t ci,
Double_t  cl = 0.95 
)
overridevirtual

Computes point-by-point confidence intervals for the fitted function Parameters: n - number of points ndim - dimensions of points x - points, at which to compute the intervals, for ndim > 1 should be in order: (x0,y0, x1, y1, ... xn, yn) ci - computed intervals are returned in this array cl - confidence level, default=0.95.

NOTE, that this method can only be used when the fitting function inherits from a TF1, so it's not possible when the fitting function was set as a string or as a pure TFormula

Reimplemented from TVirtualFitter.

Definition at line 1113 of file TLinearFitter.cxx.

◆ GetConfidenceIntervals() [2/2]

void TLinearFitter::GetConfidenceIntervals ( TObject obj,
Double_t  cl = 0.95 
)
overridevirtual

Computes confidence intervals at level cl.

Default is 0.95 The TObject parameter can be a TGraphErrors, a TGraph2DErrors or a TH123. For Graphs, confidence intervals are computed for each point, the value of the graph at that point is set to the function value at that point, and the graph y-errors (or z-errors) are set to the value of the confidence interval at that point For Histograms, confidence intervals are computed for each bin center The bin content of this bin is then set to the function value at the bin center, and the bin error is set to the confidence interval value. Allowed combinations: Fitted object Passed object TGraph TGraphErrors, TH1 TGraphErrors, AsymmErrors TGraphErrors, TH1 TH1 TGraphErrors, TH1 TGraph2D TGraph2DErrors, TH2 TGraph2DErrors TGraph2DErrors, TH2 TH2 TGraph2DErrors, TH2 TH3 TH3

Reimplemented from TVirtualFitter.

Definition at line 1164 of file TLinearFitter.cxx.

◆ GetCovarianceMatrix() [1/2]

Double_t * TLinearFitter::GetCovarianceMatrix ( ) const
overridevirtual

Returns covariance matrix.

Implements TVirtualFitter.

Definition at line 1313 of file TLinearFitter.cxx.

◆ GetCovarianceMatrix() [2/2]

void TLinearFitter::GetCovarianceMatrix ( TMatrixD matr)
virtual

Returns covariance matrix.

Definition at line 1322 of file TLinearFitter.cxx.

◆ GetCovarianceMatrixElement()

Double_t TLinearFitter::GetCovarianceMatrixElement ( Int_t  i,
Int_t  j 
) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 241 of file TLinearFitter.h.

◆ GetDesignMatrix()

void TLinearFitter::GetDesignMatrix ( TMatrixD matr)
virtual

Returns the internal design matrix.

Definition at line 1333 of file TLinearFitter.cxx.

◆ GetErrors() [1/2]

Int_t TLinearFitter::GetErrors ( Int_t  ,
Double_t ,
Double_t ,
Double_t ,
Double_t  
) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 270 of file TLinearFitter.h.

◆ GetErrors() [2/2]

void TLinearFitter::GetErrors ( TVectorD vpar)
virtual

Returns parameter errors.

Definition at line 1344 of file TLinearFitter.cxx.

◆ GetFitSample()

void TLinearFitter::GetFitSample ( TBits bits)
virtual

For robust lts fitting, returns the sample, on which the best fit was based.

Definition at line 1443 of file TLinearFitter.cxx.

◆ GetNpoints()

virtual Int_t TLinearFitter::GetNpoints ( )
inlinevirtual

Definition at line 246 of file TLinearFitter.h.

◆ GetNumberFreeParameters()

Int_t TLinearFitter::GetNumberFreeParameters ( ) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 245 of file TLinearFitter.h.

◆ GetNumberTotalParameters()

Int_t TLinearFitter::GetNumberTotalParameters ( ) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 244 of file TLinearFitter.h.

◆ GetParameter() [1/2]

Double_t TLinearFitter::GetParameter ( Int_t  ipar) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 248 of file TLinearFitter.h.

◆ GetParameter() [2/2]

Int_t TLinearFitter::GetParameter ( Int_t  ipar,
char *  name,
Double_t value,
Double_t ,
Double_t ,
Double_t  
) const
overridevirtual

Returns the value and the name of the parameter #ipar NB: In the calling function the argument name must be set large enough.

Implements TVirtualFitter.

Definition at line 1369 of file TLinearFitter.cxx.

◆ GetParameters()

void TLinearFitter::GetParameters ( TVectorD vpar)
virtual

Returns parameter values.

Definition at line 1357 of file TLinearFitter.cxx.

◆ GetParError()

Double_t TLinearFitter::GetParError ( Int_t  ipar) const
overridevirtual

Returns the error of parameter #ipar

Implements TVirtualFitter.

Definition at line 1387 of file TLinearFitter.cxx.

◆ GetParName()

const char * TLinearFitter::GetParName ( Int_t  ipar) const
overridevirtual

Returns name of parameter #ipar

Implements TVirtualFitter.

Definition at line 1401 of file TLinearFitter.cxx.

◆ GetParSignificance()

Double_t TLinearFitter::GetParSignificance ( Int_t  ipar)
virtual

Returns the significance of parameter #ipar

Definition at line 1429 of file TLinearFitter.cxx.

◆ GetParTValue()

Double_t TLinearFitter::GetParTValue ( Int_t  ipar)
virtual

Returns the t-value for parameter #ipar

Definition at line 1415 of file TLinearFitter.cxx.

◆ GetStats()

Int_t TLinearFitter::GetStats ( Double_t ,
Double_t ,
Double_t ,
Int_t ,
Int_t  
) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 272 of file TLinearFitter.h.

◆ GetSumLog()

Double_t TLinearFitter::GetSumLog ( Int_t  )
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 273 of file TLinearFitter.h.

◆ GetY2()

virtual Double_t TLinearFitter::GetY2 ( ) const
inlinevirtual

Definition at line 255 of file TLinearFitter.h.

◆ Graph2DLinearFitter()

Int_t TLinearFitter::Graph2DLinearFitter ( Double_t  h)
private

Minimisation function for a TGraph2D.

Definition at line 1846 of file TLinearFitter.cxx.

◆ GraphLinearFitter()

Int_t TLinearFitter::GraphLinearFitter ( Double_t  h)
private

Used in TGraph::Fit().

Definition at line 1784 of file TLinearFitter.cxx.

◆ HistLinearFitter()

Int_t TLinearFitter::HistLinearFitter ( )
private

Minimization function for H1s using a Chisquare method.

Definition at line 1990 of file TLinearFitter.cxx.

◆ IsA()

TClass * TLinearFitter::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Definition at line 277 of file TLinearFitter.h.

◆ IsFixed()

Bool_t TLinearFitter::IsFixed ( Int_t  ipar) const
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 256 of file TLinearFitter.h.

◆ Linf()

Bool_t TLinearFitter::Linf ( )
private

Definition at line 2531 of file TLinearFitter.cxx.

◆ Merge()

Int_t TLinearFitter::Merge ( TCollection list)
virtual

Merge objects in list.

Definition at line 1457 of file TLinearFitter.cxx.

◆ MultiGraphLinearFitter()

Int_t TLinearFitter::MultiGraphLinearFitter ( Double_t  h)
private

Minimisation function for a TMultiGraph.

Definition at line 1919 of file TLinearFitter.cxx.

◆ operator=()

TLinearFitter & TLinearFitter::operator= ( const TLinearFitter tlf)

Assignment operator.

Definition at line 441 of file TLinearFitter.cxx.

◆ Partition()

Int_t TLinearFitter::Partition ( Int_t  nmini,
Int_t indsubdat 
)
private

divides the elements into approximately equal subgroups number of elements in each subgroup is stored in indsubdat number of subgroups is returned

Definition at line 2570 of file TLinearFitter.cxx.

◆ PrintResults()

void TLinearFitter::PrintResults ( Int_t  level,
Double_t  amin = 0 
) const
overridevirtual

Level = 3 (to be consistent with minuit) prints parameters and parameter errors.

Implements TVirtualFitter.

Definition at line 1764 of file TLinearFitter.cxx.

◆ RDraw()

void TLinearFitter::RDraw ( Int_t subdat,
Int_t indsubdat 
)
private

Draws ngroup nonoverlapping subdatasets out of a dataset of size n such that the selected case numbers are uniformly distributed from 1 to n.

Definition at line 2622 of file TLinearFitter.cxx.

◆ ReleaseParameter()

void TLinearFitter::ReleaseParameter ( Int_t  ipar)
overridevirtual

Releases parameter #ipar.

Implements TVirtualFitter.

Definition at line 1062 of file TLinearFitter.cxx.

◆ SetBasisFunctions()

void TLinearFitter::SetBasisFunctions ( TObjArray functions)
virtual

set the basis functions in case the fitting function is not set directly The TLinearFitter will manage and delete the functions contained in the list

Definition at line 1476 of file TLinearFitter.cxx.

◆ SetDim()

void TLinearFitter::SetDim ( Int_t  n)
virtual

set the number of dimensions

Definition at line 1516 of file TLinearFitter.cxx.

◆ SetFitMethod()

void TLinearFitter::SetFitMethod ( const char *  )
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 274 of file TLinearFitter.h.

◆ SetFormula() [1/2]

void TLinearFitter::SetFormula ( const char *  formula)
virtual

Additive parts should be separated by "++".

Examples (ai are parameters to fit): 1.fitting function: a0*x0 + a1*x1 + a2*x2 input formula "x[0]++x[1]++x[2]" 2.TMath functions can be used: fitting function: a0*TMath::Gaus(x, 0, 1) + a1*y input formula: "TMath::Gaus(x, 0, 1)++y" fills the array of functions

Definition at line 1537 of file TLinearFitter.cxx.

◆ SetFormula() [2/2]

void TLinearFitter::SetFormula ( TFormula function)
virtual

Set the fitting function.

Definition at line 1658 of file TLinearFitter.cxx.

◆ SetParameter()

Int_t TLinearFitter::SetParameter ( Int_t  ,
const char *  ,
Double_t  ,
Double_t  ,
Double_t  ,
Double_t   
)
inlineoverridevirtual

Implements TVirtualFitter.

Definition at line 275 of file TLinearFitter.h.

◆ StoreData()

virtual void TLinearFitter::StoreData ( Bool_t  store)
inlinevirtual

Definition at line 264 of file TLinearFitter.h.

◆ Streamer()

void TLinearFitter::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

Definition at line 2081 of file TLinearFitter.cxx.

◆ StreamerNVirtual()

void TLinearFitter::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 277 of file TLinearFitter.h.

◆ UpdateMatrix()

Bool_t TLinearFitter::UpdateMatrix ( )
virtual

Update the design matrix after the formula has been changed.

Definition at line 1725 of file TLinearFitter.cxx.

Member Data Documentation

◆ fAtb

TVectorD TLinearFitter::fAtb
private

Definition at line 165 of file TLinearFitter.h.

◆ fAtbTemp

TVectorD TLinearFitter::fAtbTemp
private

Definition at line 166 of file TLinearFitter.h.

◆ fAtbTemp2

TVectorD TLinearFitter::fAtbTemp2
private

temporary vector, used for num.stability

Definition at line 167 of file TLinearFitter.h.

◆ fAtbTemp3

TVectorD TLinearFitter::fAtbTemp3
private

Definition at line 168 of file TLinearFitter.h.

◆ fChisquare

Double_t TLinearFitter::fChisquare
private

Definition at line 190 of file TLinearFitter.h.

◆ fDesign

TMatrixDSym TLinearFitter::fDesign
private

Definition at line 160 of file TLinearFitter.h.

◆ fDesignTemp

TMatrixDSym TLinearFitter::fDesignTemp
private

Definition at line 161 of file TLinearFitter.h.

◆ fDesignTemp2

TMatrixDSym TLinearFitter::fDesignTemp2
private

temporary matrix, used for num.stability

Definition at line 162 of file TLinearFitter.h.

◆ fDesignTemp3

TMatrixDSym TLinearFitter::fDesignTemp3
private

Definition at line 163 of file TLinearFitter.h.

◆ fE

TVectorD TLinearFitter::fE
private

Definition at line 176 of file TLinearFitter.h.

◆ fFitsample

TBits TLinearFitter::fFitsample
private

Definition at line 194 of file TLinearFitter.h.

◆ fFixedParams

Bool_t* TLinearFitter::fFixedParams
private

Definition at line 196 of file TLinearFitter.h.

◆ fFormula

char* TLinearFitter::fFormula
private

Definition at line 187 of file TLinearFitter.h.

◆ fFormulaSize

Int_t TLinearFitter::fFormulaSize
private

Definition at line 182 of file TLinearFitter.h.

◆ fFunctions

TObjArray TLinearFitter::fFunctions
private

map of basis functions and formula

Definition at line 171 of file TLinearFitter.h.

◆ fgFormulaMap

std::map< TString, TFormula * > TLinearFitter::fgFormulaMap
staticprivate

Definition at line 170 of file TLinearFitter.h.

◆ fH

Int_t TLinearFitter::fH
private

Definition at line 192 of file TLinearFitter.h.

◆ fInputFunction

TFormula* TLinearFitter::fInputFunction
private

Definition at line 177 of file TLinearFitter.h.

◆ fIsSet

Bool_t TLinearFitter::fIsSet
private

Definition at line 188 of file TLinearFitter.h.

◆ fNdim

Int_t TLinearFitter::fNdim
private

Definition at line 183 of file TLinearFitter.h.

◆ fNfixed

Int_t TLinearFitter::fNfixed
private

Definition at line 184 of file TLinearFitter.h.

◆ fNfunctions

Int_t TLinearFitter::fNfunctions
private

Definition at line 181 of file TLinearFitter.h.

◆ fNpoints

Int_t TLinearFitter::fNpoints
private

temporary

Definition at line 180 of file TLinearFitter.h.

◆ fParams

TVectorD TLinearFitter::fParams
private

Definition at line 156 of file TLinearFitter.h.

◆ fParCovar

TMatrixDSym TLinearFitter::fParCovar
private

Definition at line 157 of file TLinearFitter.h.

◆ fParSign

TVectorD TLinearFitter::fParSign
private

Definition at line 159 of file TLinearFitter.h.

◆ fRobust

Bool_t TLinearFitter::fRobust
private

Definition at line 193 of file TLinearFitter.h.

◆ fSpecial

Int_t TLinearFitter::fSpecial
private

Definition at line 185 of file TLinearFitter.h.

◆ fStoreData

Bool_t TLinearFitter::fStoreData
private

Definition at line 189 of file TLinearFitter.h.

◆ fTValues

TVectorD TLinearFitter::fTValues
private

Definition at line 158 of file TLinearFitter.h.

◆ fVal

Double_t TLinearFitter::fVal[1000]
private

Definition at line 178 of file TLinearFitter.h.

◆ fX

TMatrixD TLinearFitter::fX
private

temporary variable used for num.stability

Definition at line 175 of file TLinearFitter.h.

◆ fY

TVectorD TLinearFitter::fY
private

Definition at line 172 of file TLinearFitter.h.

◆ fY2

Double_t TLinearFitter::fY2
private

Definition at line 173 of file TLinearFitter.h.

◆ fY2Temp

Double_t TLinearFitter::fY2Temp
private

Definition at line 174 of file TLinearFitter.h.

Libraries for TLinearFitter:

The documentation for this class was generated from the following files: