ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
berger.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file berger.C
1 {
2  gROOT->Reset();
3 
4  // Draw histograms fill by Geant4 TestEm5 simulation
5  TFile f1("./msc93.root");
6  TH1D* h1 = (TH1D*) f1.Get("1");
7  h1->SetTitle("Energy deposited in 530 um of Si by 1 MeV e-");
8  h1->GetXaxis()->SetTitle("Ekine (MeV)");
9  h1->GetYaxis()->SetTitle("nb / MeV");
10  h1->SetStats(kFALSE); // Eliminate statistics box
11  h1->SetLineColor(1); // black
12  h1->Draw("HIST");
13 
14  TFile f2("./local.root");
15  TH1D* h2 = (TH1D*) f2.Get("1");
16  h2->SetStats(kFALSE); // Eliminate statistics box
17  h2->SetLineColor(4); // blue
18  h2->Draw("SAME HIST");
19 /*
20 * e- 1 MeV in Silicon 530 um
21 * M.J. Berger et al. NIM 69 (p.181) 1969
22 * distribution of energy deposition
23 * (from 110 keV to 1.03 MeV by bin of 10 keV --> 93 bins)
24 */
25 
26  ifstream in;
27  in.open("530um.ascii");
28 
29  // First indicate number of data
30  int nbdata = 0;
31  in >> nbdata;
32 
33  // Create a new histogram with data.acsii values
34  float x_min = 0.110;
35  float x_max = 1.030;
36  TH1F* h3 = new TH1F("h1f","",nbdata,x_min,x_max);
37 
39  while (1) {
40  in >> x >> y ;
41  if (!in.good()) break;
42  h3->Fill(x,y);
43  }
44  in.close();
45 
46  // Draw histogram fill by data.acsii values
47  h3->SetLineColor(2); // red
48  h3->Draw("SAME");
49 
50  // Print the histograms legend
51  TLegend *legend = new TLegend(0.6,0.6,0.8,0.8);
52  legend->AddEntry(h1,"Urban93","l");
53  legend->AddEntry(h2,"Urban95","l");
54  legend->AddEntry(h3,"Berger data","L");
55  legend->Draw();
56 
57 
58 }