FairRoot/PandaRoot
plot_acceptance_stt.C
Go to the documentation of this file.
1 {
2  TString inFile="out_test_2pi_stt_a.root";
3 
4 
5  TFile *f = TFile::Open(inFile);
6 
7 
8  gStyle->SetOptStat(kFALSE);
9  gStyle->SetPalette(1);
10 
11  TCanvas *c1=new TCanvas("c1","",800,800);
12  c1->Divide(1,3);
13  c1->cd(1);
14  hMcSttP->SetTitle("Geometrical coverage for the momentum");
15  hMcSttP->GetXaxis()->SetTitle("Momentum (GeV)");
16  hMcSttP->Draw();
17  hMcSttP->SetLineColor(kRed);
18  hMcSttP->Draw("same");
19  hMcMvdP->SetLineColor(8);
20  hMcMvdP->Draw("same");
21  hMcGemP->SetLineColor(6);
22  hMcGemP->Draw("same");
23 
24  leg=new TLegend(0.6,0.7,0.89,0.89);
25  leg->SetFillColor(kWhite);
26  leg->AddEntry(hMcP,"ALL","l");
27  leg->AddEntry(hMcSttP,"STT","l");
28  leg->AddEntry(hMcMvdP,"MVD","l");
29  leg->AddEntry(hMcGemP,"GEM","l");
30  leg->Draw();
31  c1->cd(2);
32  hMcSttTheta->Draw();
33  hMcSttTheta->SetTitle("Geometrical coverage for the theta angle");
34  hMcSttTheta->GetXaxis()->SetTitle("#theta (degree)");
35  hMcSttTheta->SetLineColor(kRed);
36  hMcSttTheta->Draw("same");
37  hMcMvdTheta->SetLineColor(8);
38  hMcMvdTheta->Draw("same");
39  hMcGemTheta->SetLineColor(6);
40  hMcGemTheta->Draw("same");
41 
42  leg=new TLegend(0.6,0.7,0.89,0.89);
43  leg->SetFillColor(kWhite);
44  leg->AddEntry(hMcTheta,"ALL","l");
45  leg->AddEntry(hMcSttTheta,"STT","l");
46  leg->AddEntry(hMcMvdTheta,"MVD","l");
47  leg->AddEntry(hMcGemTheta,"GEM","l");
48  leg->Draw();
49 
50  c1->cd(3);
51  hMcSttPhi->Draw();
52  hMcSttPhi->SetTitle("Geometrical coverage for the phi angle");
53  hMcSttPhi->GetXaxis()->SetTitle("#phi (degree)");
54  hMcSttPhi->SetLineColor(kRed);
55  hMcSttPhi->Draw("same");
56  hMcMvdPhi->SetLineColor(8);
57  hMcMvdPhi->Draw("same");
58  hMcGemPhi->SetLineColor(6);
59  hMcGemPhi->Draw("same");
60 
61  leg=new TLegend(0.6,0.7,0.89,0.89);
62  leg->SetFillColor(kWhite);
63  leg->AddEntry(hMcPhi,"ALL","l");
64  leg->AddEntry(hMcSttPhi,"STT","l");
65  leg->AddEntry(hMcMvdPhi,"MVD","l");
66  leg->AddEntry(hMcGemPhi,"GEM","l");
67  leg->Draw();
68 
69  TCanvas *c4=new TCanvas("c4","",800,800);
70  c4->Divide(1,3);
71  c4->cd(1);
72  nt->Draw("mc_p>>hMcP(100,0,5)");
73  nt->Draw("mc_p>>hMcAccSttP(100,0,5)","mc_stt>0","E1");
74  hMcAccSttP->Divide(hMcP);
75  hMcAccSttP->SetTitle("Geometrical Acceptance");
76  hMcAccSttP->GetXaxis()->SetTitle("Momentum (GeV)");
77  hMcAccSttP->GetYaxis()->SetTitle("Acceptance");
78  c4->cd(2);
79  nt->Draw("mc_theta>>hMcTheta(50,0,180)");
80  nt->Draw("mc_theta>>hMcAccSttTheta(50,0,180)","mc_stt>0","E1");
81  hMcAccSttTheta->Divide(hMcTheta);
82  hMcAccSttTheta->SetTitle("Geometrical Acceptance");
83  hMcAccSttTheta->GetXaxis()->SetTitle("#theta (degree)");
84  hMcAccSttTheta->GetYaxis()->SetTitle("Acceptance");
85  c4->cd(3);
86  nt->Draw("mc_phi>>hMcPhi(50,-200,200)");
87  nt->Draw("mc_phi>>hMcAccSttPhi(50,-200,200)","mc_stt>0","E1");
88  hMcAccSttPhi->Divide(hMcPhi);
89  hMcAccSttPhi->SetTitle("Geometrical Acceptance");
90  hMcAccSttPhi->GetXaxis()->SetTitle("#phi (degree)");
91  hMcAccSttPhi->GetYaxis()->SetTitle("Acceptance");
92 
93 
94  TCanvas *c5=new TCanvas("c5","",800,800);
95  float numero=ntEvt->GetEntries();
96  c5->cd();
97  TH1F *f1=new TH1F("f1","",100,0,5);
98  ntEvt.Draw("acc_stt>>f1");
99  f1->SetTitle("Geometrical Global Acceptance");
100  f1->GetXaxis()->SetTitle("Primary Tracks");
101  f1->GetYaxis()->SetTitle("Acceptance");
102  f1->GetYaxis()->SetTitleOffset(1.5);
103  f1->Draw();
104  f1->Scale(1/numero);
105 
106 
107  TCanvas *c6=new TCanvas("c6","",800,800);
108  c6->Divide(1,3);
109  c6->cd(1);
110  nt->Draw("mc_p>>hMcP(100,0,5)");
111  nt->Draw("mc_p>>hRecoEffP(100,0,5)","mult>0","E1");
112  hRecoEffP->Divide(hMcP);
113  hRecoEffP->SetTitle("Pattern Recognition Efficiency");
114  hRecoEffP->GetXaxis()->SetTitle("Momentum (GeV)");
115  hRecoEffP->GetYaxis()->SetTitle("Efficiency");
116  hRecoEffP->Draw();
117  c6->cd(2);
118  nt->Draw("mc_theta>>hMcTheta(50,0,180)");
119  nt->Draw("mc_theta>>hRecoEffTheta(50,0,180)","mult>0","E1");
120  hRecoEffTheta->Divide(hMcTheta);
121  hRecoEffTheta->SetTitle("Pattern Recognition Efficiency");
122  hRecoEffTheta->GetXaxis()->SetTitle("#theta (degree)");
123  hRecoEffTheta->GetYaxis()->SetTitle("Efficiency");
124  hRecoEffTheta->Draw();
125  c6->cd(3);
126  nt->Draw("mc_phi>>hMcPhi(50,-200,200)");
127  nt->Draw("mc_phi>>hRecoEffPhi(50,-200,200)","mult>0","E1");
128  hRecoEffPhi->Divide(hMcPhi);
129  hRecoEffPhi->SetTitle("Pattern Recognition Efficiency");
130  hRecoEffPhi->GetXaxis()->SetTitle("#phi (degree)");
131  hRecoEffPhi->GetYaxis()->SetTitle("Efficiency");
132  hRecoEffPhi->Draw();
133 
134 
135  TCanvas *c14=new TCanvas("c14","",800,800);
136  c14->Divide(1,3);
137  c14->cd(1);
138  nt->Draw("mc_p>>hMcP(100,0,5)");
139  nt->Draw("mc_p>>hRecoEffCtP(100,0,5)","mult>0&&(stt>0||tpc>0)","E1");
140  hRecoEffCtP->Divide(hMcP);
141  hRecoEffCtP->SetTitle("Pattern Recognition Efficiency Only Central Tracker");
142  hRecoEffCtP->GetXaxis()->SetTitle("Momentum (GeV)");
143  hRecoEffCtP->GetYaxis()->SetTitle("Efficiency");
144  hRecoEffCtP->Draw();
145  c14->cd(2);
146  nt->Draw("mc_theta>>hMcTheta(50,0,180)");
147  nt->Draw("mc_theta>>hRecoEffCtTheta(50,0,180)","mult>0&&(stt>0||tpc>0)","E1");
148  hRecoEffCtTheta->Divide(hMcTheta);
149  hRecoEffCtTheta->SetTitle("Pattern Recognition Efficiency Only Central Tracker");
150  hRecoEffCtTheta->GetXaxis()->SetTitle("#theta (degree)");
151  hRecoEffCtTheta->GetYaxis()->SetTitle("Efficiency");
152  hRecoEffCtTheta->Draw();
153  c14->cd(3);
154  nt->Draw("mc_phi>>hMcPhi(50,-200,200)");
155  nt->Draw("mc_phi>>hRecoEffCtPhi(50,-200,200)","mult>0&&(stt>0||tpc>0)","E1");
156  hRecoEffCtPhi->Divide(hMcPhi);
157  hRecoEffCtPhi->SetTitle("Pattern Recognition Efficiency Only Central Tracker");
158  hRecoEffCtPhi->GetXaxis()->SetTitle("#phi (degree)");
159  hRecoEffCtPhi->GetYaxis()->SetTitle("Efficiency");
160  hRecoEffCtPhi->Draw();
161 
162 
163 
164  TCanvas *c7=new TCanvas("c7","",800,800);
165 
166  c7->cd();
167  TH1F *f1=new TH1F("f1","",100,0,5);
168  ntEvt.Draw("cand>>f1");
169  f1->SetTitle("Number of candidates");
170  f1->GetXaxis()->SetTitle("Candidates");
171  f1->GetYaxis()->SetTitle("1/evt");
172  f1->GetYaxis()->SetTitleOffset(1.5);
173  f1->Draw();
174  f1->Scale(1/numero);
175 
176  TCanvas *c8=new TCanvas("c8","",800,800);
177 
178  c8->cd();
179  TH1F *f1=new TH1F("f1","",100,0,5);
180  ntEvt.Draw("eff>>f1");
181  f1->SetTitle("Number of reconstructed primary tracks STT+MVD+GEM");
182  f1->GetXaxis()->SetTitle("Primary Tracks");
183  f1->GetYaxis()->SetTitle("Efficiency");
184  f1->GetYaxis()->SetTitleOffset(1.5);
185  f1->Draw();
186  f1->Scale(1/numero);
187 
188  TCanvas *c11=new TCanvas("c11","",800,800);
189 
190  c11->cd();
191  TH1F *f1=new TH1F("f1","",100,0,5);
192  ntEvt.Draw("effct>>f1");
193  f1->SetTitle("Number of reconstructed primary tracks Only Central Tracker");
194  f1->GetXaxis()->SetTitle("Primary Tracks");
195  f1->GetYaxis()->SetTitle("Efficiency");
196  f1->GetYaxis()->SetTitleOffset(1.5);
197  f1->Draw();
198  f1->Scale(1/numero);
199 
200 
201 
202  TCanvas *c9=new TCanvas("c9","",800,800);
203  c9->Divide(3,2);
204  c9->cd(1);
205  nt->Draw("(mc_p-p):mc_p>>hresp_p(100,0,5,100,-0.5,0.5)","mult>0 && (stt>0||tpc>0)","colz");
206  hresp_p->SetTitle("Resolution");
207  hresp_p->GetXaxis()->SetTitle("MC Momentum (GeV)");
208  hresp_p->GetYaxis()->SetTitle("(MC Mom - Reco Mom )");
209  hresp_p->GetYaxis()->SetTitleOffset(1.5);
210 
211  c9->cd(2);
212  nt->Draw("(mc_theta-theta):mc_theta>>hrestheta_theta(100,0,100,100,-2,2)","mult>0 && (stt>0||tpc>0)","colz");
213  hrestheta_theta->SetTitle("Resolution");
214  hrestheta_theta->GetXaxis()->SetTitle("MC #theta (degree)");
215  hrestheta_theta->GetYaxis()->SetTitle("Mc #theta - Reco #theta ");
216  hrestheta_theta->GetYaxis()->SetTitleOffset(1.5);
217 
218  c9->cd(3);
219  nt->Draw("(mc_p-p):mc_theta>>hresp_theta(100,0,100,100,-0.5,0.5)","mult>0 && (stt>0||tpc>0)","colz");
220  hresp_theta->SetTitle("Resolution");
221  hresp_theta->GetXaxis()->SetTitle("MC #theta (degree)");
222  hresp_theta->GetYaxis()->SetTitle("MC Mom - Reco Mom");
223  hresp_theta->GetYaxis()->SetTitleOffset(1.5);
224 
225  c9->cd(4);
226  nt->Draw("(mc_theta-theta):mc_p>>hrestheta_p(100,0,5,100,-2,2)","mult>0 && (stt>0||tpc>0)","colz");
227  hrestheta_p->SetTitle("Resolution");
228  hrestheta_p->GetXaxis()->SetTitle("MC Momentum (GeV)");
229  hrestheta_p->GetYaxis()->SetTitle("Mc #theta - Reco #theta ");
230  hrestheta_p->GetYaxis()->SetTitleOffset(1.5);
231 
232  c9->cd(5);
233  nt->Draw("(mc_phi-phi):mc_phi>>hresphi_phi(100,-200,200,100,-2,2)","mult>0 && (stt>0||tpc>0)","colz");
234  hresphi_phi->SetTitle("Resolution");
235  hresphi_phi->GetXaxis()->SetTitle("MC Phi (degree)");
236  hresphi_phi->GetYaxis()->SetTitle("Mc #phi - Reco #phi ");
237  hresphi_phi->GetYaxis()->SetTitleOffset(1.5);
238 
239  c9->Update();
240 
241  TCanvas *c20=new TCanvas("c20","",800,800);
242  c20->cd();
243  TH1F *hist=new TH1F("hist","Total Momentum distribution",100,0,10);
244  hist->GetXaxis()->SetTitle("MC Momentum (GeV)");
245  nt->Draw("p>>hist","mult>0 && (stt>0 || tpc>0)");
246 
247  TCanvas *c21=new TCanvas("c21","",800,800);
248  c21->cd();
249  TH1F *hist2=new TH1F("hist2","#theta Angle Distribution",100,0,180);
250  hist2->GetXaxis()->SetTitle("Theta (degree)");
251  nt->Draw("theta>>hist2","mult>0 && (stt>0 || tpc>0)");
252 
253  TCanvas *c22=new TCanvas("c22","",800,800);
254  c22->cd();
255  TH1F *hist3=new TH1F("hist3","(Reconstructed Momentum - MC Momentum )/MC Momentum",100,-1,1);
256  hist3->SetStats(kTRUE);
257  hist3->GetXaxis()->SetTitle("(Reco-MC)/MC");
258  nt->Draw("(mc_p-p)/mc_p>>hist3","mult>0 && (stt>0 || tpc>0)");
259  TF1 *f10 = new TF1("f10","gaus",-0.09,0.09);
260  hist3->Fit(f10,"R");
261 
262 
263 }
TCanvas * c11
TH1F * hist3
TF1 * f10
TCanvas * c21
TCanvas * c9
TString inFile
Definition: hit_dirc.C:8
TCanvas * c7
float numero
TFile * f
TCanvas * c5
TCanvas * c6
TH1F * f1
TCanvas * c14
TCanvas * c22
TCanvas * c20
TCanvas * c4
TH1F * hist2
TH1F * hist
TCanvas * c1
TCanvas * c8