Geant4 Cross Reference |
1 // ------------------------------------------------------------------- 2 // ------------------------------------------------------------------- 3 // 4 // ********************************************************************* 5 // To execute this macro under ROOT after your simulation ended, 6 // 1 - launch ROOT (usually type 'root' at your machine's prompt) 7 // 2 - type '.X plot.C' at the ROOT session prompt 8 // ********************************************************************* 9 10 void SetLeafAddress(TNtuple* ntuple, const char* name, void* address); 11 12 void plotDeexcitation() 13 { 14 gROOT->Reset(); 15 gStyle->SetPalette(1); 16 gROOT->SetStyle("Plain"); 17 18 TCanvas* c1 = new TCanvas ("c1","",20,20,1000,500); 19 c1->Divide(2,1); 20 21 // Uncomment if merging should be done 22 //system ("rm -rf dna.root"); 23 //system ("hadd dna.root dna_*.root"); 24 25 TFile* f = new TFile("dna.root"); 26 27 TNtuple* ntuple2; 28 ntuple2 = (TNtuple*)f->Get("track"); 29 bool rowWise2 = true; 30 TBranch* eventBranch2 = ntuple2->FindBranch("row_wise_branch"); 31 if ( ! eventBranch2 ) rowWise2 = false; 32 33 // Auger electrons 34 c1->cd(1); 35 gStyle->SetOptStat(000000); 36 37 ntuple2->SetFillStyle(1001); 38 ntuple2->SetFillColor(2); 39 ntuple2->Draw("kineticEnergy","kineticEnergy>450&&kineticEnergy<550&&flagParticle==1","B"); 40 41 gPad->SetLogy(); 42 43 TText *pt1 = new TText(510,500,"Auger electrons"); 44 pt1->Draw("SAME"); 45 46 // Fluorescence photons 47 c1->cd(2); 48 gStyle->SetOptStat(000000); 49 50 ntuple2->SetFillStyle(1001); 51 ntuple2->SetFillColor(4); 52 ntuple2->Draw("kineticEnergy","flagParticle==0","B"); 53 54 gPad->SetLogy(); 55 56 TText *pt2 = new TText(523.1,10,"Fluo. photons"); 57 pt2->Draw("SAME"); 58 59 } 60 61 void SetLeafAddress(TNtuple* ntuple, const char* name, void* address) { 62 TLeaf* leaf = ntuple->FindLeaf(name); 63 if ( ! leaf ) { 64 std::cerr << "Error in <SetLeafAddress>: unknown leaf --> " << name << std::endl; 65 return; 66 } 67 leaf->SetAddress(address); 68 } 69