13 #ifndef SimG4Core_TotemRPProtonTransportParametrization_TMultiDimFet_H
14 #define SimG4Core_TotemRPProtonTransportParametrization_TMultiDimFet_H
28 #ifndef ROOT_TVirtualFitter
29 #include "TVirtualFitter.h"
127 virtual Bool_t
Select(
const Int_t *
iv);
128 virtual Bool_t
TestFunction(Double_t squareResidual, Double_t dResidur);
138 virtual void AddRow(
const Double_t *
x, Double_t
D, Double_t E = 0);
139 virtual void AddTestRow(
const Double_t *
x, Double_t
D, Double_t E = 0);
141 void Clear(Option_t *option =
"")
override;
143 virtual Double_t
Eval(
const Double_t *
x,
const Double_t *coeff =
nullptr)
const;
195 virtual Double_t
MakeChi2(
const Double_t *coeff =
nullptr);
196 virtual void MakeCode(
const char *functionName =
"MDF", Option_t *option =
"");
199 void Print(Option_t *option =
"ps")
const override;
210 virtual void SetPowers(
const Int_t *powers, Int_t terms);
217 #endif //SimG4Core_TotemRPProtonTransportParametrization_TMultiDimFet_H
TMatrixD fCorrelationMatrix
Multi Correlation coefficient.
Int_t GetMaxStudy() const
Double_t fSumSqQuantity
Min value of dependent quantity.
Double_t fMinAngle
Size of test sample.
TVectorD fTestVariables
Test sample, Error in quantity.
const TMultiDimFet & operator=(const TMultiDimFet &in)
virtual TList * GetHistograms() const
Int_t fTestSampleSize
Test sample, independent variables.
Double_t fSumSqAvgQuantity
SumSquare of dependent quantity.
Double_t fMinQuantity
Max value of dependent quantity.
virtual void MakeCoefficientErrors()
void ZeroDoubiousCoefficients(double error)
void SetPowerLimit(Double_t limit=1e-3)
Int_t fParameterisationCode
Chi square of fit.
Int_t GetTestSampleSize() const
const TVectorD * GetQuantity() const
Double_t fMinResidual
Max redsidual value.
EMDFPolyType fPolyType
Bit pattern of hisograms used.
Double_t GetResidualSumSq() const
TMatrixD fFunctions
Control parameter.
const TVectorD * GetTestQuantity() const
Double_t fTestCorrelationCoeff
Correlation matrix.
void SetMaxPowers(const Int_t *powers)
virtual Double_t EvalControl(const Int_t *powers)
Double_t GetResidualMax() const
Double_t GetSumSqQuantity() const
const TVectorD * GetMinVariables() const
void SetMaxTerms(Int_t terms)
TMatrixD fOrthFunctions
max functions to study
Int_t GetResidualMaxRow() const
Byte_t fHistogramMask
List of histograms.
Double_t fMaxAngle
Min angle for acepting new function.
Int_t GetNVariables() const
std::vector< Int_t > fPowers
Double_t fPowerLimit
maximum powers, ex-array
Int_t GetPolyType() const
Double_t GetMeanQuantity() const
Double_t fPrecision
Error from test.
std::vector< Int_t > GetMaxPowers() const
Int_t GetResidualMinRow() const
virtual void MakeHistograms(Option_t *option="A")
TVectorD fCoefficientsRMS
virtual void MakeParameterization()
Int_t GetMaxTerms() const
std::vector< Int_t > GetPowerIndex() const
virtual Double_t MakeGramSchmidt(Int_t function)
Int_t fMaxResidualRow
Min redsidual value.
void Print(Option_t *option="ps") const override
Double_t fTestError
Error from parameterization.
virtual void AddTestRow(const Double_t *x, Double_t D, Double_t E=0)
void SetMinRelativeError(Double_t error)
Int_t GetNCoefficients() const
virtual void MakeNormalized()
const TMatrixD * GetFunctions() const
Int_t GetMaxFunctions() const
virtual Bool_t TestFunction(Double_t squareResidual, Double_t dResidur)
Double_t GetTestPrecision() const
virtual Double_t EvalFactor(Int_t p, Double_t x) const
virtual void SetPowers(const Int_t *powers, Int_t terms)
Int_t fNVariables
Training sample, independent variables.
void SetMaxStudy(Int_t n)
virtual void MakeCandidates()
Double_t fChi2
Root mean square of fit.
Int_t fMinResidualRow
Row giving max residual.
TVectorD fTestSqError
Test sample, dependent quantity.
const TVectorD * GetTestSqError() const
const TVectorD * GetMeanVariables() const
Double_t fMinRelativeError
virtual void MakeCorrelation()
std::vector< Int_t > GetPowers() const
TVectorD fOrthCoefficients
Double_t fRMS
Vector of RMS of coefficients.
Double_t GetMaxAngle() const
std::vector< Int_t > fPowerIndex
Double_t fMeanQuantity
Training sample, error in quantity.
TVectorD fOrthFunctionNorms
As above, but orthogonalised.
virtual void MakeCode(const char *functionName="MDF", Option_t *option="")
Double_t GetPrecision() const
const TVectorD * GetMaxVariables() const
std::vector< Int_t > GetFunctionCodes() const
Double_t fSumSqResidual
Row giving min residual.
const TMatrixD * GetCorrelationMatrix() const
virtual void AddRow(const Double_t *x, Double_t D, Double_t E=0)
virtual Double_t MakeChi2(const Double_t *coeff=nullptr)
const TVectorD * GetSqError() const
Double_t fMaxResidual
Vector of the final residuals.
virtual void MakeRealCode(const char *filename, const char *classname, Option_t *option="")
virtual Bool_t Select(const Int_t *iv)
TVectorD fMaxVariables
mean value of independent variables
virtual void FindParameterization(double precision)
Double_t fTestPrecision
Relative precision of param.
TList * fHistograms
Multi Correlation coefficient.
Int_t fMaxTerms
Max angle for acepting new function.
void SetMaxFunctions(Int_t n)
const TVectorD * GetCoefficients() const
TVectorD fTestQuantity
Size of training sample.
DecomposeProduct< arg, typename Div::arg > D
TVectorD fVariables
Sum of squares away from mean.
Int_t fMaxFunctions
Functions evaluated over sample.
Int_t GetSampleSize() const
Double_t GetMaxQuantity() const
Double_t GetTestError() const
Double_t fError
Exit code of parameterisation.
Bool_t IsFolder() const override
Double_t GetError() const
Int_t fNCoefficients
Sum of Square residuals.
Double_t GetMinRelativeError() const
Double_t GetResidualMin() const
Int_t fMaxFunctionsTimesNVariables
maximum powers from fit, ex-array
std::vector< Int_t > fFunctionCodes
TVectorD fSqError
Training sample, dependent quantity.
void SetMinAngle(Double_t angle=1)
Double_t fCorrelationCoeff
Relative precision of test.
TMatrixD fOrthCurvatureMatrix
The model coefficients.
virtual void MakeCoefficients()
std::vector< Int_t > fMaxPowers
Min relative error accepted.
void Clear(Option_t *option="") override
Double_t GetMinAngle() const
virtual void MakeMethod(const Char_t *className="MDF", Option_t *option="")
void ReducePolynomial(double error)
Double_t GetSumSqAvgQuantity() const
std::vector< Int_t > fMaxPowersFinal
Norm of the evaluated functions.
virtual void PrintPolynomialsSpecial(Option_t *option="m") const
const TVectorD * GetVariables() const
uint32_t dimension(pat::CandKinResolution::Parametrization parametrization)
Returns the number of free parameters in a parametrization (3 or 4)
void SetMaxAngle(Double_t angle=0)
Double_t GetPowerLimit() const
std::string className(const T &t)
TVectorD fCoefficients
Model matrix.
Int_t fMaxStudy
acceptance code, ex-array
virtual Double_t Eval(const Double_t *x, const Double_t *coeff=nullptr) const
Double_t GetMinQuantity() const
const TVectorD * GetTestVariables() const
T angle(T x1, T y1, T z1, T x2, T y2, T z2)