Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Minuit2::FCNBase Class Referenceabstract

Interface (abstract class) defining the function to be minimized, which has to be implemented by the user.

Author
Fred James and Matthias Winkler; modified by Andras Zsenei and Lorenzo Moneta

Definition at line 51 of file FCNBase.h.

Public Member Functions

virtual double ErrorDef () const
 Error definition of the function.
 
virtual std::vector< doubleG2 (std::vector< double > const &) const
 return second derivatives (diagonal of the Hessian matrix)
 
virtual std::vector< doubleGradient (std::vector< double > const &) const
 
virtual std::vector< doubleGradientWithPrevResult (std::vector< double > const &parameters, double *, double *, double *) const
 
virtual GradientParameterSpace gradParameterSpace () const
 
virtual bool HasG2 () const
 
virtual bool HasGradient () const
 
virtual bool HasHessian () const
 
virtual std::vector< doubleHessian (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>

Inheritance diagram for ROOT::Minuit2::FCNBase:
[legend]

Member Function Documentation

◆ ErrorDef()

virtual double ROOT::Minuit2::FCNBase::ErrorDef ( ) const
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!!!!!!!!!!!!!!!!!

Definition at line 91 of file FCNBase.h.

◆ G2()

virtual std::vector< double > ROOT::Minuit2::FCNBase::G2 ( std::vector< double > const &  ) const
inlinevirtual

return second derivatives (diagonal of the Hessian matrix)

Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 127 of file FCNBase.h.

◆ Gradient()

virtual std::vector< double > ROOT::Minuit2::FCNBase::Gradient ( std::vector< double > const &  ) const
inlinevirtual

Reimplemented in ROOT::Minuit2::FumiliFCNBase, and ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 115 of file FCNBase.h.

◆ GradientWithPrevResult()

virtual std::vector< double > ROOT::Minuit2::FCNBase::GradientWithPrevResult ( std::vector< double > const &  parameters,
double ,
double ,
double  
) const
inlinevirtual

Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 116 of file FCNBase.h.

◆ gradParameterSpace()

virtual GradientParameterSpace ROOT::Minuit2::FCNBase::gradParameterSpace ( ) const
inlinevirtual

Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 122 of file FCNBase.h.

◆ HasG2()

virtual bool ROOT::Minuit2::FCNBase::HasG2 ( ) const
inlinevirtual

Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 134 of file FCNBase.h.

◆ HasGradient()

virtual bool ROOT::Minuit2::FCNBase::HasGradient ( ) const
inlinevirtual

◆ HasHessian()

virtual bool ROOT::Minuit2::FCNBase::HasHessian ( ) const
inlinevirtual

Reimplemented in ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 132 of file FCNBase.h.

◆ Hessian()

virtual std::vector< double > ROOT::Minuit2::FCNBase::Hessian ( std::vector< double > const &  ) const
inlinevirtual

return Hessian

Reimplemented in ROOT::Minuit2::FumiliFCNBase, and ROOT::Minuit2::FCNGradAdapter< Function >.

Definition at line 130 of file FCNBase.h.

◆ operator()()

double ROOT::Minuit2::FCNBase::operator() ( std::vector< double > const &  v) const
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.

Parameters
vfunction parameters as defined by the user.
Returns
the Value of the function.
See also
MnUserParameters
VariableMetricMinimizer
MnMigrad

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.

◆ SetErrorDef()

virtual void ROOT::Minuit2::FCNBase::SetErrorDef ( double  )
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 >.

Definition at line 111 of file FCNBase.h.

◆ Up()

virtual double ROOT::Minuit2::FCNBase::Up ( ) const
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.

Libraries for ROOT::Minuit2::FCNBase:

The documentation for this class was generated from the following file: