6 '''Function to configure LVL1 Ppr algorithm in the monitoring system.'''
10 from AthenaConfiguration.ComponentFactory
import CompFactory
11 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
15 from TrigT1CaloMonitoring.LVL1CaloMonitoringConfig
import L1CaloMonitorCfgHelper
16 helper = L1CaloMonitorCfgHelper(inputFlags,CompFactory.PprMonitorAlgorithm,
'PprMonAlg')
19 PprMonAlg = helper.alg
22 groupName =
'PprMonitor'
23 PprMonAlg.PackageName = groupName
27 PprMonAlg.TT_ADC_HitMap_Thresh = threshADC
30 PprMonAlg.SliceNo = sliceNo
32 threshVec = [0, 1, 3, 5, 10, 20, 30, 50]
33 PprMonAlg.LUTHitMap_ThreshVec = threshVec
39 devPath =
'Developer/PprMonAlg'
40 expPath =
'Expert/PpmTrex'
43 etabins = [-4.9,-4.475,-4.050,-3.625,-3.2,-3.1,-2.9,
44 -2.7,-2.5,-2.4,-2.3,-2.2,-2.1,-2.0,-1.9,
45 -1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1,
46 -1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,
47 -0.2,-0.1,0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,
48 0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,
49 1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.7,2.9,
50 3.1,3.2,3.625,4.050,4.475,4.9]
52 etabins_HAD_1D = [-4.9,-4.050,-3.2,-3.1,-2.9,
53 -2.7,-2.5,-2.4,-2.3,-2.2,-2.1,-2.0,-1.9,
54 -1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1,
55 -1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,
56 -0.2,-0.1,0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,
57 0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,
58 1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.7,2.9,
64 phimax_1d = 2.*math.pi
71 histPath_dev = devPath+
'/Outputs'
72 histPath_exp = expPath+
'/Outputs'
73 histPath_det = expPath+
'/Outputs/detail'
76 helper.defineHistogram(
'BCID;ppm_1d_tt_lutcp_LutPerBCN',
77 fillGroup=
'groupLUTCP',
78 title=
'Number of LUT-CP > 5 GeV/2 per BC; Bunch crossing; # of LUT above limit',
79 type=
'TH1F', path=histPath_det,
81 "description":
"Number of LUT-CP > 5 GeV/2 per BC."
83 xbins=bcn, xmin=0, xmax=bcn,
84 cutmask=
'mask_cpET_5')
87 helper.defineHistogram(
'eta_TT;ppm_em_1d_tt_lutcp_Eta',
88 fillGroup=
'groupLUTCP_EM',
89 title=
'EM LUT-CP: Distribution of peak in #eta; #eta',
90 type=
'TH1F', path=histPath_dev,
92 cutmask=
'mask_cpET_0')
94 helper.defineHistogram(
'phiTT_1D;ppm_em_1d_tt_lutcp_Phi',
95 fillGroup=
'groupLUTCP_EM',
96 title=
'EM LUT-CP: Distribution of peak in #phi; #phi',
97 type=
'TH1F', path=histPath_dev,
98 xbins=phibins, xmin=phimin, xmax=phimax_1d)
100 helper.defineHistogram(
'cpET_TT;ppm_em_1d_tt_lutcp_Et',
101 fillGroup=
'groupLUTCP_EM',
102 title=
'EM LUT-CP: Distribution of peak; EM LUT peak [GeV/2]',
103 type=
'TH1F', path=histPath_dev,
104 xbins=maxEnergyRange-1, xmin=1, xmax=maxEnergyRange,
105 cutmask=
'mask_cpET_0')
108 helper.defineHistogram(
'eta_TT;ppm_had_1d_tt_lutcp_Eta',
109 fillGroup=
'groupLUTCP_HAD',
110 title=
'HAD LUT-CP: Distribution of peak in #eta; #eta',
111 type=
'TH1F', path=histPath_exp,
113 "description":
"HAD LUT-CP: Distribution of peak in #eta."
115 xbins=etabins_HAD_1D,
116 cutmask=
'mask_cpET_0')
118 helper.defineHistogram(
'phiTT_1D;ppm_had_1d_tt_lutcp_Phi',
119 fillGroup=
'groupLUTCP_HAD',
120 title=
'HAD LUT-CP: Distribution of peak in #phi; #phi',
121 type=
'TH1F', path=histPath_exp,
123 "description":
"HAD LUT-CP: Distribution of peak in #phi."
125 xbins=phibins, xmin=phimin, xmax=phimax_1d)
127 helper.defineHistogram(
'cpET_TT;ppm_had_1d_tt_lutcp_Et',
128 fillGroup=
'groupLUTCP_HAD',
129 title=
'HAD LUT-CP: Distribution of peak; HAD LUT peak [GeV/2]',
130 type=
'TH1F', path=histPath_exp,
132 "display" :
"LogX,LogY",
133 "description":
"HAD LUT-CP: Distribution of peak."
135 xbins=maxEnergyRange-1, xmin=1, xmax=maxEnergyRange,
136 cutmask=
'mask_cpET_0')
139 helper.defineHistogram(
'etaTT_2D,phiTT_2D,cpET_TT_2D;ppm_em_2d_etaPhi_tt_lutcp_AverageEt',
140 fillGroup=
'groupLUTCP_EM',
141 title=
'EM Average LUT-CP Et for Et > 5 GeV/2',
142 type=
'TProfile2D', path=histPath_dev,
143 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
145 helper.defineHistogram(
'etaTT_2D,phiTT_2D,cpET_TT_2D;ppm_had_2d_etaPhi_tt_lutcp_AverageEt',
146 fillGroup=
'groupLUTCP_HAD',
147 title=
'HAD Average LUT-CP Et for Et > 5 GeV/2',
148 type=
'TProfile2D', path=histPath_det,
150 "display" :
"SetPalette(1),LogZ",
151 "description":
"HAD Average LUT-CP Et for Et > 5 GeV/2."
153 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
159 layers = [
'EM',
'HAD']
163 histPath = histPath_dev
165 groupname =
'groupLUTCP_{0}_{1}'.
format(layer, threshVec[i])
167 histPath = histPath_exp
if i
in [0, 5]
else histPath_det
168 helper.defineHistogram(
'etaTT_2D,phiTT_2D;ppm_{0}_2d_etaPhi_tt_lutcp_Threshold0{1}'.
format(layer.lower(), i),
170 title=
'#eta - #phi map of {0} LUT-CP > {1} GeV/2'.
format(layer, threshVec[i]),
171 type=
'TH2D', path=histPath,
173 "display" :
"SetPalette(1),LogZ",
174 "description":
'#eta - #phi map of {0} LUT-CP > {1} GeV/2'.
format(layer, threshVec[i])
176 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
182 histPath_dev = devPath+
'/Outputs'
183 histPath_exp = expPath+
'/Outputs'
184 histPath_det = expPath+
'/Outputs/detail'
187 helper.defineHistogram(
'BCID;ppm_1d_tt_lutjep_LutPerBCN',
188 fillGroup=
'groupLUTJEP',
189 title=
'Number of LUT-JEP > 5 GeV per BC; Bunch crossing; # of LUT above limit',
190 type=
'TH1F', path=histPath_det,
192 "description":
"Number of LUT-JEP > 5 GeV per BC."
194 xbins=bcn, xmin=0, xmax=bcn,
195 cutmask=
'mask_jepET_5')
198 helper.defineHistogram(
'eta_TT;ppm_em_1d_tt_lutjep_Eta',
199 fillGroup=
'groupLUTJEP_EM',
200 title=
'EM LUT-JEP: Distribution of peak in #eta',
201 type=
'TH1F', path=histPath_dev,
203 cutmask=
'mask_jepET_0')
205 helper.defineHistogram(
'phiTT_1D;ppm_em_1d_tt_lutjep_Phi',
206 fillGroup=
'groupLUTJEP_EM',
207 title=
'EM LUT-JEP: Distribution of peak in #phi; #phi',
208 type=
'TH1F', path=histPath_dev,
209 xbins=phibins, xmin=phimin, xmax=phimax_1d)
211 helper.defineHistogram(
'jepET_TT;ppm_em_1d_tt_lutjep_Et',
212 fillGroup=
'groupLUTJEP_EM',
213 title=
'EM LUT-JEP: Distribution of peak; EM LUT peak [GeV]',
214 type=
'TH1F', path=histPath_dev,
215 xbins=maxEnergyRange-1, xmin=1, xmax=maxEnergyRange,
216 cutmask=
'mask_jepET_0')
219 helper.defineHistogram(
'eta_TT;ppm_had_1d_tt_lutjep_Eta',
220 fillGroup=
'groupLUTJEP_HAD',
221 title=
'HAD LUT-JEP: Distribution of peak in #eta',
222 type=
'TH1F', path=histPath_exp,
224 "description":
"HAD LUT-JEP: Distribution of peak in #eta."
226 xbins=etabins_HAD_1D,
227 cutmask=
'mask_jepET_0')
229 helper.defineHistogram(
'phiTT_1D;ppm_had_1d_tt_lutjep_Phi',
230 fillGroup=
'groupLUTJEP_HAD',
231 title=
'HAD LUT-JEP: Distribution of peak in #phi; #phi',
232 type=
'TH1F', path=histPath_exp,
234 "description":
"HAD LUT-JEP: Distribution of peak in #phi."
236 xbins=phibins, xmin=phimin, xmax=phimax_1d)
238 helper.defineHistogram(
'jepET_TT;ppm_had_1d_tt_lutjep_Et',
239 fillGroup=
'groupLUTJEP_HAD',
240 title=
'HAD LUT-JEP: Distribution of peak; HAD LUT peak [GeV]',
241 type=
'TH1F', path=histPath_exp,
243 "display" :
"LogX,LogY",
244 "description":
"HAD LUT-JEP: Distribution of peak."
246 xbins=maxEnergyRange-1, xmin=1, xmax=maxEnergyRange,
247 cutmask=
'mask_jepET_0')
250 helper.defineHistogram(
'etaTT_2D,phiTT_2D,jepET_TT_2D;ppm_em_2d_etaPhi_tt_lutjep_AverageEt',
251 fillGroup=
'groupLUTJEP_EM',
252 title=
'EM Average LUT-JEP Et for Et > 5 GeV',
253 type=
'TProfile2D', path=histPath_dev,
254 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
256 helper.defineHistogram(
'etaTT_2D,phiTT_2D,jepET_TT_2D;ppm_had_2d_etaPhi_tt_lutjep_AverageEt',
257 fillGroup=
'groupLUTJEP_HAD',
258 title=
'HAD Average LUT-JEP Et for Et > 5 GeV',
259 type=
'TProfile2D', path=histPath_det,
261 "display" :
"SetPalette(1),LogZ",
262 "description":
"HAD Average LUT-JEP Et for Et > 5 GeV."
264 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
267 histPath = histPath_dev
270 histPath = histPath_exp
if i
in [0, 5]
else histPath_det
271 groupname =
'groupLUTJEP_{0}_{1}'.
format(layer, threshVec[i])
272 helper.defineHistogram(
'etaTT_2D,phiTT_2D;ppm_{0}_2d_etaPhi_tt_lutjep_Threshold0{1}'.
format(layer.lower(), i),
274 title=
'#eta - #phi map of {0} LUT-JEP > {1} GeV'.
format(layer, threshVec[i]),
275 type=
'TH2D', path=histPath,
277 "display" :
"SetPalette(1),LogZ",
278 "description":
'#eta - #phi map of {0} LUT-JEP > {1} GeV'.
format(layer, threshVec[i]),
280 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
286 histPath_dev = devPath+
'/Inputs'
287 histPath_exp = expPath+
'/Inputs'
288 histPath_det = expPath+
'/Inputs/detail'
291 helper.defineHistogram(
'etaTT_2D,phiTT_2D;ppm_em_2d_etaPhi_tt_adc_HitMap',
292 fillGroup=
'groupADC_EM',
293 title=
'#eta - #phi map of EM FADC > {0} for triggered timeslice; Tower #eta; Tower #phi'.
format(threshADC),
294 type=
'TH2F', path=histPath_dev,
295 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
297 helper.defineHistogram(
'etaTT_2D,phiTT_2D,adcTT;ppm_em_2d_etaPhi_tt_adc_ProfileHitMap',
298 fillGroup=
'groupADC_EM',
299 title=
'#eta - #phi profile map of EM FADC > {0} for triggered timeslice; Tower #eta; Tower #phi'.
format(threshADC),
300 type=
'TProfile2D', path=histPath_dev,
301 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
304 helper.defineHistogram(
'etaTT_2D,phiTT_2D;ppm_had_2d_etaPhi_tt_adc_HitMap',
305 fillGroup=
'groupADC_HAD',
306 title=
'#eta - #phi map of HAD FADC > {0} for triggered timeslice; Tower #eta; Tower #phi'.
format(threshADC),
307 type=
'TH2F', path=histPath_exp,
309 "display" :
"SetPalette(1),LogZ",
310 "description" :
"#eta - #phi map of HAD FADC > {0} for triggered timeslice."
312 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
314 helper.defineHistogram(
'etaTT_2D,phiTT_2D,adcTT;ppm_had_2d_etaPhi_tt_adc_ProfileHitMap',
315 fillGroup=
'groupADC_HAD',
316 title=
'#eta - #phi profile map of HAD FADC > {0} for triggered timeslice; Tower #eta; Tower #phi'.
format(threshADC),
317 type=
'TProfile2D', path=histPath_exp,
319 "display" :
"SetPalette(1),LogZ",
320 "description":
"#eta - #phi profile map of HAD FADC > {0} for triggered timeslice."
322 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
325 helper.defineHistogram(
'adcPeak;ppm_em_1d_tt_adc_TriggeredSlice',
326 fillGroup=
'groupTimeslice_EM',
327 title=
'Number of the EM triggered slice; # Slice',
328 type=
'TH1F', path=histPath_dev,
329 xbins=sliceNo, xmin=0, xmax=sliceNo)
331 helper.defineHistogram(
'adcPeak;ppm_had_1d_tt_adc_TriggeredSlice',
332 fillGroup=
'groupTimeslice_HAD',
333 title=
'Number of the HAD triggered slice; # Slice',
334 type=
'TH1F', path=histPath_det,
337 "description" :
"Number of the HAD triggered slice."
339 xbins=sliceNo, xmin=0, xmax=sliceNo)
341 helper.defineHistogram(
'maxADC;ppm_em_1d_tt_adc_MaxTimeslice',
342 fillGroup=
'groupTimeslice_EM',
343 title=
'EM distribution of maximum timeslice; slice',
344 type=
'TH1D', path=histPath_dev,
345 xbins=sliceNo, xmin=0, xmax=sliceNo)
347 helper.defineHistogram(
'maxADC;ppm_had_1d_tt_adc_MaxTimeslice',
348 fillGroup=
'groupTimeslice_HAD',
349 title=
'HAD distribution of maximum timeslice; slice',
350 type=
'TH1D', path=histPath_exp,
352 "display" :
"SetPalette(1)",
353 "description":
"HAD distribution of maximum timeslice."
355 xbins=sliceNo, xmin=0, xmax=sliceNo)
357 helper.defineHistogram(
'etaTT_2D,phiTT_2D,maxADCPlus1;ppm_em_2d_etaPhi_tt_adc_MaxTimeslice',
358 fillGroup=
'groupTimeslice_EM',
359 title=
'Average maximum timeslice for EM signal (TS:1-15); Tower #eta; Tower #phi',
360 type=
'TProfile2D', path=histPath_dev,
361 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
363 helper.defineHistogram(
'etaTT_2D,phiTT_2D,maxADCPlus1;ppm_had_2d_etaPhi_tt_adc_MaxTimeslice',
364 fillGroup=
'groupTimeslice_HAD',
365 title=
'Average maximum timeslice for HAD signal (TS:1-15); Tower #eta; Tower #phi',
366 type=
'TProfile2D', path=histPath_exp,
368 "description":
"Average maximum timeslice for HAD signal (TS:1-15)."
370 xbins=etabins, ybins=phibins, ymin=phimin, ymax=phimax_2d)
373 bcidBitsLabels = [
'none (40 MHz)',
'satBC only',
'peakF only',
'satBC & peakF',
'sat80BC & peakF',
'sat80BC & sat40BC',
'sat80BC only']
374 helper.defineHistogram(
'bcidBits,adcBCID;ppm_2d_tt_adc_BcidBits',
375 fillGroup=
'groupTimeslice',
376 title=
'PPM: PeakADC Vs. Bits of BCID Logic Word',
377 type=
'TH2I', path=histPath_det,
379 "description":
"PPM: PeakADC Vs. Bits of BCID Logic Word."
381 xbins=7, xmin=0, xmax=7, xlabels=bcidBitsLabels, ybins=1024, ymin=0, ymax=1024)
384 sat80Labels = [
'no saturated ADC',
'none/none',
'none/low',
'none/high',
'low/low',
'low/high',
'high/high',
'else']
385 helper.defineHistogram(
'sat80Word;ppm_1d_tt_adc_HLCase',
386 fillGroup=
'groupTimeslice',
387 title=
'PPM: Sat80 thresholds passed by ADC[n-2.5] / ADC[n-1.5]',
388 type=
'TH1I', path=histPath_det,
390 "description":
"PPM: Sat80 thresholds passed by ADC[n-2.5] / ADC[n-1.5]."
392 xbins=8, xmin=0, xmax=8, xlabels=sat80Labels)
395 partitionsEM = [
'LArFCAL1C',
'LArEMECC',
'LArOverlapC',
'LArEMBC',
'LArEMBA',
'LArOverlapA',
'LArEMECA',
'LArFCAL1A']
396 partitionsHAD = [
'LArFCAL23C',
'LArHECC',
'TileEBC',
'TileLBC',
'TileLBA',
'TileEBA',
'LArHECA',
'LArFCAL23A']
399 histPath = histPath_dev
400 for p
in partitionsEM:
401 helper.defineHistogram(
'slice,wADC;ppm_em_1d_tt_adc_SignalProfile{0}'.
format(p),
402 fillGroup=
'groupTimeslice_EM'+
'_'+p,
403 title=
'Signal Shape Profile for {0}; Timeslice'.
format(p),
404 type=
'TProfile', path=histPath,
405 xbins=sliceNo, xmin=0, xmax=sliceNo)
408 for p
in partitionsHAD:
409 if p.startswith(
'Tile'):
410 histPath = histPath_det
411 helper.defineHistogram(
'slice,wADC;ppm_had_1d_tt_adc_SignalProfile{0}'.
format(p),
412 fillGroup=
'groupTimeslice_HAD'+
'_'+p,
413 title=
'Signal Shape Profile for {0}; Timeslice'.
format(p),
414 type=
'TProfile', path=histPath,
416 "description":
"Signal Shape Profile for {0}.".
format(p)
418 xbins=sliceNo, xmin=0, xmax=sliceNo)
426 histPath_dev = devPath+
'/Errors'
427 histPath_exp = expPath+
'/Errors'
428 histPath_det = expPath+
'/Errors/detail'
431 helper.defineHistogram(
'etaTT;ppm_em_1d_pedOverflow_Eta',
432 fillGroup=
'groupErrors_EM',
433 title=
'EM : Overflow of pedestal correction;#eta',
434 type=
'TH1F', path=histPath_dev,
436 cutmask=
'mask_PedCorrOverflow',
439 helper.defineHistogram(
'etaTT;ppm_em_1d_pedUnderflow_Eta',
440 fillGroup=
'groupErrors_EM',
441 title=
'EM : Underflow of pedestal correction;#eta',
442 type=
'TH1F', path=histPath_dev,
444 cutmask=
'mask_PedCorrUnderflow',
448 helper.defineHistogram(
'etaTT;ppm_had_1d_pedOverflow_Eta',
449 fillGroup=
'groupErrors_HAD',
450 title=
'HAD : Overflow of pedestal correction;#eta',
451 type=
'TH1F', path=histPath_det,
453 "description":
"Overflow of pedestal correction."
455 xbins=etabins_HAD_1D,
456 cutmask=
'mask_PedCorrOverflow',
459 helper.defineHistogram(
'etaTT;ppm_had_1d_pedUnderflow_Eta',
460 fillGroup=
'groupErrors_HAD',
461 title=
'HAD : Underflow of pedestal correction;#eta',
462 type=
'TH1F', path=histPath_det,
464 "description":
"Underflow of pedestal correction."
466 xbins=etabins_HAD_1D,
467 cutmask=
'mask_PedCorrUnderflow',
471 globalError_xlabels_mcmerr = [
483 globalError_xlabels_substat = [
495 helper.defineHistogram(
'bit_2D;ppm_1d_SubStatErrorSummary',
496 fillGroup=
'group1DSubStatErrorSummary',
497 title=
'Summary of SubStatus Word Errors',
498 type=
'TH1F', path=histPath_exp,
500 "algorithm" :
"Histogram_Empty",
501 "description" :
"Summary of SubStatus Word Errors."
503 xbins=8, xmin=0, xmax=8,
504 xlabels=globalError_xlabels_substat,
507 helper.defineHistogram(
'eventMonitor,bit_2D;ppm_2d_SubStatErrorEventNumbers',
508 fillGroup=
'groupSubStatErrorEventNumbers',
509 title=
'SubStatus Word Errors Event Numbers;Events with Error/Mismatch;;',
510 type=
'TH2I', path=histPath_det,
512 "description":
"SubStatus Word Errors Event Numbers."
514 xbins=10, xmin=0, xmax=10, ybins=8, ymin=0, ymax=8,
515 ylabels=globalError_xlabels_substat,
518 helper.defineHistogram(
'bit_2D,y_2D;ppm_2d_SubStatError03',
519 fillGroup=
'groupSubStatError03',
520 title=
'SubStatus Word Errors (crates 0-3)',
521 type=
'TH2I', path=histPath_dev,
522 xbins=8, xmin=0, xmax=8, ybins=64, ymin=0, ymax=64,
523 xlabels=globalError_xlabels_substat,
527 helper.defineHistogram(
'bit_2D,y_2D;ppm_2d_SubStatError47',
528 fillGroup=
'groupSubStatError47',
529 title=
'SubStatus Word Errors (crates 4-7)',
530 type=
'TH2I', path=histPath_det,
532 "display" :
"SetPalette(1),SetGridx,SetGridy",
533 "description" :
"SubStatus Word Errors (crates 4-7)."
535 xbins=8, xmin=0, xmax=8, ybins=64, ymin=0, ymax=64,
536 xlabels=globalError_xlabels_substat,
541 helper.defineHistogram(
'bit_2D;ppm_1d_MCMErrorSummary',
542 fillGroup=
'group1DMCMErrorSummary',
543 title=
'Summary of MCM Errors',
544 type=
'TH1F', path=histPath_exp,
546 "algorithm" :
"Histogram_Empty",
547 "description" :
"Summary of MCM Errors."
549 xbins=8, xmin=0, xmax=8,
550 xlabels=globalError_xlabels_mcmerr,
553 helper.defineHistogram(
'eventMonitor,bit_2D;ppm_2d_MCMErrorEventNumbers',
554 fillGroup=
'groupMCMErrorEventNumbers',
555 title=
'MCM Error Field Event Numbers;Events with Error/Mismatch;;',
556 type=
'TH2I', path=histPath_det,
558 "description":
"MCM Error Field Event Numbers."
560 xbins=10, xmin=0, xmax=10, ybins=8, ymin=0, ymax=8,
561 ylabels=globalError_xlabels_mcmerr,
564 helper.defineHistogram(
'bit_2D,y_2D;ppm_2d_MCMErrorField03',
565 fillGroup=
'groupMCMErrorField03',
566 title=
'MCM Error Field (crates 0-3)',
567 type=
'TH2I', path=histPath_dev,
568 xbins=8, xmin=0, xmax=8, ybins=64, ymin=0, ymax=64,
569 xlabels=globalError_xlabels_mcmerr,
573 helper.defineHistogram(
'bit_2D,y_2D;ppm_2d_MCMErrorField47',
574 fillGroup=
'groupMCMErrorField47',
575 title=
'MCM Error Field (crates 4-7)',
576 type=
'TH2I', path=histPath_det,
578 "display" :
"SetPalette(1),SetGridx,SetGridy",
579 "description":
"MCM Error Field (crates 4-7)."
581 xbins=8, xmin=0, xmax=8, ybins=64, ymin=0, ymax=64,
582 xlabels=globalError_xlabels_mcmerr,
588 acc = helper.result()