Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HistMacro_Matching_SC.C
Go to the documentation of this file.
1 // hnamepath: /Independent/Hist_DetectorMatching/WireBased/SC/SCTrackDeltaPhiVsZ
2 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCTrackDeltaPhiVsZ
3 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/PVsTheta_HasHit
4 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/PVsTheta_NoHit
5 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCPaddleVsZ_HasHit
6 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCPaddleVsZ_NoHit
7 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCPaddle_BarrelRegion_HasHit
8 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCPaddle_BarrelRegion_NoHit
9 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCPaddle_NoseRegion_HasHit
10 // hnamepath: /Independent/Hist_DetectorMatching/TimeBased/SC/SCPaddle_NoseRegion_NoHit
11 
12 {
13  double locMinNumCountsForRatio = 50.0;
14 
15  //Goto Path
16  TDirectory *locDirectory = (TDirectory*)gDirectory->FindObjectAny("Hist_DetectorMatching");
17  if(!locDirectory)
18  return;
19  locDirectory->cd();
20 
21  //Get Histograms
22  gDirectory->cd("WireBased/SC");
23  TH2I* locHist_SC_TrackDeltaPhiVsZ_WireBased = (TH2I*)gDirectory->Get("SCTrackDeltaPhiVsZ");
24  gDirectory->cd("../../TimeBased/SC");
25  TH2I* locHist_SC_TrackDeltaPhiVsZ_TimeBased = (TH2I*)gDirectory->Get("SCTrackDeltaPhiVsZ");
26  TH2I* locHist_PVsTheta_HasHit_SC = (TH2I*)gDirectory->Get("PVsTheta_HasHit");
27  TH2I* locHist_PVsTheta_NoHit_SC = (TH2I*)gDirectory->Get("PVsTheta_NoHit");
28  TH2I* locHist_SCPaddleVsZ_HasHit_SC = (TH2I*)gDirectory->Get("SCPaddleVsZ_HasHit");
29  TH2I* locHist_SCPaddleVsZ_NoHit_SC = (TH2I*)gDirectory->Get("SCPaddleVsZ_NoHit");
30  TH1I* locHist_SCPaddle_BarrelRegion_HasHit = (TH1I*)gDirectory->Get("SCPaddle_BarrelRegion_HasHit");
31  TH1I* locHist_SCPaddle_BarrelRegion_NoHit = (TH1I*)gDirectory->Get("SCPaddle_BarrelRegion_NoHit");
32  TH1I* locHist_SCPaddle_NoseRegion_HasHit = (TH1I*)gDirectory->Get("SCPaddle_NoseRegion_HasHit");
33  TH1I* locHist_SCPaddle_NoseRegion_NoHit = (TH1I*)gDirectory->Get("SCPaddle_NoseRegion_NoHit");
34 
35  //Get original pad margins
36  double locLeftPadMargin = gStyle->GetPadLeftMargin();
37  double locRightPadMargin = gStyle->GetPadRightMargin();
38  double locTopPadMargin = gStyle->GetPadTopMargin();
39  double locBottomPadMargin = gStyle->GetPadBottomMargin();
40 
41  //Set new pad margins
42  gStyle->SetPadLeftMargin(0.15);
43  gStyle->SetPadRightMargin(0.15);
44 // gStyle->SetPadTopMargin(locTopPadMargin);
45 // gStyle->SetPadBottomMargin(locBottomPadMargin);
46 
47  //Get/Make Canvas
48  TCanvas *locCanvas = NULL;
49  if(TVirtualPad::Pad() == NULL)
50  locCanvas = new TCanvas("Matching_SC", "Matching_SC", 1200, 800);
51  else
52  locCanvas = gPad->GetCanvas();
53  locCanvas->Divide(3, 2);
54 
55  //Draw
56  locCanvas->cd(1);
57  gPad->SetTicks();
58  gPad->SetGrid();
59  if(locHist_SC_TrackDeltaPhiVsZ_WireBased != NULL)
60  {
61  locHist_SC_TrackDeltaPhiVsZ_WireBased->GetYaxis()->SetTitleOffset(1.3);
62  locHist_SC_TrackDeltaPhiVsZ_WireBased->GetXaxis()->SetRangeUser(35.0, 105.0);
63  locHist_SC_TrackDeltaPhiVsZ_WireBased->GetXaxis()->SetTitleSize(0.05);
64  locHist_SC_TrackDeltaPhiVsZ_WireBased->GetYaxis()->SetTitleSize(0.05);
65  locHist_SC_TrackDeltaPhiVsZ_WireBased->GetXaxis()->SetLabelSize(0.05);
66  locHist_SC_TrackDeltaPhiVsZ_WireBased->GetYaxis()->SetLabelSize(0.05);
67  locHist_SC_TrackDeltaPhiVsZ_WireBased->Draw("COLZ");
68  TF1* locFunc_High = new TF1("SC_PhiCut_High_WB", "[0] + [1]*exp([2]*(x - [3]))", 30.0, 110.0);
69  locFunc_High->SetParameters(10.0, 0.5, 0.1, 60.0);
70  locFunc_High->Draw("SAME");
71  TF1* locFunc_Low = new TF1("SC_PhiCut_Low_WB", "-1.0*([0] + [1]*exp([2]*(x - [3])))", 30.0, 110.0);
72  locFunc_Low->SetParameters(10.0, 0.5, 0.1, 60.0);
73  locFunc_Low->Draw("SAME");
74  }
75 
76  locCanvas->cd(2);
77  gPad->SetTicks();
78  gPad->SetGrid();
79  if(locHist_SC_TrackDeltaPhiVsZ_TimeBased != NULL)
80  {
81  locHist_SC_TrackDeltaPhiVsZ_TimeBased->GetYaxis()->SetTitleOffset(1.3);
82  locHist_SC_TrackDeltaPhiVsZ_TimeBased->GetXaxis()->SetRangeUser(35.0, 105.0);
83  locHist_SC_TrackDeltaPhiVsZ_TimeBased->GetXaxis()->SetTitleSize(0.05);
84  locHist_SC_TrackDeltaPhiVsZ_TimeBased->GetYaxis()->SetTitleSize(0.05);
85  locHist_SC_TrackDeltaPhiVsZ_TimeBased->GetXaxis()->SetLabelSize(0.05);
86  locHist_SC_TrackDeltaPhiVsZ_TimeBased->GetYaxis()->SetLabelSize(0.05);
87  locHist_SC_TrackDeltaPhiVsZ_TimeBased->Draw("COLZ");
88  TF1* locFunc_High = new TF1("SC_PhiCut_High_TB", "[0] + [1]*exp([2]*(x - [3]))", 30.0, 110.0);
89  locFunc_High->SetParameters(8.0, 0.5, 0.1, 60.0);
90  locFunc_High->Draw("SAME");
91  TF1* locFunc_Low = new TF1("SC_PhiCut_Low_TB", "-1.0*([0] + [1]*exp([2]*(x - [3])))", 30.0, 110.0);
92  locFunc_Low->SetParameters(8.0, 0.5, 0.1, 60.0);
93  locFunc_Low->Draw("SAME");
94  }
95 
96  locCanvas->cd(3);
97  gPad->SetTicks();
98  gPad->SetGrid();
99  if((locHist_PVsTheta_HasHit_SC != NULL) && (locHist_PVsTheta_NoHit_SC != NULL))
100  {
101  locHist_PVsTheta_HasHit_SC->Rebin2D(4, 5); //280x250 -> 70x50
102  locHist_PVsTheta_NoHit_SC->Rebin2D(4, 5); //280x250 -> 70x50
103 
104  TH2I* locFoundHist = locHist_PVsTheta_HasHit_SC;
105  TH2I* locMissingHist = locHist_PVsTheta_NoHit_SC;
106  string locHistName = string(locFoundHist->GetName()) + string("_Acceptance");
107  string locHistTitle = string("Track / SC Match Rate;") + string(locFoundHist->GetXaxis()->GetTitle()) + string(";") + string(locFoundHist->GetYaxis()->GetTitle());
108 
109  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());
110  for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
111  {
112  for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
113  {
114  double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
115  double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
116  double locTotal = locNumMissing + locNumFound;
117  if(!(locTotal >= locMinNumCountsForRatio))
118  {
119  locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
120  locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
121  continue;
122  }
123 
124  double locAcceptance = locNumFound/locTotal;
125  if(!(locAcceptance > 0.0))
126  locAcceptance = 0.00001; //so that it shows up on the histogram
127  locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
128  double locNumFoundError = sqrt(locNumFound*(1.0 - locAcceptance));
129 
130  double locAcceptanceError = locNumFoundError/locTotal;
131  locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
132  }
133  }
134  locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
135  locAcceptanceHist->SetStats(kFALSE);
136  locAcceptanceHist->GetYaxis()->SetTitleOffset(1.3);
137  locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
138  locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
139  locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
140  locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
141  locAcceptanceHist->Draw("COLZ");
142  }
143 
144  locCanvas->cd(4);
145  gPad->SetTicks();
146  gPad->SetGrid();
147  if((locHist_SCPaddleVsZ_HasHit_SC != NULL) && (locHist_SCPaddleVsZ_NoHit_SC != NULL))
148  {
149  locHist_SCPaddleVsZ_HasHit_SC->Rebin2D(4, 1); //280x30 -> 70x30
150  locHist_SCPaddleVsZ_NoHit_SC->Rebin2D(4, 1); //280x30 -> 70x30
151 
152  TH2I* locFoundHist = locHist_SCPaddleVsZ_HasHit_SC;
153  TH2I* locMissingHist = locHist_SCPaddleVsZ_NoHit_SC;
154  string locHistName = string(locFoundHist->GetName()) + string("_Acceptance");
155  string locHistTitle = string("Track / SC Match Rate;") + string(locFoundHist->GetXaxis()->GetTitle()) + string(";") + string(locFoundHist->GetYaxis()->GetTitle());
156 
157  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());
158  for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
159  {
160  for(Int_t loc_j = 1; loc_j <= locFoundHist->GetNbinsY(); ++loc_j)
161  {
162  double locNumMissing = locMissingHist->GetBinContent(loc_m, loc_j);
163  double locNumFound = locFoundHist->GetBinContent(loc_m, loc_j);
164  double locTotal = locNumMissing + locNumFound;
165  if(!(locTotal >= locMinNumCountsForRatio))
166  {
167  locAcceptanceHist->SetBinContent(loc_m, loc_j, 0.0);
168  locAcceptanceHist->SetBinError(loc_m, loc_j, 1.0/0.0);
169  continue;
170  }
171 
172  double locAcceptance = locNumFound/locTotal;
173  if(!(locAcceptance > 0.0))
174  locAcceptance = 0.00001; //so that it shows up on the histogram
175  locAcceptanceHist->SetBinContent(loc_m, loc_j, locAcceptance);
176  double locNumFoundError = sqrt(locNumFound*(1.0 - locAcceptance));
177 
178  double locAcceptanceError = locNumFoundError/locTotal;
179  locAcceptanceHist->SetBinError(loc_m, loc_j, locAcceptanceError);
180  }
181  }
182  locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
183  locAcceptanceHist->SetStats(kFALSE);
184  locAcceptanceHist->GetYaxis()->SetTitleOffset(1.3);
185  locAcceptanceHist->GetXaxis()->SetRangeUser(35.0, 105.0);
186  locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
187  locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
188  locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
189  locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
190  locAcceptanceHist->Draw("COLZ");
191  }
192 
193  locHist_SCPaddle_BarrelRegion_HasHit = (TH1I*)gDirectory->Get("SCPaddle_BarrelRegion_HasHit");
194  locHist_SCPaddle_BarrelRegion_NoHit = (TH1I*)gDirectory->Get("SCPaddle_BarrelRegion_NoHit");
195  locHist_SCPaddle_NoseRegion_HasHit = (TH1I*)gDirectory->Get("SCPaddle_NoseRegion_HasHit");
196  locHist_SCPaddle_NoseRegion_NoHit = (TH1I*)gDirectory->Get("SCPaddle_NoseRegion_NoHit");
197  locCanvas->cd(5);
198  gPad->SetTicks();
199  gPad->SetGrid();
200  if((locHist_SCPaddle_BarrelRegion_HasHit != NULL) && (locHist_SCPaddle_BarrelRegion_NoHit != NULL) && (locHist_SCPaddle_NoseRegion_HasHit != NULL) && (locHist_SCPaddle_NoseRegion_NoHit != NULL))
201  {
202  int locNumCounters = 30;
203  vector<double> locNoseXAxisVector, locNoseEffVector, locNoseEffUncertaintyVector;
204  vector<double> locBarrelXAxisVector, locBarrelEffVector, locBarrelEffUncertaintyVector;
205 
206  for(int loc_i = 0; loc_i < locNumCounters; ++loc_i)
207  {
208  //Barrel
209  double locNumFound_Barrel = locHist_SCPaddle_BarrelRegion_HasHit->GetBinContent(loc_i + 1);
210  double locNumMissing_Barrel = locHist_SCPaddle_BarrelRegion_NoHit->GetBinContent(loc_i + 1);
211  double locTotal_Barrel = locNumMissing_Barrel + locNumFound_Barrel;
212  if(locTotal_Barrel >= locMinNumCountsForRatio)
213  {
214  double locAcceptance = locNumFound_Barrel/locTotal_Barrel;
215  locBarrelEffVector.push_back(locAcceptance);
216  double locNumFoundError = sqrt(locNumFound_Barrel*(1.0 - locAcceptance));
217 
218  double locAcceptanceError = locNumFoundError/locTotal_Barrel;
219  locBarrelEffUncertaintyVector.push_back(locAcceptanceError);
220 
221  locBarrelXAxisVector.push_back(loc_i + 1);
222  }
223 
224  //Nose & Bend
225  double locNumFound_Nose = locHist_SCPaddle_NoseRegion_HasHit->GetBinContent(loc_i + 1);
226  double locNumMissing_Nose = locHist_SCPaddle_NoseRegion_NoHit->GetBinContent(loc_i + 1);
227  double locTotal_Nose = locNumMissing_Nose + locNumFound_Nose;
228  if(locTotal_Nose >= locMinNumCountsForRatio)
229  {
230  double locAcceptance = locNumFound_Nose/locTotal_Nose;
231  locNoseEffVector.push_back(locAcceptance);
232  double locNumFoundError = sqrt(locNumFound_Nose*(1.0 - locAcceptance));
233 
234  double locAcceptanceError = locNumFoundError/locTotal_Nose;
235  locNoseEffUncertaintyVector.push_back(locAcceptanceError);
236 
237  locNoseXAxisVector.push_back(loc_i + 1);
238  }
239  }
240 
241  double* locNoseXAxisArray = new double[locNoseEffVector.size()];
242  for(size_t loc_f = 0; loc_f < locNoseEffVector.size(); ++loc_f)
243  locNoseXAxisArray[loc_f] = locNoseXAxisVector[loc_f];
244 
245  double* locNoseXUncertaintyArray = new double[locNoseEffVector.size()];
246  for(size_t loc_f = 0; loc_f < locNoseEffVector.size(); ++loc_f)
247  locNoseXUncertaintyArray[loc_f] = 0.0;
248 
249  double* locNoseEffArray = new double[locNoseEffVector.size()];
250  for(size_t loc_f = 0; loc_f < locNoseEffVector.size(); ++loc_f)
251  locNoseEffArray[loc_f] = locNoseEffVector[loc_f];
252 
253  double* locNoseEffUncertaintyArray = new double[locNoseEffVector.size()];
254  for(size_t loc_f = 0; loc_f < locNoseEffVector.size(); ++loc_f)
255  locNoseEffUncertaintyArray[loc_f] = locNoseEffUncertaintyVector[loc_f];
256 
257 
258 
259  double* locBarrelXAxisArray = new double[locBarrelEffVector.size()];
260  for(size_t loc_f = 0; loc_f < locBarrelEffVector.size(); ++loc_f)
261  locBarrelXAxisArray[loc_f] = locBarrelXAxisVector[loc_f];
262 
263  double* locBarrelXUncertaintyArray = new double[locBarrelEffVector.size()];
264  for(size_t loc_f = 0; loc_f < locBarrelEffVector.size(); ++loc_f)
265  locBarrelXUncertaintyArray[loc_f] = 0.0;
266 
267  double* locBarrelEffArray = new double[locBarrelEffVector.size()];
268  for(size_t loc_f = 0; loc_f < locBarrelEffVector.size(); ++loc_f)
269  locBarrelEffArray[loc_f] = locBarrelEffVector[loc_f];
270 
271  double* locBarrelEffUncertaintyArray = new double[locBarrelEffVector.size()];
272  for(size_t loc_f = 0; loc_f < locBarrelEffVector.size(); ++loc_f)
273  locBarrelEffUncertaintyArray[loc_f] = locBarrelEffUncertaintyVector[loc_f];
274 
275  TGraphErrors* locNoseGraph = new TGraphErrors(locNoseEffVector.size(), locNoseXAxisArray, locNoseEffArray, locNoseXUncertaintyArray, locNoseEffUncertaintyArray);
276  locNoseGraph->SetLineColor(kBlack);
277  locNoseGraph->SetMarkerColor(kBlack);
278  locNoseGraph->SetMarkerStyle(20);
279  locNoseGraph->SetMarkerSize(1);
280 
281  TGraphErrors* locBarrelGraph = new TGraphErrors(locBarrelEffVector.size(), locBarrelXAxisArray, locBarrelEffArray, locBarrelXUncertaintyArray, locBarrelEffUncertaintyArray);
282  locBarrelGraph->SetLineColor(kBlue);
283  locBarrelGraph->SetMarkerColor(kBlue);
284  locBarrelGraph->SetMarkerStyle(22);
285  locBarrelGraph->SetMarkerSize(1);
286 
287  string locGraphName = "SC_EffGraphs";
288  string locGraphTitle = string("Track / SC Match Rate;") + string(locHist_SCPaddle_BarrelRegion_HasHit->GetXaxis()->GetTitle());
289  TMultiGraph* locMultiGraph = new TMultiGraph(locGraphName.c_str(), locGraphTitle.c_str());
290  locMultiGraph->Add(locNoseGraph);
291  locMultiGraph->Add(locBarrelGraph);
292  locMultiGraph->Draw("ap");
293 
294  //make legend!
295  TLegend *locLegend = new TLegend(0.75, 0.17, 0.99, 0.32); //botleft x/y, topright x/y
296  locLegend->SetHeader("Legend");
297  locLegend->AddEntry(locBarrelGraph, "Barrel", "EP");
298  locLegend->AddEntry(locNoseGraph, "Nose/Bend", "EP");
299  locLegend->Draw();
300  }
301 
302  locCanvas->cd(6);
303  gPad->SetTicks();
304  gPad->SetGrid();
305  if((locHist_SCPaddleVsZ_HasHit_SC != NULL) && (locHist_SCPaddleVsZ_NoHit_SC != NULL))
306  {
307  string locHistName = string(locHist_SCPaddleVsZ_HasHit_SC->GetName()) + string("_ProjX");
308  TH1* locFoundHist = locHist_SCPaddleVsZ_HasHit_SC->ProjectionX(locHistName.c_str());
309 
310  locHistName = string(locHist_SCPaddleVsZ_NoHit_SC->GetName()) + string("_ProjX");
311  TH1* locMissingHist = locHist_SCPaddleVsZ_NoHit_SC->ProjectionX(locHistName.c_str());
312 
313  locHistName = string(locFoundHist->GetName()) + string("_Acceptance");
314  string locHistTitle = string("Track / SC Match Rate;") + string(locFoundHist->GetXaxis()->GetTitle());
315 
316  TH1D* locAcceptanceHist = new TH1D(locHistName.c_str(), locHistTitle.c_str(), locFoundHist->GetNbinsX(), locFoundHist->GetXaxis()->GetXmin(), locFoundHist->GetXaxis()->GetXmax());
317  for(Int_t loc_m = 1; loc_m <= locFoundHist->GetNbinsX(); ++loc_m)
318  {
319  double locNumMissing = locMissingHist->GetBinContent(loc_m);
320  double locNumFound = locFoundHist->GetBinContent(loc_m);
321  double locTotal = locNumMissing + locNumFound;
322  if(!(locTotal >= locMinNumCountsForRatio))
323  {
324  locAcceptanceHist->SetBinContent(loc_m, 0.0);
325  locAcceptanceHist->SetBinError(loc_m, 0.0);
326  continue;
327  }
328 
329  double locAcceptance = locNumFound/locTotal;
330  locAcceptanceHist->SetBinContent(loc_m, locAcceptance);
331  double locNumFoundError = sqrt(locNumFound*(1.0 - locAcceptance));
332 
333  double locAcceptanceError = locNumFoundError/locTotal;
334  locAcceptanceHist->SetBinError(loc_m, locAcceptanceError);
335  }
336  locAcceptanceHist->SetEntries(locMissingHist->GetEntries() + locFoundHist->GetEntries());
337  locAcceptanceHist->SetStats(kFALSE);
338 
339  locAcceptanceHist->GetXaxis()->SetRangeUser(35.0, 105.0);
340  locAcceptanceHist->GetXaxis()->SetTitleSize(0.05);
341  locAcceptanceHist->GetYaxis()->SetTitleSize(0.05);
342  locAcceptanceHist->GetXaxis()->SetLabelSize(0.05);
343  locAcceptanceHist->GetYaxis()->SetLabelSize(0.05);
344  locAcceptanceHist->Draw("E1");
345  }
346 
347  //Reset original pad margins
348  gStyle->SetPadLeftMargin(locLeftPadMargin);
349  gStyle->SetPadRightMargin(locRightPadMargin);
350  gStyle->SetPadTopMargin(locTopPadMargin);
351  gStyle->SetPadBottomMargin(locBottomPadMargin);
352 }
353 
TH1I * locHist_SCPaddle_BarrelRegion_NoHit
char string[256]
double locLeftPadMargin
double locTopPadMargin
TH2I * locHist_PVsTheta_NoHit_SC
double locBottomPadMargin
double locRightPadMargin
TH2I * locHist_SC_TrackDeltaPhiVsZ_TimeBased
TDirectory * locDirectory
TH2I * locHist_SCPaddleVsZ_NoHit_SC
TH2I * locHist_PVsTheta_HasHit_SC
TH2I * locHist_SCPaddleVsZ_HasHit_SC
TH1I * locHist_SCPaddle_NoseRegion_NoHit
double sqrt(double)
TH2I * locHist_SC_TrackDeltaPhiVsZ_WireBased
TH1I * locHist_SCPaddle_BarrelRegion_HasHit
TH1I * locHist_SCPaddle_NoseRegion_HasHit
TCanvas * locCanvas