Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
fitcont.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_fit
3 /// \notebook
4 /// Example illustrating how to draw the n-sigma contour of a Minuit fit.
5 /// To get the n-sigma contour the ERRDEF parameter in Minuit has to set
6 /// to n^2. The fcn function has to be set before the routine is called.
7 ///
8 /// WARNING!!! This test works only with TMinuit
9 ///
10 /// The TGraph object is created via the interpreter. The user must cast it
11 /// to a TGraph*
12 ///
13 /// \macro_image
14 /// \macro_output
15 /// \macro_code
16 ///
17 /// \author Rene Brun
18 
19 #include "TMinuit.h"
20 
21 void fitcont()
22 {
23  //be sure default is Minuit since we will use gMinuit
24  TVirtualFitter::SetDefaultFitter("Minuit");
25 
26  TCanvas *c1 = new TCanvas("c1");
27  TH1F *h = new TH1F("h","My histogram",100,-3,3);
28  h->FillRandom("gaus",6000);
29  h->Fit("gaus");
30  c1->Update();
31 
32  TCanvas *c2 = new TCanvas("c2","contours",10,10,600,800);
33  c2->Divide(1,2);
34  c2->cd(1);
35  /*get first contour for parameter 1 versus parameter 2*/
36  TGraph *gr12 = (TGraph*)gMinuit->Contour(40,1,2);
37  gr12->Draw("alp");
38  c2->cd(2);
39  /*Get contour for parameter 0 versus parameter 2 for ERRDEF=2*/
40  gMinuit->SetErrorDef(4); //note 4 and not 2!
41  TGraph *gr2 = (TGraph*)gMinuit->Contour(80,0,2);
42  gr2->SetFillColor(42);
43  gr2->Draw("alf");
44  /*Get contour for parameter 0 versus parameter 2 for ERRDEF=1*/
45  gMinuit->SetErrorDef(1);
46  TGraph *gr1 = (TGraph*)gMinuit->Contour(80,0,2);
47  gr1->SetFillColor(38);
48  gr1->Draw("lf");
49 }