TMinuitMinimizer class: ROOT::Math::Minimizer implementation based on TMinuit.
Definition at line 51 of file TMinuitMinimizer.h.
Public Member Functions | |
TMinuitMinimizer (const char *type, unsigned int ndim=0) | |
Constructor from a char * (used by PM) | |
TMinuitMinimizer (ROOT::Minuit::EMinimizerType type=ROOT::Minuit::kMigrad, unsigned int ndim=0) | |
Default constructor. | |
~TMinuitMinimizer () | |
Destructor (no operations) | |
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(); | |
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 | |
virtual int | CovMatrixStatus () const |
return status of covariance matrix | |
virtual double | Edm () const |
return expected distance reached from the minimum | |
virtual const double * | Errors () const |
return errors at the minimum | |
virtual bool | FixVariable (unsigned int) |
fix an existing variable | |
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. | |
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. | |
virtual bool | GetMinosError (unsigned int i, double &errLow, double &errUp, int=0) |
minos error for variable i, return false if Minos failed | |
virtual bool | GetVariableSettings (unsigned int, ROOT::Fit::ParameterSettings &) const |
get variable settings in a variable object (like ROOT::Fit::ParamsSettings) | |
virtual double | GlobalCC (unsigned int) const |
global correlation coefficient for variable i | |
virtual bool | Hesse () |
perform a full calculation of the Hessian matrix for error calculation | |
virtual bool | IsFixedVariable (unsigned int) const |
query if an existing variable is fixed (i.e. | |
virtual const double * | MinGradient () const |
return pointer to gradient values at the minimum | |
virtual bool | Minimize () |
method to perform the minimization | |
virtual int | MinosStatus () const |
minos status code of last Minos run minos status = -1 : Minos is not run = 0 : last MINOS run was succesfull > 0 : some problems encountered when running MINOS | |
virtual double | MinValue () const |
return minimum function value | |
virtual unsigned int | NCalls () const |
number of function calls to reach the minimum | |
virtual unsigned int | NDim () const |
this is <= Function().NDim() which is the total number of variables (free+ constrained ones) | |
virtual unsigned int | NFree () const |
number of free variables (real dimension of the problem) this is <= Function().NDim() which is the total | |
virtual void | PrintResults () |
return reference to the objective function virtual const ROOT::Math::IGenFunction & Function() const = 0; | |
virtual bool | ProvidesError () const |
minimizer provides error and error matrix | |
virtual bool | ReleaseVariable (unsigned int) |
release an existing variable | |
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. | |
bool | SetDebug (bool on=true) |
set debug mode. Return true if setting was successfull | |
virtual bool | SetFixedVariable (unsigned int, const std::string &, double) |
set fixed variable (override if minimizer supports them ) | |
virtual void | SetFunction (const ROOT::Math::IMultiGenFunction &func) |
set the function to minimize | |
virtual void | SetFunction (const ROOT::Math::IMultiGradFunction &func) |
set the function to minimize | |
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 ) | |
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 ) | |
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 ) | |
virtual bool | SetVariable (unsigned int ivar, const std::string &name, double val, double step) |
set free variable | |
virtual bool | SetVariableLimits (unsigned int ivar, double lower, double upper) |
set the limits of an existing variable | |
virtual bool | SetVariableLowerLimit (unsigned int, double) |
set the lower-limit of an existing variable | |
virtual bool | SetVariableStepSize (unsigned int, double) |
set the step size of an existing variable | |
virtual bool | SetVariableUpperLimit (unsigned int, double) |
set the upper-limit of an existing variable | |
virtual bool | SetVariableValue (unsigned int, double) |
set the value of an existing variable | |
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 | |
virtual int | VariableIndex (const std::string &name) const |
get index of variable given a variable given a name return always -1 . | |
virtual std::string | VariableName (unsigned int ivar) const |
return reference to the objective function virtual const ROOT::Math::IGenFunction & Function() const; | |
virtual const double * | X () const |
return pointer to X values at the minimum | |
Public Member Functions inherited from ROOT::Math::Minimizer | |
Minimizer () | |
Default constructor. | |
virtual | ~Minimizer () |
Destructor (no operations) | |
virtual void | Clear () |
reset for consecutive minimizations - implement if needed | |
virtual double | Correlation (unsigned int i, unsigned int j) const |
return correlation coefficient between variable i and j. | |
double | ErrorDef () const |
return the statistical scale used for calculate the error is typically 1 for Chi2 and 0.5 for likelihood minimization | |
bool | IsValidError () const |
return true if Minimizer has performed a detailed error validation (e.g. run Hesse for Minuit) | |
unsigned int | MaxFunctionCalls () const |
max number of function calls | |
unsigned int | MaxIterations () const |
max iterations | |
virtual unsigned int | NIterations () const |
number of iterations to reach the minimum | |
virtual MinimizerOptions | Options () const |
retrieve the minimizer options (implement derived class if needed) | |
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) | |
int | PrintLevel () const |
minimizer configuration parameters | |
void | SetDefaultOptions () |
reset the defaut options (defined in MinimizerOptions) | |
void | SetErrorDef (double up) |
set scale for calculating the errors | |
void | SetExtraOptions (const IOptions &extraOptions) |
set only the extra options | |
void | SetMaxFunctionCalls (unsigned int maxfcn) |
set maximum of function calls | |
void | SetMaxIterations (unsigned int maxiter) |
set maximum iterations (one iteration can have many function calls) | |
void | SetOptions (const MinimizerOptions &opt) |
set all options in one go | |
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. | |
void | SetPrintLevel (int level) |
set print level | |
void | SetStrategy (int strategyLevel) |
set the strategy | |
void | SetTolerance (double tol) |
set the tolerance | |
void | SetValidError (bool on) |
flag to check if minimizer needs to perform accurate error analysis (e.g. run Hesse for Minuit) | |
virtual bool | SetVariableInitialRange (unsigned int, double, double) |
set the initial range of an existing variable | |
template<class VariableIterator > | |
int | SetVariables (const VariableIterator &begin, const VariableIterator &end) |
add variables . Return number of variables successfully added | |
virtual bool | SetVariableValues (const double *x) |
set the values of all existing variables (array must be dimensioned to the size of the existing parameters) | |
int | Status () const |
status code of minimizer | |
int | Strategy () const |
strategy | |
double | Tolerance () const |
absolute tolerance | |
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. | |
Protected Member Functions | |
bool | CheckMinuitInstance () const |
check TMinuit instance | |
bool | CheckVarIndex (unsigned int ivar) const |
check parameter | |
void | DoClear () |
reset | |
void | DoReleaseFixParameter (int ivar) |
release a parameter that is fixed when it is redefined | |
void | InitTMinuit (int ndim) |
initialize the TMinuit instance | |
void | RetrieveErrorMatrix () |
retrieve error matrix from TMinuit | |
void | RetrieveParams () |
retrieve minimum parameters and errors from TMinuit | |
Static Protected Member Functions | |
static void | Fcn (int &, double *, double &f, double *, int) |
implementation of FCN for Minuit | |
static void | FcnGrad (int &, double *g, double &f, double *, int) |
implementation of FCN for Minuit when user provided gradient is used | |
Private Member Functions | |
TMinuitMinimizer (const TMinuitMinimizer &) | |
Copy constructor. | |
TMinuitMinimizer & | operator= (const TMinuitMinimizer &rhs) |
Assignment operator. | |
Private Attributes | |
std::vector< double > | fCovar |
unsigned int | fDim |
std::vector< double > | fErrors |
bool | fMinosRun |
int | fMinosStatus = -1 |
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.
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 903 of file TMinuitMinimizer.cxx.
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 164 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 845 of file TMinuitMinimizer.cxx.
release a parameter that is fixed when it is redefined
Definition at line 860 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 158 of file TMinuitMinimizer.h.
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.
fix an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 414 of file TMinuitMinimizer.cxx.
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.
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.
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 1023 of file TMinuitMinimizer.cxx.
initialize the TMinuit instance
Definition at line 130 of file TMinuitMinimizer.cxx.
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 141 of file TMinuitMinimizer.h.
|
virtual |
method to perform the minimization
Implements ROOT::Math::Minimizer.
Definition at line 466 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
minos status code of last Minos run minos status = -1 : Minos is not run = 0 : last MINOS run was succesfull > 0 : some problems encountered when running MINOS
Reimplemented from ROOT::Math::Minimizer.
Definition at line 200 of file TMinuitMinimizer.h.
|
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 148 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 881 of file TMinuitMinimizer.cxx.
|
inlinevirtual |
minimizer provides error and error matrix
Reimplemented from ROOT::Math::Minimizer.
Definition at line 155 of file TMinuitMinimizer.h.
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 951 of file TMinuitMinimizer.cxx.
set debug mode. Return true if setting was successfull
Definition at line 1068 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.
set the limits of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 397 of file TMinuitMinimizer.cxx.
set the lower-limit of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 384 of file TMinuitMinimizer.cxx.
set the step size of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 368 of file TMinuitMinimizer.cxx.
set the upper-limit of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 390 of file TMinuitMinimizer.cxx.
set the value of an existing variable
Reimplemented from ROOT::Math::Minimizer.
Definition at line 354 of file TMinuitMinimizer.cxx.
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 892 of file TMinuitMinimizer.cxx.
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 138 of file TMinuitMinimizer.h.
|
private |
Definition at line 280 of file TMinuitMinimizer.h.
|
private |
Definition at line 276 of file TMinuitMinimizer.h.
|
private |
Definition at line 279 of file TMinuitMinimizer.h.
|
staticprivate |
Definition at line 285 of file TMinuitMinimizer.h.
|
staticprivate |
Definition at line 287 of file TMinuitMinimizer.h.
|
staticprivate |
Definition at line 288 of file TMinuitMinimizer.h.
|
private |
Definition at line 275 of file TMinuitMinimizer.h.
|
private |
Definition at line 277 of file TMinuitMinimizer.h.
|
private |
Definition at line 283 of file TMinuitMinimizer.h.
|
private |
Definition at line 278 of file TMinuitMinimizer.h.
|
private |
Definition at line 282 of file TMinuitMinimizer.h.
|
private |
Definition at line 274 of file TMinuitMinimizer.h.