10#ifndef ROOT_Minuit2_FumiliStandardChi2FCN
11#define ROOT_Minuit2_FumiliStandardChi2FCN
64 std::span<const double> pos, std::span<const double> mvar)
68 assert(meas.size() == pos.size());
69 assert(meas.size() == mvar.size());
71 std::vector<double>
x(1);
72 unsigned int n = mvar.size();
76 for (
unsigned int i = 0; i <
n; ++i) {
105 std::span<
const std::vector<double>> pos, std::span<const double> mvar)
109 assert(meas.size() == pos.size());
110 assert(meas.size() == mvar.size());
114 unsigned int n = mvar.size();
116 for (
unsigned int i = 0; i <
n; ++i) {
142 std::vector<double>
Elements(std::vector<double>
const &par)
const override;
154 const std::vector<double> &
GetMeasurement(
int Index)
const override;
177 void EvaluateAll(std::vector<double>
const &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, std::span< const double > meas, std::span< const std::vector< double > > pos, std::span< const double > mvar)
Constructor which initializes the multi-dimensional model function.
std::vector< double > Elements(std::vector< double > const &par) const override
Evaluates the model function for the different measurement points and the Parameter values supplied,...
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
FumiliStandardChi2FCN(const ParametricFunction &modelFCN, std::span< const double > meas, std::span< const double > pos, std::span< const double > mvar)
Constructor which initializes chi square function for one-dimensional model function.
std::vector< double > fMeasurements
void EvaluateAll(std::vector< double > const &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...