4#ifndef ROOT_TMultiDimFit
5#define ROOT_TMultiDimFit
118 const char *classname,
#define ClassDef(name, id)
Using a TBrowser one can browse all ROOT objects.
Multidimensional Fits in ROOT.
const TVectorD * GetQuantity() const
Double_t GetSumSqAvgQuantity() const
virtual void MakeCorrelation()
PRIVATE METHOD: Compute the correlation matrix.
Int_t GetNCoefficients() const
Double_t GetMinQuantity() const
void SetMaxStudy(Int_t n)
Double_t GetMaxAngle() const
void SetBinVarX(Int_t nbbinvarx)
virtual void MakeCoefficientErrors()
PRIVATE METHOD: Compute the errors on the coefficients.
void SetMaxFunctions(Int_t n)
Double_t GetTestPrecision() const
TMatrixD fOrthCurvatureMatrix
Double_t GetError() const
Int_t GetSampleSize() const
virtual Double_t Eval(const Double_t *x, const Double_t *coeff=0) const
Evaluate parameterization at point x.
Double_t GetPrecision() const
const TVectorD * GetVariables() const
Int_t GetResidualMinRow() const
const TVectorD * GetMeanVariables() const
void SetMaxTerms(Int_t terms)
Double_t GetSumSqQuantity() const
Double_t GetResidualSumSq() const
Double_t fSumSqAvgQuantity
Double_t GetPowerLimit() const
virtual void MakeNormalized()
PRIVATE METHOD: Normalize data to the interval [-1;1].
Int_t GetNVariables() const
static TMultiDimFit * Instance()
Return the static instance.
virtual ~TMultiDimFit()
Destructor.
virtual void MakeCode(const char *functionName="MDF", Option_t *option="")
Generate the file <filename> with .C appended if argument doesn't end in .cxx or ....
virtual void MakeCandidates()
PRIVATE METHOD: Create list of candidate functions for the parameterisation.
const TVectorD * GetSqError() const
const TVectorD * GetMaxVariables() const
void SetPowerLimit(Double_t limit=1e-3)
Set the user parameter for the function selection.
const TMatrixD * GetFunctions() const
virtual void FindParameterization(Option_t *option="")
Find the parameterization.
virtual Double_t MakeGramSchmidt(Int_t function)
PRIVATE METHOD: Make Gram-Schmidt orthogonalisation.
Int_t * GetMaxPowers() const
const TVectorD * GetMinVariables() const
virtual void AddRow(const Double_t *x, Double_t D, Double_t E=0)
Add a row consisting of fNVariables independent variables, the known, dependent quantity,...
Int_t GetTestSampleSize() const
Int_t GetResidualMaxRow() const
Double_t GetMinAngle() const
TVectorD fOrthCoefficients
const Int_t * GetPowers() const
virtual Bool_t TestFunction(Double_t squareResidual, Double_t dResidur)
PRIVATE METHOD: Test whether the currently considered function contributes to the fit.
Double_t fCorrelationCoeff
void SetMaxPowers(const Int_t *powers)
Set the maximum power to be considered in the fit for each variable.
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Int_t GetMaxTerms() const
virtual void SetPowers(const Int_t *powers, Int_t terms)
Define a user function.
virtual void MakeRealCode(const char *filename, const char *classname, Option_t *option="")
PRIVATE METHOD: This is the method that actually generates the code for the evaluation the parameteri...
Double_t GetResidualMin() const
virtual void AddTestRow(const Double_t *x, Double_t D, Double_t E=0)
Add a row consisting of fNVariables independent variables, the known, dependent quantity,...
Int_t fParameterisationCode
const TVectorD * GetTestVariables() const
virtual void Fit(Option_t *option="")
Try to fit the found parameterisation to the test sample.
TMultiDimFit()
Empty CTOR. Do not use.
virtual TList * GetHistograms() const
Double_t fTestCorrelationCoeff
Int_t GetMaxStudy() const
Double_t GetMeanQuantity() const
const TMatrixD * GetCorrelationMatrix() const
void SetMinRelativeError(Double_t error)
Set the acceptable relative error for when sum of square residuals is considered minimized.
Double_t GetResidualMax() const
void SetBinVarY(Int_t nbbinvary)
virtual void MakeMethod(const Char_t *className="MDF", Option_t *option="")
Generate the file <classname>MDF.cxx which contains the implementation of the method:
Double_t GetMinRelativeError() const
void SetMaxAngle(Double_t angle=0)
Set the max angle (in degrees) between the initial data vector to be fitted, and the new candidate fu...
const TVectorD * GetTestSqError() const
virtual void MakeCoefficients()
PRIVATE METHOD: Invert the model matrix B, and compute final coefficients.
TMatrixD fCorrelationMatrix
Int_t * GetPowerIndex() const
virtual void Clear(Option_t *option="")
Clear internal structures and variables.
virtual Double_t EvalControl(const Int_t *powers) const
PRIVATE METHOD: Calculate the control parameter from the passed powers.
virtual void Browse(TBrowser *b)
Browse the TMultiDimFit object in the TBrowser.
virtual void MakeParameterization()
PRIVATE METHOD: Find the parameterization over the training sample.
EMDFPolyType fPolyType
Fit object (MINUIT)
virtual Bool_t Select(const Int_t *iv)
Selection method.
Int_t GetMaxFunctions() const
virtual Double_t EvalError(const Double_t *x, const Double_t *coeff=0) const
Evaluate parameterization error at point x.
Double_t GetTestError() const
Int_t * GetFunctionCodes() const
virtual Double_t EvalFactor(Int_t p, Double_t x) const
PRIVATE METHOD: Evaluate function with power p at variable value x.
const TVectorD * GetTestQuantity() const
void SetMinAngle(Double_t angle=1)
Set the min angle (in degrees) between a new candidate function and the subspace spanned by the previ...
virtual void Print(Option_t *option="ps") const
Print statistics etc.
TVectorD fOrthFunctionNorms
const TVectorD * GetCoefficientsRMS() const
const TVectorD * GetCoefficients() const
TVectorD fCoefficientsRMS
static TMultiDimFit * fgInstance
Int_t GetPolyType() const
virtual void MakeHistograms(Option_t *option="A")
Make histograms of the result of the analysis.
Double_t GetMaxQuantity() const
virtual void Draw(Option_t *="d")
Default Draw method for all objects.
Double_t fMinRelativeError
virtual Double_t MakeChi2(const Double_t *coeff=0)
Calculate Chi square over either the test sample.
The TNamed class is the base class for all named ROOT classes.
Abstract Base Class for Fitting.