Interface (abstract class) defining the function to be minimized, which has to be implemented by the user.
Public Member Functions | |
virtual double | ErrorDef () const |
Error definition of the function. | |
virtual std::vector< double > | G2 (std::vector< double > const &) const |
return second derivatives (diagonal of the Hessian matrix) | |
virtual std::vector< double > | Gradient (std::vector< double > const &) const |
virtual std::vector< double > | GradientWithPrevResult (std::vector< double > const ¶meters, double *, double *, double *) const |
virtual GradientParameterSpace | gradParameterSpace () const |
virtual bool | HasG2 () const |
virtual bool | HasGradient () const |
virtual bool | HasHessian () const |
virtual std::vector< double > | Hessian (std::vector< double > const &) const |
return Hessian | |
double | operator() (std::vector< double > const &v) const override=0 |
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. | |
virtual void | SetErrorDef (double) |
add interface to set dynamically a new error definition Re-implement this function if needed. | |
virtual double | Up () const =0 |
Error definition of the function. | |
Public Member Functions inherited from ROOT::Minuit2::GenericFunction | |
virtual | ~GenericFunction () |
#include <Minuit2/FCNBase.h>
|
inlinevirtual |
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.
Comment a little bit better with links!!!!!!!!!!!!!!!!!
|
inlinevirtual |
return second derivatives (diagonal of the Hessian matrix)
Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.
|
inlinevirtual |
Reimplemented in ROOT::Minuit2::FumiliFCNBase, and ROOT::Minuit2::FCNGradAdapter< Function >.
|
inlinevirtual |
Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.
|
inlinevirtual |
Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.
|
inlinevirtual |
Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.
|
inlinevirtual |
Reimplemented in ROOT::Minuit2::FCNGradientBase, ROOT::Minuit2::FCNGradAdapter< Function >, and ROOT::Minuit2::FumiliFCNBase.
|
inlinevirtual |
Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.
|
inlinevirtual |
return Hessian
Reimplemented in ROOT::Minuit2::FumiliFCNBase, and ROOT::Minuit2::FCNGradAdapter< Function >.
|
overridepure virtual |
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::GenericFunction.
Implemented in ROOT::Minuit2::FumiliChi2FCN, ROOT::Minuit2::FumiliMaximumLikelihoodFCN, ROOT::Minuit2::FCNAdapter< Function >, ROOT::Minuit2::FCNGradAdapter< Function >, ROOT::Minuit2::FumiliFCNAdapter< Function >, and ROOT::Minuit2::ParametricFunction.
|
inlinevirtual |
add interface to set dynamically a new error definition Re-implement this function if needed.
Reimplemented in ROOT::Minuit2::FCNAdapter< Function >, ROOT::Minuit2::FCNGradAdapter< Function >, and ROOT::Minuit2::FumiliFCNAdapter< Function >.
|
pure virtual |
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.
Implemented in ROOT::Minuit2::FCNAdapter< Function >, ROOT::Minuit2::FCNGradAdapter< Function >, ROOT::Minuit2::FumiliChi2FCN, ROOT::Minuit2::FumiliFCNAdapter< Function >, and ROOT::Minuit2::FumiliMaximumLikelihoodFCN.