Extension of the FCNBase for the Fumili method.
Fumili applies only to minimization problems used for fitting. The method is based on a linearization of the model function negleting second derivatives. User needs to provide the model function. In this cased the function to be minimized is the sum of the logarithms of the model function for the different measurements times -1.
Definition at line 46 of file FumiliMaximumLikelihoodFCN.h.
Public Member Functions | |
FumiliMaximumLikelihoodFCN () | |
virtual std::vector< double > | Elements (std::vector< double > const &par) const =0 |
Evaluates the model function for the different measurement points and the Parameter values supplied, calculates a figure-of-merit for each measurement and returns a vector containing the result of this evaluation. | |
virtual const std::vector< double > & | GetMeasurement (int Index) const =0 |
Accessor to the parameters of a given measurement. | |
virtual int | GetNumberOfMeasurements () const =0 |
Accessor to the number of measurements used for calculating the present figure of merit. | |
const ParametricFunction * | ModelFunction () const |
Returns the model function used for the data. | |
double | operator() (std::vector< double > const &par) const override |
Calculates the function for the maximum likelihood method. | |
void | SetModelFunction (const ParametricFunction &modelFCN) |
Sets the model function for the data (for example gaussian+linear for a peak) | |
double | Up () const override |
!!!!!!!!!!!! to be commented | |
Public Member Functions inherited from ROOT::Minuit2::FumiliFCNBase | |
FumiliFCNBase () | |
Default Constructor. | |
FumiliFCNBase (unsigned int npar) | |
Constructor which initializes the class with the function provided by the user for modeling the data. | |
~FumiliFCNBase () override | |
virtual unsigned int | Dimension () |
return number of function variable (parameters) , i.e. | |
virtual void | EvaluateAll (std::vector< double > const &par)=0 |
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p The result is cached inside and is return from the FumiliFCNBase::Value , FumiliFCNBase::Gradient and FumiliFCNBase::Hessian methods. | |
virtual const std::vector< double > & | Gradient () const |
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll method. | |
std::vector< double > | Gradient (std::vector< double > const &) const override |
bool | HasGradient () const override |
std::vector< double > | Hessian (std::vector< double > const &) const override |
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNBase::EvaluateAll method. | |
virtual double | Hessian (unsigned int row, unsigned int col) const |
virtual double | Value () const |
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll method. | |
Public Member Functions inherited from ROOT::Minuit2::FCNBase | |
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 > | GradientWithPrevResult (std::vector< double > const ¶meters, double *, double *, double *) const |
virtual GradientParameterSpace | gradParameterSpace () const |
virtual bool | HasG2 () const |
virtual bool | HasHessian () const |
virtual void | SetErrorDef (double) |
add interface to set dynamically a new error definition Re-implement this function if needed. | |
Public Member Functions inherited from ROOT::Minuit2::GenericFunction | |
virtual | ~GenericFunction () |
Private Attributes | |
const ParametricFunction * | fModelFunction |
Additional Inherited Members | |
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 | |
void | SetFCNValue (double value) |
#include <Minuit2/FumiliMaximumLikelihoodFCN.h>
|
inline |
Definition at line 49 of file FumiliMaximumLikelihoodFCN.h.
|
pure virtual |
Evaluates the model function for the different measurement points and the Parameter values supplied, calculates a figure-of-merit for each measurement and returns a vector containing the result of this evaluation.
par | vector of Parameter values to feed to the model function. |
Implemented in ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN.
|
pure virtual |
Accessor to the parameters of a given measurement.
For example in the case of a chi-square fit with a one-dimensional Gaussian, the Parameter characterizing the measurement will be the position. It is the Parameter that is passed to the model function.
Index | Index of the measueremnt the parameters of which to return |
Implemented in ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN.
|
pure virtual |
Accessor to the number of measurements used for calculating the present figure of merit.
Implemented in ROOT::Minuit2::FumiliStandardMaximumLikelihoodFCN.
|
inline |
Returns the model function used for the data.
Definition at line 69 of file FumiliMaximumLikelihoodFCN.h.
|
inlineoverridevirtual |
Calculates the function for the maximum likelihood method.
The user must implement in a class which inherits from FumiliChi2FCN the member function Elements() which will supply the Elements for the sum.
par | vector containing the Parameter values for the model function |
Implements ROOT::Minuit2::FCNBase.
Definition at line 127 of file FumiliMaximumLikelihoodFCN.h.
|
inline |
Sets the model function for the data (for example gaussian+linear for a peak)
modelFCN | a reference to the model function. |
Definition at line 59 of file FumiliMaximumLikelihoodFCN.h.
|
inlineoverridevirtual |
!!!!!!!!!!!! to be commented
Implements ROOT::Minuit2::FCNBase.
Definition at line 151 of file FumiliMaximumLikelihoodFCN.h.
|
private |
Definition at line 155 of file FumiliMaximumLikelihoodFCN.h.