7 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
9 gSystem->Load(
"libSciT");
15 gStyle->SetPalette(1);
17 TFile*
f =
new TFile(
"test.root");
18 TTree *
t=(TTree *) f->Get(
"pndsim") ;
19 TClonesArray*
hit_array=
new TClonesArray(
"PndSciTPoint");
20 t->SetBranchAddress(
"SciTPoint",&hit_array);
23 TClonesArray*
mc_array=
new TClonesArray(
"PndMCTrack");
24 t->SetBranchAddress(
"MCTrack",&mc_array);
26 TFile *
out = TFile::Open(
"pid_MCOpt.root",
"RECREATE");
30 TH2D*
hisxy =
new TH2D(
"hisxy",
"MC Points, xy view",200,-70.,70.,200,-70.,70.);
31 TH2D*
hisrz =
new TH2D(
"hisrz",
" MC Points, rz view",200,-70.,70.,200,0,70.);
32 TH1D*
hisde =
new TH1D(
"hisde",
"MC Points, Energyloss",200,0.,0.005);
35 TH2D*
hisdedx =
new TH2D(
"hisdedx",
"",200,0.,0.04,200,0.,1.0);
36 hisdedx->SetTitle(
"HYP MC Points, dE/dx(P);p/GeV / cm;dE/dx / (GeV/cm)");
41 TH1D*
hismom =
new TH1D(
"hisximom",
" MC Points, momentum",100,0.,1.5);
53 for (Int_t j=0; j<t->GetEntriesFast(); j++)
57 for (Int_t
i=0;
i<hit_array->GetEntriesFast();
i++)
59 if(verbose) cout<<
"Point No "<<
i<<endl;
65 vecs.SetXYZ(hit->GetX(), hit->GetY(), hit->GetZ());
67 vecP.SetXYZ(hit->GetPxin(),hit->GetPyin(),hit->GetPzin());
70 dE=hit->GetEnergyLoss();
74 hisxy->Fill(vecs.x(),vecs.y());
75 hisrz->Fill(vecs.z(),vecs.Perp());
82 hisdedx->Fill(p,dEdX);
106 cout << endl << endl;
107 cout <<
"Macro finished succesfully." << endl;
110 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;