Logo ROOT  
Reference Guide
ROOT::Minuit2::FCNGradAdapter< Function > Class Template Reference

template<class Function>
class ROOT::Minuit2::FCNGradAdapter< Function >

template wrapped class for adapting to FCNBase signature a IGradFunction

Author
Lorenzo Moneta

Definition at line 36 of file FCNGradAdapter.h.

Public Member Functions

 FCNGradAdapter (const Function &f, double up=1.)
 
 ~FCNGradAdapter ()
 
bool CheckGradient () const
 
std::vector< doubleGradient (const std::vector< double > &v) const
 
double operator() (const double *v) const
 
double operator() (const std::vector< double > &v) const
 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. More...
 
double Up () const
 Error definition of the function. More...
 
- Public Member Functions inherited from ROOT::Minuit2::FCNGradientBase
virtual ~FCNGradientBase ()
 
virtual bool CheckGradient () const
 
virtual std::vector< doubleGradient (const std::vector< double > &) const =0
 
- Public Member Functions inherited from ROOT::Minuit2::FCNBase
virtual ~FCNBase ()
 
virtual double ErrorDef () const
 Error definition of the function. More...
 
virtual double operator() (const std::vector< double > &x) const =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. More...
 
virtual void SetErrorDef (double)
 add interface to set dynamically a new error definition Re-implement this function if needed. More...
 
virtual double Up () const =0
 Error definition of the function. More...
 
- Public Member Functions inherited from ROOT::Minuit2::GenericFunction
virtual ~GenericFunction ()
 
virtual double operator() (const std::vector< double > &x) const =0
 Evaluates the function using the vector containing the input values. More...
 

Private Attributes

const FunctionfFunc
 
std::vector< doublefGrad
 
double fUp
 

#include <Minuit2/FCNGradAdapter.h>

Inheritance diagram for ROOT::Minuit2::FCNGradAdapter< Function >:
[legend]

Constructor & Destructor Documentation

◆ FCNGradAdapter()

template<class Function >
ROOT::Minuit2::FCNGradAdapter< Function >::FCNGradAdapter ( const Function f,
double  up = 1. 
)
inline

Definition at line 40 of file FCNGradAdapter.h.

◆ ~FCNGradAdapter()

Definition at line 47 of file FCNGradAdapter.h.

Member Function Documentation

◆ CheckGradient()

template<class Function >
bool ROOT::Minuit2::FCNGradAdapter< Function >::CheckGradient ( ) const
inlinevirtual

Reimplemented from ROOT::Minuit2::FCNGradientBase.

Definition at line 72 of file FCNGradAdapter.h.

◆ Gradient()

template<class Function >
std::vector< double > ROOT::Minuit2::FCNGradAdapter< Function >::Gradient ( const std::vector< double > &  v) const
inlinevirtual

Implements ROOT::Minuit2::FCNGradientBase.

Definition at line 59 of file FCNGradAdapter.h.

◆ operator()() [1/2]

template<class Function >
double ROOT::Minuit2::FCNGradAdapter< Function >::operator() ( const double v) const
inline

Definition at line 53 of file FCNGradAdapter.h.

◆ operator()() [2/2]

template<class Function >
double ROOT::Minuit2::FCNGradAdapter< Function >::operator() ( const std::vector< double > &  x) const
inlinevirtual

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
parfunction parameters as defined by the user.
Returns
the Value of the function.
See also
MnUserParameters
VariableMetricMinimizer
MnMigrad

Implements ROOT::Minuit2::FCNBase.

Definition at line 50 of file FCNGradAdapter.h.

◆ Up()

template<class Function >
double ROOT::Minuit2::FCNGradAdapter< Function >::Up ( ) 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.

Implements ROOT::Minuit2::FCNBase.

Definition at line 57 of file FCNGradAdapter.h.

Member Data Documentation

◆ fFunc

template<class Function >
const Function& ROOT::Minuit2::FCNGradAdapter< Function >::fFunc
private

Definition at line 75 of file FCNGradAdapter.h.

◆ fGrad

template<class Function >
std::vector<double> ROOT::Minuit2::FCNGradAdapter< Function >::fGrad
mutableprivate

Definition at line 77 of file FCNGradAdapter.h.

◆ fUp

template<class Function >
double ROOT::Minuit2::FCNGradAdapter< Function >::fUp
private

Definition at line 76 of file FCNGradAdapter.h.


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