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