Feature #2147

Updated by dmitry almost 2 years ago

After rewriting one of reflectometry fitting scripts for new fitting machinery, it seems that
the engine requires several improvements:

* # Minimizer class lacks the ability to add additional minimizers, as it was before in FitSuite.
One could use it for e.g. "polishing" the result of Genetic algorithm with Minuit or other
gradient-based algorithm.

Computations in FitObjective are run by FitObjective::evaluate_residuals. Thus one cannot
avoid using it then writing own custom fit objective and overloading "evaluate" method.
On the other hand, some of quality metrics require unsymmetrical treatment of simulated
and experimental values. Thus it would be nice to change class interface so as to provide
simulated and experimental values without preliminary invoking FitObjective::evaluate


Though it is very easy to redefine FitObjective::evaluate, still it requires some preliminary
knowledge of the code. Thus a tutorial/example on how to use custom quality metrics would be
very helpful.