BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Wrapper for the CERN ROOT facade of the Minuit2 minimizer. More...
Public Member Functions | |
Minuit2Minimizer (const std::string &algorithmName="Migrad") | |
void | setStrategy (int value) |
Sets minimization strategy (0-low, 1-medium, 2-high minimization quality). More... | |
int | strategy () const |
void | setErrorDefinition (double value) |
Sets error definition factor for parameter error calculation. More... | |
double | errorDefinition () const |
void | setTolerance (double value) |
Sets tolerance on the function value at the minimum. More... | |
double | tolerance () const |
void | setPrecision (double value) |
Sets relative floating point arithmetic precision. More... | |
double | precision () const |
void | setPrintLevel (int value) |
Sets minimizer internal print level. More... | |
int | printLevel () const |
void | setMaxFunctionCalls (int value) |
Sets maximum number of objective function calls. | |
int | maxFunctionCalls () const |
std::string | statusToString () const override |
Returns string representation of current minimizer status. | |
std::map< std::string, std::string > | statusMap () const override |
Returns map of string representing different minimizer statuses. | |
bool | requiresResiduals () override |
Returns true if minimizer computations are residual-based, false otherwise. | |
Public Member Functions inherited from RootMinimizerAdapter | |
Fit::MinimizerResult | minimize_scalar (fcn_scalar_t fcn, Fit::Parameters parameters) override |
run minimization | |
Fit::MinimizerResult | minimize_residual (fcn_residual_t fcn, Fit::Parameters parameters) override |
std::string | minimizerName () const override final |
Returns name of the minimizer. | |
std::string | algorithmName () const override final |
Returns name of the minimization algorithm. | |
void | setParameters (const Fit::Parameters ¶meters) |
double | minValue () const override final |
Returns minimum function value. | |
MinimizerOptions & | options () |
const MinimizerOptions & | options () const |
bool | providesError () const |
Returns true if minimizer provides error and error matrix. | |
void | setOptions (const std::string &optionString) override final |
Sets option string to the minimizer. | |
Public Member Functions inherited from IMinimizer | |
IMinimizer (const IMinimizer &other)=delete | |
IMinimizer & | operator= (const IMinimizer &other)=delete |
virtual void | clear () |
clear resources (parameters) for consecutives minimizations | |
Protected Member Functions | |
void | propagateOptions () override |
Propagate options down to ROOT's Minuit2Minimizer. | |
const root_minimizer_t * | rootMinimizer () const override |
Protected Member Functions inherited from RootMinimizerAdapter | |
RootMinimizerAdapter (const MinimizerInfo &minimizerInfo) | |
Fit::MinimizerResult | minimize (Fit::Parameters parameters) |
void | propagateResults (Fit::Parameters ¶meters) |
Propagates results of minimization to fit parameter set. | |
virtual void | setParameter (unsigned int index, const Fit::Parameter &par) |
size_t | fitDimension () const |
Returns number of fit parameters defined (i.e. dimension of the function to be minimized). | |
std::vector< double > | parValuesAtMinimum () const |
Returns value of the variables at minimum. | |
std::vector< double > | parErrorsAtMinimum () const |
Returns errors of the variables at minimum. | |
root_minimizer_t * | rootMinimizer () |
template<class T > | |
OptionContainer::option_t | addOption (const std::string &optionName, T value, const std::string &description="") |
template<class T > | |
void | setOptionValue (const std::string &optionName, T value) |
template<class T > | |
T | optionValue (const std::string &optionName) const |
Additional Inherited Members | |
Public Types inherited from RootMinimizerAdapter | |
typedef ROOT::Math::Minimizer | root_minimizer_t |
Wrapper for the CERN ROOT facade of the Minuit2 minimizer.
See Minuit2 user manual https://root.cern.ch/root/htmldoc/guides/minuit2/Minuit2.pdf.
Definition at line 33 of file Minuit2Minimizer.h.
void Minuit2Minimizer::setStrategy | ( | int | value | ) |
Sets minimization strategy (0-low, 1-medium, 2-high minimization quality).
At low quality number of function calls will be economized.
Definition at line 61 of file Minuit2Minimizer.cpp.
void Minuit2Minimizer::setErrorDefinition | ( | double | value | ) |
Sets error definition factor for parameter error calculation.
If objective function (OF) is the usual chisquare function and if the user wants the usual one-standard-deviation errors, then the error definition should be 1.0. If OF is a negative-log-likelihood function, then 0.5. If OF is a chisquare, but the user wants two-standard-deviation errors, 4.0.
Definition at line 71 of file Minuit2Minimizer.cpp.
void Minuit2Minimizer::setTolerance | ( | double | value | ) |
Sets tolerance on the function value at the minimum.
Minimization will stop when the estimated vertical distance to the minimum (EDM) is less than 0.001*tolerance*ErrorDef. Here ErrorDef=1.0 for chi squared fit and ErrorDef=0.5 for negative log likelihood fit.
Definition at line 81 of file Minuit2Minimizer.cpp.
void Minuit2Minimizer::setPrecision | ( | double | value | ) |
Sets relative floating point arithmetic precision.
Should be adjusted when the user knows that objectiove function value is not calculated to the nominal machine accuracy. Typical values are between 10^-5 and 10^-14.
Definition at line 91 of file Minuit2Minimizer.cpp.
void Minuit2Minimizer::setPrintLevel | ( | int | value | ) |
Sets minimizer internal print level.
Default value is 0 (silent).
Definition at line 101 of file Minuit2Minimizer.cpp.