12 double locMinNumCountsForRatio = 50.0;
15 TDirectory *
locDirectory = (TDirectory*)gDirectory->FindObjectAny(
"Hist_DetectorMatching");
21 gDirectory->cd(
"TimeBased/FCAL");
40 gStyle->SetPadLeftMargin(0.15);
41 gStyle->SetPadRightMargin(0.15);
48 if(TVirtualPad::Pad() == NULL)
49 locCanvas =
new TCanvas(
"Matching_FCAL",
"Matching_FCAL", 1200, 800);
51 locCanvas = gPad->GetCanvas();
52 locCanvas->Divide(3, 2);
58 if(locHist_FCAL_TrackDistanceVsP != NULL)
60 locHist_FCAL_TrackDistanceVsP->Rebin2D(2, 2);
61 locHist_FCAL_TrackDistanceVsP->GetYaxis()->SetTitleOffset(1.3);
62 locHist_FCAL_TrackDistanceVsP->GetXaxis()->SetTitleSize(0.05);
63 locHist_FCAL_TrackDistanceVsP->GetYaxis()->SetTitleSize(0.05);
64 locHist_FCAL_TrackDistanceVsP->GetXaxis()->SetLabelSize(0.05);
65 locHist_FCAL_TrackDistanceVsP->GetYaxis()->SetLabelSize(0.05);
66 locHist_FCAL_TrackDistanceVsP->Draw(
"COLZ");
67 TF1* locFunc =
new TF1(
"FCAL_LCut_VsP",
"2.75", 0.0, 10.0);
68 locFunc->Draw(
"SAME");
74 if(locHist_FCAL_TrackDistanceVsTheta != NULL)
76 locHist_FCAL_TrackDistanceVsTheta->Rebin2D(2, 2);
77 locHist_FCAL_TrackDistanceVsTheta->GetYaxis()->SetTitleOffset(1.3);
78 locHist_FCAL_TrackDistanceVsTheta->GetXaxis()->SetTitleSize(0.05);
79 locHist_FCAL_TrackDistanceVsTheta->GetYaxis()->SetTitleSize(0.05);
80 locHist_FCAL_TrackDistanceVsTheta->GetXaxis()->SetLabelSize(0.05);
81 locHist_FCAL_TrackDistanceVsTheta->GetYaxis()->SetLabelSize(0.05);
82 locHist_FCAL_TrackDistanceVsTheta->Draw(
"COLZ");
83 TF1* locFunc =
new TF1(
"FCAL_LCut_VsTheta",
"2.75*(1.+0.002*x*x)", 0.0, 20.0);
84 locFunc->Draw(
"SAME");
90 if((locHist_PVsTheta_HasHit_FCAL != NULL) && (locHist_PVsTheta_NoHit_FCAL != NULL))
92 locHist_PVsTheta_HasHit_FCAL->Rebin2D(8, 5);
93 locHist_PVsTheta_NoHit_FCAL->Rebin2D(8, 5);
97 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
98 string locHistTitle =
string(
"Track / FCAL Match Rate;") +
string(locFoundHist->GetXaxis()->GetTitle()) +
string(
";") +
string(locFoundHist->GetYaxis()->GetTitle());
99 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());
100 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
102 for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
104 double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
105 double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
106 double locTotal = locNumMissing + locNumFound;
107 if(!(locTotal >= locMinNumCountsForRatio))
109 locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
110 locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
114 double locAcceptance = locNumFound/locTotal;
115 if(!(locAcceptance > 0.0))
116 locAcceptance = 0.00001;
117 locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
118 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
120 double locAcceptanceError = locNumFoundError/locTotal;
121 locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
124 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
125 locAcceptanceHist->SetStats(kFALSE);
126 locAcceptanceHist->GetYaxis()->SetTitleOffset(1.3);
127 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
128 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
129 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
130 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
131 locAcceptanceHist->Draw(
"COLZ");
137 if((locHist_TrackFCALRowVsColumn_HasHit_FCAL != NULL) && (locHist_TrackFCALRowVsColumn_NoHit_FCAL != NULL))
141 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
142 string locHistTitle =
string(
"FCAL Match Rate (p > 1 GeV/c);") +
string(locFoundHist->GetXaxis()->GetTitle()) +
string(
";") +
string(locFoundHist->GetYaxis()->GetTitle());
143 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());
144 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
146 for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
148 double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
149 double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
150 double locTotal = locNumMissing + locNumFound;
151 if(!(locTotal >= locMinNumCountsForRatio))
153 locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
154 locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
158 double locAcceptance = locNumFound/locTotal;
159 if(!(locAcceptance > 0.0))
160 locAcceptance = 0.00001;
161 locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
162 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
164 double locAcceptanceError = locNumFoundError/locTotal;
165 locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
168 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
169 locAcceptanceHist->SetStats(kFALSE);
170 locAcceptanceHist->GetYaxis()->SetTitleOffset(1.3);
171 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
172 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
173 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
174 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
175 locAcceptanceHist->Draw(
"COLZ");
181 if((locHist_TrackFCALP_HasHit_FCAL != NULL) && (locHist_TrackFCALP_NoHit_FCAL != NULL))
184 locFoundHist->Rebin(4);
186 locMissingHist->Rebin(4);
188 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
189 string locHistTitle =
string(
"Track / FCAL Match Rate;") +
string(locFoundHist->GetXaxis()->GetTitle());
190 TH1D* locAcceptanceHist =
new TH1D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax());
191 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
193 double locNumMissing = locMissingHist->GetBinContent(loc_m);
194 double locNumFound = locFoundHist->GetBinContent(loc_m);
195 double locTotal = locNumMissing + locNumFound;
196 if(!(locTotal >= locMinNumCountsForRatio))
198 locAcceptanceHist->SetBinContent(loc_m, 0.0);
199 locAcceptanceHist->SetBinError(loc_m, 0.0);
203 double locAcceptance = locNumFound/locTotal;
204 locAcceptanceHist->SetBinContent(loc_m, locAcceptance);
205 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
207 double locAcceptanceError = locNumFoundError/locTotal;
208 locAcceptanceHist->SetBinError(loc_m, locAcceptanceError);
210 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
211 locAcceptanceHist->SetStats(kFALSE);
213 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
214 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
215 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
216 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
217 locAcceptanceHist->Draw(
"E1");
223 if((locHist_TrackFCALR_HasHit_FCAL != NULL) && (locHist_TrackFCALR_NoHit_FCAL != NULL))
226 locFoundHist->Rebin(2);
228 locMissingHist->Rebin(2);
230 string locHistName =
string(locFoundHist->GetName()) +
string(
"_Acceptance");
231 string locHistTitle =
string(
"FCAL Match Rate (p > 1 GeV/c);") +
string(locFoundHist->GetXaxis()->GetTitle());
232 TH1D* locAcceptanceHist =
new TH1D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax());
233 for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
235 double locNumMissing = locMissingHist->GetBinContent(loc_m);
236 double locNumFound = locFoundHist->GetBinContent(loc_m);
237 double locTotal = locNumMissing + locNumFound;
238 if(!(locTotal >= locMinNumCountsForRatio))
240 locAcceptanceHist->SetBinContent(loc_m, 0.0);
241 locAcceptanceHist->SetBinError(loc_m, 0.0);
245 double locAcceptance = locNumFound/locTotal;
246 locAcceptanceHist->SetBinContent(loc_m, locAcceptance);
247 double locNumFoundError =
sqrt(locNumFound*(1.0 - locAcceptance));
249 double locAcceptanceError = locNumFoundError/locTotal;
250 locAcceptanceHist->SetBinError(loc_m, locAcceptanceError);
252 locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
253 locAcceptanceHist->SetStats(kFALSE);
255 locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
256 locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
257 locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
258 locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
259 locAcceptanceHist->Draw(
"E1");
263 gStyle->SetPadLeftMargin(locLeftPadMargin);
264 gStyle->SetPadRightMargin(locRightPadMargin);
265 gStyle->SetPadTopMargin(locTopPadMargin);
266 gStyle->SetPadBottomMargin(locBottomPadMargin);
TH1I * locHist_TrackFCALR_HasHit_FCAL
TH2I * locHist_TrackFCALRowVsColumn_NoHit_FCAL
TH1I * locHist_TrackFCALP_NoHit_FCAL
double locBottomPadMargin
TH2I * locHist_FCAL_TrackDistanceVsTheta
TH1I * locHist_TrackFCALP_HasHit_FCAL
TDirectory * locDirectory
TH2I * locHist_PVsTheta_HasHit_FCAL
TH2I * locHist_FCAL_TrackDistanceVsP
TH2I * locHist_PVsTheta_NoHit_FCAL
TH1I * locHist_TrackFCALR_NoHit_FCAL
TH2I * locHist_TrackFCALRowVsColumn_HasHit_FCAL