29 double upp[5] = { 10, 10, 10, 10, 1 };
30 double low[5] = { 0, 0, 0, 0, .1 };
31 for (
int i = 0; i < 4; i++)
124 if (nc != 21)
return 1;
127 for (
int i=0;i<nc;i++) {
134 for (
int j=0;
j<
nv;
j++) {
141 gROOT->ProcessLine(
".L MDF.C");
143 double refMDF = (doFit) ? 43.95 : 43.98;
148 std::intptr_t
iret =
gROOT->ProcessLine(
" double xvalues[] = {5,5,5,5}; double result=MDF(xvalues); &result;");
159 std::cout <<
"*************************************************" << std::endl;
160 std::cout <<
"* Multidimensional Fit *" << std::endl;
161 std::cout <<
"* *" << std::endl;
162 std::cout <<
"* By Christian Holm <cholm@nbi.dk> 14/10/00 *" << std::endl;
163 std::cout <<
"*************************************************" << std::endl;
164 std::cout << std::endl;
180 int mPowers[] = { 6 , 6, 6, 6 };
197 printf(
"======================================\n");
201 for (i = 0; i < nData ; i++) {
226 for (i = 0; i <
nVars; i++) {
235 for (i = 0; i < nData ; i++) {
270 printf(
"\nmultidimfit .............................................. OK\n");
272 printf(
"\nmultidimfit .............................................. fails case %d\n",compare);
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TRandom * gRandom
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Multidimensional Fits in ROOT.
void Print(Option_t *option="ps") const override
Print statistics etc.
Int_t GetNCoefficients() const
void SetMaxStudy(Int_t n)
void SetMaxFunctions(Int_t n)
void SetMaxTerms(Int_t terms)
Int_t GetNVariables() 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 ....
const TVectorD * GetMaxVariables() const
void SetPowerLimit(Double_t limit=1e-3)
Set the user parameter for the function selection.
virtual void FindParameterization(Option_t *option="")
Find the parameterization.
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,...
const Int_t * GetPowers() const
void SetMaxPowers(const Int_t *powers)
Set the maximum power to be considered in the fit for each variable.
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,...
virtual void Fit(Option_t *option="")
Try to fit the found parameterisation to the test sample.
void SetMinRelativeError(Double_t error)
Set the acceptable relative error for when sum of square residuals is considered minimized.
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...
Int_t * GetPowerIndex() 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...
const TVectorD * GetCoefficients() const
virtual void MakeHistograms(Option_t *option="A")
Make histograms of the result of the analysis.
This is the base class for the ROOT Random number generators.
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
Double_t Rndm() override
Machine independent random number generator.
Double_t Sqrt(Double_t x)
Returns the square root of x.
Bool_t AreEqualRel(Double_t af, Double_t bf, Double_t relPrec)
Comparing floating points.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.