Template Class LeastSqFitter1d

Class Documentation

template<class FittingFunc>
class LeastSqFitter1d

Fit an lsst::afw::math::Function1 object to a set of data points in one dimension.

The class is templated over the kind of object to fit.

Input is a list of x ordinates for a set of points, the y coordinate, and the uncertainties, s. order is order of the polynomial to fit (e.g if the templated function is lsst::afw::math::PolynomialFunction1, then order=3 => fit a function of the form \(ax^2+bx+c\)

See

LeastSqFitter1d

Template Parameters
Parameters
  • x: Ordinate of points to fit

  • y: Co-ordinate of pionts to fit

  • s: 1 \(\sigma\) uncertainties in z

  • order: Polynomial order to fit

Public Functions

LeastSqFitter1d(const std::vector<double> &x, const std::vector<double> &y, const std::vector<double> &s, int order)

Fit a 1d polynomial to a set of data points z(x, y)

Template Parameters
Parameters
  • x: vector of x positions of data

  • y: vector of y positions of data

  • s: Vector of measured uncertainties in the values of z

  • order: Order of 2d function to fit

Eigen::VectorXd getParams()

Return the best fit parameters as an Eigen::Matrix.

Eigen::VectorXd getErrors()

Return the 1 sigma uncertainties in the best fit parameters as an Eigen::Matrix.

FittingFunc getBestFitFunction()

Return the best fit polynomial as a lsst::afw::math::Function1 object.

double valueAt(double x)

Calculate the value of the function at a given point.

std::vector<double> residuals()

Return a vector of residuals of the fit (i.e the difference between the input y values, and the value of the fitting function at that point.

double getChiSq()

Return a measure of the goodness of fit.

\[ \chi_r^2 = \sum \left( \frac{y_i - f(x_i)}{s} \right)^2 \]
.

double getReducedChiSq()

Return a measure of the goodness of fit.

\[ \chi_r^2 = \sum \left( \frac{y_i - f(x_i)}{s} \right)^2 \div (N-p) \]
Where \( N \) is the number of data points, and \( p \) is the number of parameters in the fit.