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. The figure-of-merit describing the difference between the model function and the actual measurements in the case of chi-square is the sum of the squares of the figures-of-merit calculated for each measurement point, which is implemented by the operator() member function. The user still has to implement the calculation of the individual figures-of-merit (which in the majority of the cases will be the (measured Value - the Value predicted by the model)/standard deviation implemented by the FumiliStandardChi2FCN; however this form can become more complicated (see for an example Numerical Recipes' section on "Straight-Line Data with Errors in Both Coordinates")).
Definition at line 49 of file FumiliChi2FCN.h.
Public Member Functions | |
| FumiliChi2FCN () | |
| ~FumiliChi2FCN () override | |
| virtual std::vector< double > | Elements (const std::vector< double > &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() (const std::vector< double > &par) const override | 
| Calculates the sum of Elements squared, ie the chi-square.   | |
| 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 (const std::vector< double > &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 (const std::vector< double > &) const override | 
| std::vector< double > | Hessian (const std::vector< double > &) 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::FCNGradientBase | |
| ~FCNGradientBase () override | |
| virtual bool | CheckGradient () const | 
| virtual std::vector< double > | G2 (const std::vector< double > &) const | 
| return second derivatives (diagonal of the Hessian matrix)   | |
| virtual std::vector< double > | GradientWithPrevResult (const std::vector< double > ¶meters, double *, double *, double *) const | 
| virtual GradientParameterSpace | gradParameterSpace () const | 
| virtual bool | HasG2 () const | 
| virtual bool | HasHessian () const | 
  Public Member Functions inherited from ROOT::Minuit2::FCNBase | |
| ~FCNBase () override | |
| virtual double | ErrorDef () const | 
| Error definition of the function.   | |
| 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 = nullptr | 
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/FumiliChi2FCN.h>
      
  | 
  inline | 
Definition at line 52 of file FumiliChi2FCN.h.
      
  | 
  inlineoverride | 
Definition at line 54 of file FumiliChi2FCN.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::FumiliStandardChi2FCN.
      
  | 
  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::FumiliStandardChi2FCN.
Accessor to the number of measurements used for calculating the present figure of merit.
Implemented in ROOT::Minuit2::FumiliStandardChi2FCN.
      
  | 
  inline | 
Returns the model function used for the data.
Definition at line 74 of file FumiliChi2FCN.h.
      
  | 
  inlineoverridevirtual | 
Calculates the sum of Elements squared, ie the chi-square.
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 132 of file FumiliChi2FCN.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 64 of file FumiliChi2FCN.h.
      
  | 
  inlineoverridevirtual | 
!!!!!!!!!!!! to be commented
Implements ROOT::Minuit2::FCNBase.
Definition at line 151 of file FumiliChi2FCN.h.
      
  | 
  private | 
Definition at line 155 of file FumiliChi2FCN.h.