6 TDirectory *
dir = (TDirectory*)gDirectory->FindObjectAny(
"CDC_Efficiency");
10 gDirectory->cd(
"CDC_View");
11 TCanvas *
cEfficiency =
new TCanvas(
"cEfficiency",
"cEfficiency", 900, 800);
13 TH2D *
axes = (TH2D *)gDirectory->Get(
"axes");
14 if(!axes) axes =
new TH2D(
"axes",
"CDC Efficiency", 100, -65.0, 65.0, 100, -65.0, 65.0);
19 axes->GetZaxis()->SetRangeUser(minScale, maxScale);
22 for(
unsigned int iring=1; iring<=28; iring++){
24 sprintf(hname,
"cdc_measured_ring[%d]", iring);
25 TH1 *
h = (TH1*)(gDirectory->Get(hname));
27 sprintf(hname2,
"cdc_expected_ring[%d]", iring);
28 TH1 *
h2 = (TH1*)(gDirectory->Get(hname2));
35 h->SetMinimum(minScale);
36 h->SetMaximum(maxScale);
38 h->Draw(
"same col pol");
41 cEfficiency->SaveAs(
"cEfficiency.png");
43 TCanvas *
cEfficiencyDOCA0 =
new TCanvas(
"cEfficiencyDOCA0",
"cEfficiencyDOCA0", 900, 800);
45 TH2D *
axesDOCA0 = (TH2D *)gDirectory->Get(
"axesDOCA0");
46 if(!axesDOCA0) axesDOCA0 =
new TH2D(
"axesDOCA0",
"CDC Efficiency for DOCA #in [0.0, 0.1 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
48 minScale = 0.5; maxScale = 1.0;
49 axesDOCA0->SetStats(0);
50 axesDOCA0->Fill(100,100);
51 axesDOCA0->GetZaxis()->SetRangeUser(minScale, maxScale);
52 axesDOCA0->Draw(
"colz");
54 for(
unsigned int iring=1; iring<=28; iring++){
56 sprintf(hname,
"cdc_measured_ring[%d]DOCA0", iring);
57 TH1 *
h = (TH1*)(gDirectory->Get(hname));
59 sprintf(hname2,
"cdc_expected_ring[%d]DOCA0", iring);
60 TH1 *
h2 = (TH1*)(gDirectory->Get(hname2));
67 h->SetMinimum(minScale);
68 h->SetMaximum(maxScale);
70 h->Draw(
"same col pol");
73 cEfficiencyDOCA0->SaveAs(
"cEfficiencyDOCA0.png");
75 TCanvas *
cEfficiencyDOCA1 =
new TCanvas(
"cEfficiencyDOCA1",
"cEfficiencyDOCA1", 900, 800);
77 TH2D *
axesDOCA1 = (TH2D *)gDirectory->Get(
"axesDOCA1");
78 if(!axesDOCA1) axesDOCA1 =
new TH2D(
"axesDOCA1",
"CDC Efficiency for DOCA #in [0.1, 0.2 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
80 minScale = 0.5; maxScale = 1.0;
81 axesDOCA1->SetStats(0);
82 axesDOCA1->Fill(100,100);
83 axesDOCA1->GetZaxis()->SetRangeUser(minScale, maxScale);
84 axesDOCA1->Draw(
"colz");
86 for(
unsigned int iring=1; iring<=28; iring++){
88 sprintf(hname,
"cdc_measured_ring[%d]DOCA1", iring);
89 TH1 *h = (TH1*)(gDirectory->Get(hname));
91 sprintf(hname2,
"cdc_expected_ring[%d]DOCA1", iring);
92 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
99 h->SetMinimum(minScale);
100 h->SetMaximum(maxScale);
102 h->Draw(
"same col pol");
105 cEfficiencyDOCA1->SaveAs(
"cEfficiencyDOCA1.png");
110 if(!axesDOCA2) axesDOCA2 =
new TH2D(
"axesDOCA2",
"CDC Efficiency for DOCA #in [0.2, 0.3 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
112 minScale = 0.5; maxScale = 1.0;
113 axesDOCA2->SetStats(0);
114 axesDOCA2->Fill(100,100);
115 axesDOCA2->GetZaxis()->SetRangeUser(minScale, maxScale);
116 axesDOCA2->Draw(
"colz");
118 for(
unsigned int iring=1; iring<=28; iring++){
120 sprintf(hname,
"cdc_measured_ring[%d]DOCA2", iring);
121 TH1 *h = (TH1*)(gDirectory->Get(hname));
123 sprintf(hname2,
"cdc_expected_ring[%d]DOCA2", iring);
124 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
131 h->SetMinimum(minScale);
132 h->SetMaximum(maxScale);
134 h->Draw(
"same col pol");
137 cEfficiencyDOCA2->SaveAs(
"cEfficiencyDOCA2.png");
142 if(!axesDOCA3) axesDOCA3 =
new TH2D(
"axesDOCA3",
"CDC Efficiency for DOCA #in [0.3, 0.4 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
144 minScale = 0.5; maxScale = 1.0;
145 axesDOCA3->SetStats(0);
146 axesDOCA3->Fill(100,100);
147 axesDOCA3->GetZaxis()->SetRangeUser(minScale, maxScale);
148 axesDOCA3->Draw(
"colz");
150 for(
unsigned int iring=1; iring<=28; iring++){
152 sprintf(hname,
"cdc_measured_ring[%d]DOCA3", iring);
153 TH1 *h = (TH1*)(gDirectory->Get(hname));
155 sprintf(hname2,
"cdc_expected_ring[%d]DOCA3", iring);
156 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
163 h->SetMinimum(minScale);
164 h->SetMaximum(maxScale);
166 h->Draw(
"same col pol");
169 cEfficiencyDOCA3->SaveAs(
"cEfficiencyDOCA3.png");
174 if(!axesDOCA4) axesDOCA4 =
new TH2D(
"axesDOCA4",
"CDC Efficiency for DOCA #in [0.4, 0.5 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
176 minScale = 0.5; maxScale = 1.0;
177 axesDOCA4->SetStats(0);
178 axesDOCA4->Fill(100,100);
179 axesDOCA4->GetZaxis()->SetRangeUser(minScale, maxScale);
180 axesDOCA4->Draw(
"colz");
182 for(
unsigned int iring=1; iring<=28; iring++){
184 sprintf(hname,
"cdc_measured_ring[%d]DOCA4", iring);
185 TH1 *h = (TH1*)(gDirectory->Get(hname));
187 sprintf(hname2,
"cdc_expected_ring[%d]DOCA4", iring);
188 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
195 h->SetMinimum(minScale);
196 h->SetMaximum(maxScale);
198 h->Draw(
"same col pol");
201 cEfficiencyDOCA4->SaveAs(
"cEfficiencyDOCA4.png");
206 if(!axesDOCA5) axesDOCA5 =
new TH2D(
"axesDOCA5",
"CDC Efficiency for DOCA #in [0.5, 0.6 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
208 minScale = 0.5; maxScale = 1.0;
209 axesDOCA5->SetStats(0);
210 axesDOCA5->Fill(100,100);
211 axesDOCA5->GetZaxis()->SetRangeUser(minScale, maxScale);
212 axesDOCA5->Draw(
"colz");
214 for(
unsigned int iring=1; iring<=28; iring++){
216 sprintf(hname,
"cdc_measured_ring[%d]DOCA5", iring);
217 TH1 *h = (TH1*)(gDirectory->Get(hname));
219 sprintf(hname2,
"cdc_expected_ring[%d]DOCA5", iring);
220 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
227 h->SetMinimum(minScale);
228 h->SetMaximum(maxScale);
230 h->Draw(
"same col pol");
233 cEfficiencyDOCA5->SaveAs(
"cEfficiencyDOCA5.png");
238 if(!axesDOCA6) axesDOCA6 =
new TH2D(
"axesDOCA6",
"CDC Efficiency for DOCA #in [0.6, 0.7 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
240 minScale = 0.5; maxScale = 1.0;
241 axesDOCA6->SetStats(0);
242 axesDOCA6->Fill(100,100);
243 axesDOCA6->GetZaxis()->SetRangeUser(minScale, maxScale);
244 axesDOCA6->Draw(
"colz");
246 for(
unsigned int iring=1; iring<=28; iring++){
248 sprintf(hname,
"cdc_measured_ring[%d]DOCA6", iring);
249 TH1 *h = (TH1*)(gDirectory->Get(hname));
251 sprintf(hname2,
"cdc_expected_ring[%d]DOCA6", iring);
252 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
259 h->SetMinimum(minScale);
260 h->SetMaximum(maxScale);
262 h->Draw(
"same col pol");
265 cEfficiencyDOCA6->SaveAs(
"cEfficiencyDOCA6.png");
270 if(!axesDOCA7) axesDOCA7 =
new TH2D(
"axesDOCA7",
"CDC Efficiency for DOCA #in [0.7, 0.78 cm]", 100, -65.0, 65.0, 100, -65.0, 65.0);
272 minScale = 0.5; maxScale = 1.0;
273 axesDOCA7->SetStats(0);
274 axesDOCA7->Fill(100,100);
275 axesDOCA7->GetZaxis()->SetRangeUser(minScale, maxScale);
276 axesDOCA7->Draw(
"colz");
278 for(
unsigned int iring=1; iring<=28; iring++){
280 sprintf(hname,
"cdc_measured_ring[%d]DOCA7", iring);
281 TH1 *h = (TH1*)(gDirectory->Get(hname));
283 sprintf(hname2,
"cdc_expected_ring[%d]DOCA7", iring);
284 TH1 *h2 = (TH1*)(gDirectory->Get(hname2));
291 h->SetMinimum(minScale);
292 h->SetMaximum(maxScale);
294 h->Draw(
"same col pol");
297 cEfficiencyDOCA7->SaveAs(
"cEfficiencyDOCA7.png");
301 TCanvas *
cPathLength =
new TCanvas(
"cPathLength",
"cPathLength", 800, 600);
302 cPathLength->SetGridx();
303 cPathLength->SetGridy();
304 TH1I *
MeasPathLength = (TH1I*)(gDirectory->Get(
"Offline/Measured Hits Vs Path Length"));
305 TH1I *
ExpPathLength = (TH1I*)(gDirectory->Get(
"Offline/Expected Hits Vs Path Length"));
306 if(MeasPathLength && ExpPathLength){
308 TGraphAsymmErrors *EffPathLength =
new TGraphAsymmErrors(MeasPathLength, ExpPathLength,
"ac");
309 EffPathLength->Draw(
"ap");
310 EffPathLength->SetMinimum(0.0);
311 EffPathLength->SetMaximum(1.0);
312 EffPathLength->SetTitle(
"CDC Per Straw Efficiency Vs. dX");
313 EffPathLength->GetXaxis()->SetTitle(
"Path Length Through Straw [cm]");
314 EffPathLength->GetYaxis()->SetTitle(
"Efficiency");
315 cPathLength->SaveAs(
"cPathLength.png");
318 TCanvas *
cDOCA =
new TCanvas(
"cDOCA",
"cDOCA", 800, 600);
321 TH1I *
MeasDOCA = (TH1I*)(gDirectory->Get(
"Offline/Measured Hits Vs DOCA"));
322 TH1I *
ExpDOCA = (TH1I*)(gDirectory->Get(
"Offline/Expected Hits Vs DOCA"));
323 if(MeasDOCA && ExpDOCA){
325 TGraphAsymmErrors *EffDOCA =
new TGraphAsymmErrors(MeasDOCA, ExpDOCA,
"ac");
327 EffDOCA->SetMinimum(0.0);
328 EffDOCA->SetMaximum(1.0);
329 EffDOCA->SetTitle(
"CDC Per Straw Efficiency Vs. DOCA");
330 EffDOCA->GetXaxis()->SetTitle(
"Closest distance between track and wire [cm]");
331 EffDOCA->GetYaxis()->SetTitle(
"Efficiency");
332 cDOCA->SaveAs(
"cDOCA.png");
335 TCanvas *
cTrackingFOM =
new TCanvas(
"cTrackingFOM",
"cTrackingFOM", 800, 600);
336 cTrackingFOM->SetGridx();
337 cTrackingFOM->SetGridy();
338 TH1I *
MeasTrackingFOM = (TH1I*)(gDirectory->Get(
"Offline/Measured Hits Vs Tracking FOM"));
339 TH1I *
ExpTrackingFOM = (TH1I*)(gDirectory->Get(
"Offline/Expected Hits Vs Tracking FOM"));
340 if(MeasTrackingFOM && ExpTrackingFOM){
342 TGraphAsymmErrors *EffTrackingFOM =
new TGraphAsymmErrors(MeasTrackingFOM, ExpTrackingFOM,
"ac");
343 EffTrackingFOM->Draw(
"ap");
344 EffTrackingFOM->SetMinimum(0.0);
345 EffTrackingFOM->SetMaximum(1.0);
346 EffTrackingFOM->SetTitle(
"CDC Per Straw Efficiency Vs. Tracking FOM");
347 EffTrackingFOM->GetXaxis()->SetTitle(
"Tracking FOM");
348 EffTrackingFOM->GetYaxis()->SetTitle(
"Efficiency");
349 cTrackingFOM->SaveAs(
"cTrackingFOM.png");
352 TCanvas *
ctheta =
new TCanvas(
"ctheta",
"ctheta", 800, 600);
355 TH1I *
Meastheta = (TH1I*)(gDirectory->Get(
"Offline/Measured Hits Vs theta"));
356 TH1I *
Exptheta = (TH1I*)(gDirectory->Get(
"Offline/Expected Hits Vs theta"));
357 if(Meastheta && Exptheta){
359 TGraphAsymmErrors *Efftheta =
new TGraphAsymmErrors(Meastheta, Exptheta,
"ac");
360 Efftheta->Draw(
"ap");
361 Efftheta->SetMinimum(0.0);
362 Efftheta->SetMaximum(1.0);
363 Efftheta->SetTitle(
"CDC Per Straw Efficiency Vs. #theta");
364 Efftheta->GetXaxis()->SetTitle(
"Track #theta [deg.]");
365 Efftheta->GetYaxis()->SetTitle(
"Efficiency");
366 ctheta->SaveAs(
"ctheta.png");
369 TCanvas *
cp =
new TCanvas(
"cp",
"cp", 800, 600);
372 TH1I *
Measp = (TH1I*)(gDirectory->Get(
"Offline/Measured Hits Vs p"));
373 TH1I *
Expp = (TH1I*)(gDirectory->Get(
"Offline/Expected Hits Vs p"));
376 TGraphAsymmErrors *Effp =
new TGraphAsymmErrors(Measp, Expp,
"ac");
378 Effp->SetMinimum(0.0);
379 Effp->SetMaximum(1.0);
380 Effp->SetTitle(
"CDC Per Straw Efficiency Vs. p");
381 Effp->GetXaxis()->SetTitle(
"Track Momentum [GeV/c]");
382 Effp->GetYaxis()->SetTitle(
"Efficiency");
383 cp->SaveAs(
"cp.png");
386 TCanvas *
cdelta =
new TCanvas(
"cdelta",
"cdelta", 800, 600);
389 TH1I *
Measdelta = (TH1I*)(gDirectory->Get(
"Offline/Measured Hits Vs delta"));
390 TH1I *
Expdelta = (TH1I*)(gDirectory->Get(
"Offline/Expected Hits Vs delta"));
391 if(Measdelta && Expdelta){
393 TGraphAsymmErrors *Effdelta =
new TGraphAsymmErrors(Measdelta, Expdelta,
"ac");
394 Effdelta->Draw(
"ap");
395 Effdelta->SetMinimum(0.0);
396 Effdelta->SetMaximum(1.0);
397 Effdelta->SetTitle(
"CDC Per Straw Efficiency Vs. delta");
398 Effdelta->GetXaxis()->SetTitle(
"delta [cm]");
399 Effdelta->GetYaxis()->SetTitle(
"Efficiency");
400 cdelta->SaveAs(
"cdelta.png");
TCanvas * cEfficiencyDOCA7
sprintf(text,"Post KinFit Cut")
TCanvas * cEfficiencyDOCA6
TCanvas * cEfficiencyDOCA5
TCanvas * cEfficiencyDOCA3
TCanvas * cEfficiencyDOCA1
TCanvas * cEfficiencyDOCA2
TCanvas * cEfficiencyDOCA0
TCanvas * cEfficiencyDOCA4