Interface (abstract class) defining the function to be minimized, which has to be implemented by the user.
Public Member Functions  
~FCNBase () override  
virtual double  ErrorDef () const 
Error definition of the function.  
double  operator() (const std::vector< double > &v) const override=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.  
virtual void  SetErrorDef (double) 
add interface to set dynamically a new error definition Reimplement this function if needed.  
virtual double  Up () const =0 
Error definition of the function.  
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.  
#include <Minuit2/FCNBase.h>

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 2sigma errors for chisquared fits, it becomes 4, as Chi2(x+n*sigma) = Chi2(x) + n*n.
Comment a little bit better with links!!!!!!!!!!!!!!!!!

overridepure virtual 
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.
v  function parameters as defined by the user. 
Implements ROOT::Minuit2::GenericFunction.
Implemented in ROOT::Minuit2::FumiliChi2FCN, ROOT::Minuit2::FumiliMaximumLikelihoodFCN, ROOT::Minuit2::FCNAdapter< Function >, ROOT::Minuit2::FCNGradAdapter< Function >, ROOT::Minuit2::FumiliFCNAdapter< Function >, and ROOT::Minuit2::ParametricFunction.

inlinevirtual 
add interface to set dynamically a new error definition Reimplement this function if needed.
Reimplemented in ROOT::Minuit2::FCNAdapter< Function >, ROOT::Minuit2::FCNGradAdapter< Function >, and ROOT::Minuit2::FumiliFCNAdapter< Function >.

pure virtual 
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 2sigma errors for chisquared fits, it becomes 4, as Chi2(x+n*sigma) = Chi2(x) + n*n.
Implemented in ROOT::Minuit2::FCNAdapter< Function >, ROOT::Minuit2::FCNGradAdapter< Function >, ROOT::Minuit2::FumiliChi2FCN, ROOT::Minuit2::FumiliFCNAdapter< Function >, and ROOT::Minuit2::FumiliMaximumLikelihoodFCN.