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.9034259253 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 69.8437404289 Edm = 1.31429439302 Nfcn = 21
Error matrix change = 0.556547
Parameters : p0 = 39.098 p1 = 0.017263 p2 = 0.97602
----------> Iteration 2
FVAL = 65.4714639235 Edm = 0.251272226526 Nfcn = 29
Error matrix change = 0.506801
Parameters : p0 = 36.0678 p1 = 0.00678987 p2 = 1.02566
----------> Iteration 3
FVAL = 65.163603043 Edm = 0.00342911859992 Nfcn = 37
Error matrix change = 0.25723
Parameters : p0 = 36.3576 p1 = 0.0108748 p2 = 1.03384
----------> Iteration 4
FVAL = 65.158669881 Edm = 6.85944154401e-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.00240399309e-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.93773756656e-09 Nfcn = 69
Error matrix change = 0
Parameters : p0 = 36.3132 p1 = 0.013082 p2 = 1.03413
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 65.1585976924265253
Edm = 1.93773756656094666e-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 / Migrad
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 / Migrad
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.805115635 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 44.9406926668 Edm = 0.773987927802 Nfcn = 21
Error matrix change = 0.580853
Parameters : p0 = 40.6144 p1 = 0.0276007 p2 = 1.00093
----------> Iteration 2
FVAL = 43.4360611775 Edm = 0.0453627802043 Nfcn = 29
Error matrix change = 0.40441
Parameters : p0 = 38.2485 p1 = 0.0276002 p2 = 1.03476
----------> Iteration 3
FVAL = 43.3936346435 Edm = 0.000175467157627 Nfcn = 37
Error matrix change = 0.237745
Parameters : p0 = 38.4512 p1 = 0.0276009 p2 = 1.0378
----------> Iteration 4
FVAL = 43.3934554682 Edm = 9.74238199839e-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.98059352252e-08 Nfcn = 60
Error matrix change = 0
Parameters : p0 = 38.427 p1 = 0.027601 p2 = 1.03819
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 43.3934554681902966
Edm = 9.98059352251909382e-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.2637e-06 -0.019956
Mean -3.2637e-06 0.0010779 8.9186e-08
Sigma -0.019956 8.9186e-08 0.00053915
Correlation Matrix:
Constant Mean Sigma
Constant 1 -6.6791e-05 -0.57743
Mean -6.6791e-05 1 0.00011699
Sigma -0.57743 0.00011699 1
****************************************
Minimizer is Minuit2 / Migrad
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.9034259204 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 79.1695539845 Edm = 11.2613964677 Nfcn = 14
Error matrix change = 0.727775
Parameters : p0 = 36.1708 p1 = 0.0126892 p2 = 0.949066
----------> Iteration 2
FVAL = 65.1589955133 Edm = 0.000440916263672 Nfcn = 15
Error matrix change = 0.429675
Parameters : p0 = 36.2965 p1 = 0.0129513 p2 = 1.03469
----------> Iteration 3
FVAL = 65.1585994429 Edm = 1.63332411048e-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.48888132708e-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.038096711e-09 Nfcn = 45
Error matrix change = 0
Parameters : p0 = 36.3131 p1 = 0.0130818 p2 = 1.03413
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 65.1585976985221151
Edm = 8.03809671100362135e-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.0381e-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.8051156631 Nfcn = 13
Error matrix change = 1
Parameters : p0 = 45.7135 p1 = 0.0276 p2 = 1.03818
----------> Iteration 1
FVAL = 52.2353591704 Edm = 15.7973170603 Nfcn = 14
Error matrix change = 0.946152
Parameters : p0 = 37.0455 p1 = 0.0276012 p2 = 0.975225
----------> Iteration 2
FVAL = 44.5911405281 Edm = 0.678155231013 Nfcn = 15
Error matrix change = 0.516813
Parameters : p0 = 37.6923 p1 = 0.0135425 p2 = 1.01848
----------> Iteration 3
FVAL = 43.4929148486 Edm = 0.063883434797 Nfcn = 16
Error matrix change = 0.269485
Parameters : p0 = 38.0009 p1 = 0.0171462 p2 = 1.0397
----------> Iteration 4
FVAL = 43.4053705824 Edm = 0.00696014769202 Nfcn = 17
Error matrix change = 0.139355
Parameters : p0 = 38.2218 p1 = 0.0263423 p2 = 1.03895
----------> Iteration 5
FVAL = 43.3956034614 Edm = 0.00120472222368 Nfcn = 18
Error matrix change = 0.072946
Parameters : p0 = 38.3316 p1 = 0.0271707 p2 = 1.03891
----------> Iteration 6
FVAL = 43.3938696655 Edm = 0.000231498056282 Nfcn = 19
Error matrix change = 0.0380601
Parameters : p0 = 38.3845 p1 = 0.0275055 p2 = 1.03848
----------> Iteration 7
FVAL = 43.3935356371 Edm = 4.48954183747e-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.70149172748e-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.68517866814e-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.26217615524e-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.82496418048e-07 Nfcn = 51
Error matrix change = 0
Parameters : p0 = 38.4249 p1 = 0.0275974 p2 = 1.03821
----------> Iteration 12
FVAL = 43.3934553684 Edm = 1.96048414609e-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.96862219634e-15 Nfcn = 84
Error matrix change = 0
Parameters : p0 = 38.4265 p1 = 0.027601 p2 = 1.0382
Minuit2Minimizer : Valid minimum - status = 0
FVAL = 43.393455368385851
Edm = 1.96862219634292173e-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.9222e-08
Sigma -0.019956 8.9222e-08 0.00053917
Correlation Matrix:
Constant Mean Sigma
Constant 1 -6.6815e-05 -0.57743
Mean -6.6815e-05 1 0.00011704
Sigma -0.57743 0.00011704 1
****************************************
Minimizer is Minuit2 / Fumili
MinFCN = 43.3935
Chi2 = 74.4574
NDf = 97
Edm = 1.96862e-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:413
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:3893
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition TH1.cxx:3351
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition TH1.cxx:3074
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.