ROOT 6.07/09 Reference Guide |
TMinuitMinimizer class: ROOT::Math::Minimizer implementation based on TMinuit.
Definition at line 54 of file TMinuitMinimizer.h.
Public Member Functions | |
TMinuitMinimizer (ROOT::Minuit::EMinimizerType type=ROOT::Minuit::kMigrad, unsigned int ndim=0) | |
Default constructor. More... | |
TMinuitMinimizer (const char *type, unsigned int ndim=0) | |
Constructor from a char * (used by PM) More... | |
~TMinuitMinimizer () | |
Destructor (no operations) More... | |
virtual bool | Contour (unsigned int i, unsigned int j, unsigned int &npoints, double *xi, double *xj) |
find the contour points (xi,xj) of the function for parameter i and j around the minimum The contour will be find for value of the function = Min + ErrorUp(); More... | |
virtual double | CovMatrix (unsigned int i, unsigned int j) const |
return covariance matrices elements if the variable is fixed the matrix is zero The ordering of the variables is the same as in errors More... | |
virtual int | CovMatrixStatus () const |
return status of covariance matrix More... | |
virtual double | Edm () const |
return expected distance reached from the minimum More... | |
virtual const double * | Errors () const |
return errors at the minimum More... | |
virtual bool | FixVariable (unsigned int) |
fix an existing variable More... | |
virtual bool | GetCovMatrix (double *cov) const |
Fill the passed array with the covariance matrix elements if the variable is fixed or const the value is zero. More... | |
virtual bool | GetHessianMatrix (double *h) const |
Fill the passed array with the Hessian matrix elements The Hessian matrix is the matrix of the second derivatives and is the inverse of the covariance matrix If the variable is fixed or const the values for that variables are zero. More... | |
virtual bool | GetMinosError (unsigned int i, double &errLow, double &errUp, int=0) |
minos error for variable i, return false if Minos failed More... | |
virtual bool | GetVariableSettings (unsigned int, ROOT::Fit::ParameterSettings &) const |
get variable settings in a variable object (like ROOT::Fit::ParamsSettings) More... | |
virtual double | GlobalCC (unsigned int) const |
global correlation coefficient for variable i More... | |
virtual bool | Hesse () |
perform a full calculation of the Hessian matrix for error calculation More... | |
virtual bool | IsFixedVariable (unsigned int) const |
query if an existing variable is fixed (i.e. More... | |
virtual const double * | MinGradient () const |
return pointer to gradient values at the minimum More... | |
virtual bool | Minimize () |
method to perform the minimization More... | |
virtual double | MinValue () const |
return minimum function value More... | |
virtual unsigned int | NCalls () const |
number of function calls to reach the minimum More... | |
virtual unsigned int | NDim () const |
this is <= Function().NDim() which is the total number of variables (free+ constrained ones) More... | |
virtual unsigned int | NFree () const |
number of free variables (real dimension of the problem) this is <= Function().NDim() which is the total More... | |
virtual void | PrintResults () |
return reference to the objective function virtual const ROOT::Math::IGenFunction & Function() const = 0; More... | |
virtual bool | ProvidesError () const |
minimizer provides error and error matrix More... | |
virtual bool | ReleaseVariable (unsigned int) |
release an existing variable More... | |
virtual bool | Scan (unsigned int i, unsigned int &nstep, double *x, double *y, double xmin=0, double xmax=0) |
scan a parameter i around the minimum. More... | |
virtual bool | SetFixedVariable (unsigned int, const std::string &, double) |
set fixed variable (override if minimizer supports them ) More... | |
virtual void | SetFunction (const ROOT::Math::IMultiGenFunction &func) |
set the function to minimize More... | |
virtual void | SetFunction (const ROOT::Math::IMultiGradFunction &func) |
set the function to minimize More... | |
virtual bool | SetLimitedVariable (unsigned int ivar, const std::string &name, double val, double step, double, double) |
set upper/lower limited variable (override if minimizer supports them ) More... | |
virtual bool | SetLowerLimitedVariable (unsigned int ivar, const std::string &name, double val, double step, double lower) |
set lower limit variable (override if minimizer supports them ) More... | |
virtual bool | SetUpperLimitedVariable (unsigned int ivar, const std::string &name, double val, double step, double upper) |
set upper limit variable (override if minimizer supports them ) More... | |
virtual bool | SetVariable (unsigned int ivar, const std::string &name, double val, double step) |
set free variable More... | |
virtual bool | SetVariableLimits (unsigned int ivar, double lower, double upper) |
set the limits of an existing variable More... | |
virtual bool | SetVariableLowerLimit (unsigned int, double) |
set the lower-limit of an existing variable More... | |
virtual bool | SetVariableStepSize (unsigned int, double) |
set the step size of an existing variable More... | |
virtual bool | SetVariableUpperLimit (unsigned int, double) |
set the upper-limit of an existing variable More... | |
virtual bool | SetVariableValue (unsigned int, double) |
set the value of an existing variable More... | |
void | SuppressMinuitWarnings (bool nowarn=true) |
suppress the minuit warnings (if called with false will enable them) By default they are suppressed only when the printlevel is <= 0 More... | |
virtual int | VariableIndex (const std::string &name) const |
get index of variable given a variable given a name return always -1 . More... | |
virtual std::string | VariableName (unsigned int ivar) const |
return reference to the objective function virtual const ROOT::Math::IGenFunction & Function() const; More... | |
virtual const double * | X () const |
return pointer to X values at the minimum More... | |
Public Member Functions inherited from ROOT::Math::Minimizer | |
Minimizer () | |
Default constructor. More... | |
virtual | ~Minimizer () |
Destructor (no operations) More... | |
virtual void | Clear () |
reset for consecutive minimizations - implement if needed More... | |
virtual double | Correlation (unsigned int i, unsigned int j) const |
return correlation coefficient between variable i and j. More... | |
double | ErrorDef () const |
return the statistical scale used for calculate the error is typically 1 for Chi2 and 0.5 for likelihood minimization More... | |
bool | IsValidError () const |
return true if Minimizer has performed a detailed error validation (e.g. run Hesse for Minuit) More... | |
unsigned int | MaxFunctionCalls () const |
max number of function calls More... | |
unsigned int | MaxIterations () const |
max iterations More... | |
virtual unsigned int | NIterations () const |
number of iterations to reach the minimum More... | |
virtual MinimizerOptions | Options () const |
retrieve the minimizer options (implement derived class if needed) More... | |
double | Precision () const |
precision of minimizer in the evaluation of the objective function ( a value <=0 corresponds to the let the minimizer choose its default one) More... | |
int | PrintLevel () const |
minimizer configuration parameters More... | |
void | SetDefaultOptions () |
reset the defaut options (defined in MinimizerOptions) More... | |
void | SetErrorDef (double up) |
set scale for calculating the errors More... | |
void | SetMaxFunctionCalls (unsigned int maxfcn) |
set maximum of function calls More... | |
void | SetMaxIterations (unsigned int maxiter) |
set maximum iterations (one iteration can have many function calls) More... | |
void | SetOptions (const MinimizerOptions &opt) |
set all options in one go More... | |
void | SetPrecision (double prec) |
set in the minimizer the objective function evaluation precision ( a value <=0 means the minimizer will choose its optimal value automatically, i.e. More... | |
void | SetPrintLevel (int level) |
set print level More... | |
void | SetStrategy (int strategyLevel) |
set the strategy More... | |
void | SetTolerance (double tol) |
set the tolerance More... | |
void | SetValidError (bool on) |
flag to check if minimizer needs to perform accurate error analysis (e.g. run Hesse for Minuit) More... | |
virtual bool | SetVariableInitialRange (unsigned int, double, double) |
set the initial range of an existing variable More... | |
template<class VariableIterator > | |
int | SetVariables (const VariableIterator &begin, const VariableIterator &end) |
add variables . Return number of variables successfully added More... | |
virtual bool | SetVariableValues (const double *x) |
set the values of all existing variables (array must be dimensioned to the size of the existing parameters) More... | |
int | Status () const |
status code of minimizer More... | |
int | Strategy () const |
strategy More... | |
double | Tolerance () const |
absolute tolerance More... | |
Static Public Member Functions | |
static bool | UseStaticMinuit (bool on=true) |
static function to switch on/off usage of static global TMinuit instance (gMinuit) By default it is used (i.e. More... | |
Protected Member Functions | |
bool | CheckMinuitInstance () const |
check TMinuit instance More... | |
bool | CheckVarIndex (unsigned int ivar) const |
check parameter More... | |
void | DoClear () |
reset More... | |
void | DoReleaseFixParameter (int ivar) |
release a parameter that is fixed when it is redefined More... | |
void | InitTMinuit (int ndim) |
initialize the TMinuit instance More... | |
void | RetrieveErrorMatrix () |
retrieve error matrix from TMinuit More... | |
void | RetrieveParams () |
retrieve minimum parameters and errors from TMinuit More... | |
Static Protected Member Functions | |
static void | Fcn (int &, double *, double &f, double *, int) |
implementation of FCN for Minuit More... | |
static void | FcnGrad (int &, double *g, double &f, double *, int) |
implementation of FCN for Minuit when user provided gradient is used More... | |
Private Member Functions | |
TMinuitMinimizer (const TMinuitMinimizer &) | |
Copy constructor. More... | |
TMinuitMinimizer & | operator= (const TMinuitMinimizer &rhs) |
Assignment operator. More... | |
Private Attributes | |
std::vector< double > | fCovar |
unsigned int | fDim |
std::vector< double > | fErrors |
bool | fMinosRun |
TMinuit * | fMinuit |
std::vector< double > | fParams |
ROOT::Minuit::EMinimizerType | fType |
bool | fUsed |
Static Private Attributes | |
static TMinuit * | fgMinuit = 0 |
static bool | fgUsed = false |
static bool | fgUseStaticMinuit = true |
Additional Inherited Members | |
Protected Attributes inherited from ROOT::Math::Minimizer | |
MinimizerOptions | fOptions |
int | fStatus |
bool | fValidError |
#include <TMinuitMinimizer.h>
TMinuitMinimizer::TMinuitMinimizer | ( | ROOT::Minuit::EMinimizerType | type = ROOT::Minuit::kMigrad , |
unsigned int | ndim = 0 |
||
) |
Default constructor.
Definition at line 57 of file TMinuitMinimizer.cxx.
TMinuitMinimizer::TMinuitMinimizer | ( | const char * | type, |
unsigned int | ndim = 0 |
||
) |
Constructor from a char * (used by PM)
Definition at line 73 of file TMinuitMinimizer.cxx.
TMinuitMinimizer::~TMinuitMinimizer | ( | ) |
Destructor (no operations)
Definition at line 101 of file TMinuitMinimizer.cxx.
|
private |
Copy constructor.
Definition at line 110 of file TMinuitMinimizer.cxx.
|
protected |
check TMinuit instance
Definition at line 316 of file TMinuitMinimizer.cxx.
|
protected |
check parameter
Definition at line 325 of file TMinuitMinimizer.cxx.
|
virtual |
find the contour points (xi,xj) of the function for parameter i and j around the minimum The contour will be find for value of the function = Min + ErrorUp();
Reimplemented from ROOT::Math::Minimizer.
Definition at line 898 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
return covariance matrices elements if the variable is fixed the matrix is zero The ordering of the variables is the same as in errors
Reimplemented from ROOT::Math::Minimizer.
Definition at line 167 of file TMinuitMinimizer.h.
|
virtual |
return status of covariance matrix
Reimplemented from ROOT::Math::Minimizer.
Definition at line 740 of file TMinuitMinimizer.cxx.
|
protected |
reset
Definition at line 840 of file TMinuitMinimizer.cxx.
|
protected |
release a parameter that is fixed when it is redefined
Definition at line 855 of file TMinuitMinimizer.cxx.
|
virtual |
return expected distance reached from the minimum
Reimplemented from ROOT::Math::Minimizer.
Definition at line 673 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
return errors at the minimum
Reimplemented from ROOT::Math::Minimizer.
Definition at line 161 of file TMinuitMinimizer.h.
|
staticprotected |
implementation of FCN for Minuit
Definition at line 250 of file TMinuitMinimizer.cxx.
|
staticprotected |
implementation of FCN for Minuit when user provided gradient is used
Definition at line 256 of file TMinuitMinimizer.cxx.
|
virtual |
fix an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 414 of file TMinuitMinimizer.cxx.
|
virtual |
Fill the passed array with the covariance matrix elements if the variable is fixed or const the value is zero.
The array will be filled as cov[i *ndim + j] The ordering of the variables is the same as in errors and parameter value. This is different from the direct interface of Minuit2 or TMinuit where the values were obtained only to variable parameters
Reimplemented from ROOT::Math::Minimizer.
Definition at line 689 of file TMinuitMinimizer.cxx.
|
virtual |
Fill the passed array with the Hessian matrix elements The Hessian matrix is the matrix of the second derivatives and is the inverse of the covariance matrix If the variable is fixed or const the values for that variables are zero.
The array will be filled as h[i *ndim + j]
Reimplemented from ROOT::Math::Minimizer.
Definition at line 701 of file TMinuitMinimizer.cxx.
|
virtual |
minos error for variable i, return false if Minos failed
Reimplemented from ROOT::Math::Minimizer.
Definition at line 765 of file TMinuitMinimizer.cxx.
|
virtual |
get variable settings in a variable object (like ROOT::Fit::ParamsSettings)
Reimplemented from ROOT::Math::Minimizer.
Definition at line 437 of file TMinuitMinimizer.cxx.
|
virtual |
global correlation coefficient for variable i
Reimplemented from ROOT::Math::Minimizer.
Definition at line 753 of file TMinuitMinimizer.cxx.
|
virtual |
perform a full calculation of the Hessian matrix for error calculation
Reimplemented from ROOT::Math::Minimizer.
Definition at line 1018 of file TMinuitMinimizer.cxx.
|
protected |
initialize the TMinuit instance
Definition at line 130 of file TMinuitMinimizer.cxx.
|
virtual |
query if an existing variable is fixed (i.e.
considered constant in the minimization) note that by default all variables are not fixed
Reimplemented from ROOT::Math::Minimizer.
Definition at line 430 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
return pointer to gradient values at the minimum
Reimplemented from ROOT::Math::Minimizer.
Definition at line 144 of file TMinuitMinimizer.h.
|
virtual |
method to perform the minimization
Implements ROOT::Math::Minimizer.
Definition at line 466 of file TMinuitMinimizer.cxx.
|
virtual |
return minimum function value
Implements ROOT::Math::Minimizer.
Definition at line 663 of file TMinuitMinimizer.cxx.
|
virtual |
number of function calls to reach the minimum
Reimplemented from ROOT::Math::Minimizer.
Definition at line 657 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
this is <= Function().NDim() which is the total number of variables (free+ constrained ones)
Implements ROOT::Math::Minimizer.
Definition at line 151 of file TMinuitMinimizer.h.
|
virtual |
number of free variables (real dimension of the problem) this is <= Function().NDim() which is the total
Reimplemented from ROOT::Math::Minimizer.
Definition at line 682 of file TMinuitMinimizer.cxx.
|
private |
Assignment operator.
Definition at line 116 of file TMinuitMinimizer.cxx.
|
virtual |
return reference to the objective function virtual const ROOT::Math::IGenFunction & Function() const = 0;
print the result according to set level (implemented for TMinuit for mantaining Minuit-style printing)
Reimplemented from ROOT::Math::Minimizer.
Definition at line 876 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
minimizer provides error and error matrix
Reimplemented from ROOT::Math::Minimizer.
Definition at line 158 of file TMinuitMinimizer.h.
|
virtual |
release an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 422 of file TMinuitMinimizer.cxx.
|
protected |
retrieve error matrix from TMinuit
Definition at line 620 of file TMinuitMinimizer.cxx.
|
protected |
retrieve minimum parameters and errors from TMinuit
Definition at line 606 of file TMinuitMinimizer.cxx.
|
virtual |
scan a parameter i around the minimum.
A minimization must have been done before, return false if it is not the case
Reimplemented from ROOT::Math::Minimizer.
Definition at line 946 of file TMinuitMinimizer.cxx.
|
virtual |
set fixed variable (override if minimizer supports them )
Reimplemented from ROOT::Math::Minimizer.
Definition at line 335 of file TMinuitMinimizer.cxx.
|
virtual |
set the function to minimize
Implements ROOT::Math::Minimizer.
Definition at line 205 of file TMinuitMinimizer.cxx.
|
virtual |
set the function to minimize
Reimplemented from ROOT::Math::Minimizer.
Definition at line 227 of file TMinuitMinimizer.cxx.
|
virtual |
set upper/lower limited variable (override if minimizer supports them )
Reimplemented from ROOT::Math::Minimizer.
Definition at line 285 of file TMinuitMinimizer.cxx.
|
virtual |
set lower limit variable (override if minimizer supports them )
Reimplemented from ROOT::Math::Minimizer.
Definition at line 301 of file TMinuitMinimizer.cxx.
|
virtual |
set upper limit variable (override if minimizer supports them )
Reimplemented from ROOT::Math::Minimizer.
Definition at line 308 of file TMinuitMinimizer.cxx.
|
virtual |
set free variable
Implements ROOT::Math::Minimizer.
Definition at line 269 of file TMinuitMinimizer.cxx.
|
virtual |
set the limits of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 397 of file TMinuitMinimizer.cxx.
|
virtual |
set the lower-limit of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 384 of file TMinuitMinimizer.cxx.
|
virtual |
set the step size of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 368 of file TMinuitMinimizer.cxx.
|
virtual |
set the upper-limit of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 390 of file TMinuitMinimizer.cxx.
|
virtual |
set the value of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 354 of file TMinuitMinimizer.cxx.
void TMinuitMinimizer::SuppressMinuitWarnings | ( | bool | nowarn = true | ) |
suppress the minuit warnings (if called with false will enable them) By default they are suppressed only when the printlevel is <= 0
Definition at line 887 of file TMinuitMinimizer.cxx.
|
static |
static function to switch on/off usage of static global TMinuit instance (gMinuit) By default it is used (i.e.
is on). Method returns the previous state
Definition at line 123 of file TMinuitMinimizer.cxx.
|
virtual |
get index of variable given a variable given a name return always -1 .
(It is Not implemented)
Reimplemented from ROOT::Math::Minimizer.
Definition at line 460 of file TMinuitMinimizer.cxx.
|
virtual |
return reference to the objective function virtual const ROOT::Math::IGenFunction & Function() const;
get name of variables (override if minimizer support storing of variable names)
Reimplemented from ROOT::Math::Minimizer.
Definition at line 453 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
return pointer to X values at the minimum
Implements ROOT::Math::Minimizer.
Definition at line 141 of file TMinuitMinimizer.h.
|
private |
Definition at line 272 of file TMinuitMinimizer.h.
|
private |
Definition at line 269 of file TMinuitMinimizer.h.
|
private |
Definition at line 271 of file TMinuitMinimizer.h.
|
staticprivate |
Definition at line 277 of file TMinuitMinimizer.h.
|
staticprivate |
Definition at line 279 of file TMinuitMinimizer.h.
|
staticprivate |
Definition at line 280 of file TMinuitMinimizer.h.
|
private |
Definition at line 268 of file TMinuitMinimizer.h.
|
private |
Definition at line 275 of file TMinuitMinimizer.h.
|
private |
Definition at line 270 of file TMinuitMinimizer.h.
|
private |
Definition at line 274 of file TMinuitMinimizer.h.
|
private |
Definition at line 267 of file TMinuitMinimizer.h.