24 void testGausFit( std::string type =
"Minuit2",
int n = 1000) {
26 gRandom =
new TRandom3();
28 TVirtualFitter::SetDefaultFitter(type.c_str() );
32 TH1D * h1 =
new TH1D(name.c_str(),
"Chi2 Fit",100, -5, 5. );
34 TH1D * h2 =
new TH1D(name.c_str(),
"Chi2 Fit with Minos Error",100, -5, 5. );
36 TH1D * h3 =
new TH1D(name.c_str(),
"Chi2 Fit with Integral and Minos",100, -5, 5. );
38 TH1D * h4 =
new TH1D(name.c_str(),
"Likelihood Fit with Minos Error",100, -5, 5. );
40 gStyle->SetOptStat(1111111);
41 gStyle->SetOptFit(1111111);
43 for (
int i = 0; i < n; ++i) {
44 double x = gRandom->Gaus(0,1);
51 std::string cname = type +
"Canvas" ;
52 std::string ctitle = type +
" Gaussian Fit" ;
53 TCanvas *c1 =
new TCanvas(cname.c_str(),cname.c_str(),10,10,900,900);
57 cout <<
"\nDo Fit 1\n";
61 cout <<
"\nDo Fit 2\n";
65 cout <<
"\nDo Fit 3\n";
69 cout <<
"\nDo Fit 4\n";
70 h4->Fit(
"gaus",
"VLE");
75 void minuit2GausFit() {
78 testGausFit(
"Minuit2",n);
79 testGausFit(
"Fumili2",n);