Diana Software
Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
QFitter Class Reference

fitter More...

Inheritance diagram for QFitter:
QMathFunction

Public Member Functions

 QFitter (QRoutinePointer funcpointer, unsigned int NParameters, double LowBound, double UpBound)
 constructor More...
 
 QFitter (const QMathFunction &func)
 copy constructor More...
 
 ~QFitter ()
 destructor More...
 
void SetParameter (unsigned int p, double val, double min, double max)
 set parameter and its range More...
 
void SetParameter (unsigned int p, const char *name, double val, double min, double max)
 set parameter, its range and name More...
 
void FixParameter (unsigned int p, double val)
 fix parameter More...
 
void FixParameter (unsigned int p, const char *name, double val)
 fix parameter and its name More...
 
void Print ()
 print parameters More...
 
void PrintResult ()
 print fitted parameters More...
 
QError Fit (const QVector &data, double minfit, double maxfit, double binsize)
 fit QVector between minfit and max fits More...
 
QError Fit (const QVector &data, double error, double minfit, double maxfit, double binsize)
 fit QVector between minfit and max fits assuming the same error for all points More...
 
QError Fit (const QVector &data, const QVector &errors, double minfit, double maxfit, double binsize)
 fit QVector between minfit and max fits assuming errors on points More...
 
QMathFunction GetFittedFunction ()
 Get fitted function. More...
 
QVectorGetResiduals ()
 Get residuals. More...
 
double GetChiSquare ()
 Get chi square over NDOF. More...
 
void SetTF1 (TF1 &f1)
 set parameters and ranges from TF1 More...
 
- Public Member Functions inherited from QMathFunction
 QMathFunction (QRoutinePointer funcpointer, unsigned int NParameters, double LowBound, double UpBound)
 constructor More...
 
 QMathFunction (const QMathFunction &func)
 copy constructor More...
 
virtual ~QMathFunction ()
 destructor More...
 
const QMathFunctionoperator= (const QMathFunction &func)
 operator= More...
 
void SetParameter (unsigned int p, double val)
 set parameter value More...
 
void SetParameter (unsigned int p, const char *name, double val)
 set parameter value and name More...
 
void SetParameters (const double *param)
 set all parameters from an array that has to be well sized More...
 
double GetParameter (unsigned int p) const
 get parameter More...
 
const double * GetParameters () const
 pointer to array of parameters More...
 
size_t GetNParameters () const
 get number of parameters More...
 
double Eval (double x) const
 evaluate function More...
 
double Eval (double x, double *params) const
 evaluate function with external parameters More...
 
void SetVerbose (bool verbose=true)
 set verbose More...
 
QError GetMinimum (double &min, double &minpos, double epsabs=0.001, double epsrel=0.0)
 get function minimum More...
 
QError GetMaximum (double &max, double &maxpos, double epsabs=0.001, double epsrel=0.0)
 get function maximum More...
 

Static Private Member Functions

static double RootRoutine (double *x, double *params)
 function intercace used to fit with root More...
 

Private Attributes

double * fParMin
 
double * fParMax
 
double * fParErr
 
bool * fIsFixed
 
QVector fResiduals
 
QVector fErrors
 
double fChiSquare
 

Static Private Attributes

static const QMathFunctionfFunctionP = NULL
 pointer to this fitting function More...
 

Additional Inherited Members

- Public Types inherited from QMathFunction
typedef double(* QRoutinePointer) (double, double *params)
 pointer to function More...
 
- Protected Member Functions inherited from QMathFunction
gsl_function GetGSLFunction ()
 return a gsl function More...
 
void SetParName (unsigned int p, const char *name)
 set parameter name More...
 
- Protected Attributes inherited from QMathFunction
QRoutinePointer fRoutine
 pointer to the underlying static function More...
 
size_t fNParameters
 number of parameters More...
 
double * fParameters
 array of parameters More...
 
std::vector< const char * > fParNames
 parameters names More...
 
double fLowBound
 low function bound More...
 
double fUpBound
 high function bound More...
 
bool fVerbose
 verbose More...
 

Detailed Description

fitter

Author
Marco Vignati

Definition at line 18 of file QFitter.hh.

Constructor & Destructor Documentation

◆ QFitter() [1/2]

QFitter::QFitter ( QRoutinePointer  funcpointer,
unsigned int  NParameters,
double  LowBound,
double  UpBound 
)

constructor

Definition at line 12 of file QFitter.cc.

References fFunctionP, fIsFixed, QMathFunction::fNParameters, fParErr, fParMax, fParMin, and QMathFunction::fVerbose.

◆ QFitter() [2/2]

QFitter::QFitter ( const QMathFunction func)

copy constructor

Definition at line 22 of file QFitter.cc.

References fFunctionP, fIsFixed, QMathFunction::fNParameters, fParErr, fParMax, fParMin, and QMathFunction::fVerbose.

◆ ~QFitter()

QFitter::~QFitter ( )

destructor

Definition at line 33 of file QFitter.cc.

References fIsFixed, fParErr, fParMax, and fParMin.

Member Function Documentation

◆ Fit() [1/3]

QError QFitter::Fit ( const QVector data,
const QVector errors,
double  minfit,
double  maxfit,
double  binsize 
)

◆ Fit() [2/3]

QError QFitter::Fit ( const QVector data,
double  error,
double  minfit,
double  maxfit,
double  binsize 
)

fit QVector between minfit and max fits assuming the same error for all points

Definition at line 110 of file QFitter.cc.

References Fit(), QVector::Initialize(), and QVector::Size().

◆ Fit() [3/3]

QError QFitter::Fit ( const QVector data,
double  minfit,
double  maxfit,
double  binsize 
)

fit QVector between minfit and max fits

Definition at line 103 of file QFitter.cc.

References QVector::Initialize(), and QVector::Size().

Referenced by Fit().

◆ FixParameter() [1/2]

void QFitter::FixParameter ( unsigned int  p,
const char *  name,
double  val 
)

fix parameter and its name

Definition at line 93 of file QFitter.cc.

References FixParameter(), and QMathFunction::SetParName().

◆ FixParameter() [2/2]

void QFitter::FixParameter ( unsigned int  p,
double  val 
)

fix parameter

Definition at line 85 of file QFitter.cc.

References fIsFixed, QMathFunction::fNParameters, and QMathFunction::fParameters.

Referenced by FixParameter().

◆ GetChiSquare()

double QFitter::GetChiSquare ( )
inline

Get chi square over NDOF.

Definition at line 72 of file QFitter.hh.

References fChiSquare.

◆ GetFittedFunction()

QMathFunction QFitter::GetFittedFunction ( )

Get fitted function.

◆ GetResiduals()

QVector& QFitter::GetResiduals ( )
inline

Get residuals.

Definition at line 69 of file QFitter.hh.

References fResiduals.

◆ Print()

void QFitter::Print ( )
virtual

print parameters

Reimplemented from QMathFunction.

Definition at line 40 of file QFitter.cc.

References fIsFixed, QMathFunction::fNParameters, QMathFunction::fParameters, fParMax, fParMin, and QMathFunction::fParNames.

◆ PrintResult()

void QFitter::PrintResult ( )

print fitted parameters

Definition at line 54 of file QFitter.cc.

References fIsFixed, QMathFunction::fNParameters, QMathFunction::fParameters, fParErr, and QMathFunction::fParNames.

◆ RootRoutine()

double QFitter::RootRoutine ( double *  x,
double *  params 
)
staticprivate

function intercace used to fit with root

Definition at line 98 of file QFitter.cc.

References QMathFunction::Eval(), and fFunctionP.

Referenced by Fit().

◆ SetParameter() [1/2]

void QFitter::SetParameter ( unsigned int  p,
const char *  name,
double  val,
double  min,
double  max 
)

set parameter, its range and name

Definition at line 79 of file QFitter.cc.

References max, min(), SetParameter(), and QMathFunction::SetParName().

◆ SetParameter() [2/2]

void QFitter::SetParameter ( unsigned int  p,
double  val,
double  min,
double  max 
)

set parameter and its range

Definition at line 68 of file QFitter.cc.

References fIsFixed, QMathFunction::fNParameters, QMathFunction::fParameters, fParMax, fParMin, max, and min().

Referenced by SetParameter().

◆ SetTF1()

void QFitter::SetTF1 ( TF1 &  f1)
virtual

set parameters and ranges from TF1

Reimplemented from QMathFunction.

Definition at line 179 of file QFitter.cc.

References fIsFixed, QMathFunction::fNParameters, QMathFunction::fParameters, fParErr, fParMax, fParMin, and QMathFunction::SetTF1().

Referenced by Fit().

Member Data Documentation

◆ fChiSquare

double QFitter::fChiSquare
private

Definition at line 92 of file QFitter.hh.

Referenced by Fit(), and GetChiSquare().

◆ fErrors

QVector QFitter::fErrors
private

Definition at line 91 of file QFitter.hh.

◆ fFunctionP

Q_BEGIN_NAMESPACE const QMathFunction * QFitter::fFunctionP = NULL
staticprivate

pointer to this fitting function

Definition at line 83 of file QFitter.hh.

Referenced by Fit(), QFitter(), and RootRoutine().

◆ fIsFixed

bool* QFitter::fIsFixed
private

Definition at line 88 of file QFitter.hh.

Referenced by FixParameter(), Print(), PrintResult(), QFitter(), SetParameter(), SetTF1(), and ~QFitter().

◆ fParErr

double* QFitter::fParErr
private

Definition at line 87 of file QFitter.hh.

Referenced by Fit(), PrintResult(), QFitter(), SetTF1(), and ~QFitter().

◆ fParMax

double* QFitter::fParMax
private

Definition at line 86 of file QFitter.hh.

Referenced by Print(), QFitter(), SetParameter(), SetTF1(), and ~QFitter().

◆ fParMin

double* QFitter::fParMin
private

Definition at line 85 of file QFitter.hh.

Referenced by Print(), QFitter(), SetParameter(), SetTF1(), and ~QFitter().

◆ fResiduals

QVector QFitter::fResiduals
private

Definition at line 90 of file QFitter.hh.

Referenced by Fit(), and GetResiduals().


The documentation for this class was generated from the following files: