BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
Minuit2Minimizer Class Reference

Wrapper for the CERN ROOT facade of the Minuit2 minimizer. More...

+ Inheritance diagram for Minuit2Minimizer:

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 &parameters)
 
double minValue () const override final
 Returns minimum function value.
 
MinimizerOptionsoptions ()
 
const MinimizerOptionsoptions () 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
 
IMinimizeroperator= (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 &parameters)
 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 >
optionValue (const std::string &optionName) const
 

Additional Inherited Members

- Public Types inherited from RootMinimizerAdapter
typedef ROOT::Math::Minimizer root_minimizer_t
 

Detailed Description

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.

Member Function Documentation

◆ setStrategy()

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.

◆ setErrorDefinition()

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.

◆ setTolerance()

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.

◆ setPrecision()

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.

◆ setPrintLevel()

void Minuit2Minimizer::setPrintLevel ( int  value)

Sets minimizer internal print level.

Default value is 0 (silent).

Definition at line 101 of file Minuit2Minimizer.cpp.


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