Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
fit2d.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_fit
3 /// \notebook -js
4 /// Example illustrating how to fit a 2-d histogram of type y=f(x)
5 ///
6 /// \macro_image
7 /// \macro_output
8 /// \macro_code
9 ///
10 /// \author Rene Brun
11 
12 void fit2d()
13 {
14  // generate a 2-d histogram using a TCutG
15  const Int_t n = 6;
16  Float_t x[n] = {0.092,0.83,0.94,0.81,0.12,0.1};
17  Float_t y[n] = {0.71,9.4,9,8,0.3,0.71};
18  TCutG *cut = new TCutG("cut",n,x,y);
19  TH2F *h2 = new TH2F("h2","h2",40,0,1,40,0,10);
20  Float_t u,v;
21  for (Int_t i=0;i<100000;i++) {
22  u = gRandom->Rndm();
23  v = 10*gRandom->Rndm();
24  if (cut->IsInside(u,v)) h2->Fill(u,v);
25  }
26  TCanvas *c1 = new TCanvas("c1","show profile",600,900);
27  c1->Divide(1,2);
28  c1->cd(1);
29  h2->Draw();
30  c1->cd(2);
31 
32  //use a TProfile to convert the 2-d to 1-d problem
33  TProfile *prof = h2->ProfileX();
34  prof->Fit("pol1");
35 }
36