6 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
7 gROOT->LoadMacro(
"../Tools.C");
17 TFile*
f =
new TFile(inFile.c_str());
18 TTree *
t=(TTree *) f->Get(
"pndsim") ;
19 TClonesArray*
hit_array=
new TClonesArray(
"PndSdsMCPoint");
20 t->SetBranchAddress(
"MVDPoint",&hit_array);
22 TClonesArray*
mc_array=
new TClonesArray(
"PndMCTrack");
23 t->SetBranchAddress(
"MCTrack",&mc_array);
25 TH2D*
hisxy =
new TH2D(
"hisxy",
"MVD MC Points, xy view",100,-5.,5.,100,-5.,5.);
26 TH2D*
hisrz =
new TH2D(
"hisrz",
"MVD MC Points, rz view",100,-5.,5.,100,-5.,5.);
27 TH1D*
hisde =
new TH1D(
"hisde",
"MVD MC Points, Energyloss",100,0.,0.002);
35 for (Int_t j=0; j<nEvents && j<t->GetEntriesFast(); j++)
38 if(verbose) cout<<
"Event No "<<j<<endl;
39 for (Int_t
i=0;
i<hit_array->GetEntriesFast();
i++)
41 if(verbose) cout<<
"Point No "<<
i<<endl;
49 vecs.SetXYZ(hit->GetX(), hit->GetY(), hit->GetZ());
50 Int_t
layer = Int_t(10.*vecs->Mag());
51 if(verbose) cout<<vecs.x()<<
"\t"<<vecs.y()<<
"\t"<<vecs.z()<<endl;
53 hisxy->Fill(vecs.x(),vecs.y());
54 hisrz->Fill(vecs.z(),((vecs.y()>0.)?1.:-1.)*vecs.Perp());
55 hisde->Fill(hit->GetEnergyLoss());
59 TCanvas*
can1 =
new TCanvas(
"can1",
"MCHit view in MVD",0,0,800,800);
69 can1->Print(
"outAnaMvdSim.ps");
79 cout <<
"Macro finished succesfully." << endl;
82 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
std::string GetSimFileName(std::string addon="", bool cut=false)
A simple class which adds the corresponding file extensions to a given base class.
PndFileNameCreator namecreator("../data/Lars/MvdDtsSim.root")