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

The ROOT standard fitter based on TMinuit.

Definition at line 19 of file TFitter.h.

Public Member Functions

 TFitter (Int_t maxpar=25)
 Default constructor.
 
virtual ~TFitter ()
 Default destructor.
 
virtual Double_t Chisquare (Int_t npar, Double_t *params) const
 
virtual void Clear (Option_t *option="")
 reset the fitter environment
 
virtual Int_t ExecuteCommand (const char *command, Double_t *args, Int_t nargs)
 Execute a fitter command; command : command string args : list of nargs command arguments.
 
virtual void FixParameter (Int_t ipar)
 Fix parameter ipar.
 
virtual void GetConfidenceIntervals (Int_t n, Int_t ndim, const Double_t *x, Double_t *ci, Double_t cl=0.95)
 Computes point-by-point confidence intervals for the fitted function.
 
virtual void GetConfidenceIntervals (TObject *obj, Double_t cl=0.95)
 Computes confidence intervals at level cl.
 
virtual Double_tGetCovarianceMatrix () const
 return a pointer to the covariance matrix
 
virtual Double_t GetCovarianceMatrixElement (Int_t i, Int_t j) const
 return element i,j from the covariance matrix
 
virtual Int_t GetErrors (Int_t ipar, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &globcc) const
 return current errors for a parameter ipar : parameter number eplus : upper error eminus : lower error eparab : parabolic error globcc : global correlation coefficient
 
TMinuitGetMinuit () const
 
virtual Int_t GetNumberFreeParameters () const
 return the number of free parameters
 
virtual Int_t GetNumberTotalParameters () const
 return the total number of parameters (free + fixed)
 
virtual Double_t GetParameter (Int_t ipar) const
 return current value of parameter ipar
 
virtual Int_t GetParameter (Int_t ipar, char *name, Double_t &value, Double_t &verr, Double_t &vlow, Double_t &vhigh) const
 return current values for a parameter
 
virtual Double_t GetParError (Int_t ipar) const
 return error of parameter ipar
 
virtual const char * GetParName (Int_t ipar) const
 return name of parameter ipar
 
virtual Int_t GetStats (Double_t &amin, Double_t &edm, Double_t &errdef, Int_t &nvpar, Int_t &nparx) const
 return global fit parameters
 
virtual Double_t GetSumLog (Int_t i)
 return Sum(log(i) i=0,n used by log likelihood fits
 
virtual Bool_t IsFixed (Int_t ipar) const
 return kTRUE if parameter ipar is fixed, kFALSE othersise)
 
virtual void PrintResults (Int_t level, Double_t amin) const
 Print fit results.
 
virtual void ReleaseParameter (Int_t ipar)
 Release parameter ipar.
 
virtual void SetFCN (void(*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t))
 Specify the address of the fitting algorithm.
 
virtual void SetFitMethod (const char *name)
 ret fit method (chisquare or loglikelihood)
 
virtual Int_t SetParameter (Int_t ipar, const char *parname, Double_t value, Double_t verr, Double_t vlow, Double_t vhigh)
 set initial values for a parameter
 
- Public Member Functions inherited from TVirtualFitter
 TVirtualFitter ()
 Default constructor.
 
virtual ~TVirtualFitter ()
 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
 
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 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)
 
- 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.
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects.
 
virtual void Copy (TObject &named) const
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
virtual void Print (Option_t *option="") const
 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.
 
- 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 for instance with: gROOT->SetSelectedPad(gPad).
 
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=0)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 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)
 
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.
 
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 [].
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator 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.
 
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=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Private Member Functions

 TFitter (const TFitter &)
 
TFitteroperator= (const TFitter &)
 

Private Attributes

Double_tfCovar
 
TMinuitfMinuit
 
Int_t fNlog
 
Double_tfSumLog
 

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 = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- Static Public Member Functions inherited from TVirtualFitter
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 TObject
static Long_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.
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(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
 
Int_t fCacheSize
 
void(* fFCN )(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
 
TMethodCallfMethodCall
 
Int_t fNpoints
 
TObjectfObjectFit
 
Foption_t fOption
 
Int_t fPointSize
 
TObjectfUserFunc
 
Int_t fXfirst
 
Int_t fXlast
 
Int_t fYfirst
 
Int_t fYlast
 
Int_t fZfirst
 
Int_t fZlast
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TFitter.h>

Inheritance diagram for TFitter:
[legend]

Constructor & Destructor Documentation

◆ TFitter() [1/2]

TFitter::TFitter ( const TFitter )
private

◆ TFitter() [2/2]

TFitter::TFitter ( Int_t  maxpar = 25)

Default constructor.

Definition at line 43 of file TFitter.cxx.

◆ ~TFitter()

TFitter::~TFitter ( )
virtual

Default destructor.

Definition at line 55 of file TFitter.cxx.

Member Function Documentation

◆ Chisquare()

Double_t TFitter::Chisquare ( Int_t  npar,
Double_t params 
) const
virtual

Implements TVirtualFitter.

Definition at line 65 of file TFitter.cxx.

◆ Clear()

void TFitter::Clear ( Option_t option = "")
virtual

reset the fitter environment

Implements TVirtualFitter.

Definition at line 76 of file TFitter.cxx.

◆ ExecuteCommand()

Int_t TFitter::ExecuteCommand ( const char *  command,
Double_t args,
Int_t  nargs 
)
virtual

Execute a fitter command; command : command string args : list of nargs command arguments.

Implements TVirtualFitter.

Definition at line 92 of file TFitter.cxx.

◆ FixParameter()

void TFitter::FixParameter ( Int_t  ipar)
virtual

Fix parameter ipar.

Implements TVirtualFitter.

Definition at line 103 of file TFitter.cxx.

◆ GetConfidenceIntervals() [1/2]

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

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 the intervals are approximate for nonlinear(in parameters) models

Reimplemented from TVirtualFitter.

Definition at line 122 of file TFitter.cxx.

◆ GetConfidenceIntervals() [2/2]

void TFitter::GetConfidenceIntervals ( TObject obj,
Double_t  cl = 0.95 
)
virtual

Computes confidence intervals at level cl.

Default is 0.95

The TObject parameter can be a TGraphErrors, a TGraph2DErrors or a TH1,2,3. 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. NOTE: confidence intervals are approximate for nonlinear models!

Allowed combinations:

Reimplemented from TVirtualFitter.

Definition at line 232 of file TFitter.cxx.

◆ GetCovarianceMatrix()

Double_t * TFitter::GetCovarianceMatrix ( ) const
virtual

return a pointer to the covariance matrix

Implements TVirtualFitter.

Definition at line 382 of file TFitter.cxx.

◆ GetCovarianceMatrixElement()

Double_t TFitter::GetCovarianceMatrixElement ( Int_t  i,
Int_t  j 
) const
virtual

return element i,j from the covariance matrix

Implements TVirtualFitter.

Definition at line 394 of file TFitter.cxx.

◆ GetErrors()

Int_t TFitter::GetErrors ( Int_t  ipar,
Double_t eplus,
Double_t eminus,
Double_t eparab,
Double_t globcc 
) const
virtual

return current errors for a parameter ipar : parameter number eplus : upper error eminus : lower error eparab : parabolic error globcc : global correlation coefficient

Implements TVirtualFitter.

Definition at line 413 of file TFitter.cxx.

◆ GetMinuit()

TMinuit * TFitter::GetMinuit ( ) const
inline

Definition at line 46 of file TFitter.h.

◆ GetNumberFreeParameters()

Int_t TFitter::GetNumberFreeParameters ( ) const
virtual

return the number of free parameters

Implements TVirtualFitter.

Definition at line 433 of file TFitter.cxx.

◆ GetNumberTotalParameters()

Int_t TFitter::GetNumberTotalParameters ( ) const
virtual

return the total number of parameters (free + fixed)

Implements TVirtualFitter.

Definition at line 425 of file TFitter.cxx.

◆ GetParameter() [1/2]

Double_t TFitter::GetParameter ( Int_t  ipar) const
virtual

return current value of parameter ipar

Implements TVirtualFitter.

Definition at line 456 of file TFitter.cxx.

◆ GetParameter() [2/2]

Int_t TFitter::GetParameter ( Int_t  ipar,
char *  parname,
Double_t value,
Double_t verr,
Double_t vlow,
Double_t vhigh 
) const
virtual

return current values for a parameter

  • ipar : parameter number
  • parname : parameter name
  • value : initial parameter value
  • verr : initial error for this parameter
  • vlow : lower value for the parameter
  • vhigh : upper value for the parameter

WARNING! parname must be suitably dimensionned in the calling function.

Implements TVirtualFitter.

Definition at line 478 of file TFitter.cxx.

◆ GetParError()

Double_t TFitter::GetParError ( Int_t  ipar) const
virtual

return error of parameter ipar

Implements TVirtualFitter.

Definition at line 442 of file TFitter.cxx.

◆ GetParName()

const char * TFitter::GetParName ( Int_t  ipar) const
virtual

return name of parameter ipar

Implements TVirtualFitter.

Definition at line 490 of file TFitter.cxx.

◆ GetStats()

Int_t TFitter::GetStats ( Double_t amin,
Double_t edm,
Double_t errdef,
Int_t nvpar,
Int_t nparx 
) const
virtual

return global fit parameters

  • amin : chisquare
  • edm : estimated distance to minimum
  • errdef
  • nvpar : number of variable parameters
  • nparx : total number of parameters

Implements TVirtualFitter.

Definition at line 505 of file TFitter.cxx.

◆ GetSumLog()

Double_t TFitter::GetSumLog ( Int_t  i)
virtual

return Sum(log(i) i=0,n used by log likelihood fits

Implements TVirtualFitter.

Definition at line 516 of file TFitter.cxx.

◆ IsFixed()

Bool_t TFitter::IsFixed ( Int_t  ipar) const
virtual

return kTRUE if parameter ipar is fixed, kFALSE othersise)

Implements TVirtualFitter.

Definition at line 537 of file TFitter.cxx.

◆ operator=()

TFitter & TFitter::operator= ( const TFitter )
private

◆ PrintResults()

void TFitter::PrintResults ( Int_t  level,
Double_t  amin 
) const
virtual

Print fit results.

Implements TVirtualFitter.

Definition at line 547 of file TFitter.cxx.

◆ ReleaseParameter()

void TFitter::ReleaseParameter ( Int_t  ipar)
virtual

Release parameter ipar.

Implements TVirtualFitter.

Definition at line 555 of file TFitter.cxx.

◆ SetFCN()

void TFitter::SetFCN ( void(*)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t fcn)
virtual

Specify the address of the fitting algorithm.

Reimplemented from TVirtualFitter.

Definition at line 564 of file TFitter.cxx.

◆ SetFitMethod()

void TFitter::SetFitMethod ( const char *  name)
virtual

ret fit method (chisquare or loglikelihood)

Implements TVirtualFitter.

Definition at line 574 of file TFitter.cxx.

◆ SetParameter()

Int_t TFitter::SetParameter ( Int_t  ipar,
const char *  parname,
Double_t  value,
Double_t  verr,
Double_t  vlow,
Double_t  vhigh 
)
virtual

set initial values for a parameter

  • ipar : parameter number
  • parname : parameter name
  • value : initial parameter value
  • verr : initial error for this parameter
  • vlow : lower value for the parameter
  • vhigh : upper value for the parameter

Implements TVirtualFitter.

Definition at line 596 of file TFitter.cxx.

Member Data Documentation

◆ fCovar

Double_t* TFitter::fCovar
private

Definition at line 23 of file TFitter.h.

◆ fMinuit

TMinuit* TFitter::fMinuit
private

Definition at line 25 of file TFitter.h.

◆ fNlog

Int_t TFitter::fNlog
private

Definition at line 22 of file TFitter.h.

◆ fSumLog

Double_t* TFitter::fSumLog
private

Definition at line 24 of file TFitter.h.

Libraries for TFitter:

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