FCN=7196.63 FROM MIGRAD STATUS=CONVERGED 169 CALLS 170 TOTAL
EDM=3.06506e-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.41590e-04
2 p1 2.00562e+00 9.99521e-03 -6.72962e-05 -5.71946e-03
3 p2 -1.02279e+00 1.35440e-02 3.22465e-05 2.77023e-03
4 p3 2.89928e+00 7.94099e-03 -9.38703e-05 -4.55753e-03
5 p4 3.86656e+00 1.13330e-02 1.06568e-05 -2.11129e-03
Minuit, npass=0 : RT= 0.076 s, Cpu= 0.070 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.036 s, Cpu= 0.040 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.057 s, Cpu= 0.070 s
****************************************
Minimizer is Minuit2 / Fumili
Chi2 = 7196.63
NDf = 7366
Edm = 2.87985e-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.009 s, Cpu= 0.010 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);
}
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.
A Pave (see TPave) with a text centered in the Pave.
void Draw(Option_t *option="") override
Draw this pavelabel with its current attributes.
Random number generator class based on M.
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.
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