4 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
5 gROOT->LoadMacro(
"$VMCWORKDIR/macro/mvd/Tools.C");
8 TFile*
f =
new TFile(
"data/points_sttcombi.root");
9 TTree*
t=(TTree*)f->Get(
"pndsim");
10 t->AddFriend(
"pndsim",
"data/digi_sttcombi.root");
11 t->AddFriend(
"pndsim",
"data/reco_sttcombi.root");
12 t->AddFriend(
"pndsim",
"data/lhepidmaker.root");
13 t->AddFriend(
"pndsim",
"data/fit_sttcombi.root");
17 t->SetBranchAddress(
"MCTrack",&mctrack_array);
19 TClonesArray*
mc_array=
new TClonesArray(
"PndSdsMCPoint");
20 t->SetBranchAddress(
"MVDPoint",&mc_array);
22 t->SetBranchAddress(
"MVDPixelDigis",&digiPixel_array);
24 t->SetBranchAddress(
"MVDStripDigis",&digiStrip_array);
26 t->SetBranchAddress(
"MVDStripClusterCand",&stripClust_array);
28 t->SetBranchAddress(
"MVDClusterCand",&pixelClust_array);
30 t->SetBranchAddress(
"MVDHitsStrip",&stripHit_array);
32 t->SetBranchAddress(
"MVDHitsPixel",&pixelHit_array);
35 t->SetBranchAddress(
"LhePidTrack",&track_array);
38 TGeoManager *
geoMan = (TGeoManager*) gDirectory->Get(
"FAIRGeom");
39 PndMvdGeoHandling*
fGeoH =
new PndMvdGeoHandling(geoMan);
44 TH1D*
hMomDiff =
new TH1D(
"hmomdiff",
"Mom difference track to mctrack;|p-p_{mc}|/ GeV/c;",500,-15.,15.);
47 TCanvas*
c1 =
new TCanvas(
"LHETRACK MOMENTIM",
"LHETRACK MOMENTUM", 10, 10, 1200, 600);
51 t->Draw(
"LhePidTrack.GetMomentum().Mag()>>momlhe(100,0.5,1.5)",
"",
"");
52 momlhe->SetTitle(
"LhePidTrack;Momentum / GeV/c");
54 t->Draw(
"LhePidTrack.GetMomentum().Mag()-MCTrack.GetMomentum().Mag()>>momlhedf(100,-2.5,2.5)",
"",
"");
55 momlhedf->SetTitle(
"LhePidTrack - MC;Momentum / GeV/c");
58 t->Draw(
"LheGenTrack.getMom().Mag()>>momfit(100,0.5,1.5)",
"",
"");
59 momfit->SetTitle(
"genfit Track;Momentum / GeV/c");
61 t->Draw(
"LheGenTrack.getMom().Mag()-MCTrack.GetMomentum().Mag()>>momfitdf(100,-2.5,2.5)",
"",
"");
62 momfitdf->SetTitle(
"genfit Track - MC;Momentum / GeV/c");
65 t->Draw(
"MCTrack.GetMomentum().Mag():LhePidTrack.GetMomentum().Mag()-MCTrack.GetMomentum().Mag()>>momlhedfcor(100,-2.5,2.5,100,0.5,1.5)",
"",
"colz");
66 momlhedfcor->SetTitle(
";LHE - MC Momentum / GeV/c;MC Momentum / GeV/c");
68 t->Draw(
"MCTrack.GetMomentum().Mag():LhePidTrack.GetMomentum().Mag()>>momlhecor(100,0.5,1.5,100,0.5,1.5)",
"",
"colz");
69 momlhecor->SetTitle(
";LHE Momentum / GeV/c;MC Momentum / GeV/c");
74 t->Draw(
"MCTrack.GetMomentum().Mag():LheGenTrack.getMom().Mag()-MCTrack.GetMomentum().Mag()>>momfitdfcor(100,-2.5,2.5,100,0.5,1.5)",
"",
"colz");
75 momfitdfcor->SetTitle(
";GEN - MC Momentum / GeV/c;MC Momentum / GeV/c");
77 t->Draw(
"MCTrack.GetMomentum().Mag():LheGenTrack.getMom().Mag()>>momfitcor(100,0.5,1.5,100,0.5,1.5)",
"",
"colz");
78 momfitcor->SetTitle(
";GEN Momentum / GeV/c;MC Momentum / GeV/c");
81 TCanvas*
c2 =
new TCanvas(
"LHETRACK PID",
"LHETRACK PID", 20, 20, 600, 600);
85 t->Draw(
"1000*LhePidTrack.GetMvdELoss()/LhePidTrack.GetMvdHitCounts():LhePidTrack.GetMomentum().Mag()>>mvd_pid(100,0,3,100,0,2)",
"LhePidTrack.GetMvdHitCounts()>0",
"colz");
86 mvd_pid->SetTitle(
"MVD pid;Momentum [GeV/c];MVD dE / # hit [MeV]");
89 t->Draw(
"LhePidTrack.GetBeta():LhePidTrack.GetMomentum().Mag()>>tof_pid(100,0,2,100,0,1.2)",
"LhePidTrack.GetTofIndex()>-1",
"colz");
90 tof_pid->SetTitle(
"TOF pid;Momentum [GeV/c];#beta");
93 t->Draw(
"LhePidTrack.GetDrcThetaC()*TMath::RadToDeg():LhePidTrack.GetMomentum().Mag()>>drc_pid(100,0,3,100,0,60)",
"LhePidTrack.GetDrcIndex()>-1",
"colz");
94 drc_pid->SetTitle(
"DRC pid;Momentum [GeV/c];#theta_{c} [^{0}]");
97 t->Draw(
"LhePidTrack.GetEmcELoss()/LhePidTrack.GetMomentum().Mag():LhePidTrack.GetMomentum().Mag()>>emc_pid(100,0,3,100,0,1.2)",
"LhePidTrack.GetEmcIndex()>-1",
"colz");
98 emc_pid->SetTitle(
"EMC pid;Momentum [GeV/c];EMC Energy / Momentum [c]");
TClonesArray * stripClust_array
TClonesArray * stripHit_array
TClonesArray * digiPixel_array
TClonesArray * digiStrip_array
TClonesArray * track_array
TClonesArray * pixelClust_array
TClonesArray * mctrack_array
static PndEmcMapper * Instance()
TClonesArray * pixelHit_array