Performs a linear regression of data. More...
#include <SimpleFits.h>
Public Types | |
using | FitParameters_t = std::array< Data_t, NParams > |
type of set of fit parameters More... | |
using | FitMatrix_t = std::array< Data_t, sqr(NParams)> |
using | Data_t = typename Base_t::Data_t |
type of the data More... | |
Public Types inherited from lar::util::details::SimplePolyFitterBase< T, 1U > | |
using | Data_t = typename Base_t::Data_t |
type of the data More... | |
using | FitParameters_t = typename Interface_t::FitParameters_t |
type of set of fit parameters More... | |
using | FitMatrix_t = typename Interface_t::FitMatrix_t |
type of matrix for covariance (a std::array) More... | |
Public Types inherited from lar::util::details::SimpleFitterInterface< T, D+1 > | |
using | Data_t = T |
type of the data More... | |
using | MatrixOps = FastMatrixOperations< Data_t, NParams > |
using | FitParameters_t = std::array< Data_t, NParams > |
type of set of fit parameters More... | |
using | FitMatrix_t = typename MatrixOps::Matrix_t |
type of matrix for covariance (a std::array) More... | |
Public Types inherited from lar::util::details::SimplePolyFitterDataBase< T, D > | |
using | Data_t = typename Collector_t::Data_t |
type of the data More... | |
using | Measurement_t = typename Collector_t::Measurement_t |
type of measurement without uncertainty More... | |
using | MeasurementAndUncertainty_t = typename Collector_t::MeasurementAndUncertainty_t |
type of measurement with uncertainty More... | |
Public Member Functions | |
Data_t | Intercept () const |
Returns the intercept of the fit. More... | |
Data_t | Slope () const |
Returns the slope of the fit. More... | |
Data_t | InterceptError () const |
Returns the error on intercept of the fit. More... | |
Data_t | SlopeError () const |
Returns the error in slope of the fit. More... | |
Data_t | InterceptSlopeCovariance () const |
Returns the covariance between intercept and slope of the fit. More... | |
virtual Data_t | ChiSquare () const override |
Returns the of the fit. More... | |
Public Member Functions inherited from lar::util::details::SimplePolyFitterBase< T, 1U > | |
virtual bool | isValid () const override |
Returns if the fit has valid results. More... | |
bool | FillResults (FitParameters_t ¶ms, FitMatrix_t &Xmat, Data_t &det, FitMatrix_t &Smat) const override |
Fills the specified parameters. More... | |
bool | FillResults (FitParameters_t ¶ms, FitParameters_t ¶merrors, FitMatrix_t &Xmat, Data_t &det, FitMatrix_t &Smat) const override |
Fills the specified parameters. More... | |
bool | FillResults (FitParameters_t ¶ms, FitParameters_t ¶merrors) const override |
Fills the specified parameters. More... | |
virtual Data_t | Evaluate (Data_t x) const override |
Evaluates the fitted function at the specified point. More... | |
virtual FitParameters_t | FitParameters () const override |
Computes and returns all the parameters of the fit result. More... | |
virtual FitParameters_t | FitParameterErrors () const override |
Computes and returns all the parameter errors of the fit result. More... | |
virtual FitMatrix_t | FitParameterCovariance () const override |
Computes and returns all the covariance matrix of the fit result. More... | |
virtual Data_t | FitParameter (unsigned int n) const override |
Returns the parameter n of the fit result. More... | |
virtual Data_t | FitParameterError (unsigned int n) const override |
Returns the error on parameter n of the fit result. More... | |
virtual int | NDF () const override |
Returns the degrees of freedom in the determination of the fit. More... | |
Public Member Functions inherited from lar::util::details::SimpleFitterInterface< T, D+1 > | |
virtual | ~SimpleFitterInterface ()=default |
Virtual destructor: compiler's default. More... | |
virtual bool | FillResults (FitParameters_t ¶ms, FitMatrix_t &Xmat, Data_t &det, FitMatrix_t &Smat) const =0 |
Fills the specified parameters. More... | |
virtual bool | FillResults (FitParameters_t ¶ms, FitParameters_t ¶merrors, FitMatrix_t &Xmat, Data_t &det, FitMatrix_t &Smat) const =0 |
Fills the specified parameters. More... | |
virtual Data_t | Evaluate (Data_t x) const =0 |
Evaluates the fitted function at the specified point. More... | |
Data_t | operator() (Data_t x) const |
Evaluates the fitted function; alias of Evaluate() More... | |
Public Member Functions inherited from lar::util::details::SimplePolyFitterDataBase< T, D > | |
void | clear () |
Clears all the statistics. More... | |
template<typename Stream > | |
void | PrintStats (Stream &out) const |
Prints the collected statistics into a stream. More... | |
bool | add (Data_t x, Data_t y, Data_t sy=Data_t(1.0)) |
bool | add (Measurement_t value, Data_t sy=Data_t(1.0)) |
bool | add (MeasurementAndUncertainty_t value) |
template<typename Iter > | |
void | add_without_uncertainty (Iter begin, Iter end) |
template<typename Iter , typename Pred > | |
void | add_without_uncertainty (Iter begin, Iter end, Pred extractor) |
template<typename Cont , typename Pred > | |
void | add_without_uncertainty (Cont cont, Pred extractor) |
template<typename Cont > | |
void | add_without_uncertainty (Cont cont) |
template<typename VIter , typename UIter , typename VPred , typename UPred = identity> | |
unsigned int | add_with_uncertainty (VIter begin_value, VIter end_value, UIter begin_uncertainty, VPred value_extractor, UPred uncertainty_extractor=UPred()) |
template<typename Iter > | |
unsigned int | add_with_uncertainty (Iter begin, Iter end) |
template<typename Cont > | |
unsigned int | add_with_uncertainty (Cont cont) |
int | N () const |
Data_t | AverageUncertainty () const |
Protected Member Functions | |
Data_t | I () const |
Aliases. More... | |
Data_t | X () const |
Data_t | X2 () const |
Data_t | Y () const |
Data_t | XY () const |
Data_t | Y2 () const |
Protected Member Functions inherited from lar::util::details::SimplePolyFitterBase< T, 1U > | |
virtual FitParameters_t | FitParameterErrors (FitMatrix_t const &Smat) const |
Computes and returns all the parameter errors of the fit result. More... | |
virtual FitMatrix_t | MakeMatrixX () const |
Fills and returns the matrix of x^n sum coefficients ( { x^(i+j) } ) More... | |
virtual FitParameters_t | MakeMatrixY () const |
Fills and returns the matrix (vector) of x^n y sum coefficients. More... | |
virtual FitParameters_t | FitParameters (FitMatrix_t const &Xmat) const |
Returns the fitted parameters using the provided information. More... | |
virtual FitParameters_t | FitParameters (FitMatrix_t const &Smat, Data_t) const |
virtual Data_t | Param (unsigned int n, FitMatrix_t const &Xmat) const |
Computes a single fit parameter using the given information. More... | |
virtual Data_t | Param (unsigned int n, FitMatrix_t const &Xmat, Data_t detXmat) const |
Protected Member Functions inherited from lar::util::details::SimpleFitterInterface< T, D+1 > | |
virtual Data_t | Determinant (FitMatrix_t const &mat) const |
Computes the determinant of a matrix. More... | |
virtual FitMatrix_t | InvertMatrix (FitMatrix_t const &mat, Data_t det) const |
Computes the inverse of a matrix (using provided determinant) More... | |
virtual FitMatrix_t | InvertMatrix (FitMatrix_t const &mat) const |
Computes the inverse of a matrix. More... | |
virtual FitParameters_t | MatrixProduct (FitMatrix_t const &mat, FitParameters_t const &vec) const |
Computes the product of a FitMatrix_t and a FitParameters_t. More... | |
Protected Member Functions inherited from lar::util::details::SimplePolyFitterDataBase< T, D > | |
Data_t | XN (unsigned int n) const |
Returns the weighted sum of x^n. More... | |
Data_t | XNY (unsigned int n) const |
Returns the weighted sum of x^n y. More... | |
Private Types | |
using | Base_t = details::SimplePolyFitterBase< T, 1U > |
Additional Inherited Members | |
Static Public Member Functions inherited from lar::util::details::SimplePolyFitterBase< T, 1U > | |
static FitParameters_t | ExtractParameterErrors (FitMatrix_t const &Smat) |
Extracts parameter errors from diagonal of the covarriance matrix. More... | |
Static Public Member Functions inherited from lar::util::details::SimpleFitterInterface< T, D+1 > | |
static constexpr Data_t | sqr (Data_t v) |
Returns the square of the specified data value. More... | |
static constexpr Data_t | cube (Data_t v) |
Returns the cube of the specified data value. More... | |
Static Public Member Functions inherited from lar::util::details::SimplePolyFitterDataBase< T, D > | |
template<typename V > | |
static constexpr V | sqr (V const &v) |
Returns the square of the specified value. More... | |
Static Public Attributes inherited from lar::util::details::SimplePolyFitterBase< T, 1U > | |
static constexpr unsigned int | Degree |
Degree of the fit. More... | |
static constexpr unsigned int | NParams |
Number of parameters in the fit. More... | |
Static Public Attributes inherited from lar::util::details::SimpleFitterInterface< T, D+1 > | |
static constexpr unsigned int | NParams |
Number of parameters in the fit. More... | |
Static Public Attributes inherited from lar::util::details::SimplePolyFitterDataBase< T, D > | |
static constexpr unsigned int | Degree = Collector_t::Degree |
Degree of the fit. More... | |
Protected Attributes inherited from lar::util::details::SimplePolyFitterDataBase< T, D > | |
Collector_t | stats |
statistics collected from fit data input More... | |
Performs a linear regression of data.
T | type of the quantities |
W | type of the weight (as T by default) |
The linear regression connects measurements with a parameter not affected by uncertainty. The returned parameters describe a straight line obtained by minimization of
This saves having to link to ROOT for the simplest cases.
This simple linear fitter does not store any result: each time a result is requested, it is computed anew. In particular that is true also for ChiSquare(), that requires the full parameters set and therefore reruns the full fit (FitParameters()) and for the covariance matrix of the parameters.
Definition at line 849 of file SimpleFits.h.
|
private |
Definition at line 850 of file SimpleFits.h.
using lar::util::details::SimplePolyFitterBase< T, D >::Data_t = typename Base_t::Data_t |
type of the data
Definition at line 653 of file SimpleFits.h.
using lar::util::LinearFit< T >::FitMatrix_t = std::array<Data_t, sqr(NParams)> |
Definition at line 867 of file SimpleFits.h.
using lar::util::LinearFit< T >::FitParameters_t = std::array<Data_t, NParams> |
type of set of fit parameters
Definition at line 866 of file SimpleFits.h.
|
overridevirtual |
Returns the of the fit.
Reimplemented from lar::util::details::SimplePolyFitterBase< T, 1U >.
Definition at line 1756 of file SimpleFits.h.
|
inlineprotected |
Aliases.
Definition at line 920 of file SimpleFits.h.
|
inline |
Returns the intercept of the fit.
std::range_error | if there is no unique solution |
Definition at line 877 of file SimpleFits.h.
|
inline |
Returns the error on intercept of the fit.
std::range_error | if there is no unique solution |
Definition at line 891 of file SimpleFits.h.
|
inline |
Returns the covariance between intercept and slope of the fit.
std::range_error | if there is no unique solution |
Definition at line 905 of file SimpleFits.h.
|
inline |
Returns the slope of the fit.
std::range_error | if there is no unique solution |
Definition at line 884 of file SimpleFits.h.
|
inline |
Returns the error in slope of the fit.
std::range_error | if there is no unique solution |
Definition at line 898 of file SimpleFits.h.
|
inlineprotected |
Definition at line 921 of file SimpleFits.h.
|
inlineprotected |
Definition at line 922 of file SimpleFits.h.
|
inlineprotected |
Definition at line 924 of file SimpleFits.h.
|
inlineprotected |
Definition at line 923 of file SimpleFits.h.
|
inlineprotected |
Definition at line 925 of file SimpleFits.h.