Geant4 Cross Reference |
1 { 1 { 2 gROOT->Reset(); 2 gROOT->Reset(); 3 3 4 // Draw histograms fill by Geant4 TestEm5 s 4 // Draw histograms fill by Geant4 TestEm5 simulation 5 TFile f1("./local.root"); << 5 TFile f1("./ref10.opt0.root"); 6 TH1D* h1 = (TH1D*) f1.Get("h1"); << 6 TH1D* h1 = (TH1D*) f1.Get("1"); 7 h1->SetTitle("Energy deposited in 530 um of 7 h1->SetTitle("Energy deposited in 530 um of Si by 1 MeV e-"); 8 h1->GetXaxis()->SetTitle("Ekine (MeV)"); 8 h1->GetXaxis()->SetTitle("Ekine (MeV)"); 9 h1->GetYaxis()->SetTitle("nb / MeV"); 9 h1->GetYaxis()->SetTitle("nb / MeV"); 10 h1->SetStats(kFALSE); // Eliminate statist 10 h1->SetStats(kFALSE); // Eliminate statistics box 11 h1->SetLineColor(kBlue); << 11 h1->SetLineColor(1); // black 12 h1->Draw("HIST"); 12 h1->Draw("HIST"); 13 13 14 TFile f2("./opt4.root"); << 14 TFile f2("./ref10.opt2.root"); 15 TH1D* h2 = (TH1D*) f2.Get("h1"); << 15 TH1D* h2 = (TH1D*) f2.Get("1"); 16 h2->SetStats(kFALSE); // Eliminate statist 16 h2->SetStats(kFALSE); // Eliminate statistics box 17 h2->SetLineColor(kRed); << 17 h2->SetLineColor(4); // blue 18 h2->Draw("SAME HIST"); 18 h2->Draw("SAME HIST"); 19 /* 19 /* 20 * e- 1 MeV in Silicon 530 um 20 * e- 1 MeV in Silicon 530 um 21 * M.J. Berger et al. NIM 69 (p.181) 1969 21 * M.J. Berger et al. NIM 69 (p.181) 1969 22 * distribution of energy deposition 22 * distribution of energy deposition 23 * (from 110 keV to 1.03 MeV by bin of 10 keV - 23 * (from 110 keV to 1.03 MeV by bin of 10 keV --> 93 bins) 24 */ 24 */ 25 25 26 ifstream in; << 26 ifstream in; 27 in.open("530um.ascii"); << 27 in.open("530um.ascii"); 28 28 29 TMarker *pt; << 29 // First indicate number of data 30 Double_t x, y; << 30 int nbdata = 0; 31 // First indicate number of data << 31 in >> nbdata; 32 int nbdata = 0; << 32 33 in >> nbdata; << 33 // Create a new histogram with data.acsii values 34 for ( int i = 0 ; i < nbdata ; i++ ) { << 34 float x_min = 0.110; >> 35 float x_max = 1.030; >> 36 TH1F* h3 = new TH1F("h1f","",nbdata,x_min,x_max); >> 37 >> 38 Float_t x, y; >> 39 while (1) { 35 in >> x >> y ; 40 in >> x >> y ; 36 if (!in.good()) break; 41 if (!in.good()) break; 37 pt = new TMarker(x,y,32); // 32 for open << 42 h3->Fill(x,y); 38 pt->SetMarkerColor(kGreen); << 43 } 39 pt->Draw(); << 44 in.close(); 40 } << 45 41 in.close(); << 46 // Draw histogram fill by data.acsii values 42 << 47 h3->SetLineColor(2); // red 43 // Print the histograms legend << 48 h3->Draw("SAME"); 44 TLegend *legend = new TLegend(0.6,0.6,0.8,0. << 49 45 legend->AddEntry(h1,"local","l"); << 50 // Print the histograms legend 46 legend->AddEntry(h2,"opt4 ","l"); << 51 TLegend *legend = new TLegend(0.6,0.6,0.8,0.8); 47 legend->AddEntry(pt,"Berger data","P"); << 52 legend->AddEntry(h1,"ref10-opt0","l"); 48 legend->Draw(); << 53 legend->AddEntry(h2,"ref10-opt2","l"); >> 54 legend->AddEntry(h3,"Berger data","L"); >> 55 legend->Draw(); >> 56 >> 57 49 } 58 } 50 59