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