Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
minuit2GausFit.C File Reference

Detailed Description

View in nbviewer Open in SWAN Perform fits with different configurations using Minuit2

Do Fit 1
Do Fit 2
Minuit2Minimizer: Minimize with max-calls 1345 convergence for edm < 0.01 strategy 1
Number of iterations 7
----------> Iteration 0
FVAL = 130.408689083 Edm = 91.9034258956 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 69.8437404042 Edm = 1.314294384 Nfcn = 21
Error matrix change = 0.556547
Parameters : p0 = 39.098 p1 = 0.017263 p2 = 0.97602
----------> Iteration 2
FVAL = 65.4714639241 Edm = 0.251272226796 Nfcn = 29
Error matrix change = 0.506801
Parameters : p0 = 36.0678 p1 = 0.00678987 p2 = 1.02566
----------> Iteration 3
FVAL = 65.163603043 Edm = 0.00342911860885 Nfcn = 37
Error matrix change = 0.25723
Parameters : p0 = 36.3576 p1 = 0.0108748 p2 = 1.03384
----------> Iteration 4
FVAL = 65.158669881 Edm = 6.85944158694e-05 Nfcn = 45
Error matrix change = 0.140183
Parameters : p0 = 36.3021 p1 = 0.0129287 p2 = 1.03428
----------> Iteration 5
FVAL = 65.1585976924 Edm = 2.00240394288e-09 Nfcn = 53
Error matrix change = 0.0876016
Parameters : p0 = 36.3132 p1 = 0.013082 p2 = 1.03413
----------> Iteration 6
FVAL = 65.1585976924 Edm = 1.93773754036e-09 Nfcn = 69
Error matrix change = 0
Parameters : p0 = 36.3132 p1 = 0.013082 p2 = 1.03413
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 65.1585976924265395
Edm = 1.93773754035702457e-09
Nfcn = 69
Constant = 36.3132 +/- 1.52625
Mean = 0.013082 +/- 0.0347499
Sigma = 1.03413 +/- 0.0288039 (limited)
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Constant : -1.51651
Minos: Upper error for parameter Constant : 1.53547
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Mean : -0.0347674
Minos: Upper error for parameter Mean : 0.0347613
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Sigma : -0.0286274
Minos: Upper error for parameter Sigma : 0.0290102
Covariance Matrix:
Constant Mean Sigma
Constant 2.3294 0.0002427 -0.027611
Mean 0.0002427 0.0012076 -9.3319e-06
Sigma -0.027611 -9.3319e-06 0.00082969
Correlation Matrix:
Constant Mean Sigma
Constant 1 0.0045761 -0.62806
Mean 0.0045761 1 -0.0093231
Sigma -0.62806 -0.0093231 1
****************************************
Minimizer is Minuit2
Chi2 = 65.1586
NDf = 56
Edm = 1.93774e-09
NCalls = 69
Constant = 36.3132 +/- 1.52625 -1.51651 +1.53547 (Minos)
Mean = 0.013082 +/- 0.0347499 -0.0347674 +0.0347613 (Minos)
Sigma = 1.03413 +/- 0.0288039 -0.0286274 +0.0290102 (Minos) (limited)
Do Fit 3
****************************************
Minimizer is Minuit2
Chi2 = 65.1586
NDf = 56
Edm = 5.63237e-09
NCalls = 68
Constant = 36.3274 +/- 1.52734 -1.51763 +1.53654 (Minos)
Mean = 0.0130805 +/- 0.0347499 -0.0347659 +0.0347628 (Minos)
Sigma = 1.03373 +/- 0.0288151 -0.0286384 +0.0290217 (Minos) (limited)
Do Fit 4
Minuit2Minimizer: Minimize with max-calls 1345 convergence for edm < 0.01 strategy 1
Number of iterations 6
----------> Iteration 0
FVAL = 59.3789358226 Edm = 23.8051155917 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 44.9406926571 Edm = 0.773987920349 Nfcn = 21
Error matrix change = 0.580853
Parameters : p0 = 40.6144 p1 = 0.0276007 p2 = 1.00093
----------> Iteration 2
FVAL = 43.4360611772 Edm = 0.0453627798765 Nfcn = 29
Error matrix change = 0.40441
Parameters : p0 = 38.2485 p1 = 0.0276002 p2 = 1.03476
----------> Iteration 3
FVAL = 43.3936346434 Edm = 0.000175467155603 Nfcn = 37
Error matrix change = 0.237745
Parameters : p0 = 38.4512 p1 = 0.0276009 p2 = 1.0378
----------> Iteration 4
FVAL = 43.3934554682 Edm = 9.7423803633e-08 Nfcn = 44
Error matrix change = 0.128267
Parameters : p0 = 38.427 p1 = 0.027601 p2 = 1.03819
----------> Iteration 5
FVAL = 43.3934554682 Edm = 9.98059014815e-08 Nfcn = 60
Error matrix change = 0
Parameters : p0 = 38.427 p1 = 0.027601 p2 = 1.03819
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 43.3934554681902327
Edm = 9.98059014815227973e-08
Nfcn = 60
Constant = 38.427 +/- 1.48837
Mean = 0.027601 +/- 0.032831
Sigma = 1.03819 +/- 0.0232194 (limited)
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Constant : -1.46667
Minos: Upper error for parameter Constant : 1.51031
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Mean : -0.0328395
Minos: Upper error for parameter Mean : 0.0328395
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Sigma : -0.0227841
Minos: Upper error for parameter Sigma : 0.0236699
Covariance Matrix:
Constant Mean Sigma
Constant 2.2153 -3.264e-06 -0.019956
Mean -3.264e-06 0.0010779 8.9196e-08
Sigma -0.019956 8.9196e-08 0.00053915
Correlation Matrix:
Constant Mean Sigma
Constant 1 -6.6797e-05 -0.57743
Mean -6.6797e-05 1 0.00011701
Sigma -0.57743 0.00011701 1
****************************************
Minimizer is Minuit2
MinFCN = 43.3935
Chi2 = 74.4576
NDf = 97
Edm = 9.98059e-08
NCalls = 60
Constant = 38.427 +/- 1.48837 -1.46667 +1.51031 (Minos)
Mean = 0.027601 +/- 0.032831 -0.0328395 +0.0328395 (Minos)
Sigma = 1.03819 +/- 0.0232194 -0.0227841 +0.0236699 (Minos) (limited)
Do Fit 1
Do Fit 2
Minuit2Minimizer: Minimize with max-calls 1345 convergence for edm < 0.01 strategy 1
Number of iterations 6
----------> Iteration 0
FVAL = 130.408689083 Edm = 91.9034257196 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 79.169553751 Edm = 11.2613962604 Nfcn = 14
Error matrix change = 0.727775
Parameters : p0 = 36.1708 p1 = 0.0126892 p2 = 0.949066
----------> Iteration 2
FVAL = 65.1589955133 Edm = 0.000440916194411 Nfcn = 15
Error matrix change = 0.429675
Parameters : p0 = 36.2965 p1 = 0.0129513 p2 = 1.03469
----------> Iteration 3
FVAL = 65.1585994429 Edm = 1.63332385536e-06 Nfcn = 16
Error matrix change = 0.215296
Parameters : p0 = 36.3119 p1 = 0.0130821 p2 = 1.03417
----------> Iteration 4
FVAL = 65.1585976985 Edm = 7.48887590173e-09 Nfcn = 17
Error matrix change = 0.107683
Parameters : p0 = 36.3131 p1 = 0.0130818 p2 = 1.03413
----------> Iteration 5
FVAL = 65.1585976985 Edm = 8.03809330501e-09 Nfcn = 45
Error matrix change = 0
Parameters : p0 = 36.3131 p1 = 0.0130818 p2 = 1.03413
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 65.1585976985221009
Edm = 8.03809330501340492e-09
Nfcn = 45
Constant = 36.3131 +/- 1.52625
Mean = 0.0130818 +/- 0.0347499
Sigma = 1.03413 +/- 0.0288039 (limited)
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Constant : -1.51642
Minos: Upper error for parameter Constant : 1.53556
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Mean : -0.0347671
Minos: Upper error for parameter Mean : 0.0347615
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Sigma : -0.0286291
Minos: Upper error for parameter Sigma : 0.0290085
Covariance Matrix:
Constant Mean Sigma
Constant 2.3294 0.00024274 -0.027611
Mean 0.00024274 0.0012076 -9.3326e-06
Sigma -0.027611 -9.3326e-06 0.00082969
Correlation Matrix:
Constant Mean Sigma
Constant 1 0.0045768 -0.62806
Mean 0.0045768 1 -0.0093238
Sigma -0.62806 -0.0093238 1
****************************************
Minimizer is Minuit2 / Fumili
Chi2 = 65.1586
NDf = 56
Edm = 8.03809e-09
NCalls = 45
Constant = 36.3131 +/- 1.52625 -1.51642 +1.53556 (Minos)
Mean = 0.0130818 +/- 0.0347499 -0.0347671 +0.0347615 (Minos)
Sigma = 1.03413 +/- 0.0288039 -0.0286291 +0.0290085 (Minos) (limited)
Do Fit 3
****************************************
Minimizer is Minuit2 / Fumili
Chi2 = 65.1586
NDf = 56
Edm = 1.52369e-08
NCalls = 45
Constant = 36.3272 +/- 1.52734 -1.51745 +1.53671 (Minos)
Mean = 0.0130818 +/- 0.0347499 -0.0347671 +0.0347615 (Minos)
Sigma = 1.03373 +/- 0.0288151 -0.0286415 +0.0290186 (Minos) (limited)
Do Fit 4
Minuit2Minimizer: Minimize with max-calls 1345 convergence for edm < 0.01 strategy 1
Number of iterations 14
----------> Iteration 0
FVAL = 59.3789358226 Edm = 23.8051156246 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 52.2353590744 Edm = 15.797316836 Nfcn = 14
Error matrix change = 0.946152
Parameters : p0 = 37.0455 p1 = 0.0276012 p2 = 0.975225
----------> Iteration 2
FVAL = 44.5911405027 Edm = 0.678155218069 Nfcn = 15
Error matrix change = 0.516813
Parameters : p0 = 37.6923 p1 = 0.0135425 p2 = 1.01848
----------> Iteration 3
FVAL = 43.4929148469 Edm = 0.0638834337408 Nfcn = 16
Error matrix change = 0.269485
Parameters : p0 = 38.0009 p1 = 0.0171462 p2 = 1.0397
----------> Iteration 4
FVAL = 43.4053705823 Edm = 0.00696014762982 Nfcn = 17
Error matrix change = 0.139355
Parameters : p0 = 38.2218 p1 = 0.0263423 p2 = 1.03895
----------> Iteration 5
FVAL = 43.3956034614 Edm = 0.00120472221679 Nfcn = 18
Error matrix change = 0.072946
Parameters : p0 = 38.3316 p1 = 0.0271707 p2 = 1.03891
----------> Iteration 6
FVAL = 43.3938696655 Edm = 0.000231498054964 Nfcn = 19
Error matrix change = 0.0380601
Parameters : p0 = 38.3845 p1 = 0.0275055 p2 = 1.03848
----------> Iteration 7
FVAL = 43.3935356371 Edm = 4.48954181602e-05 Nfcn = 20
Error matrix change = 0.0197548
Parameters : p0 = 38.4079 p1 = 0.0275531 p2 = 1.03834
----------> Iteration 8
FVAL = 43.3934709148 Edm = 8.70149166209e-06 Nfcn = 21
Error matrix change = 0.010197
Parameters : p0 = 38.4183 p1 = 0.0275828 p2 = 1.03826
----------> Iteration 9
FVAL = 43.393458378 Edm = 1.68517866991e-06 Nfcn = 22
Error matrix change = 0.00523948
Parameters : p0 = 38.4229 p1 = 0.0275925 p2 = 1.03822
----------> Iteration 10
FVAL = 43.3934559509 Edm = 3.26217613616e-07 Nfcn = 23
Error matrix change = 0.00268169
Parameters : p0 = 38.4249 p1 = 0.0275974 p2 = 1.03821
----------> Iteration 11
FVAL = 43.3934559509 Edm = 5.82496472019e-07 Nfcn = 51
Error matrix change = 0
Parameters : p0 = 38.4249 p1 = 0.0275974 p2 = 1.03821
----------> Iteration 12
FVAL = 43.3934553684 Edm = 1.95619311042e-15 Nfcn = 52
Error matrix change = 0.37759
Parameters : p0 = 38.4265 p1 = 0.027601 p2 = 1.0382
----------> Iteration 13
FVAL = 43.3934553684 Edm = 1.96795731974e-15 Nfcn = 84
Error matrix change = 0
Parameters : p0 = 38.4265 p1 = 0.027601 p2 = 1.0382
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 43.3934553683858653
Edm = 1.96795731974180762e-15
Nfcn = 84
Constant = 38.4265 +/- 1.48835
Mean = 0.027601 +/- 0.0328313
Sigma = 1.0382 +/- 0.0232198 (limited)
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #0 : Constant using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Constant : -1.46608
Minos: Upper error for parameter Constant : 1.5109
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #1 : Mean using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Mean : -0.0328395
Minos: Upper error for parameter Mean : 0.0328395
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS LOWER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
******************************************************************************************************
Minuit2Minimizer::GetMinosError - Run MINOS UPPER error for parameter #2 : Sigma using max-calls 1345, tolerance 0.01
Minos: Lower error for parameter Sigma : -0.0227933
Minos: Upper error for parameter Sigma : 0.0236607
Covariance Matrix:
Constant Mean Sigma
Constant 2.2152 -3.2649e-06 -0.019956
Mean -3.2649e-06 0.0010779 8.922e-08
Sigma -0.019956 8.922e-08 0.00053917
Correlation Matrix:
Constant Mean Sigma
Constant 1 -6.6816e-05 -0.57743
Mean -6.6816e-05 1 0.00011703
Sigma -0.57743 0.00011703 1
****************************************
Minimizer is Minuit2 / Fumili
MinFCN = 43.3935
Chi2 = 74.4574
NDf = 97
Edm = 1.96796e-15
NCalls = 84
Constant = 38.4265 +/- 1.48835 -1.46608 +1.5109 (Minos)
Mean = 0.027601 +/- 0.0328313 -0.0328395 +0.0328395 (Minos)
Sigma = 1.0382 +/- 0.0232198 -0.0227933 +0.0236607 (Minos) (limited)
#include "TH1.h"
#include "TF1.h"
#include "TCanvas.h"
#include "TRandom3.h"
#include "TVirtualFitter.h"
#include "TPaveLabel.h"
#include "TStyle.h"
#include <iostream>
#include <string>
void testGausFit( std::string type = "Minuit2", int n = 1000) {
gRandom = new TRandom3();
std::string name;
name = "h1_" + type;
TH1D * h1 = new TH1D(name.c_str(),"Chi2 Fit",100, -5, 5. );
name = "h2_" + type;
TH1D * h2 = new TH1D(name.c_str(),"Chi2 Fit with Minos Error",100, -5, 5. );
name = "h3_" + type;
TH1D * h3 = new TH1D(name.c_str(),"Chi2 Fit with Integral and Minos",100, -5, 5. );
name = "h4_" + type;
TH1D * h4 = new TH1D(name.c_str(),"Likelihood Fit with Minos Error",100, -5, 5. );
gStyle->SetOptStat(1111111);
gStyle->SetOptFit(1111111);
for (int i = 0; i < n; ++i) {
double x = gRandom->Gaus(0,1);
h1->Fill( x );
h2->Fill( x );
h3->Fill( x );
h4->Fill( x );
}
std::string cname = type + "Canvas" ;
std::string ctitle = type + " Gaussian Fit" ;
TCanvas *c1 = new TCanvas(cname.c_str(),cname.c_str(),10,10,900,900);
c1->Divide(2,2);
c1->cd(1);
cout << "\nDo Fit 1\n";
h1->Fit("gaus","Q");
h1->Draw();
c1->cd(2);
cout << "\nDo Fit 2\n";
h2->Fit("gaus","VE");
h2->Draw();
c1->cd(3);
cout << "\nDo Fit 3\n";
h3->Fit("gaus","IE");
h3->Draw();
c1->cd(4);
cout << "\nDo Fit 4\n";
h4->Fit("gaus","VLE");
h4->Draw();
}
void minuit2GausFit() {
int n = 1000;
testGausFit("Minuit2",n);
testGausFit("Fumili2",n);
}
char name[80]
Definition TGX11.cxx:110
int type
Definition TGX11.cxx:121
R__EXTERN TRandom * gRandom
Definition TRandom.h:62
R__EXTERN TStyle * gStyle
Definition TStyle.h:412
The Canvas class.
Definition TCanvas.h:23
1-D histogram with a double per channel (see TH1 documentation)}
Definition TH1.h:618
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.
Definition TH1.cxx:3892
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition TH1.cxx:3350
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition TH1.cxx:3073
Random number generator class based on M.
Definition TRandom3.h:27
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...
Definition TRandom.cxx:274
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition TStyle.cxx:1589
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
Definition TStyle.cxx:1541
static void SetDefaultFitter(const char *name="")
static: set name of default fitter
return c1
Definition legend1.C:41
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16
TH1F * h1
Definition legend1.C:5
Author
Lorenzo Moneta

Definition in file minuit2GausFit.C.