RAIDA  1.9.0
Public Member Functions | List of all members
AIDA::IFitter Interface Referenceabstract

Fitter performs fits, scans and computes contours. More...

#include <IFitter.h>

Inheritance diagram for AIDA::IFitter:
AIDA::IFitterROOT

Public Member Functions

virtual ~IFitter ()
 Destructor.
 
virtual IFitResultfit (IFitData &fitData, IFunction &func)=0
 Fit an IFunction to an IFitData. More...
 
virtual IFitResultfit (IBaseHistogram &hist, IFunction &func)=0
 Shortcut to fit an IBaseHistogram directly with an IFunction. More...
 
virtual IFitResultfit (IBaseHistogram &hist, const std::string &model)=0
 Shortcut to fit an IBaseHistogram directly with an IFunction. More...
 
virtual IFitResultfit (IBaseHistogram &hist, const std::string &model, const std::vector< double > &initialParameters)=0
 Shortcut to fit an IBaseHistogram directly with an IFunction. More...
 
virtual IFitResultfit (IDataPointSet &dataPointSet, IFunction &f)=0
 Shortcut to fit an IDataPointSet directly with an IFunction. More...
 
virtual IFitResultfit (IDataPointSet &dataPointSet, const std::string &model)=0
 Shortcut to fit an IDataPointSet directly with an IFunction. More...
 
virtual IFitResultfit (IDataPointSet &dataPointSet, const std::string &model, const std::vector< double > &initialParameters)=0
 Shortcut to fit an IDataPointSet directly with an IFunction. More...
 
virtual IFitResultfit (IFitData &d, const std::string &model)=0
 Shortcut for the predefined models.
 
virtual IFitResultfit (IFitData &d, const std::string &model, const std::vector< double > &initialParameters)=0
 
virtual bool setEngine (const std::string &name)=0
 Set the optimization engine which is used internally for fitting. More...
 
virtual std::string engineName ()=0
 Get the name of the engine currently in use. More...
 
virtual IFitParameterSettingsfitParameterSettings (const std::string &name)=0
 Access to fit parameter settings. More...
 
virtual std::vector< std::string > listParameterSettings ()=0
 Get a vector of names of all parameter settings defined in the fitter.
 
virtual void resetParameterSettings ()=0
 Reset all parameter settings which fitter remebers.
 
virtual bool setConstraint (const std::string &expr)=0
 Set a general constraint in the parameter space. More...
 
virtual std::vector< std::string > constraints ()=0
 Get the list of all constraints.
 
virtual void resetConstraints ()=0
 Reset all the constraints.
 
virtual bool setFitMethod (const std::string &name)=0
 Set the fit method type. More...
 
virtual std::string fitMethodName ()=0
 Get the name of the fit method currently in use. More...
 
virtual IDataPointSetcreateScan1D (IFitData &d, IFunction &f, const std::string &par, int npts, double pmin, double pmax)=0
 Create a 1D scan of the fit quality for given parameter 'par' of the function. More...
 
virtual IDataPointSetcreateContour (IFitData &d, IFitResult &r, const std::string &par1, const std::string &par2, int npts, double up)=0
 Create a 2D contour spanned on 'par1' and 'par2', with given number of npts points. More...
 
virtual void setUseFunctionGradient (bool useGrad)=0
 Choose between using or not using the analytical derivatives if provided by the function. More...
 
virtual bool useFunctionGradient ()=0
 Check if the IFitter is set to use the analytical derivatives provided by the IFunction. More...
 

Detailed Description

Fitter performs fits, scans and computes contours.

Fitter never stores association to the data and functions which are used for fitting. Results of the fit are availabe in the IFitResult object, which also remebers the initial fit configuration.

Author
The AIDA team (http://aida.freehep.org/)

Member Function Documentation

virtual IDataPointSet* AIDA::IFitter::createContour ( IFitData d,
IFitResult r,
const std::string &  par1,
const std::string &  par2,
int  npts,
double  up 
)
pure virtual

Create a 2D contour spanned on 'par1' and 'par2', with given number of npts points.

Contour is create using previously obtained fit results. Argument 'up' tells the vertical distance of the contour plane above the minimal fit quality value.

Implemented in AIDA::IFitterROOT.

virtual IDataPointSet* AIDA::IFitter::createScan1D ( IFitData d,
IFunction f,
const std::string &  par,
int  npts,
double  pmin,
double  pmax 
)
pure virtual

Create a 1D scan of the fit quality for given parameter 'par' of the function.

User must make sure that the returned vector is properly deleted after use. The vector containes 'npts' points which are evenly sampled in the interval ('pmin','pmax').

Implemented in AIDA::IFitterROOT.

virtual std::string AIDA::IFitter::engineName ( )
pure virtual

Get the name of the engine currently in use.

Returns
The name of the optimizer engine used by the IFitter.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IFitData fitData,
IFunction func 
)
pure virtual

Fit an IFunction to an IFitData.

The result of the fit is an IFitResult.

Parameters
fitDataThe IFitData to be fitted.
funcThe IFunction to fit on the data.
Returns
The IFitResult containing the results of the fit.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IBaseHistogram hist,
IFunction func 
)
pure virtual

Shortcut to fit an IBaseHistogram directly with an IFunction.

The dimension of the IBaseHistogram must match the dimension of the IFunction. IHistograms and IProfiles are for binned fits only, IClouds only for unbinned fits.

Parameters
histThe IBaseHistogram to be fitted.
funcThe IFunction to fit on the data.
Returns
The IFitResult containing the result of the fit.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IBaseHistogram hist,
const std::string &  model 
)
pure virtual

Shortcut to fit an IBaseHistogram directly with an IFunction.

The dimension of the IBaseHistogram must match the dimension of the IFunction. IHistograms and IProfiles are for binned fits only, IClouds only for unbinned fits.

Parameters
histThe IBaseHistogram to be fitted.
modelThe string defining the function to be used.
Returns
The IFitResult containing the result of the fit.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IBaseHistogram hist,
const std::string &  model,
const std::vector< double > &  initialParameters 
)
pure virtual

Shortcut to fit an IBaseHistogram directly with an IFunction.

The dimension of the IBaseHistogram must match the dimension of the IFunction. IHistograms and IProfiles are for binned fits only, IClouds only for unbinned fits.

Parameters
histThe IBaseHistogram to be fitted.
modelThe string defining the function to be used.
initialParametersThe array of the initial parameter values; its size must match the number of parameters in the function.
Returns
The IFitResult containing the result of the fit.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IDataPointSet dataPointSet,
IFunction f 
)
pure virtual

Shortcut to fit an IDataPointSet directly with an IFunction.

The dimension of the IDataPointSet must be equal the dimension of the IFunction + 1. This are binned fits only; the last coordinate of the IDataPointSet is used as the "height" in a fit to an IBaseHistogram.

Parameters
dataPointSetThe IDataPointSet to be fitted.
funcThe IFunction to fit on the data.
Returns
The IFitResult containing the result of the fit.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IDataPointSet dataPointSet,
const std::string &  model 
)
pure virtual

Shortcut to fit an IDataPointSet directly with an IFunction.

The dimension of the IDataPointSet must be equal the dimension of the IFunction + 1. This are binned fits only; the last coordinate of the IDataPointSet is used as the "height" in a fit to an IBaseHistogram.

Parameters
dataPointSetThe IDataPointSet to be fitted.
modelThe string defining the function to be used.
Returns
The IFitResult containing the result of the fit.

Implemented in AIDA::IFitterROOT.

virtual IFitResult* AIDA::IFitter::fit ( IDataPointSet dataPointSet,
const std::string &  model,
const std::vector< double > &  initialParameters 
)
pure virtual

Shortcut to fit an IDataPointSet directly with an IFunction.

The dimension of the IDataPointSet must be equal the dimension of the IFunction + 1. This are binned fits only; the last coordinate of the IDataPointSet is used as the "height" in a fit to an IBaseHistogram.

Parameters
dataPointSetThe IDataPointSet to be fitted.
modelThe string defining the function to be used.
initialParametersThe array of the initial parameter values; its size must match the number of parameters in the function.
Returns
The IFitResult containing the result of the fit.

Implemented in AIDA::IFitterROOT.

virtual std::string AIDA::IFitter::fitMethodName ( )
pure virtual

Get the name of the fit method currently in use.

Returns
The name of the fit method.

Implemented in AIDA::IFitterROOT.

virtual IFitParameterSettings& AIDA::IFitter::fitParameterSettings ( const std::string &  name)
pure virtual

Access to fit parameter settings.

FitParameterSettings object belongs to and is managed by the fitter. Fitter implementation takes care that the returned reference is valid thru the lifetime of fitter. User can set the settings of the parameters independently of the parameters of the fitted function. Setting for parameters unknown in the function and set in the fitter are ignored in the fit. If settings are not explicitly set in the fitter, their default values are attached to function parameters during the fit.

Implemented in AIDA::IFitterROOT.

virtual bool AIDA::IFitter::setConstraint ( const std::string &  expr)
pure virtual

Set a general constraint in the parameter space.

The constraint is a parsed expression. PENDING: The syntax to be fixed.

Implemented in AIDA::IFitterROOT.

virtual bool AIDA::IFitter::setEngine ( const std::string &  name)
pure virtual

Set the optimization engine which is used internally for fitting.

Parameters
nameThe name of the optimizer engine. Examples of predefined engines: "minuit". The engine name is case-insensitive. Different engines are provided by different implementations.
Returns
false If the name does not correspond to a valid engine.

Implemented in AIDA::IFitterROOT.

virtual bool AIDA::IFitter::setFitMethod ( const std::string &  name)
pure virtual

Set the fit method type.

Examples of pre-defined methods: "chi2", "ml". The method names are case-insensitive.

Parameters
nameThe name of the fit method.
Returns
false If the name does not correspond to a valid fit method.

Implemented in AIDA::IFitterROOT.

virtual void AIDA::IFitter::setUseFunctionGradient ( bool  useGrad)
pure virtual

Choose between using or not using the analytical derivatives if provided by the function.

Parameters
useGradIf true the IFitter will use the analytical derivatives if provided by the IFunction.

Implemented in AIDA::IFitterROOT.

virtual bool AIDA::IFitter::useFunctionGradient ( )
pure virtual

Check if the IFitter is set to use the analytical derivatives provided by the IFunction.

Returns
true if the IFitter uses the analytical derivatives.

Implemented in AIDA::IFitterROOT.


The documentation for this interface was generated from the following file: