ROOT   Reference Guide
ROOT::Minuit2::FumiliFCNAdapter< Function > Class Template Reference
template<class Function>

template wrapped class for adapting to FumiliFCNBase signature

Definition at line 41 of file FumiliFCNAdapter.h.

## Public Types

typedef Function::Type_t Type_t

## Public Member Functions

FumiliFCNAdapter (const Function &f, unsigned int ndim, double up=1.)

void EvaluateAll (const std::vector< double > &v)
evaluate gradient hessian and function value needed by fumili More...

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...

void SetErrorDef (double up)
add interface to set dynamically a new error definition Re-implement this function if needed. More...

double Up () const
Error definition of the function. More...

Public Member Functions inherited from ROOT::Minuit2::FumiliFCNBase
FumiliFCNBase ()
Default Constructor. More...

FumiliFCNBase (unsigned int npar)
Constructor which initializes the class with the function provided by the user for modeling the data. More...

virtual ~FumiliFCNBase ()

virtual unsigned int Dimension ()
return number of function variable (parameters) , i.e. More...

virtual void EvaluateAll (const std::vector< double > &par)=0
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p The resul is cached inside and is return from the FumiliFCNBase::Value , FumiliFCNBase::Gradient and FumiliFCNBase::Hessian methods. More...

virtual const std::vector< double > & Gradient () const
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method. More...

virtual double Hessian (unsigned int row, unsigned int col) const
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNBase::EvaluateAll method. More...

virtual double Value () const
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method. More...

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

double fUp

Protected Member Functions inherited from ROOT::Minuit2::FumiliFCNBase
std::vector< double > & Gradient ()

std::vector< double > & Hessian ()

virtual void InitAndReset (unsigned int npar)
initialize and reset values of gradien and Hessian More...

void SetFCNValue (double value)

#include <Minuit2/FumiliFCNAdapter.h>

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

## ◆ Type_t

template<class Function >

Definition at line 46 of file FumiliFCNAdapter.h.

## Constructor & Destructor Documentation

template<class Function >
 ROOT::Minuit2::FumiliFCNAdapter< Function >::FumiliFCNAdapter ( const Function & f, unsigned int ndim, double up = 1. )
inline

Definition at line 48 of file FumiliFCNAdapter.h.

template<class Function >
inline

Definition at line 54 of file FumiliFCNAdapter.h.

## ◆ EvaluateAll()

template<class Function >
 void ROOT::Minuit2::FumiliFCNAdapter< Function >::EvaluateAll ( const std::vector< double > & v )
virtual

evaluate gradient hessian and function value needed by fumili

Implements ROOT::Minuit2::FumiliFCNBase.

Definition at line 89 of file FumiliFCNAdapter.h.

## ◆ operator()() [1/2]

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

Definition at line 60 of file FumiliFCNAdapter.h.

## ◆ operator()() [2/2]

template<class Function >
 double ROOT::Minuit2::FumiliFCNAdapter< 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
 par function parameters as defined by the user.
Returns
the Value of the function.
MnUserParameters
VariableMetricMinimizer

Implements ROOT::Minuit2::FCNBase.

Definition at line 57 of file FumiliFCNAdapter.h.

## ◆ SetErrorDef()

template<class Function >
 void ROOT::Minuit2::FumiliFCNAdapter< Function >::SetErrorDef ( double )
inlinevirtual

add interface to set dynamically a new error definition Re-implement this function if needed.

Reimplemented from ROOT::Minuit2::FCNBase.

Definition at line 65 of file FumiliFCNAdapter.h.

## ◆ Up()

template<class Function >
 double ROOT::Minuit2::FumiliFCNAdapter< 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 63 of file FumiliFCNAdapter.h.

## ◆ fFunc

template<class Function >
private

Definition at line 83 of file FumiliFCNAdapter.h.

## ◆ fUp

template<class Function >