Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 <TCanvas.h>
20#include <TGraph.h>
21#include <TH1F.h>
22#include <TMinuit.h>
23#include <TVirtualFitter.h>
24
25void fitcont()
26{
27 //be sure default is Minuit since we will use gMinuit
29
30 TCanvas *c1 = new TCanvas("c1");
31 TH1F *h = new TH1F("h","My histogram",100,-3,3);
32 h->FillRandom("gaus",6000);
33 h->Fit("gaus");
34 c1->Update();
35
36 TCanvas *c2 = new TCanvas("c2","contours",10,10,600,800);
37 c2->Divide(1,2);
38 c2->cd(1);
39 /*get first contour for parameter 1 versus parameter 2*/
40 TGraph *gr12 = (TGraph*)gMinuit->Contour(40,1,2);
41 gr12->Draw("alp");
42 c2->cd(2);
43 /*Get contour for parameter 0 versus parameter 2 for ERRDEF=2*/
44 gMinuit->SetErrorDef(4); //note 4 and not 2!
45 TGraph *gr2 = (TGraph*)gMinuit->Contour(80,0,2);
46 gr2->SetFillColor(42);
47 gr2->Draw("alf");
48 /*Get contour for parameter 0 versus parameter 2 for ERRDEF=1*/
50 TGraph *gr1 = (TGraph*)gMinuit->Contour(80,0,2);
51 gr1->SetFillColor(38);
52 gr1->Draw("lf");
53}
#define h(i)
Definition RSha256.hxx:106
R__EXTERN TMinuit * gMinuit
Definition TMinuit.h:271
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:37
The Canvas class.
Definition TCanvas.h:23
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
void Draw(Option_t *chopt="") override
Draw this graph with its current attributes.
Definition TGraph.cxx:809
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:621
virtual Int_t SetErrorDef(Double_t up)
To get the n-sigma contour the error def parameter "up" has to set to n^2.
Definition TMinuit.cxx:908
virtual TObject * Contour(Int_t npoints=10, Int_t pa1=0, Int_t pa2=1)
Creates a TGraph object describing the n-sigma contour of a TMinuit fit.
Definition TMinuit.cxx:653
static void SetDefaultFitter(const char *name="")
static: set name of default fitter
return c1
Definition legend1.C:41
return c2
Definition legend2.C:14