14 double locMinNumCountsForRatio = 50.0;
17 TDirectory *
locDirectory = (TDirectory*)gDirectory->FindObjectAny(
"Hist_DetectorMatching");
23 gDirectory->cd(
"TimeBased/TOFPaddle");
29 gDirectory->cd(
"../TOFPoint");
46 gStyle->SetPadLeftMargin(0.15);
47 gStyle->SetPadRightMargin(0.15);
53 if(TVirtualPad::Pad() == NULL)
54 locCanvas =
new TCanvas(
"Matching_TOF2",
"Matching_TOF2", 1200, 800);
56 locCanvas = gPad->GetCanvas();
57 locCanvas->Divide(3, 2);
63 if((locHist_TrackYVsVerticalPaddle_HasHit != NULL) && (locHist_TrackYVsVerticalPaddle_NoHit != NULL))
65 locHist_TrackYVsVerticalPaddle_HasHit->Rebin2D(1, 5);
66 locHist_TrackYVsVerticalPaddle_NoHit->Rebin2D(1, 5);
70 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
71 string locHistTitle =
string(
"TOF Paddle Match Rate (p > 1 GeV/c);") +
string(locFoundHist->GetXaxis()->GetTitle()) +
string(
";") +
string(locFoundHist->GetYaxis()->GetTitle());
73 TH2D* locAcceptanceHist =
new TH2D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax(), locFoundHist->GetNbinsY(), locFoundHist->GetYaxis()->GetXmin(), locFoundHist->GetYaxis()->GetXmax());
74 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
76 for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
78 double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
79 double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
80 double locTotal = locNumMissing + locNumFound;
81 if(!(locTotal >= locMinNumCountsForRatio))
83 locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
84 locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
88 double locAcceptance = locNumFound/locTotal;
89 if(!(locAcceptance > 0.0))
90 locAcceptance = 0.00001;
91 locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
92 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
94 double locAcceptanceError = locNumFoundError/locTotal;
95 locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
98 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
99 locAcceptanceHist->SetStats(kFALSE);
101 locAcceptanceHist->GetYaxis()->SetTitleOffset(1.5);
102 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
103 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
104 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
105 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
106 locAcceptanceHist->GetZaxis()->SetRangeUser(0.6, 1.);
107 locAcceptanceHist->Draw(
"COLZ");
113 if((locHist_HorizontalPaddleVsTrackX_HasHit != NULL) && (locHist_HorizontalPaddleVsTrackX_NoHit != NULL))
115 locHist_HorizontalPaddleVsTrackX_HasHit->Rebin2D(5, 1);
116 locHist_HorizontalPaddleVsTrackX_NoHit->Rebin2D(5, 1);
120 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
121 string locHistTitle =
string(
"TOF Paddle Match Rate (p > 1 GeV/c);") +
string(locFoundHist->GetXaxis()->GetTitle()) +
string(
";") +
string(locFoundHist->GetYaxis()->GetTitle());
123 TH2D* locAcceptanceHist =
new TH2D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax(), locFoundHist->GetNbinsY(), locFoundHist->GetYaxis()->GetXmin(), locFoundHist->GetYaxis()->GetXmax());
124 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
126 for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
128 double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
129 double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
130 double locTotal = locNumMissing + locNumFound;
131 if(!(locTotal >= locMinNumCountsForRatio))
133 locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
134 locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
138 double locAcceptance = locNumFound/locTotal;
139 if(!(locAcceptance > 0.0))
140 locAcceptance = 0.00001;
141 locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
142 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
144 double locAcceptanceError = locNumFoundError/locTotal;
145 locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
148 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
149 locAcceptanceHist->SetStats(kFALSE);
151 locAcceptanceHist->GetYaxis()->SetTitleOffset(1.2);
152 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
153 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
154 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
155 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
156 locAcceptanceHist->GetZaxis()->SetRangeUser(0.6, 1.);
157 locAcceptanceHist->Draw(
"COLZ");
163 if((locHist_PVsTheta_HasHit != NULL) && (locHist_PVsTheta_NoHit != NULL))
165 locHist_PVsTheta_HasHit->Rebin2D(8, 5);
166 locHist_PVsTheta_NoHit->Rebin2D(8, 5);
170 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
171 string locHistTitle =
string(
"TOF Point Match Rate;") +
string(locFoundHist->GetXaxis()->GetTitle()) +
string(
";") +
string(locFoundHist->GetYaxis()->GetTitle());
173 TH2D* locAcceptanceHist =
new TH2D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax(), locFoundHist->GetNbinsY(), locFoundHist->GetYaxis()->GetXmin(), locFoundHist->GetYaxis()->GetXmax());
174 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
176 for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
178 double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
179 double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
180 double locTotal = locNumMissing + locNumFound;
181 if(!(locTotal >= locMinNumCountsForRatio))
183 locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
184 locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
188 double locAcceptance = locNumFound/locTotal;
189 if(!(locAcceptance > 0.0))
190 locAcceptance = 0.00001;
191 locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
192 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
194 double locAcceptanceError = locNumFoundError/locTotal;
195 locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
198 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
199 locAcceptanceHist->SetStats(kFALSE);
201 locAcceptanceHist->GetYaxis()->SetTitleOffset(1.2);
202 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
203 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
204 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
205 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
206 locAcceptanceHist->GetZaxis()->SetRangeUser(0.6, 1.);
207 locAcceptanceHist->Draw(
"COLZ");
213 if((locHist_TrackTOF2DPaddles_HasHit != NULL) && (locHist_TrackTOF2DPaddles_NoHit != NULL))
217 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
218 string locHistTitle =
string(
"TOF Point Match Rate (p > 1 GeV/c);") +
string(locFoundHist->GetXaxis()->GetTitle()) +
string(
";") +
string(locFoundHist->GetYaxis()->GetTitle());
220 TH2D* locAcceptanceHist =
new TH2D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax(), locFoundHist->GetNbinsY(), locFoundHist->GetYaxis()->GetXmin(), locFoundHist->GetYaxis()->GetXmax());
221 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
223 for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
225 double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
226 double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
227 double locTotal = locNumMissing + locNumFound;
228 if(!(locTotal >= locMinNumCountsForRatio))
230 locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
231 locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
235 double locAcceptance = locNumFound/locTotal;
236 if(!(locAcceptance > 0.0))
237 locAcceptance = 0.00001;
238 locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
239 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
241 double locAcceptanceError = locNumFoundError/locTotal;
242 locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
245 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
246 locAcceptanceHist->SetStats(kFALSE);
248 locAcceptanceHist->GetYaxis()->SetTitleOffset(1.2);
249 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
250 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
251 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
252 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
253 locAcceptanceHist->GetZaxis()->SetRangeUser(0.6, 1.);
254 locAcceptanceHist->Draw(
"COLZ");
260 if((locHist_TrackTOFP_HasHit_TOF != NULL) && (locHist_TrackTOFP_NoHit_TOF != NULL))
263 locFoundHist->Rebin(10);
265 locMissingHist->Rebin(10);
267 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
268 string locHistTitle =
string(
"TOF Match Rate;") +
string(locFoundHist->GetXaxis()->GetTitle());
269 TH1D* locAcceptanceHist =
new TH1D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax());
270 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
272 double locNumMissing = locMissingHist->GetBinContent(loc_m);
273 double locNumFound = locFoundHist->GetBinContent(loc_m);
274 double locTotal = locNumMissing + locNumFound;
275 if(!(locTotal >= locMinNumCountsForRatio))
277 locAcceptanceHist->SetBinContent(loc_m, 0.0);
278 locAcceptanceHist->SetBinError(loc_m, 0.0);
282 double locAcceptance = locNumFound/locTotal;
283 locAcceptanceHist->SetBinContent(loc_m, locAcceptance);
284 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
286 double locAcceptanceError = locNumFoundError/locTotal;
287 locAcceptanceHist->SetBinError(loc_m, locAcceptanceError);
289 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
290 locAcceptanceHist->SetStats(kFALSE);
292 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
293 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
294 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
295 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
296 locAcceptanceHist->Draw(
"E1");
302 if((locHist_TrackTOFR_HasHit_TOF != NULL) && (locHist_TrackTOFR_NoHit_TOF != NULL))
305 locFoundHist->Rebin(4);
307 locMissingHist->Rebin(4);
309 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
310 string locHistTitle =
string(
"TOF Match Rate (p > 1 GeV/c);") +
string(locFoundHist->GetXaxis()->GetTitle());
311 TH1D* locAcceptanceHist =
new TH1D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax());
312 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
314 double locNumMissing = locMissingHist->GetBinContent(loc_m);
315 double locNumFound = locFoundHist->GetBinContent(loc_m);
316 double locTotal = locNumMissing + locNumFound;
317 if(!(locTotal >= locMinNumCountsForRatio))
319 locAcceptanceHist->SetBinContent(loc_m, 0.0);
320 locAcceptanceHist->SetBinError(loc_m, 0.0);
324 double locAcceptance = locNumFound/locTotal;
325 locAcceptanceHist->SetBinContent(loc_m, locAcceptance);
326 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
328 double locAcceptanceError = locNumFoundError/locTotal;
329 locAcceptanceHist->SetBinError(loc_m, locAcceptanceError);
331 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
332 locAcceptanceHist->SetStats(kFALSE);
334 locAcceptanceHist->GetXaxis()->SetRangeUser(0.0, 130.0);
335 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
336 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
337 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
338 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
339 locAcceptanceHist->Draw(
"E1");
343 gStyle->SetPadLeftMargin(locLeftPadMargin);
344 gStyle->SetPadRightMargin(locRightPadMargin);
345 gStyle->SetPadTopMargin(locTopPadMargin);
346 gStyle->SetPadBottomMargin(locBottomPadMargin);
TH2I * locHist_TrackYVsVerticalPaddle_HasHit
TH2I * locHist_TrackTOF2DPaddles_NoHit
TH2I * locHist_PVsTheta_NoHit
TH2I * locHist_HorizontalPaddleVsTrackX_HasHit
double locBottomPadMargin
TH2I * locHist_TrackYVsVerticalPaddle_NoHit
TH2I * locHist_HorizontalPaddleVsTrackX_NoHit
TDirectory * locDirectory
TH1I * locHist_TrackTOFR_HasHit_TOF
TH1I * locHist_TrackTOFP_NoHit_TOF
TH2I * locHist_TrackTOF2DPaddles_HasHit
TH1I * locHist_TrackTOFR_NoHit_TOF
TH2I * locHist_PVsTheta_HasHit
TH1I * locHist_TrackTOFP_HasHit_TOF