24 const std::string default_minimizer =
"Minuit2";
25 const std::string default_algorithm =
"Migrad";
37 const std::string& options)
52 throw std::runtime_error(
53 "Error in Kernel::minimize: the chosen minimizer requires residuals computation. "
54 "Please use FitObjective::evaluate_residuals with this minimizer.");
55 auto result =
m_minimizer->minimize_scalar(fcn, parameters);
58 result.setDuration(timer.
runTime());
66 auto result =
m_minimizer->minimize_residual(fcn, parameters);
69 result.setDuration(timer.
runTime());
Defines interface IMinimizer.
Defines class MinimizerFactory.
std::function< double(const mumufit::Parameters &)> fcn_scalar_t
std::function< std::vector< double >(const mumufit::Parameters &)> fcn_residual_t
Defines WallclockTimer class.
Abstract base class for all kind minimizers.
static IMinimizer * createMinimizer(const std::string &minimizerName, const std::string &algorithmType="", const std::string &optionString="")
A timer for measuring real (wall-clock) time spent between 'start' and 'stop' commands.
double runTime() const
Returns run time in sec.
void setMinimizer(const std::string &minimizerName, const std::string &algorithmName="", const std::string &options="")
MinimizerResult minimize(fcn_scalar_t fcn, const Parameters ¶meters) const
std::unique_ptr< IMinimizer > m_minimizer
Result of minimization round.
A collection of fit parameters.
The multi-library, multi-algorithm fit wrapper library.