FCN=7196.63 FROM MIGRAD STATUS=CONVERGED 169 CALLS 170 TOTAL
EDM=3.06507e-09 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 2.0 per cent
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 5.28670e+01 2.67227e-01 1.71567e-03 1.41592e-04
2 p1 2.00562e+00 9.99521e-03 -6.72962e-05 -5.71942e-03
3 p2 -1.02279e+00 1.35440e-02 3.22465e-05 2.77029e-03
4 p3 2.89928e+00 7.94099e-03 -9.38703e-05 -4.55749e-03
5 p4 3.86656e+00 1.13330e-02 1.06568e-05 -2.11130e-03
Minuit, npass=0 : RT= 0.086 s, Cpu= 0.090 s
****************************************
Minimizer is Fumili
Chi2 = 7196.63
NDf = 7366
NCalls = 30
p0 = 52.8672 +/- 0.262932
p1 = 2.00562 +/- 0.00992527
p2 = -1.02279 +/- 0.0135821
p3 = 2.89927 +/- 0.00781808
p4 = 3.86655 +/- 0.011235
Fumili, npass=0 : RT= 0.049 s, Cpu= 0.050 s
****************************************
Minimizer is Minuit2 / Migrad
Chi2 = 7196.63
NDf = 7366
Edm = 4.35807e-08
NCalls = 176
p0 = 52.867 +/- 0.264728
p1 = 2.00562 +/- 0.00995152
p2 = -1.0228 +/- 0.0137398
p3 = 2.89928 +/- 0.00798634
p4 = 3.86656 +/- 0.0112306
Minuit2, npass=0 : RT= 0.080 s, Cpu= 0.080 s
****************************************
Minimizer is Minuit2 / Fumili
Chi2 = 7196.63
NDf = 7366
Edm = 2.86819e-07
NCalls = 8
p0 = 52.8669 +/- 0.262931
p1 = 2.00562 +/- 0.00992529
p2 = -1.0228 +/- 0.0135821
p3 = 2.89928 +/- 0.0078181
p4 = 3.86656 +/- 0.0112351
Fumili2, npass=0 : RT= 0.017 s, Cpu= 0.020 s
double gaus2D(
double *
x,
double *par) {
double t1 =
x[0] - par[1];
double t2 =
x[1] - par[2];
return par[0]* exp( - 0.5 * (
t1*
t1/( par[3]*par[3]) + t2*t2 /( par[4]*par[4] ) ) ) ;
}
double fitFunction(
double *
x,
double *par) {
}
void fillHisto(
int n =10000) {
for (
int i = 0; i <
n; ++i) {
}
}
void DoFit(
const char* fitter,
TVirtualPad *pad,
int npass) {
histo->
Fit(
"fitFcn",
"0");
printf(
"%s, npass=%d : RT=%7.3f s, Cpu=%7.3f s\n",fitter,npass,timer.
RealTime(),cputime);
}
void minuit2FitBench2D(
int n = 100000) {
fitFcn =
new TF2(
"fitFcn",fitFunction,-10,10,-10,10,5);
histo =
new TH2D(
"h2",
"2D Gauss",100,-10,10,100,-10,10);
int npass=0;
DoFit(
"Minuit",
gPad,npass);
DoFit(
"Fumili",
gPad,npass);
DoFit(
"Minuit2",
gPad,npass);
DoFit(
"Fumili2",
gPad,npass);
}
winID h TVirtualViewer3D TVirtualGLPainter p
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
R__EXTERN TStyle * gStyle
TDirectory::TContext keeps track and restore the current directory.
virtual void Update()
Called by functions such as SetRange, SetNpx, SetParameters to force the deletion of the associated h...
virtual void SetParameters(const Double_t *params)
A 2-Dim function with parameters.
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
Fit histogram with function fname.
void Draw(Option_t *option="") override
Draw this histogram with options.
2-D histogram with a double per channel (see TH1 documentation)
Int_t Fill(Double_t) override
Invalid Fill method.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
A Pave (see TPave) with a text centered in the Pave.
Random number generator class based on M.
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 RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
Double_t CpuTime()
Stop the stopwatch (if it is running) and return the cputime (in seconds) passed between the start an...
void Stop()
Stop the stopwatch.
void SetStatY(Float_t y=0)
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
static void SetDefaultFitter(const char *name="")
static: set name of default fitter
TVirtualPad is an abstract base class for the Pad and Canvas classes.
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)=0