BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
GeneticMinimizer Class Reference
Inheritance diagram for GeneticMinimizer:
Collaboration diagram for GeneticMinimizer:

Public Types

typedef ROOT::Math::Minimizer root_minimizer_t
 

Public Member Functions

 GeneticMinimizer ()
 
 ~GeneticMinimizer ()
 
void setTolerance (double value)
 
double tolerance () const
 
void setPrintLevel (int value)
 
int printLevel () const
 
void setMaxIterations (int value)
 
int maxIterations () const
 
void setPopulationSize (int value)
 
int populationSize () const
 
void setRandomSeed (int value)
 
int randomSeed () const
 
std::string statusToString () const override
 
std::map< std::string, std::string > statusMap () const override
 
Fit::MinimizerResult minimize_scalar (fcn_scalar_t fcn, Fit::Parameters parameters) override
 
Fit::MinimizerResult minimize_residual (fcn_residual_t fcn, Fit::Parameters parameters) override
 
std::string minimizerName () const override final
 
std::string algorithmName () const override final
 
void setParameters (const Fit::Parameters &parameters)
 
double minValue () const override final
 
MinimizerOptionsoptions ()
 
const MinimizerOptionsoptions () const
 
bool providesError () const
 
void setOptions (const std::string &optionString) override final
 
virtual void clear ()
 
virtual bool requiresResiduals ()
 

Protected Member Functions

void propagateOptions () override
 
const root_minimizer_trootMinimizer () const override
 
void setParameter (unsigned int index, const Fit::Parameter &par) override
 
virtual void setParameter (unsigned int index, const Fit::Parameter &par)
 
Fit::MinimizerResult minimize (Fit::Parameters parameters)
 
void propagateResults (Fit::Parameters &parameters)
 
size_t fitDimension () const
 
std::vector< double > parValuesAtMinimum () const
 
std::vector< double > parErrorsAtMinimum () const
 
root_minimizer_trootMinimizer ()
 
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
 

Private Attributes

std::unique_ptr< ROOT::Math::GeneticMinimizer > m_genetic_minimizer
 
MinimizerOptions m_options
 
MinimizerInfo m_minimizerInfo
 
std::unique_ptr< Fit::ObjectiveFunctionAdapterm_adapter
 
bool m_status
 

Detailed Description

Wrapper for the CERN ROOT Genetic minimizer.

Definition at line 31 of file GeneticMinimizer.h.

Member Typedef Documentation

◆ root_minimizer_t

typedef ROOT::Math::Minimizer RootMinimizerAdapter::root_minimizer_t
inherited

Definition at line 46 of file RootMinimizerAdapter.h.

Constructor & Destructor Documentation

◆ GeneticMinimizer()

GeneticMinimizer::GeneticMinimizer ( )

Definition at line 30 of file GeneticMinimizer.cpp.

32  m_genetic_minimizer(new ROOT::Math::GeneticMinimizer())
33 {
34  addOption("Tolerance", 0.01, "Tolerance on the function value at the minimum");
35  addOption("PrintLevel", 0, "Minimizer internal print level");
36  addOption("MaxIterations", 3, "Maximum number of iterations");
37  addOption("PopSize", 300, "Population size");
38  addOption("RandomSeed", 0, "Random seed");
39 
40  // Seems it is not used inside Root, no need to expose
41  // addOption("Cycles", 3, "Number of cycles");
42 
43  // It's hard to understand (without going to much into genetics details), what parameters below
44  // are doing. So better to not to expose and rely on their internal ROOT's default values.
45 
46  // addOption("sc_steps", 10, "Spread control steps");
47  // addOption("sc_rate", 5, "Spread control rate");
48  // addOption("sc_factor", 0.95, "Spread control factor");
49 }
std::unique_ptr< ROOT::Math::GeneticMinimizer > m_genetic_minimizer
static MinimizerInfo buildGeneticInfo()
Creates information for TMVA genetic minimizer.
RootMinimizerAdapter(const MinimizerInfo &minimizerInfo)
OptionContainer::option_t addOption(const std::string &optionName, T value, const std::string &description="")

References RootMinimizerAdapter::addOption().

Here is the call graph for this function:

◆ ~GeneticMinimizer()

GeneticMinimizer::~GeneticMinimizer ( )
default

Member Function Documentation

◆ setTolerance()

void GeneticMinimizer::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 53 of file GeneticMinimizer.cpp.

54 {
55  setOptionValue("Tolerance", value);
56 }
void setOptionValue(const std::string &optionName, T value)

References RootMinimizerAdapter::setOptionValue().

Here is the call graph for this function:

◆ tolerance()

double GeneticMinimizer::tolerance ( ) const

Definition at line 58 of file GeneticMinimizer.cpp.

59 {
60  return optionValue<double>("Tolerance");
61 }

Referenced by propagateOptions().

◆ setPrintLevel()

void GeneticMinimizer::setPrintLevel ( int  value)

Sets minimizer internal print level.

Definition at line 63 of file GeneticMinimizer.cpp.

64 {
65  setOptionValue("PrintLevel", value);
66 }

References RootMinimizerAdapter::setOptionValue().

Here is the call graph for this function:

◆ printLevel()

int GeneticMinimizer::printLevel ( ) const

Definition at line 68 of file GeneticMinimizer.cpp.

69 {
70  return optionValue<int>("PrintLevel");
71 }

◆ setMaxIterations()

void GeneticMinimizer::setMaxIterations ( int  value)

Sets maximum number of iterations to try at each step.

Definition at line 73 of file GeneticMinimizer.cpp.

74 {
75  setOptionValue("MaxIterations", value);
76 }

References RootMinimizerAdapter::setOptionValue().

Here is the call graph for this function:

◆ maxIterations()

int GeneticMinimizer::maxIterations ( ) const

Definition at line 78 of file GeneticMinimizer.cpp.

79 {
80  return optionValue<int>("MaxIterations");
81 }

Referenced by propagateOptions().

◆ setPopulationSize()

void GeneticMinimizer::setPopulationSize ( int  value)

Sets population size.

Definition at line 83 of file GeneticMinimizer.cpp.

84 {
85  setOptionValue("PopSize", value);
86 }

References RootMinimizerAdapter::setOptionValue().

Here is the call graph for this function:

◆ populationSize()

int GeneticMinimizer::populationSize ( ) const

Definition at line 88 of file GeneticMinimizer.cpp.

89 {
90  return optionValue<int>("PopSize");
91 }

Referenced by propagateOptions().

◆ setRandomSeed()

void GeneticMinimizer::setRandomSeed ( int  value)

Sets random seed.

Definition at line 93 of file GeneticMinimizer.cpp.

94 {
95  setOptionValue("RandomSeed", value);
96 }

References RootMinimizerAdapter::setOptionValue().

Here is the call graph for this function:

◆ randomSeed()

int GeneticMinimizer::randomSeed ( ) const

Definition at line 98 of file GeneticMinimizer.cpp.

99 {
100  return optionValue<int>("RandomSeed");
101 }

Referenced by propagateOptions().

◆ statusToString()

std::string GeneticMinimizer::statusToString ( ) const
overridevirtual

Returns string representation of current minimizer status.

Reimplemented from RootMinimizerAdapter.

Definition at line 116 of file GeneticMinimizer.cpp.

117 {
118  return statusDescription()[rootMinimizer()->Status()];
119 }
const root_minimizer_t * rootMinimizer() const override
std::map< int, std::string > statusDescription()

References rootMinimizer(), and anonymous_namespace{GeneticMinimizer.cpp}::statusDescription().

Here is the call graph for this function:

◆ statusMap()

std::map< std::string, std::string > GeneticMinimizer::statusMap ( ) const
overridevirtual

Returns map of string representing different minimizer statuses.

Reimplemented from RootMinimizerAdapter.

Definition at line 121 of file GeneticMinimizer.cpp.

122 {
123  auto result = RootMinimizerAdapter::statusMap();
124  result["functionCalls"] = std::to_string(rootMinimizer()->NCalls());
125  return result;
126 }
virtual std::map< std::string, std::string > statusMap() const
Returns map of string representing different minimizer statuses.

References rootMinimizer(), and RootMinimizerAdapter::statusMap().

Here is the call graph for this function:

◆ propagateOptions()

void GeneticMinimizer::propagateOptions ( )
overrideprotectedvirtual

Implements RootMinimizerAdapter.

Definition at line 128 of file GeneticMinimizer.cpp.

129 {
130  ROOT::Math::GeneticMinimizerParameters pars;
131  pars.fPopSize = populationSize();
132  pars.fNsteps = maxIterations();
133  // pars.fCycles = m_options.getIntValue("Cycles"); // seems it's not used inside ROOT
134  // pars.fSC_steps = m_options.getIntValue("SC_steps"); // no idea what it is doing
135  // pars.fSC_rate = m_options.getIntValue("SC_rate"); // no idea what it is doing
136  // pars.fSC_factor = m_options.getRealValue("SC_factor"); // no idea what it is doing
137  const double scale_as_in_root = 10.0;
138  pars.fConvCrit = scale_as_in_root * tolerance();
139  pars.fSeed = randomSeed();
140  m_genetic_minimizer->SetParameters(pars);
141 }
double tolerance() const
int randomSeed() const
int populationSize() const
int maxIterations() const

References m_genetic_minimizer, maxIterations(), populationSize(), randomSeed(), and tolerance().

Here is the call graph for this function:

◆ rootMinimizer() [1/2]

const RootMinimizerAdapter::root_minimizer_t * GeneticMinimizer::rootMinimizer ( ) const
overrideprotectedvirtual

Implements RootMinimizerAdapter.

Definition at line 143 of file GeneticMinimizer.cpp.

144 {
145  return m_genetic_minimizer.get();
146 }

References m_genetic_minimizer.

Referenced by statusMap(), and statusToString().

◆ setParameter() [1/2]

void GeneticMinimizer::setParameter ( unsigned int  index,
const Fit::Parameter par 
)
overrideprotectedvirtual

Reimplemented from RootMinimizerAdapter.

Definition at line 103 of file GeneticMinimizer.cpp.

104 {
105  if (!par.limits().isFixed() && !par.limits().isLimited()) {
106  std::ostringstream ostr;
107  ostr << "GeneticMinimizer::setParameter() -> Error! "
108  << "Genetic minimizer requires either fixed or "
109  << "limited AttLimits::limited(left,right) parameter. "
110  << " Parameter name '" << par.name() << "', limits:" << par.limits().toString();
111  throw std::runtime_error(ostr.str());
112  }
114 }
std::string toString() const
Definition: AttLimits.cpp:112
bool isFixed() const
Definition: AttLimits.cpp:61
bool isLimited() const
Definition: AttLimits.cpp:66
std::string name() const
Definition: Parameter.cpp:41
AttLimits limits() const
Definition: Parameter.cpp:51
virtual void setParameter(unsigned int index, const Fit::Parameter &par)

References AttLimits::isFixed(), AttLimits::isLimited(), Fit::Parameter::limits(), Fit::Parameter::name(), RootMinimizerAdapter::setParameter(), and AttLimits::toString().

Here is the call graph for this function:

◆ setParameter() [2/2]

void RootMinimizerAdapter::setParameter
protected

Definition at line 85 of file RootMinimizerAdapter.cpp.

138 {
139  bool success;
140  if (par.limits().isFixed()) {
141  success = rootMinimizer()->SetFixedVariable(index, par.name().c_str(), par.value());
142 
143  }
144 
145  else if (par.limits().isLimited()) {
146  success = rootMinimizer()->SetLimitedVariable(index, par.name().c_str(), par.value(),
147  par.step(), par.limits().lowerLimit(),
148  par.limits().upperLimit());
149  }
150 
151  else if (par.limits().isLowerLimited()) {
152  success = rootMinimizer()->SetLowerLimitedVariable(index, par.name().c_str(), par.value(),
153  par.step(), par.limits().lowerLimit());
154  }
155 
156  else if (par.limits().isUpperLimited()) {
157  success = rootMinimizer()->SetUpperLimitedVariable(index, par.name().c_str(), par.value(),
158  par.step(), par.limits().upperLimit());
159  }
160 
161  else if (par.limits().isLimitless()) {
162  success = rootMinimizer()->SetVariable(index, par.name().c_str(), par.value(), par.step());
163  }
164 
165  else {
166  throw std::runtime_error("BasicMinimizer::setParameter() -> Error! Unexpected parameter.");
167  }
168 
169  if (!success) {
170  std::ostringstream ostr;
171  ostr << "BasicMinimizer::setParameter() -> Error! Can't set minimizer's fit parameter";
172  ostr << "Index:" << index << " name '" << par.name() << "'";
173  throw std::runtime_error(ostr.str());
174  }
175 }

◆ minimize_scalar()

MinimizerResult RootMinimizerAdapter::minimize_scalar ( fcn_scalar_t  ,
Fit::Parameters   
)
overridevirtualinherited

run minimization

Reimplemented from IMinimizer.

Definition at line 32 of file RootMinimizerAdapter.cpp.

33 {
34  // Genetic minimizer requires SetFunction before setParameters, others don't care
35  rootMinimizer()->SetFunction(*m_adapter->rootObjectiveFunction(fcn, parameters));
36  return minimize(parameters);
37 }
std::unique_ptr< Fit::ObjectiveFunctionAdapter > m_adapter
Fit::MinimizerResult minimize(Fit::Parameters parameters)
virtual const root_minimizer_t * rootMinimizer() const =0

References RootMinimizerAdapter::m_adapter, RootMinimizerAdapter::minimize(), and RootMinimizerAdapter::rootMinimizer().

Here is the call graph for this function:

◆ minimize_residual()

MinimizerResult RootMinimizerAdapter::minimize_residual ( fcn_residual_t  fcn,
Fit::Parameters  parameters 
)
overridevirtualinherited

Reimplemented from IMinimizer.

Definition at line 39 of file RootMinimizerAdapter.cpp.

40 {
41  // Genetic minimizer requires SetFunction before setParameters, others don't care
42  rootMinimizer()->SetFunction(*m_adapter->rootResidualFunction(fcn, parameters));
43  return minimize(parameters);
44 }

References RootMinimizerAdapter::m_adapter, RootMinimizerAdapter::minimize(), and RootMinimizerAdapter::rootMinimizer().

Here is the call graph for this function:

◆ minimizerName()

std::string RootMinimizerAdapter::minimizerName ( ) const
finaloverridevirtualinherited

Returns name of the minimizer.

Implements IMinimizer.

Definition at line 64 of file RootMinimizerAdapter.cpp.

65 {
66  return m_minimizerInfo.name();
67 }
std::string name() const
Definition: MinimizerInfo.h:56

References RootMinimizerAdapter::m_minimizerInfo, and MinimizerInfo::name().

Referenced by anonymous_namespace{MinimizerResultUtils.cpp}::reportDescription().

Here is the call graph for this function:

◆ algorithmName()

std::string RootMinimizerAdapter::algorithmName ( ) const
finaloverridevirtualinherited

Returns name of the minimization algorithm.

Implements IMinimizer.

Definition at line 69 of file RootMinimizerAdapter.cpp.

70 {
72 }
std::string algorithmName() const
Definition: MinimizerInfo.h:59

References MinimizerInfo::algorithmName(), and RootMinimizerAdapter::m_minimizerInfo.

Referenced by anonymous_namespace{MinimizerResultUtils.cpp}::reportDescription(), and Minuit2Minimizer::requiresResiduals().

Here is the call graph for this function:

◆ setParameters()

void RootMinimizerAdapter::setParameters ( const Fit::Parameters parameters)
inherited

Definition at line 74 of file RootMinimizerAdapter.cpp.

75 {
76  unsigned int index(0);
77  for (const auto& par : parameters)
78  setParameter(index++, par);
79 }

References RootMinimizerAdapter::setParameter().

Referenced by RootMinimizerAdapter::minimize().

Here is the call graph for this function:

◆ minValue()

double RootMinimizerAdapter::minValue ( ) const
finaloverridevirtualinherited

Returns minimum function value.

Reimplemented from IMinimizer.

Definition at line 81 of file RootMinimizerAdapter.cpp.

82 {
83  return rootMinimizer()->MinValue();
84 }

References RootMinimizerAdapter::rootMinimizer().

Referenced by RootMinimizerAdapter::minimize(), and RootMinimizerAdapter::statusMap().

Here is the call graph for this function:

◆ options() [1/2]

MinimizerOptions& RootMinimizerAdapter::options ( )
inlineinherited

◆ options() [2/2]

const MinimizerOptions& RootMinimizerAdapter::options ( ) const
inlineinherited

Definition at line 64 of file RootMinimizerAdapter.h.

64 { return m_options; }

References RootMinimizerAdapter::m_options.

◆ providesError()

bool RootMinimizerAdapter::providesError ( ) const
inherited

Returns true if minimizer provides error and error matrix.

Definition at line 91 of file RootMinimizerAdapter.cpp.

92 {
93  return rootMinimizer()->ProvidesError();
94 }

References RootMinimizerAdapter::rootMinimizer().

Referenced by RootMinimizerAdapter::propagateResults(), and RootMinimizerAdapter::statusMap().

Here is the call graph for this function:

◆ setOptions()

void RootMinimizerAdapter::setOptions ( const std::string &  optionString)
finaloverridevirtualinherited

Sets option string to the minimizer.

Reimplemented from IMinimizer.

Definition at line 111 of file RootMinimizerAdapter.cpp.

112 {
113  options().setOptionString(optionString);
114 }
void setOptionString(const std::string &options)
Set options from their string representation.
MinimizerOptions & options()

References RootMinimizerAdapter::options(), and MinimizerOptions::setOptionString().

Here is the call graph for this function:

◆ minimize()

MinimizerResult RootMinimizerAdapter::minimize ( Fit::Parameters  parameters)
protectedinherited

Definition at line 46 of file RootMinimizerAdapter.cpp.

47 {
48  setParameters(parameters);
50 
51  m_status = rootMinimizer()->Minimize();
52  propagateResults(parameters);
53 
54  MinimizerResult result;
55  result.setParameters(parameters);
56  result.setMinValue(minValue());
58  result.setNumberOfCalls(m_adapter->numberOfCalls());
59  result.setNumberOfGradientCalls(m_adapter->numberOfGradientCalls());
60 
61  return result;
62 }
Result of minimization round.
void setReport(const std::string &value)
void setMinValue(double value)
void setNumberOfGradientCalls(int value)
void setNumberOfCalls(int value)
void setParameters(const Parameters &parameters)
double minValue() const override final
Returns minimum function value.
void propagateResults(Fit::Parameters &parameters)
Propagates results of minimization to fit parameter set.
virtual void propagateOptions()=0
void setParameters(const Fit::Parameters &parameters)
std::string reportToString(const RootMinimizerAdapter &minimizer)
Reports results of minimization in the form of multi-line string.

References RootMinimizerAdapter::m_adapter, RootMinimizerAdapter::m_status, RootMinimizerAdapter::minValue(), RootMinimizerAdapter::propagateOptions(), RootMinimizerAdapter::propagateResults(), MinimizerResultUtils::reportToString(), RootMinimizerAdapter::rootMinimizer(), Fit::MinimizerResult::setMinValue(), Fit::MinimizerResult::setNumberOfCalls(), Fit::MinimizerResult::setNumberOfGradientCalls(), RootMinimizerAdapter::setParameters(), Fit::MinimizerResult::setParameters(), and Fit::MinimizerResult::setReport().

Referenced by RootMinimizerAdapter::minimize_residual(), and RootMinimizerAdapter::minimize_scalar().

Here is the call graph for this function:

◆ propagateResults()

void RootMinimizerAdapter::propagateResults ( Fit::Parameters parameters)
protectedinherited

Propagates results of minimization to fit parameter set.

Definition at line 118 of file RootMinimizerAdapter.cpp.

119 {
120  parameters.setValues(parValuesAtMinimum());
121  parameters.setErrors(parErrorsAtMinimum());
122  // sets correlation matrix
123  if (providesError()) {
125  matrix.resize(fitDimension());
126 
127  for (size_t i = 0; i < fitDimension(); ++i) {
128  matrix[i].resize(fitDimension(), 0.0);
129  for (size_t j = 0; j < fitDimension(); ++j)
130  matrix[i][j] = rootMinimizer()->Correlation(static_cast<unsigned int>(i),
131  static_cast<unsigned int>(j));
132  }
133  parameters.setCorrelationMatrix(matrix);
134  }
135 }
void setValues(const std::vector< double > &values)
Definition: Parameters.cpp:64
void setCorrelationMatrix(const corr_matrix_t &matrix)
Definition: Parameters.cpp:122
void setErrors(const std::vector< double > &errors)
Definition: Parameters.cpp:90
std::vector< std::vector< double > > corr_matrix_t
Definition: Parameters.h:33
size_t fitDimension() const
Returns number of fit parameters defined (i.e. dimension of the function to be minimized).
std::vector< double > parErrorsAtMinimum() const
Returns errors of the variables at minimum.
std::vector< double > parValuesAtMinimum() const
Returns value of the variables at minimum.
bool providesError() const
Returns true if minimizer provides error and error matrix.

References RootMinimizerAdapter::fitDimension(), RootMinimizerAdapter::parErrorsAtMinimum(), RootMinimizerAdapter::parValuesAtMinimum(), RootMinimizerAdapter::providesError(), RootMinimizerAdapter::rootMinimizer(), Fit::Parameters::setCorrelationMatrix(), Fit::Parameters::setErrors(), and Fit::Parameters::setValues().

Referenced by RootMinimizerAdapter::minimize().

Here is the call graph for this function:

◆ fitDimension()

size_t RootMinimizerAdapter::fitDimension ( ) const
protectedinherited

Returns number of fit parameters defined (i.e. dimension of the function to be minimized).

Definition at line 179 of file RootMinimizerAdapter.cpp.

180 {
181  return rootMinimizer()->NDim();
182 }

References RootMinimizerAdapter::rootMinimizer().

Referenced by RootMinimizerAdapter::parErrorsAtMinimum(), RootMinimizerAdapter::parValuesAtMinimum(), and RootMinimizerAdapter::propagateResults().

Here is the call graph for this function:

◆ parValuesAtMinimum()

std::vector< double > RootMinimizerAdapter::parValuesAtMinimum ( ) const
protectedinherited

Returns value of the variables at minimum.

Definition at line 186 of file RootMinimizerAdapter.cpp.

187 {
188  std::vector<double> result;
189  result.resize(fitDimension(), 0.0);
190  std::copy(rootMinimizer()->X(), rootMinimizer()->X() + fitDimension(), result.begin());
191  return result;
192 }

References RootMinimizerAdapter::fitDimension(), and RootMinimizerAdapter::rootMinimizer().

Referenced by RootMinimizerAdapter::propagateResults().

Here is the call graph for this function:

◆ parErrorsAtMinimum()

std::vector< double > RootMinimizerAdapter::parErrorsAtMinimum ( ) const
protectedinherited

Returns errors of the variables at minimum.

Definition at line 196 of file RootMinimizerAdapter.cpp.

197 {
198  std::vector<double> result;
199  result.resize(fitDimension(), 0.0);
200  if (rootMinimizer()->Errors() != 0) {
201  std::copy(rootMinimizer()->Errors(), rootMinimizer()->Errors() + fitDimension(),
202  result.begin());
203  }
204  return result;
205 }

References RootMinimizerAdapter::fitDimension(), and RootMinimizerAdapter::rootMinimizer().

Referenced by RootMinimizerAdapter::propagateResults().

Here is the call graph for this function:

◆ rootMinimizer() [2/2]

RootMinimizerAdapter::root_minimizer_t * RootMinimizerAdapter::rootMinimizer ( )
protectedinherited

Definition at line 207 of file RootMinimizerAdapter.cpp.

208 {
209  return const_cast<root_minimizer_t*>(
210  static_cast<const RootMinimizerAdapter*>(this)->rootMinimizer());
211 }
Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer.
ROOT::Math::Minimizer root_minimizer_t

References RootMinimizerAdapter::rootMinimizer().

Here is the call graph for this function:

◆ addOption()

template<class T >
OptionContainer::option_t RootMinimizerAdapter::addOption ( const std::string &  optionName,
value,
const std::string &  description = "" 
)
protectedinherited

Definition at line 110 of file RootMinimizerAdapter.h.

112 {
113  return m_options.addOption(optionName, value, description);
114 }
option_t addOption(const std::string &optionName, T value, const std::string &description="")

References OptionContainer::addOption(), and RootMinimizerAdapter::m_options.

Referenced by GeneticMinimizer(), GSLLevenbergMarquardtMinimizer::GSLLevenbergMarquardtMinimizer(), GSLMultiMinimizer::GSLMultiMinimizer(), Minuit2Minimizer::Minuit2Minimizer(), and SimAnMinimizer::SimAnMinimizer().

Here is the call graph for this function:

◆ setOptionValue()

template<class T >
void RootMinimizerAdapter::setOptionValue ( const std::string &  optionName,
value 
)
protectedinherited

◆ optionValue()

template<class T >
T RootMinimizerAdapter::optionValue ( const std::string &  optionName) const
protectedinherited

Definition at line 121 of file RootMinimizerAdapter.h.

122 {
123  return m_options.optionValue<T>(optionName);
124 }
T optionValue(const std::string &optionName) const

References RootMinimizerAdapter::m_options, and OptionContainer::optionValue().

Here is the call graph for this function:

◆ clear()

virtual void IMinimizer::clear ( )
inlinevirtualinherited

clear resources (parameters) for consecutives minimizations

Definition at line 50 of file IMinimizer.h.

50 {}

◆ requiresResiduals()

virtual bool IMinimizer::requiresResiduals ( )
inlinevirtualinherited

Returns true if minimizer computations are residual-based, false otherwise.

Reimplemented in Minuit2Minimizer, and GSLLevenbergMarquardtMinimizer.

Definition at line 60 of file IMinimizer.h.

60 { return false; }

Member Data Documentation

◆ m_genetic_minimizer

std::unique_ptr<ROOT::Math::GeneticMinimizer> GeneticMinimizer::m_genetic_minimizer
private

Definition at line 71 of file GeneticMinimizer.h.

Referenced by propagateOptions(), and rootMinimizer().

◆ m_options

◆ m_minimizerInfo

MinimizerInfo RootMinimizerAdapter::m_minimizerInfo
privateinherited

◆ m_adapter

std::unique_ptr<Fit::ObjectiveFunctionAdapter> RootMinimizerAdapter::m_adapter
privateinherited

◆ m_status

bool RootMinimizerAdapter::m_status
privateinherited

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