template wrapped class for adapting to FCNBase signature a IGradFunction
Definition at line 35 of file FCNGradAdapter.h.
Public Member Functions | |
FCNGradAdapter (const Function &f, double up=1.) | |
~FCNGradAdapter () override | |
bool | CheckGradient () const override |
std::vector< double > | G2 (const std::vector< double > &x) const override |
return second derivatives (diagonal of the Hessian matrix) | |
std::vector< double > | Gradient (const std::vector< double > &v) const override |
std::vector< double > | GradientWithPrevResult (const std::vector< double > &v, double *previous_grad, double *previous_g2, double *previous_gstep) const override |
GradientParameterSpace | gradParameterSpace () const override |
bool | HasG2 () const override |
bool | HasHessian () const override |
std::vector< double > | Hessian (const std::vector< double > &x) const override |
compute Hessian. Return Hessian as a std::vector of size(n*n) | |
double | operator() (const double *v) const |
double | operator() (const std::vector< double > &v) const override |
The meaning of the vector of parameters is of course defined by the user, who uses the values of those parameters to calculate their function Value. | |
void | SetErrorDef (double up) override |
add interface to set dynamically a new error definition Re-implement this function if needed. | |
template<class Func > | |
void | SetG2Function (Func f) |
template<class Func > | |
void | SetHessianFunction (Func f) |
double | Up () const override |
Error definition of the function. | |
Public Member Functions inherited from ROOT::Minuit2::FCNGradientBase | |
~FCNGradientBase () override | |
Public Member Functions inherited from ROOT::Minuit2::FCNBase | |
~FCNBase () override | |
virtual double | ErrorDef () const |
Error definition of the function. | |
Public Member Functions inherited from ROOT::Minuit2::GenericFunction | |
virtual | ~GenericFunction () |
Private Attributes | |
const Function & | fFunc |
std::function< std::vector< double >(const std::vector< double > &)> | fG2Func |
std::vector< double > | fG2Vec |
std::vector< double > | fGrad |
std::vector< double > | fHessian |
std::function< bool(const std::vector< double > &, double *)> | fHessianFunc |
double | fUp |
#include <Minuit2/FCNGradAdapter.h>
|
inline |
Definition at line 38 of file FCNGradAdapter.h.
|
inlineoverride |
Definition at line 40 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 60 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
return second derivatives (diagonal of the Hessian matrix)
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 71 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Implements ROOT::Minuit2::FCNGradientBase.
Definition at line 47 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 52 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 62 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 108 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 111 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
compute Hessian. Return Hessian as a std::vector of size(n*n)
Reimplemented from ROOT::Minuit2::FCNGradientBase.
Definition at line 92 of file FCNGradAdapter.h.
|
inline |
Definition at line 43 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
The meaning of the vector of parameters is of course defined by the user, who uses the values of those parameters to calculate their function Value.
The order and the position of these parameters is strictly the one specified by the user when supplying the starting values for minimization. The starting values must be specified by the user, either via an std::vector<double> or the MnUserParameters supplied as input to the MINUIT minimizers such as VariableMetricMinimizer or MnMigrad. Later values are determined by MINUIT as it searches for the Minimum or performs whatever analysis is requested by the user.
v | function parameters as defined by the user. |
Implements ROOT::Minuit2::FCNBase.
Definition at line 42 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
add interface to set dynamically a new error definition Re-implement this function if needed.
Reimplemented from ROOT::Minuit2::FCNBase.
Definition at line 121 of file FCNGradAdapter.h.
|
inline |
Definition at line 116 of file FCNGradAdapter.h.
|
inline |
Definition at line 119 of file FCNGradAdapter.h.
|
inlineoverridevirtual |
Error definition of the function.
MINUIT defines Parameter errors as the change in Parameter Value required to change the function Value by up. Normally, for chisquared fits it is 1, and for negative log likelihood, its Value is 0.5. If the user wants instead the 2-sigma errors for chisquared fits, it becomes 4, as Chi2(x+n*sigma) = Chi2(x) + n*n.
Implements ROOT::Minuit2::FCNBase.
Definition at line 45 of file FCNGradAdapter.h.
|
private |
Definition at line 124 of file FCNGradAdapter.h.
|
private |
Definition at line 130 of file FCNGradAdapter.h.
|
mutableprivate |
Definition at line 128 of file FCNGradAdapter.h.
|
mutableprivate |
Definition at line 126 of file FCNGradAdapter.h.
|
mutableprivate |
Definition at line 127 of file FCNGradAdapter.h.
|
mutableprivate |
Definition at line 131 of file FCNGradAdapter.h.
|
private |
Definition at line 125 of file FCNGradAdapter.h.