Geant4 Cross Reference |
1 { 1 { 2 gROOT->Reset(); 2 gROOT->Reset(); 3 3 4 // Draw histogram filled by Geant4 TestEm2 4 // Draw histogram filled by Geant4 TestEm2 simulation 5 TFile f("./93ref0.root"); << 5 TFile f("./9.1ref08++.root"); 6 TH1D* h1d = (TH1D*) f.Get("4"); 6 TH1D* h1d = (TH1D*) f.Get("4"); 7 h1d->SetTitle("30 GeV e- on 20 X0 Fe : ener 7 h1d->SetTitle("30 GeV e- on 20 X0 Fe : energy dep, longit profil"); 8 h1d->GetXaxis()->SetTitle("depth (X0)"); 8 h1d->GetXaxis()->SetTitle("depth (X0)"); 9 h1d->GetYaxis()->SetTitle("(100/E0) (dE/dt) 9 h1d->GetYaxis()->SetTitle("(100/E0) (dE/dt)"); 10 h1d->SetStats(kFALSE); // Eliminate statis 10 h1d->SetStats(kFALSE); // Eliminate statistics box 11 h1d->Draw("HIST"); 11 h1d->Draw("HIST"); 12 12 13 // pdg.ascii came from egs4 simulation 13 // pdg.ascii came from egs4 simulation 14 ifstream in; 14 ifstream in; 15 in.open("pdg.ascii"); 15 in.open("pdg.ascii"); 16 16 17 // Create a new histogramm which egs4.acsii 17 // Create a new histogramm which egs4.acsii values 18 int nb_bins = 40; 18 int nb_bins = 40; 19 float x_min = 0; 19 float x_min = 0; 20 float x_max = 20; 20 float x_max = 20; 21 TH1F* h1f = new TH1F("h1f","",nb_bins,x_min 21 TH1F* h1f = new TH1F("h1f","",nb_bins,x_min,x_max); 22 22 23 Float_t x, y; 23 Float_t x, y; 24 while (1) { 24 while (1) { 25 in >> x >> y ; 25 in >> x >> y ; 26 if (!in.good()) break; 26 if (!in.good()) break; 27 h1f->Fill(x,y); 27 h1f->Fill(x,y); 28 } 28 } 29 in.close(); 29 in.close(); 30 30 31 // Draw histogram fill by egs4.acsii values 31 // Draw histogram fill by egs4.acsii values 32 h1f->SetLineColor(2); 32 h1f->SetLineColor(2); 33 h1f->Draw("SAME"); 33 h1f->Draw("SAME"); 34 34 35 // Print the histograms legend 35 // Print the histograms legend 36 TLegend *legend = new TLegend(0.65,0.55,0.8 36 TLegend *legend = new TLegend(0.65,0.55,0.85,0.68); 37 legend->AddEntry(h1d,"93ref0","l"); << 37 legend->AddEntry(h1d,"Geant4-9.1ref08++","l"); 38 legend->AddEntry(h1f,"EGS4","L"); 38 legend->AddEntry(h1f,"EGS4","L"); 39 legend->Draw(); 39 legend->Draw(); 40 } 40 } 41 41