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("./opt3.root"); << 5 TFile f1("./ref10.opt0.root"); 6 TH1D* h1 = (TH1D*) f1.Get("10"); 6 TH1D* h1 = (TH1D*) f1.Get("10"); 7 h1->SetTitle("1 TeV muon in 3 m iron : kine 7 h1->SetTitle("1 TeV muon in 3 m iron : kinetic energy at exit (GeV)"); 8 h1->GetXaxis()->SetTitle("Ekine (GeV)"); 8 h1->GetXaxis()->SetTitle("Ekine (GeV)"); 9 h1->GetYaxis()->SetTitle("nb/GeV"); 9 h1->GetYaxis()->SetTitle("nb/GeV"); 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("./local.root"); << 14 TFile f2("./ref10.opt2.root"); 15 TH1D* h2 = (TH1D*) f2.Get("10"); 15 TH1D* h2 = (TH1D*) f2.Get("10"); 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 */ << 20 /* 19 /* 21 * muon 1 TeV/c in 3 m Iron 20 * muon 1 TeV/c in 3 m Iron 22 * Particle Data Group. Physics Letters B 592 ( 21 * Particle Data Group. Physics Letters B 592 (2004) page 251 23 * distribution of the muon kinetic energy 22 * distribution of the muon kinetic energy 24 * (from 950 GeV to 1000 GeV by bin of 0.5 GeV 23 * (from 950 GeV to 1000 GeV by bin of 0.5 GeV --> 100 bins) 25 */ 24 */ 26 25 27 ifstream in; 26 ifstream in; 28 in.open("mars14.ascii"); 27 in.open("mars14.ascii"); 29 28 30 // Create a new histogram with mars14.acsii 29 // Create a new histogram with mars14.acsii values 31 int nb_bins = 100; 30 int nb_bins = 100; 32 float x_min = 950.; 31 float x_min = 950.; 33 float x_max = 1000.; 32 float x_max = 1000.; 34 TH1F* h1f = new TH1F("h1f","",nb_bins,x_min 33 TH1F* h1f = new TH1F("h1f","",nb_bins,x_min,x_max); 35 34 36 Float_t x, y; 35 Float_t x, y; 37 while (1) { 36 while (1) { 38 in >> x >> y ; 37 in >> x >> y ; 39 if (!in.good()) break; 38 if (!in.good()) break; 40 h1f->Fill(x,y); 39 h1f->Fill(x,y); 41 } 40 } 42 in.close(); 41 in.close(); 43 42 44 // Draw histogram fill by mars14.acsii valu 43 // Draw histogram fill by mars14.acsii values 45 h1f->SetLineColor(kRed); << 44 h1f->SetLineColor(2); //red 46 h1f->Draw("SAME"); 45 h1f->Draw("SAME"); 47 46 48 // Print the histograms legend 47 // Print the histograms legend 49 TLegend* legend = new TLegend(0.2,0.55,0.45 48 TLegend* legend = new TLegend(0.2,0.55,0.45,0.70); 50 legend->AddEntry(h1,"local (Urban90)","l"); << 49 legend->AddEntry(h1,"ref10-opt0","l"); 51 //legend->AddEntry(h2,"local (msc90)","l"); << 50 legend->AddEntry(h2,"ref10-opt2","l"); 52 legend->AddEntry(h1f,"Mars14 simul ","L"); 51 legend->AddEntry(h1f,"Mars14 simul ","L"); 53 legend->Draw(); 52 legend->Draw(); 54 53 55 54 56 } 55 } 57 56