16 #include <Math/GeneticMinimizer.h>
23 std::map<int, std::string> result;
24 result[0] =
"OK, minimum found";
25 result[1] =
"Maximum number of iterations reached";
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");
60 return optionValue<double>(
"Tolerance");
70 return optionValue<int>(
"PrintLevel");
80 return optionValue<int>(
"MaxIterations");
90 return optionValue<int>(
"PopSize");
100 return optionValue<int>(
"RandomSeed");
106 std::ostringstream ostr;
107 ostr <<
"GeneticMinimizer::setParameter() -> Error! "
108 <<
"Genetic minimizer requires either fixed or "
109 <<
"limited AttLimits::limited(left,right) parameter. "
111 throw std::runtime_error(ostr.str());
124 result[
"functionCalls"] = std::to_string(
rootMinimizer()->NCalls());
130 ROOT::Math::GeneticMinimizerParameters pars;
137 const double scale_as_in_root = 10.0;
138 pars.fConvCrit = scale_as_in_root *
tolerance();
Declares class GeneticMinimizer.
std::string toString() const
A fittable parameter with value, error, step, and limits.
Wrapper for the CERN ROOT Genetic minimizer.
void setTolerance(double value)
Sets tolerance on the function value at the minimum.
void setPopulationSize(int value)
Sets population size.
virtual void setParameter(unsigned int index, const Fit::Parameter &par)
std::unique_ptr< ROOT::Math::GeneticMinimizer > m_genetic_minimizer
std::map< std::string, std::string > statusMap() const override
Returns map of string representing different minimizer statuses.
std::string statusToString() const override
Returns string representation of current minimizer status.
void propagateOptions() override
void setPrintLevel(int value)
Sets minimizer internal print level.
void setRandomSeed(int value)
Sets random seed.
int populationSize() const
const root_minimizer_t * rootMinimizer() const override
void setMaxIterations(int value)
Sets maximum number of iterations to try at each step.
int maxIterations() const
Info about a minimizer, including list of defined minimization algorithms.
Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer.
OptionContainer::option_t addOption(const std::string &optionName, T value, const std::string &description="")
void setOptionValue(const std::string &optionName, T value)
ROOT::Math::Minimizer root_minimizer_t
virtual void setParameter(unsigned int index, const Fit::Parameter &par)
virtual std::map< std::string, std::string > statusMap() const
Returns map of string representing different minimizer statuses.
std::map< int, std::string > statusDescription()