13#ifndef ROOT_TFumiliMinimizer 
   14#define ROOT_TFumiliMinimizer 
   80   bool SetVariable(
unsigned int ivar, 
const std::string & 
name, 
double val, 
double step) 
override;
 
   83   bool SetLimitedVariable(
unsigned int ivar , 
const std::string & 
name , 
double val , 
double step , 
double , 
double ) 
override;
 
   93   bool SetFixedVariable(
unsigned int , 
const std::string & , 
double ) 
override;
 
  108   const double *  
X()
 const override { 
return &
fParams.front(); }
 
  114   unsigned int NCalls()
 const override { 
return 0; }
 
  118   unsigned int NDim()
 const override { 
return fDim; }
 
  134   double CovMatrix(
unsigned int i, 
unsigned int j)
 const override {
 
  142      if (
fCovar.size() == 0) 
return 0;
 
  153   static void Fcn( 
int &, 
double * , 
double & 
f, 
double * , 
int);
 
#define ClassDef(name, id)
 
FitMethodFunction class Interface for objective functions (like chi2 and likelihood used in the fit) ...
 
Documentation for the abstract class IBaseFunctionMultiDim.
 
Interface (abstract class) for multi-dimensional functions providing a gradient calculation.
 
Abstract Minimizer class, defining the interface for the various minimizer (like Minuit2,...
 
virtual bool SetLowerLimitedVariable(unsigned int ivar, const std::string &name, double val, double step, double lower)
set a new lower limit variable (override if minimizer supports them )
 
int fStatus
status of minimizer
 
virtual bool SetUpperLimitedVariable(unsigned int ivar, const std::string &name, double val, double step, double upper)
set a new upper limit variable (override if minimizer supports them )
 
TFumiliMinimizer class: minimizer implementation based on TFumili.
 
static ROOT::Math::FitMethodFunction * fgFunc
 
bool SetFixedVariable(unsigned int, const std::string &, double) override
set fixed variable (override if minimizer supports them )
 
std::vector< double > fParams
 
const double * MinGradient() const override
return pointer to gradient values at the minimum
 
bool SetLimitedVariable(unsigned int ivar, const std::string &name, double val, double step, double, double) override
set upper/lower limited variable (override if minimizer supports them )
 
static double EvaluateFCN(const double *x, double *g)
implementation of FCN for Fumili when user provided gradient is used
 
~TFumiliMinimizer() override
Destructor (no operations)
 
bool Minimize() override
method to perform the minimization
 
static ROOT::Math::FitMethodGradFunction * fgGradFunc
 
const double * Errors() const override
return errors at the minimum
 
TFumiliMinimizer & operator=(const TFumiliMinimizer &rhs)
Assignment operator.
 
unsigned int NDim() const override
this is <= Function().NDim() which is the total number of variables (free+ constrained ones)
 
static TFumili * fgFumili
 
bool ProvidesError() const override
minimizer provides error and error matrix
 
int CovMatrixStatus() const override
return status of covariance matrix using Minuit convention {0 not calculated 1 approximated 2 made po...
 
unsigned int NCalls() const override
number of function calls to reach the minimum
 
unsigned int NFree() const override
number of free variables (real dimension of the problem) this is <= Function().NDim() which is the to...
 
bool SetVariableValue(unsigned int ivar, double val) override
set the value of an existing variable
 
std::vector< double > fErrors
 
const double * X() const override
return pointer to X values at the minimum
 
double CovMatrix(unsigned int i, unsigned int j) const override
return covariance matrices elements if the variable is fixed the matrix is zero The ordering of the v...
 
std::vector< double > fCovar
 
void SetFunction(const ROOT::Math::IMultiGenFunction &func) override
set the function to minimize
 
bool SetVariable(unsigned int ivar, const std::string &name, double val, double step) override
set free variable
 
double Edm() const override
return expected distance reached from the minimum
 
static void Fcn(int &, double *, double &f, double *, int)
implementation of FCN for Fumili
 
double MinValue() const override
return minimum function value