33 const MnStrategy &strategy,
unsigned int maxfcn,
double toler)
const
37 std::unique_ptr<GradientCalculator> gc;
42 gc = std::make_unique<Numerical2PGradientCalculator>(mfcn, st.
Trafo(), strategy);
47 gc = std::make_unique<ExternalInternalGradientCalculator>(fcn, st.
Trafo());
49 gc = std::make_unique<AnalyticalGradientCalculator>(fcn, st.
Trafo());
54 maxfcn = 200 + 100 * npar + 5 * npar * npar;
58 return Minimize(mfcn, *gc, mnseeds, strategy, maxfcn, toler);
63 unsigned int maxfcn,
double toler)
const
68 MnPrint print(
"ModularFunctionMinimizer");
72 double effective_toler = toler * mfcn.
Up();
75 if (effective_toler < eps)
76 effective_toler = eps;
81 print.
Warn(
"Stop before iterating - call limit already exceeded");
87 return mb.
Minimum(mfcn, gc, seed, strategy, maxfcn, effective_toler);
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
virtual GradientParameterSpace gradParameterSpace() const
virtual bool HasGradient() const
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
interface class for gradient calculators
virtual FunctionMinimum Minimum(const MnFcn &, const GradientCalculator &, const MinimumSeed &, const MnStrategy &, unsigned int, double) const =0
const MinimumState & State() const
Wrapper class to FCNBase interface used internally by Minuit.
unsigned int NumOfCalls() const
Sets the relative floating point (double) arithmetic precision.
double Eps2() const
eps2 returns 2*sqrt(eps)
void Warn(const Ts &... args)
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
class which holds the external user and/or internal Minuit representation of the parameters and error...
unsigned int VariableParameters() const
const MnUserTransformation & Trafo() const
virtual const MinimumBuilder & Builder() const =0
virtual const MinimumSeedGenerator & SeedGenerator() const =0
virtual FunctionMinimum Minimize(const FCNBase &, const MnUserParameterState &, const MnStrategy &=MnStrategy{1}, unsigned int maxfcn=0, double toler=0.1) const