5 gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C");
10 TFile *
f =
new TFile(LinFile);
12 TTree *
t=(TTree *) f->Get(
"pndsim") ;
14 TClonesArray* tr_array=
new TClonesArray(
"TtFitRes");
15 t->SetBranchAddress(
"TTFit",&tr_array);
17 TFile *fMC =
new TFile(
MCFile);
19 TTree *tMC=(TTree *) fMC->Get(
"pndsim") ;
21 TClonesArray*
mc_array=
new TClonesArray(
"PndSdsMCPoint");
22 tMC->SetBranchAddress(
"LMDPoint",&mc_array);
24 if (t->GetEntries() != tMC->GetEntries())
break;
26 cout <<
"Events: " << t->GetEntries() << endl;
30 TH2F *offsets =
new TH2F(
"Residuals",
"Residuals",5000,-1.,+1.,5000,-1.,+1.);
32 TVector3 DevPoint, FitPoint;
34 TCanvas *can =
new TCanvas(
"2D",
"2D",0,0,1200,600);
35 TCanvas *
can2 =
new TCanvas(
"1D",
"1D",0,0,1200,400);
40 for (Int_t j = 0 ; j < t->GetEntries() ; j++)
46 cout <<
"Event " << j <<
" Entries " << tr_array->GetEntries() << endl;
48 if ( (mc_array->GetEntries()!=1) || (tr_array->GetEntries()!=1) )
continue;
61 FitPoint.SetXYZ((Ox+Sx*(DevPoint.Z())),(Oy+Sy*(DevPoint.Z())),DevPoint.Z());
63 offsets->Fill( (FitPoint.X()-DevPoint.X()) , (FitPoint.Y()-DevPoint.Y()) );
67 offsets->GetXaxis()->SetRangeUser(-10*offsets->GetRMS(1),+10*offsets->GetRMS(1));
68 offsets->GetYaxis()->SetRangeUser(-10*offsets->GetRMS(2),+10*offsets->GetRMS(2));
70 offsets->GetXaxis()->SetTitle(
"#DeltaX [cm]");
71 offsets->GetXaxis()->SetTitle(
"#DeltaY [cm]");
74 Res2D.Remove(Res2D.Sizeof()-6);
75 Res2D = Res2D+
"_2DResiduals.png";
78 Res1D.Remove(Res1D.Sizeof()-6);
79 Res1D = Res1D+
"_1DResiduals.png";
81 gStyle->SetPalette(1.);
85 offsets->Draw(
"COLZ");
89 offsets->Draw(
"LEGO2");
91 can->SaveAs(Res2D.Data(),
"png");
95 TH1D *resX = offsets->ProjectionX(
"_Xproj");
96 resX->SetTitle(
"X Redisuals");
97 resX->GetXaxis()->SetTitle(
"#DeltaX [cm]");
100 TH1D *resY = offsets->ProjectionY(
"_Yproj");
101 resY->SetTitle(
"Y Redisuals");
102 resY->GetXaxis()->SetTitle(
"#DeltaY [cm]");
104 gStyle->SetOptFit(1);
116 can2->SaveAs(Res1D.Data(),
"png");
TVector3 GetPositionOut() const
TVector2 GetFirstPoint() const
TVector3 GetPosition() const
TVector2 GetDirectionVec() const