Geant4 Cross Reference |
1 // ------------------------------------------- << 2 // ------------------------------------------- << 3 // << 4 // ******************************************* 1 // ********************************************************************* 5 // To execute this macro under ROOT after your << 2 // To execute this macro under ROOT, 6 // 1 - launch ROOT (usually type 'root' at y 3 // 1 - launch ROOT (usually type 'root' at your machine's prompt) 7 // 2 - type '.X plot.C' at the ROOT session 4 // 2 - type '.X plot.C' at the ROOT session prompt >> 5 // 3 - OR directly type 'root plot.C' 8 // ******************************************* 6 // ********************************************************************* 9 << 10 void plot() << 11 { 7 { 12 gROOT->Reset(); << 8 gROOT->Reset(); 13 gStyle->SetPalette(1); << 9 gStyle->SetPalette(1); 14 gROOT->SetStyle("Plain"); << 10 gROOT->SetStyle("Plain"); 15 << 11 Double_t scale; 16 TCanvas* c1 = new TCanvas ("c1","",20,20,100 << 12 17 c1->Divide(2,1); << 13 c1 = new TCanvas ("c1","",20,20,1000,500); 18 << 14 c1->Divide(2,1); 19 // Uncomment if merging should be done << 15 20 //system ("rm -rf dna.root"); << 16 system ("rm -rf microdosimetry.root"); 21 //system ("hadd dna.root dna_*.root"); << 17 system ("hadd -O microdosimetry.root microdosimetry_*.root"); 22 << 18 23 TFile* f = new TFile("dna.root"); << 19 TFile f("microdosimetry.root"); 24 << 20 25 TNtuple* ntuple; << 21 TNtuple* ntuple; 26 ntuple = (TNtuple*)f->Get("dna"); << 22 ntuple = (TNtuple*)f.Get("microdosimetry"); 27 bool rowWise = true; << 23 28 TBranch* eventBranch = ntuple->FindBranch("r << 24 c1->cd(1); 29 if ( ! eventBranch ) rowWise = false; << 30 // std::cout << "rowWise: " << rowWise << s << 31 << 32 // Canvas tab 1 << 33 c1->cd(1); << 34 gStyle->SetOptStat(000000); 25 gStyle->SetOptStat(000000); 35 << 26 36 // All 27 // All 37 ntuple->SetFillStyle(1001); << 38 ntuple->SetFillColor(2); 28 ntuple->SetFillColor(2); 39 ntuple->Draw("flagProcess","","B"); 29 ntuple->Draw("flagProcess","","B"); 40 << 30 41 // Excitation << 42 ntuple->SetFillStyle(1001); << 43 ntuple->SetFillColor(3); << 44 ntuple->Draw("flagProcess","flagProcess==12| << 45 << 46 // Elastic << 47 ntuple->SetFillStyle(1001); << 48 ntuple->SetFillColor(4); << 49 ntuple->Draw("flagProcess","flagProcess==11| << 50 << 51 // Ionisation << 52 ntuple->SetFillStyle(1001); << 53 ntuple->SetFillColor(5); << 54 ntuple->Draw("flagProcess","flagProcess==13| << 55 << 56 // Charge decrease << 57 //ntuple->SetFillStyle(1001); << 58 //ntuple->SetFillColor(6); << 59 //ntuple->Draw("flagProcess","flagProcess==2 << 60 << 61 // Charge increase << 62 //ntuple->SetFillStyle(1001); << 63 //ntuple->SetFillColor(7); << 64 //ntuple->Draw("flagProcess","flagProcess==3 << 65 << 66 gPad->SetLogy(); 31 gPad->SetLogy(); 67 32 68 // Canvas tab 2 << 33 c1->cd(2); 69 c1->cd(2); << 70 34 71 // Electrons 35 // Electrons 72 ntuple->SetMarkerColor(2); 36 ntuple->SetMarkerColor(2); 73 ntuple->SetMarkerStyle(20); << 37 ntuple->Draw("x:y:z/1000","flagParticle==1",""); 74 ntuple->SetMarkerSize(.2); << 75 ntuple->Draw("x:y:z","flagParticle==1"); << 76 38 77 // Protons, hydrogen << 39 // Protons 78 ntuple->SetMarkerColor(4); 40 ntuple->SetMarkerColor(4); 79 ntuple->Draw("x:y:z","flagParticle==2 || fla << 41 ntuple->SetMarkerSize(4); >> 42 ntuple->Draw("x:y:z/1000","flagParticle==2","same"); >> 43 >> 44 // Hydrogen >> 45 ntuple->SetMarkerColor(3); >> 46 ntuple->SetMarkerSize(3); >> 47 ntuple->Draw("x:y:z/1000","flagParticle==3","same"); >> 48 80 } 49 } 81 50