ROOT 6.13/01 Reference Guide |
Public Member Functions | |
TFumili (Int_t maxpar=25) | |
virtual | ~TFumili () |
TFumili destructor. More... | |
void | BuildArrays () |
Allocates memory for internal arrays. More... | |
virtual Double_t | Chisquare (Int_t npar, Double_t *params) const |
return a chisquare equivalent More... | |
virtual void | Clear (Option_t *opt="") |
Resets all parameter names, values and errors to zero. More... | |
void | DeleteArrays () |
Deallocates memory. More... | |
void | Derivatives (Double_t *, Double_t *) |
Calculates partial derivatives of theoretical function. More... | |
Int_t | Eval (Int_t &npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag) |
Evaluate the minimisation function Input parameters: npar: number of currently variable parameters par: array of (constant and variable) parameters flag: Indicates what is to be calculated grad: array of gradients Output parameters: fval: The calculated function value. More... | |
Double_t | EvalTFN (Double_t *, Double_t *) |
Evaluate theoretical function df: array of partial derivatives X: vector of theoretical function argument. More... | |
virtual Int_t | ExecuteCommand (const char *command, Double_t *args, Int_t nargs) |
Execute MINUIT commands. More... | |
Int_t | ExecuteSetCommand (Int_t) |
Called from TFumili::ExecuteCommand in case of "SET xxx" and "SHOW xxx". More... | |
virtual void | FitChisquare (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
Minimization function for H1s using a Chisquare method. More... | |
virtual void | FitChisquareI (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
Minimization function for H1s using a Chisquare method. More... | |
virtual void | FitLikelihood (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
Minimization function for H1s using a Likelihood method. More... | |
virtual void | FitLikelihoodI (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
Minimization function for H1s using a Likelihood method. More... | |
virtual void | FixParameter (Int_t ipar) |
Fixes parameter number ipar. More... | |
virtual Double_t * | GetCovarianceMatrix () const |
return a pointer to the covariance matrix More... | |
virtual Double_t | GetCovarianceMatrixElement (Int_t i, Int_t j) const |
return element i,j from the covariance matrix More... | |
virtual Int_t | GetErrors (Int_t ipar, Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &globcc) const |
Return errors after MINOs not implemented. More... | |
virtual Int_t | GetNumberFreeParameters () const |
return the number of free parameters More... | |
virtual Int_t | GetNumberTotalParameters () const |
return the total number of parameters (free + fixed) More... | |
virtual Double_t | GetParameter (Int_t ipar) const |
return current value of parameter ipar More... | |
virtual Int_t | GetParameter (Int_t ipar, char *name, Double_t &value, Double_t &verr, Double_t &vlow, Double_t &vhigh) const |
Get various ipar parameter attributs: More... | |
virtual Double_t | GetParError (Int_t ipar) const |
return error of parameter ipar More... | |
virtual const char * | GetParName (Int_t ipar) const |
return name of parameter ipar More... | |
Double_t * | GetPL0 () const |
virtual Int_t | GetStats (Double_t &amin, Double_t &edm, Double_t &errdef, Int_t &nvpar, Int_t &nparx) const |
return global fit parameters amin : chisquare edm : estimated distance to minimum errdef nvpar : number of variable parameters nparx : total number of parameters More... | |
virtual Double_t | GetSumLog (Int_t) |
return Sum(log(i) i=0,n used by log likelihood fits More... | |
Double_t * | GetZ () const |
void | InvertZ (Int_t) |
Inverts packed diagonal matrix Z by square-root method. More... | |
virtual Bool_t | IsFixed (Int_t ipar) const |
Return kTRUE if parameter ipar is fixed, kFALSE othersise) More... | |
Int_t | Minimize () |
virtual void | PrintResults (Int_t k, Double_t p) const |
Prints fit results. More... | |
virtual void | ReleaseParameter (Int_t ipar) |
Releases parameter number ipar. More... | |
void | SetData (Double_t *, Int_t, Int_t) |
Sets pointer to data array provided by user. More... | |
virtual void | SetFitMethod (const char *name) |
ret fit method (chisquare or loglikelihood) More... | |
virtual Int_t | SetParameter (Int_t ipar, const char *parname, Double_t value, Double_t verr, Double_t vlow, Double_t vhigh) |
Sets for prameter number ipar initial parameter value, name parname, initial error verr and limits vlow and vhigh If vlow = vhigh but not equil to zero, parameter will be fixed. More... | |
void | SetParNumber (Int_t ParNum) |
Int_t | SGZ () |
Evaluates objective function ( chi-square ), gradients and Z-matrix using data provided by user via TFumili::SetData. More... | |
Private Attributes | |
Double_t * | fA |
Double_t | fAKAPPA |
Double_t * | fAMN |
Double_t * | fAMX |
TString * | fANames |
Double_t * | fCmPar |
TString | fCword |
Double_t * | fDA |
Bool_t | fDEBUG |
Double_t * | fDF |
Int_t | fENDFLG |
Double_t | fEPS |
Double_t * | fEXDA |
Double_t * | fGr |
Bool_t | fGRAD |
Double_t | fGT |
Int_t | fINDFLG [5] |
Int_t | fLastFixed |
Bool_t | fLogLike |
Int_t | fMaxParam |
Int_t | fNED1 |
Int_t | fNED12 |
Int_t | fNED2 |
Int_t | fNfcn |
Int_t | fNlimMul |
Int_t | fNlog |
Int_t | fNmaxIter |
Int_t | fNpar |
Int_t | fNstepDec |
Bool_t | fNumericDerivatives |
Double_t * | fParamError |
Double_t * | fPL |
Double_t * | fPL0 |
Double_t * | fR |
Double_t | fRP |
Double_t | fS |
Double_t * | fSumLog |
Bool_t | fWARN |
Double_t * | fZ |
Double_t * | fZ0 |
#include <TFumili.h>
TFumili::TFumili | ( | Int_t | maxpar = 25 | ) |
Definition at line 129 of file TFumili.cxx.
|
virtual |
TFumili destructor.
Definition at line 212 of file TFumili.cxx.
void TFumili::BuildArrays | ( | ) |
Allocates memory for internal arrays.
Called by TFumili::TFumili
Definition at line 174 of file TFumili.cxx.
|
virtual |
return a chisquare equivalent
Definition at line 222 of file TFumili.cxx.
|
virtual |
Resets all parameter names, values and errors to zero.
Argument opt is ignored
NB: this procedure doesn't reset parameter limits
Definition at line 239 of file TFumili.cxx.
void TFumili::DeleteArrays | ( | ) |
Deallocates memory.
Called from destructor TFumili::~TFumili
Definition at line 261 of file TFumili.cxx.
void TFumili::Derivatives | ( | Double_t * | df, |
Double_t * | fX | ||
) |
Calculates partial derivatives of theoretical function.
Input: fX - vector of data point Output: DF - array of derivatives
ARITHM.F Converted from CERNLIB
Definition at line 293 of file TFumili.cxx.
Int_t TFumili::Eval | ( | Int_t & | npar, |
Double_t * | grad, | ||
Double_t & | fval, | ||
Double_t * | par, | ||
Int_t | flag | ||
) |
Evaluate the minimisation function Input parameters: npar: number of currently variable parameters par: array of (constant and variable) parameters flag: Indicates what is to be calculated grad: array of gradients Output parameters: fval: The calculated function value.
grad: The vector of first derivatives.
The meaning of the parameters par is of course defined by the user, who uses the values of those parameters to calculate their function value. The starting values must be specified by the user. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Inside FCN user has to define Z-matrix by means TFumili::GetZ and TFumili::Derivatives, set theoretical function by means of TFumili::SetUserFunc, but first - pass number of parameters by TFumili::SetParNumber !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Later values are determined by Fumili as it searches for the minimum or performs whatever analysis is requested by the user.
The default function calls the function specified in SetFCN
Definition at line 352 of file TFumili.cxx.
Double_t TFumili::EvalTFN | ( | Double_t * | , |
Double_t * | X | ||
) |
Evaluate theoretical function df: array of partial derivatives X: vector of theoretical function argument.
Definition at line 364 of file TFumili.cxx.
|
virtual |
Execute MINUIT commands.
MINImize, SIMplex, MIGrad and FUMili all will call TFumili::Minimize method.
For full command list see MINUIT. Reference Manual. CERN Program Library Long Writeup D506.
Improvement and errors calculation are not yet implemented as well as Monte-Carlo seeking and minimization. Contour commands are also unsupported.
command : command string args : array of arguments nargs : number of arguments
Definition at line 394 of file TFumili.cxx.
Int_t TFumili::ExecuteSetCommand | ( | Int_t | nargs | ) |
Called from TFumili::ExecuteCommand in case of "SET xxx" and "SHOW xxx".
Definition at line 565 of file TFumili.cxx.
|
virtual |
Minimization function for H1s using a Chisquare method.
Default method (function evaluated at center of bin) for each point the cache contains the following info -1D : bc,e,xc (bin content, error, x of center of bin) -2D : bc,e,xc,yc -3D : bc,e,xc,yc,zc
Definition at line 1770 of file TFumili.cxx.
|
virtual |
Minimization function for H1s using a Chisquare method.
The "I"ntegral method is used for each point the cache contains the following info -1D : bc,e,xc,xw (bin content, error, x of center of bin, x bin width of bin) -2D : bc,e,xc,xw,yc,yw -3D : bc,e,xc,xw,yc,yw,zc,zw
Definition at line 1842 of file TFumili.cxx.
|
virtual |
Minimization function for H1s using a Likelihood method.
Basically, it forms the likelihood by determining the Poisson probability that given a number of entries in a particular bin, the fit would predict it's value. This is then done for each bin, and the sum of the logs is taken as the likelihood. Default method (function evaluated at center of bin) for each point the cache contains the following info -1D : bc,e,xc (bin content, error, x of center of bin) -2D : bc,e,xc,yc -3D : bc,e,xc,yc,zc
Definition at line 1917 of file TFumili.cxx.
|
virtual |
Minimization function for H1s using a Likelihood method.
Basically, it forms the likelihood by determining the Poisson probability that given a number of entries in a particular bin, the fit would predict it's value. This is then done for each bin, and the sum of the logs is taken as the likelihood. The "I"ntegral method is used for each point the cache contains the following info -1D : bc,e,xc,xw (bin content, error, x of center of bin, x bin width of bin) -2D : bc,e,xc,xw,yc,yw -3D : bc,e,xc,xw,yc,yw,zc,zw
Definition at line 2005 of file TFumili.cxx.
|
virtual |
Fixes parameter number ipar.
Definition at line 781 of file TFumili.cxx.
|
virtual |
return a pointer to the covariance matrix
Definition at line 791 of file TFumili.cxx.
|
virtual |
return element i,j from the covariance matrix
Definition at line 800 of file TFumili.cxx.
|
virtual |
Return errors after MINOs not implemented.
Definition at line 890 of file TFumili.cxx.
|
virtual |
return the number of free parameters
Definition at line 822 of file TFumili.cxx.
|
virtual |
return the total number of parameters (free + fixed)
Definition at line 814 of file TFumili.cxx.
|
virtual |
return current value of parameter ipar
Definition at line 843 of file TFumili.cxx.
|
virtual |
Get various ipar parameter attributs:
cname: parameter name value: parameter value verr: parameter error vlow: lower limit vhigh: upper limit WARNING! parname must be suitably dimensionned in the calling function.
Definition at line 860 of file TFumili.cxx.
|
virtual |
return error of parameter ipar
Definition at line 834 of file TFumili.cxx.
|
virtual |
return name of parameter ipar
Definition at line 880 of file TFumili.cxx.
|
virtual |
return global fit parameters amin : chisquare edm : estimated distance to minimum errdef nvpar : number of variable parameters nparx : total number of parameters
Definition at line 912 of file TFumili.cxx.
|
virtual |
return Sum(log(i) i=0,n used by log likelihood fits
Definition at line 931 of file TFumili.cxx.
void TFumili::InvertZ | ( | Int_t | n | ) |
Inverts packed diagonal matrix Z by square-root method.
Matrix elements corresponding to fix parameters are removed.
n: number of variable parameters
Definition at line 958 of file TFumili.cxx.
|
virtual |
Return kTRUE if parameter ipar is fixed, kFALSE othersise)
Definition at line 1076 of file TFumili.cxx.
Int_t TFumili::Minimize | ( | ) |
Definition at line 1089 of file TFumili.cxx.
|
virtual |
Prints fit results.
ikode is the type of printing parameters p is function value
ikode = 1 - print values, errors and limits ikode = 2 - print values, errors and steps ikode = 3 - print values, errors, steps and derivatives ikode = 4 - print only values and errors
Definition at line 1509 of file TFumili.cxx.
|
virtual |
Releases parameter number ipar.
Definition at line 1613 of file TFumili.cxx.
void TFumili::SetData | ( | Double_t * | exdata, |
Int_t | numpoints, | ||
Int_t | vecsize | ||
) |
Sets pointer to data array provided by user.
Necessary if SetFCN is not called.
numpoints: number of experimental points vecsize: size of data point vector + 2 (for N-dimensional fit vecsize=N+2) exdata: data array with following format
exdata[0] = ExpValue_0 - experimental data value number 0 exdata[1] = ExpSigma_0 - error of value number 0 exdata[2] = X_0[0] exdata[3] = X_0[1] ......... exdata[vecsize-1] = X_0[vecsize-3] exdata[vecsize] = ExpValue_1 exdata[vecsize+1] = ExpSigma_1 exdata[vecsize+2] = X_1[0] ......... exdata[vecsize*(numpoints-1)] = ExpValue_(numpoints-1) ......... exdata[vecsize*numpoints-1] = X_(numpoints-1)[vecsize-3]
Definition at line 1645 of file TFumili.cxx.
|
virtual |
ret fit method (chisquare or loglikelihood)
Definition at line 1657 of file TFumili.cxx.
|
virtual |
Sets for prameter number ipar initial parameter value, name parname, initial error verr and limits vlow and vhigh If vlow = vhigh but not equil to zero, parameter will be fixed.
If vlow = vhigh = 0, parameter is released and its limits are discarded
Definition at line 1672 of file TFumili.cxx.
Int_t TFumili::SGZ | ( | ) |
Evaluates objective function ( chi-square ), gradients and Z-matrix using data provided by user via TFumili::SetData.
Definition at line 1702 of file TFumili.cxx.