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