111 def initialize(self):
112 '''define histograms'''
113
114 usedBin1 = 100
115 usedBin2 = 2000
116 eclMinVal = 19.5
117 eclMaxVal = 1100.5
118
119 timeBin = int(maxTime - minTime)
120
121
122 self.TH1F_Index = {}
123
124 self.TH1F_Store = []
125 TH1F_Store_Count = 0
126
127
128 self.TH2F_Index = {}
129
130 self.TH2F_Store = []
131 TH2F_Store_Count = 0
132
133
134 self.reso_TH2D_Histogram_Index = {}
135
136 self.reso_TH2D_Histograms = []
137 reso_TH2D_Histograms_Count = 0
138
139
140 self.outputFileName = str(args.fileDir) + str(args.moduleName) + outputFileTag
141
142 self.f = TFile(self.outputFileName + ".root", "RECREATE")
143
144
145
146 self.TH1F_Store.append(TH1F("th1f_svdEventT0", "SVD EventT0", 500, -50., 50.))
147 self.TH1F_Store[-1].GetXaxis().SetTitle("SVD EventT0 (ns)")
148 self.TH1F_Index["th1f_svdEventT0"] = TH1F_Store_Count
149 TH1F_Store_Count += 1
150 self.TH1F_Store.append(TH1F("th1f_svdEventT0_State", "SVD EventT0 Availability", 2, -0.5, 1.5))
151 self.TH1F_Store[-1].GetXaxis().SetBinLabel(1, "Not Available")
152 self.TH1F_Store[-1].GetXaxis().SetBinLabel(2, "Available")
153 self.TH1F_Index["th1f_svdEventT0_State"] = TH1F_Store_Count
154 TH1F_Store_Count += 1
155
156 self.TH1F_Store.append(TH1F("th1f_cdcEventT0", "CDC EventT0", 500, -50., 50.))
157 self.TH1F_Store[-1].GetXaxis().SetTitle("CDC EventT0 (ns)")
158 self.TH1F_Index["th1f_cdcEventT0"] = TH1F_Store_Count
159 TH1F_Store_Count += 1
160 self.TH1F_Store.append(TH1F("th1f_cdcEventT0_State", "CDC EventT0 Availability", 2, -0.5, 1.5))
161 self.TH1F_Store[-1].GetXaxis().SetBinLabel(1, "Not Available")
162 self.TH1F_Store[-1].GetXaxis().SetBinLabel(2, "Available")
163 self.TH1F_Index["th1f_cdcEventT0_State"] = TH1F_Store_Count
164 TH1F_Store_Count += 1
165
166
167
168 self.TH1F_Store.append(TH1F("th1f_svdEventT0topRef", "SVD EventT0 - TOP Online EventT0", 500, -20., 20.))
169 self.TH1F_Store[-1].GetXaxis().SetTitle("SVD EventT0 - TOP Online EventT0 (ns)")
170 self.TH1F_Index["th1f_svdEventT0topRef"] = TH1F_Store_Count
171 TH1F_Store_Count += 1
172
173
174
175 self.TH1F_Store.append(TH1F("th1f_clsTime_PreTracking", "(PreTracking) Cluster Time", timeBin, minTime, maxTime))
176 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
177 self.TH1F_Store[-1].SetLineColor(1)
178 self.TH1F_Index["th1f_clsTime_PreTracking"] = TH1F_Store_Count
179 TH1F_Store_Count += 1
180 self.TH1F_Store.append(TH1F("th1f_bkgClsTime_PreTracking", "(PreTracking) Bkg Cluster Time", timeBin, minTime, maxTime))
181 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
182 self.TH1F_Store[-1].SetLineColor(2)
183 self.TH1F_Index["th1f_bkgClsTime_PreTracking"] = TH1F_Store_Count
184 TH1F_Store_Count += 1
185 self.TH1F_Store.append(TH1F("th1f_sigClsTime_PreTracking", "(PreTracking) Sig Cluster Time", timeBin, minTime, maxTime))
186 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
187 self.TH1F_Store[-1].SetLineColor(3)
188 self.TH1F_Index["th1f_sigClsTime_PreTracking"] = TH1F_Store_Count
189 TH1F_Store_Count += 1
190
191 self.TH1F_Store.append(TH1F("th1f_clsTime_PostTracking", "(PostTracking) Cluster Time", timeBin, minTime, maxTime))
192 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
193 self.TH1F_Store[-1].SetLineColor(1)
194 self.TH1F_Index["th1f_clsTime_PostTracking"] = TH1F_Store_Count
195 TH1F_Store_Count += 1
196 self.TH1F_Store.append(TH1F("th1f_bkgClsTime_PostTracking", "(PostTracking) Bkg Cluster Time", timeBin, minTime, maxTime))
197 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
198 self.TH1F_Store[-1].SetLineColor(2)
199 self.TH1F_Index["th1f_bkgClsTime_PostTracking"] = TH1F_Store_Count
200 TH1F_Store_Count += 1
201 self.TH1F_Store.append(TH1F("th1f_sigClsTime_PostTracking", "(PostTracking) Sig Cluster Time", timeBin, minTime, maxTime))
202 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
203 self.TH1F_Store[-1].SetLineColor(3)
204 self.TH1F_Index["th1f_sigClsTime_PostTracking"] = TH1F_Store_Count
205 TH1F_Store_Count += 1
206
207 self.TH1F_Store.append(TH1F("th1f_trackTime", "Track Time", timeBin * 10, minTime, maxTime))
208 self.TH1F_Store[-1].GetXaxis().SetTitle("Track Time (ns)")
209 self.TH1F_Index["th1f_trackTime"] = TH1F_Store_Count
210 TH1F_Store_Count += 1
211 self.TH1F_Store.append(TH1F("th1f_trackTimeCDCRef", "Track Time - CDC EventT0", 10000, -50, 50))
212 self.TH1F_Store[-1].GetXaxis().SetTitle("Track Time - CDC EventT0 (ns)")
213 self.TH1F_Index["th1f_trackTimeCDCRef"] = TH1F_Store_Count
214 TH1F_Store_Count += 1
215
216
217
218 self.TH1F_Store.append(TH1F("th1f_clsTimeCdcRef_PreTracking", "(PreTracking) Cluster Time - CDC EventT0",
219 timeBin * 2, minTime, maxTime))
220 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time - CDC EventT0 (ns)")
221 self.TH1F_Store[-1].SetLineColor(1)
222 self.TH1F_Index["th1f_clsTimeCdcRef_PreTracking"] = TH1F_Store_Count
223 TH1F_Store_Count += 1
224
225 self.TH1F_Store.append(TH1F("th1f_clsTimeCdcRef_PostTracking", "(PostTracking) Cluster Time - CDC EventT0",
226 timeBin * 2, minTime, maxTime))
227 self.TH1F_Store[-1].GetXaxis().SetTitle("Cluster Time - CDC EventT0 (ns)")
228 self.TH1F_Store[-1].SetLineColor(1)
229 self.TH1F_Index["th1f_clsTimeCdcRef_PostTracking"] = TH1F_Store_Count
230 TH1F_Store_Count += 1
231
232
233
234 self.TH1F_Store.append(TH1F("th1f_eclTCEmax", "ECL E_{max}^{TC}", 1250, 0.5, 1250.5))
235 self.TH1F_Store[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
236 self.TH1F_Index["th1f_eclTCEmax"] = TH1F_Store_Count
237 TH1F_Store_Count += 1
238 self.TH1F_Store.append(TH1F("th1f_eclTCEmax_State", "ECL E_{max}^{TC} Availability", 2, -0.5, 1.5))
239 self.TH1F_Store[-1].GetXaxis().SetBinLabel(1, "Not Available")
240 self.TH1F_Store[-1].GetXaxis().SetBinLabel(2, "Available")
241 self.TH1F_Index["th1f_eclTCEmax_State"] = TH1F_Store_Count
242 TH1F_Store_Count += 1
243
244 self.TH2F_Store.append(TH2F("th2f_timeGr_vs_grAmp", "Time Group vs Group Amplitude", 60, 0., 300, 21, -1.5, 19.5))
245 self.TH2F_Store[-1].GetXaxis().SetTitle("Group Amplitude")
246 self.TH2F_Store[-1].GetYaxis().SetTitle("Time Group")
247 self.TH2F_Index["th2f_timeGr_vs_grAmp"] = TH2F_Store_Count
248 TH2F_Store_Count += 1
249 self.TH2F_Store.append(TH2F("th2f_timeGr_vs_grCenter", "Time Group vs Group Center", 80, minTime, maxTime, 21, -1.5, 19.5))
250 self.TH2F_Store[-1].GetXaxis().SetTitle("Group Center (ns)")
251 self.TH2F_Store[-1].GetYaxis().SetTitle("Time Group")
252 self.TH2F_Index["th2f_timeGr_vs_grCenter"] = TH2F_Store_Count
253 TH2F_Store_Count += 1
254 self.TH2F_Store.append(TH2F("th2f_timeGr_vs_grWidth", "Time Group vs Group Width", 50, 1, 11, 21, -1.5, 19.5))
255 self.TH2F_Store[-1].GetXaxis().SetTitle("Group Width (ns)")
256 self.TH2F_Store[-1].GetYaxis().SetTitle("Time Group")
257 self.TH2F_Index["th2f_timeGr_vs_grWidth"] = TH2F_Store_Count
258 TH2F_Store_Count += 1
259 self.TH2F_Store.append(TH2F("th2f_timeGr_vs_clsTime", "Time Group vs Cluster Time",
260 timeBin, minTime, maxTime, 21, -1.5, 19.5))
261 self.TH2F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
262 self.TH2F_Store[-1].GetYaxis().SetTitle("Time Group")
263 self.TH2F_Index["th2f_timeGr_vs_clsTime"] = TH2F_Store_Count
264 TH2F_Store_Count += 1
265 self.TH2F_Store.append(TH2F("th2f_timeGr_vs_clsTime_PostTracking", "(PostTracking) Time Group vs Cluster Time",
266 timeBin, minTime, maxTime, 21, -1.5, 19.5))
267 self.TH2F_Store[-1].GetXaxis().SetTitle("Cluster Time (ns)")
268 self.TH2F_Store[-1].GetYaxis().SetTitle("Time Group")
269 self.TH2F_Index["th2f_timeGr_vs_clsTime_PostTracking"] = TH2F_Store_Count
270 TH2F_Store_Count += 1
271
272 for i in range(4):
273 self.TH2F_Store.append(TH2F("th2f_sig" + str(i) + "GrMean_vs_cdcEventT0", "Center of 'Group " +
274 str(i) + "' vs CDC EventT0", 500, -50., 50., 500, -50., 50.))
275 self.TH2F_Store[-1].GetXaxis().SetTitle("Center of 'Group " + str(i) + "' (ns)")
276 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
277 self.TH2F_Index["th2f_sig" + str(i) + "GrMean_vs_cdcEventT0"] = TH2F_Store_Count
278 TH2F_Store_Count += 1
279 self.TH2F_Store.append(TH2F("th2f_sig" + str(i) + "GrMean_vs_cdcEventT0_rot45pos",
280 "Center of 'Group " + str(i) + "' vs CDC EventT0 (Rotated 45)",
281 500, -50., 50., 500, -50., 50.))
282 self.TH2F_Store[-1].GetXaxis().SetTitle("Center of 'Group " + str(i) + "' (ns)")
283 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
284 self.TH2F_Index["th2f_sig" + str(i) + "GrMean_vs_cdcEventT0_rot45pos"] = TH2F_Store_Count
285 TH2F_Store_Count += 1
286 self.TH2F_Store.append(TH2F("th2f_sig" + str(i) + "GrMean_vs_cdcEventT0_rot45neg",
287 "Center of 'Group " + str(i) + "' vs CDC EventT0 (Rotated -45)",
288 500, -50., 50., 500, -50., 50.))
289 self.TH2F_Store[-1].GetXaxis().SetTitle("Center of 'Group " + str(i) + "' (ns)")
290 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
291 self.TH2F_Index["th2f_sig" + str(i) + "GrMean_vs_cdcEventT0_rot45neg"] = TH2F_Store_Count
292 TH2F_Store_Count += 1
293
294 self.TH2F_Store.append(TH2F("th2f_aveClsTimeInTrk_vs_cdcEventT0",
295 "Track Time vs CDC EventT0", 500, -50., 50., 500, -50., 50.))
296 self.TH2F_Store[-1].GetXaxis().SetTitle("<Cluster Time> in Track (ns)")
297 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
298 self.TH2F_Index["th2f_aveClsTimeInTrk_vs_cdcEventT0"] = TH2F_Store_Count
299 TH2F_Store_Count += 1
300 self.TH2F_Store.append(TH2F("th2f_svdEventT0_vs_cdcEventT0", "SVD EventT0 vs CDC EventT0",
301 500, -50., 50., 500, -50., 50.))
302 self.TH2F_Store[-1].GetXaxis().SetTitle("SVD EventT0 (ns)")
303 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
304 self.TH2F_Index["th2f_svdEventT0_vs_cdcEventT0"] = TH2F_Store_Count
305 TH2F_Store_Count += 1
306 self.TH2F_Store.append(TH2F("th2f_svdEventT0_vs_cdcEventT0_rot45pos",
307 "SVD EventT0 vs CDC EventT0 (Rotated 45)", 500, -50., 50., 500, -50., 50.))
308 self.TH2F_Store[-1].GetXaxis().SetTitle("SVD EventT0 (ns)")
309 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
310 self.TH2F_Index["th2f_svdEventT0_vs_cdcEventT0_rot45pos"] = TH2F_Store_Count
311 TH2F_Store_Count += 1
312 self.TH2F_Store.append(TH2F("th2f_svdEventT0_vs_cdcEventT0_rot45neg",
313 "SVD EventT0 vs CDC EventT0 (Rotated -45)", 500, -50., 50., 500, -50., 50.))
314 self.TH2F_Store[-1].GetXaxis().SetTitle("SVD EventT0 (ns)")
315 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 (ns)")
316 self.TH2F_Index["th2f_svdEventT0_vs_cdcEventT0_rot45neg"] = TH2F_Store_Count
317 TH2F_Store_Count += 1
318
319 self.TH2F_Store.append(TH2F("th2f_trkTime_vs_clsTime_inCDCEventT0", "Track Time vs Cluster Time",
320 timeBin, minTime, maxTime, timeBin, minTime, maxTime))
321 self.TH2F_Store[-1].GetXaxis().SetTitle("Track Time - Cluster Time (ns)")
322 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 - Track Time (ns)")
323 self.TH2F_Index["th2f_trkTime_vs_clsTime_inCDCEventT0"] = TH2F_Store_Count
324 TH2F_Store_Count += 1
325 self.TH2F_Store.append(TH2F("th2f_trkTime_vs_clsTime_inSVDEventT0", "Track Time vs Cluster Time",
326 timeBin, minTime, maxTime, timeBin, minTime, maxTime))
327 self.TH2F_Store[-1].GetXaxis().SetTitle("Track Time - Cluster Time (ns)")
328 self.TH2F_Store[-1].GetYaxis().SetTitle("SVD EventT0 - Track Time (ns)")
329 self.TH2F_Index["th2f_trkTime_vs_clsTime_inSVDEventT0"] = TH2F_Store_Count
330 TH2F_Store_Count += 1
331
332 self.TH2F_Store.append(TH2F("th2f_aveClsTimeInTrk_vs_clsTime_inCDCEventT0", "<Cluster Time> in Track vs Cluster Time",
333 timeBin, minTime, maxTime, timeBin, minTime, maxTime))
334 self.TH2F_Store[-1].GetXaxis().SetTitle("<Cluster Time> in Track - Cluster Time (ns)")
335 self.TH2F_Store[-1].GetYaxis().SetTitle("CDC EventT0 - <Cluster Time> in Track (ns)")
336 self.TH2F_Index["th2f_aveClsTimeInTrk_vs_clsTime_inCDCEventT0"] = TH2F_Store_Count
337 TH2F_Store_Count += 1
338 self.TH2F_Store.append(TH2F("th2f_aveClsTimeInTrk_vs_clsTime_inSVDEventT0", "<Cluster Time> in Track vs Cluster Time",
339 timeBin, minTime, maxTime, timeBin, minTime, maxTime))
340 self.TH2F_Store[-1].GetXaxis().SetTitle("<Cluster Time> in Track - Cluster Time (ns)")
341 self.TH2F_Store[-1].GetYaxis().SetTitle("SVD EventT0 - <Cluster Time> in Track (ns)")
342 self.TH2F_Index["th2f_aveClsTimeInTrk_vs_clsTime_inSVDEventT0"] = TH2F_Store_Count
343 TH2F_Store_Count += 1
344
345
346
347 self.reso_TH2D_Histograms.append(TH2F("reso_eclTCEmax_vs_clsTimeTopRef_PreTracking",
348 "(PreTracking) ECL E_{max}^{TC} vs Cluster Time - TOP Online EventT0",
349 usedBin1, eclMinVal, eclMaxVal, usedBin2, -50, 50.))
350 self.reso_TH2D_Histograms[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
351 self.reso_TH2D_Histograms[-1].GetYaxis().SetTitle("Cluster Time - TOP Online EventT0 (ns)")
352 self.reso_TH2D_Histogram_Index["reso_eclTCEmax_vs_clsTimeTopRef_PreTracking"] = reso_TH2D_Histograms_Count
353 reso_TH2D_Histograms_Count += 1
354 self.reso_TH2D_Histograms.append(TH2F("reso_eclTCEmax_vs_clsTimeTopRef_PostTracking",
355 "(PostTracking) ECL E_{max}^{TC} vs Cluster Time - TOP Online EventT0",
356 usedBin1, eclMinVal, eclMaxVal, usedBin2, -50, 50.))
357 self.reso_TH2D_Histograms[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
358 self.reso_TH2D_Histograms[-1].GetYaxis().SetTitle("Cluster Time - TOP Online EventT0 (ns)")
359 self.reso_TH2D_Histogram_Index["reso_eclTCEmax_vs_clsTimeTopRef_PostTracking"] = reso_TH2D_Histograms_Count
360 reso_TH2D_Histograms_Count += 1
361
362 self.reso_TH2D_Histograms.append(TH2F("reso_eclTCEmax_vs_svdEventT0TopRef",
363 "ECL E_{max}^{TC} vs SVD EventT0 - TOP Online EventT0",
364 usedBin1, eclMinVal, eclMaxVal, usedBin2, -50, 50.))
365 self.reso_TH2D_Histograms[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
366 self.reso_TH2D_Histograms[-1].GetYaxis().SetTitle("SVD EventT0 - TOP Online EventT0 (ns)")
367 self.reso_TH2D_Histogram_Index["reso_eclTCEmax_vs_svdEventT0TopRef"] = reso_TH2D_Histograms_Count
368 reso_TH2D_Histograms_Count += 1
369
370 self.reso_TH2D_Histograms.append(TH2F("reso_eclTCEmax_vs_totalTracks",
371 "ECL E_{max}^{TC} vs Total SVD Tracks",
372 usedBin1, eclMinVal, eclMaxVal, 36, -0.5, 35.5))
373 self.reso_TH2D_Histograms[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
374 self.reso_TH2D_Histograms[-1].GetYaxis().SetTitle("Total SVD Tracks")
375 self.reso_TH2D_Histogram_Index["reso_eclTCEmax_vs_totalTracks"] = reso_TH2D_Histograms_Count
376 reso_TH2D_Histograms_Count += 1
377
378 self.reso_TH2D_Histograms.append(TH2F("reso_eclTCEmax_vs_totalClusters_PreTracking",
379 "(PreTracking) ECL E_{max}^{TC} vs Total SVD Clusters",
380 usedBin1, eclMinVal, eclMaxVal, 1000, 0.5, 1000.5))
381 self.reso_TH2D_Histograms[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
382 self.reso_TH2D_Histograms[-1].GetYaxis().SetTitle("Total SVD Clusters")
383 self.reso_TH2D_Histogram_Index["reso_eclTCEmax_vs_totalClusters_PreTracking"] = reso_TH2D_Histograms_Count
384 reso_TH2D_Histograms_Count += 1
385 self.reso_TH2D_Histograms.append(TH2F("reso_eclTCEmax_vs_totalClusters_PostTracking",
386 "(PostTracking) ECL E_{max}^{TC} vs Total SVD Clusters",
387 usedBin1, eclMinVal, eclMaxVal, 1000, 0.5, 1000.5))
388 self.reso_TH2D_Histograms[-1].GetXaxis().SetTitle("ECL E_{max}^{TC} (ADC)")
389 self.reso_TH2D_Histograms[-1].GetYaxis().SetTitle("Total SVD Clusters")
390 self.reso_TH2D_Histogram_Index["reso_eclTCEmax_vs_totalClusters_PostTracking"] = reso_TH2D_Histograms_Count
391 reso_TH2D_Histograms_Count += 1
392