Function which has parameters.
For example, one could define a one-dimensional Gaussian, by considering x as an input coordinate for the evaluation of the function, and the mean and the square root of the variance as parameters.
AS OF NOW PARAMETRICFUNCTION INHERITS FROM FCNBASE INSTEAD OF GENERICFUNCTION. THIS IS ONLY BECAUSE NUMERICAL2PGRADIENTCALCULATOR NEEDS AN FCNBASE OBJECT AND WILL BE CHANGED!!!!!!!!!!!!!!!!
Definition at line 43 of file ParametricFunction.h.
|
| | ParametricFunction (int nparams) |
| | Constructor which initializes the ParametricFunction by setting the number of parameters.
|
| | ParametricFunction (std::span< const double > params) |
| | Constructor which initializes the ParametricFunction with the parameters given as input.
|
| virtual double | ErrorDef () const |
| | Error definition of the function.
|
| virtual std::vector< double > | G2 (std::vector< double > const &) const |
| | Return the diagonal elements of the Hessian (second derivatives).
|
| virtual std::vector< double > | GetGradient (std::vector< double > const &x) const |
| | Member function returning the Gradient of the function with respect to its variables (but without including gradients with respect to its internal parameters).
|
| virtual const std::vector< double > & | GetParameters () const |
| | Accessor for the state of the parameters.
|
| virtual std::vector< double > | Gradient (std::vector< double > const &) const |
| | Return the gradient vector of the function at the given parameter point.
|
| virtual std::vector< double > | GradientWithPrevResult (std::vector< double > const ¶meters, double *, double *, double *) const |
| virtual GradientParameterSpace | gradParameterSpace () const |
| virtual bool | HasG2 () const |
| virtual bool | HasGradient () const |
| virtual bool | HasHessian () const |
| virtual std::vector< double > | Hessian (std::vector< double > const &) const |
| | Return the full Hessian matrix of the function.
|
| virtual unsigned int | NumberOfParameters () const |
| | Accessor for the number of parameters.
|
| double | operator() (std::vector< double > const &x) const override=0 |
| | Evaluates the function with the given coordinates.
|
| virtual double | operator() (std::vector< double > const &x, std::vector< double > const ¶ms) const |
| | Evaluates the function with the given coordinates and Parameter values.
|
| virtual void | SetErrorDef (double) |
| | add interface to set dynamically a new error definition Re-implement this function if needed.
|
| virtual void | SetParameters (std::vector< double > const ¶ms) const |
| | Sets the parameters of the ParametricFunction.
|
| virtual double | Up () const =0 |
| | Error definition of the function.
|
| virtual double ROOT::Minuit2::FCNBase::ErrorDef |
( |
| ) |
const |
|
inlinevirtualinherited |
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.
Comment a little bit better with links!!!!!!!!!!!!!!!!!
Definition at line 70 of file FCNBase.h.
| virtual double ROOT::Minuit2::ParametricFunction::operator() |
( |
std::vector< double > const & | x, |
|
|
std::vector< double > const & | params ) const |
|
inlinevirtual |
Evaluates the function with the given coordinates and Parameter values.
This member function is useful to implement when speed is an issue as it is faster to call only one function instead of two (SetParameters and operator()). The default implementation, provided for convenience, does the latter.
- Parameters
-
| x | vector containing the input coordinates |
| params | vector containing the Parameter values |
- Returns
- the result of the function evaluation with the given coordinates and parameters
Definition at line 135 of file ParametricFunction.h.
| virtual double ROOT::Minuit2::FCNBase::Up |
( |
| ) |
const |
|
pure virtualinherited |