10#ifndef ROOT_Minuit2_FumiliStandardChi2FCN
11#define ROOT_Minuit2_FumiliStandardChi2FCN
61 const std::vector<double> &pos,
const std::vector<double> &mvar)
65 assert(meas.size() == pos.size());
66 assert(meas.size() == mvar.size());
68 std::vector<double>
x(1);
69 unsigned int n = mvar.size();
73 for (
unsigned int i = 0; i <
n; ++i) {
102 const std::vector<std::vector<double>> &pos,
const std::vector<double> &mvar)
106 assert(meas.size() == pos.size());
107 assert(meas.size() == mvar.size());
111 unsigned int n = mvar.size();
113 for (
unsigned int i = 0; i <
n; ++i) {
141 std::vector<double>
Elements(
const std::vector<double> &par)
const override;
153 const std::vector<double> &
GetMeasurement(
int Index)
const override;
176 void EvaluateAll(
const std::vector<double> &par)
override;
Extension of the FCNBase for the Fumili method.
void SetModelFunction(const ParametricFunction &modelFCN)
Sets the model function for the data (for example gaussian+linear for a peak)
Class implementing the standard chi square function, which is the sum of the squares of the figures-o...
const std::vector< double > & GetMeasurement(int Index) const override
Accessor to the position of the measurement (x coordinate).
FumiliStandardChi2FCN(const ParametricFunction &modelFCN, const std::vector< double > &meas, const std::vector< double > &pos, const std::vector< double > &mvar)
Constructor which initializes chi square function for one-dimensional model function.
std::vector< double > fInvErrors
int GetNumberOfMeasurements() const override
Accessor to the number of measurements used for calculating the chi-square.
std::vector< std::vector< double > > fPositions
std::vector< double > fMeasurements
FumiliStandardChi2FCN(const ParametricFunction &modelFCN, const std::vector< double > &meas, const std::vector< std::vector< double > > &pos, const std::vector< double > &mvar)
Constructor which initializes the multi-dimensional model function.
~FumiliStandardChi2FCN() override
std::vector< double > Elements(const std::vector< double > &par) const override
Evaluates the model function for the different measurement points and the Parameter values supplied,...
void EvaluateAll(const std::vector< double > &par) override
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p ...
Function which has parameters.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...