18#ifndef ROOT_Minuit2_NumericalDerivator
19#define ROOT_Minuit2_NumericalDerivator
48 std::span<const ROOT::Fit::ParameterSettings> parameters);
50 std::span<const ROOT::Fit::ParameterSettings> parameters,
54 std::span<const ROOT::Fit::ParameterSettings> parameters,
57 std::span<const ROOT::Fit::ParameterSettings> parameters,
60 std::span<const ROOT::Fit::ParameterSettings> parameters,
unsigned int i_component,
74 std::vector<DerivatorElement> &gradient);
85 std::vector<double>
fVx;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Class, describing value, limits and step size of the parameters Provides functionality also to set/re...
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Sets the relative floating point (double) arithmetic precision.
void SetGradTolerance(double value)
std::vector< double > fVxFValCache
bool fAlwaysExactlyMimicMinuit2
void SetAlwaysExactlyMimicMinuit2(bool flag)
void SetInitialGradient(std::span< const ROOT::Fit::ParameterSettings > parameters, std::vector< DerivatorElement > &gradient)
This function was not implemented as in Minuit2.
double Int2ext(const ROOT::Fit::ParameterSettings ¶meter, double val) const
NumericalDerivator(const NumericalDerivator &other)
void SetErrorLevel(double value)
ROOT::Minuit2::SqrtUpParameterTransformation fUpperLimTrafo
bool AlwaysExactlyMimicMinuit2() const
ROOT::Minuit2::MnMachinePrecision fPrecision
void SetNCycles(unsigned int value)
NumericalDerivator(bool always_exactly_mimic_minuit2=true)
void SetupDifferentiate(unsigned int nDim, const FCNBase *function, const double *cx, std::span< const ROOT::Fit::ParameterSettings > parameters)
This function sets internal state based on input parameters.
double DInt2Ext(const ROOT::Fit::ParameterSettings ¶meter, double val) const
double Ext2int(const ROOT::Fit::ParameterSettings ¶meter, double val) const
DerivatorElement operator()(unsigned int nDim, const FCNBase *function, const double *x, std::span< const ROOT::Fit::ParameterSettings > parameters, unsigned int i_component, const DerivatorElement &previous)
std::vector< double > fVx
std::vector< DerivatorElement > Differentiate(unsigned int nDim, const FCNBase *function, const double *x, std::span< const ROOT::Fit::ParameterSettings > parameters, std::span< const DerivatorElement > previous_gradient)
ROOT::Minuit2::SinParameterTransformation fDoubleLimTrafo
DerivatorElement FastPartialDerivative(const FCNBase *function, std::span< const ROOT::Fit::ParameterSettings > parameters, unsigned int i_component, const DerivatorElement &previous)
ROOT::Minuit2::SqrtLowParameterTransformation fLowerLimTrafo
DerivatorElement PartialDerivative(unsigned int nDim, const FCNBase *function, const double *x, std::span< const ROOT::Fit::ParameterSettings > parameters, unsigned int i_component, DerivatorElement previous)
void SetStepTolerance(double value)
std::vector< double > fVxExternal
std::ostream & operator<<(std::ostream &, const LAVector &)