9 from AthenaConfiguration.ComponentFactory
import CompFactory
14 selStr[
"passDigiNom"] =
"for unmasked SCs with ADC_max-pedestal > 10*RMS(DB) & good quality bits"
15 selStr[
"badNotMasked"] =
"for unmasked SCs which have bad quality bits"
18 selStr[
"zeroET"] =
"for unmasked SCs with ET == 0 GeV"
20 selStr[
"passSCNom"] =
"for unmasked SCs with non-zero ET < 10 GeV"
22 selStr[
"passSCNomInvalid"] =
"for unmasked SCs with raw E = -99999"
23 selStr[
"passSCNom0_0p325"] =
"for unmasked SCs with 0 GeV < ET < 0.325 GeV"
25 selStr[
"passSCNom0p325_1"] =
"for unmasked SCs with 0.325 GeV < ET < 1 GeV"
27 selStr[
"passSCNom1"] =
"for unmasked SCs with ET > 1 GeV"
29 selStr[
"passSCNom10"] =
"for unmasked SCs with ET > 10 GeV"
31 selStr[
"passSCNom10tauGt3"] =
"for unmasked SCs with ET > 10 GeV and #tau > 3"
32 selStr[
"saturNotMasked"] =
"for unmasked SCs which are saturated"
33 selStr[
"OFCbOFNotMasked"] =
"for unmasked SCs with OFCb in overflow"
34 selStr[
"onlofflEmismatch"] =
"for unmasked SCs which pass #tau selection where online & offline energies are different"
36 selStr[
"notMaskedEoflNe0"] =
"for unmasked SCs with non-zero ET ofl"
37 selStr[
"notMaskedEoflGt1"] =
"for unmasked SCs with ET ofl > 1 GeV"
42 '''Function to configures some algorithms in the monitoring system.'''
46 from AthenaMonitoring.AthMonitorCfgHelper
import AthMonitorCfgHelper
47 helper = AthMonitorCfgHelper(flags,
'LArDigitalTriggMonAlgCfg')
49 from LArMonitoring.GlobalVariables
import lArDQGlobals
51 from AthenaCommon.Logging
import logging
52 mlog = logging.getLogger(
'LArDigitalTriggMon' )
54 if not flags.DQ.enableLumiAccess:
55 from LumiBlockComps.LuminosityCondAlgConfig
import LuminosityCondAlgCfg
59 from LArCabling.LArCablingConfig
import LArOnOffIdMappingSCCfg
63 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
64 helper.resobj.merge(
LArElecCalibDBSCCfg(flags, condObjs=[
"Ramp",
"DAC2uA",
"Pedestal",
"uA2MeV",
"MphysOverMcal",
"OFC",
"Shape",
"HVScaleCorr"]))
68 larDigitalTriggMonAlg = helper.addAlgorithm(CompFactory.LArDigitalTriggMonAlg(
'larDigitalTriggMonAlg'))
69 larDigitalTriggMonAlg.ProblemsToMask=[
"maskedOSUM"]
71 larDigitalTriggMonAlg.LArRawSCEtRecoContainerKey=
"dummy"
77 for i
in range(0,len(streamTypes)):
78 mlog.info(
"runinfo.streamTypes()[i]: "+
str(streamTypes[i]))
79 if streamTypes[i] ==
"SelectedEnergy":
81 larDigitalTriggMonAlg.LArRawSCContainerKey =
"SC_ET_ID"
82 if streamTypes[i] ==
"Energy":
84 larDigitalTriggMonAlg.LArRawSCContainerKey =
"SC_ET"
85 if streamTypes[i] ==
"RawADC":
87 larLATOMEBuilderAlg.LArDigitKey =
"SC"
88 larLATOMEBuilderAlg.isADCBas =
False
89 larDigitalTriggMonAlg.LArDigitContainerKey =
"SC"
90 if streamTypes[i] ==
"ADC":
92 larDigitalTriggMonAlg.isADCBas =
True
93 larDigitalTriggMonAlg.LArDigitContainerKey =
"SC_ADC_BAS"
94 larLATOMEBuilderAlg.isADCBas =
True
95 larLATOMEBuilderAlg.LArDigitKey =
"SC_ADC_BAS"
97 if (hasEtId
and hasEt):
101 if (hasAdc
and hasAdcBas):
103 larDigitalTriggMonAlg.isADCBas=
False
105 mlog.info(
"Mux settings from COOL:")
106 mlog.info(
"has ET Id: "+
str(hasEtId))
107 mlog.info(
"has ET: "+
str(hasEt))
108 mlog.info(
"has ADC: "+
str(hasAdc))
109 mlog.info(
"has ADC Bas: "+
str(hasAdcBas))
112 larDigitalTriggMonAlg.SCMonGroup=SCGroupName
116 SCGroup = helper.addGroup(
117 larDigitalTriggMonAlg,
119 '/LArDigitalTrigger/',
125 LatomeDetBinMapping = dict([
126 (
"0x48",{
"Subdet":
"FCALC",
"Bin":1}),
127 (
"0x4c",{
"Subdet":
"EMEC/HECC",
"Bin":3}),
128 (
"0x44",{
"Subdet":
"EMECC",
"Bin":11}),
129 (
"0x4a",{
"Subdet":
"EMB/EMECC",
"Bin":27}),
130 (
"0x42",{
"Subdet":
"EMBC",
"Bin":43}),
131 (
"0x41",{
"Subdet":
"EMBA",
"Bin":59}),
132 (
"0x49",{
"Subdet":
"EMB/EMECA",
"Bin":75}),
133 (
"0x43",{
"Subdet":
"EMECA",
"Bin":91}),
134 (
"0x4b",{
"Subdet":
"EMEC/HECA",
"Bin":107}),
135 (
"0x47",{
"Subdet":
"FCALA",
"Bin":115})
144 for bb
in range (0,NLatomeBins):
146 for detID
in LatomeDetBinMapping:
147 if bb==(LatomeDetBinMapping[detID][
"Bin"]-1):
148 Label=LatomeDetBinMapping[detID][
"Subdet"]
151 if bb < NLatomeBins_side:
152 BinLabel_LATOME_C+=[Label+
str(phi)]
154 BinLabel_LATOME_A+=[Label+
str(phi)]
156 BinLabel_LATOME+=[Label+
str(phi)]
162 iphi_bins_dict = {
"ALL": 63,
"EMB": 63,
"EMEC": 63,
"HEC": 63,
"FCAL": 15}
167 SCGroup.defineHistogram(
'lumi_block,event_size;EventSize_vs_LB',
168 title=
'Digital trigger event size per LB; LumiBlock; Event size [MB]',
171 xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max)
176 partGroup_digi = helper.addArray([larDigitalTriggMonAlg.LayerNames], larDigitalTriggMonAlg,
'LArDigitalTriggerMon_digi', topPath=
'/LArDigitalTrigger/')
177 partGroup_sc = helper.addArray([larDigitalTriggMonAlg.LayerNames], larDigitalTriggMonAlg,
'LArDigitalTriggerMon_sc', topPath=
'/LArDigitalTrigger/')
179 for part
in larDigitalTriggMonAlg.LayerNames:
181 for sel
in selStr.keys():
182 selStrPart[sel] =
"in "+part+
" "+selStr[sel]
184 for key
in iphi_bins_dict.keys():
185 if part.startswith(key):
186 iphi_bins = iphi_bins_dict[key]
189 partxbins=lArDQGlobals.SuperCell_Variables[
"etaRange"][
"All"][
"All"]
190 partybins=lArDQGlobals.SuperCell_Variables[
"phiRange"][
"All"][
"All"]
193 topPath=
"PerPartition/"
205 partxbins=lArDQGlobals.SuperCell_Variables[
"etaRange"][Part][Side][Sampling]
206 partybins=lArDQGlobals.SuperCell_Variables[
"phiRange"][Part][Side][Sampling]
211 for thisSel
in [
"passDigiNom",
"badNotMasked"]:
212 thisTopPath=f
"/{thisSel}/{topPath}"
215 partGroup_digi.defineHistogram(
'Digi_part_maxpos,Digi_part_partition;Partition_vs_maxSamplePosition_'+thisSel,
216 title=
'Partition vs. position of max sample '+selStrPart[thisSel],
217 cutmask=
'Digi_part_'+thisSel,
220 xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
221 ybins=lArDQGlobals.N_Partitions, ymin=-0.5, ymax=lArDQGlobals.N_Partitions-0.5,
222 xlabels = [
str(x)
for x
in range(1,nsamples+1)],
223 ylabels=lArDQGlobals.Partitions,
226 partGroup_digi.defineHistogram(
'Digi_part_latomesourceidbin,Digi_part_adc;ADCFullRange_vs_LATOME_'+thisSel,
227 title=
'ADC vs LATOME name '+selStrPart[thisSel]+
'; ; ADC',
228 cutmask=
'Digi_part_'+thisSel,
231 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
232 ybins=500, ymin=-2, ymax=2500,
233 xlabels=BinLabel_LATOME,
236 partGroup_digi.defineHistogram(
'Digi_part_latomesourceidbin,Digi_part_pedestal;Pedestal_vs_LATOME_'+thisSel,
237 title=
'Pedestal vs LATOME name '+selStrPart[thisSel]+
'; ; Pedestal',
238 cutmask=
'Digi_part_'+thisSel,
241 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
242 ybins=500, ymin=-2, ymax=2500,
243 xlabels=BinLabel_LATOME,
246 partGroup_digi.defineHistogram(
'Digi_part_latomesourceidbin,Digi_part_maxpos;MaxSamplePosition_vs_LATOME_'+thisSel,
247 title=
'Position of max sample vs. LATOME '+selStrPart[thisSel],
249 cutmask=
'Digi_part_'+thisSel,
251 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
252 ybins=nsamples,ymin=0.5,ymax=nsamples+0.5,
253 xlabels=BinLabel_LATOME,
254 ylabels = [
str(x)
for x
in range(1,nsamples+1)],
257 partGroup_digi.defineHistogram(
'Digi_part_latomesourceidbin,Digi_part_diff_adc0_ped;Diff_ADC0_Ped_vs_LATOME_'+thisSel,
258 title=
'ADC[0] - Pedestal vs LATOME name '+selStrPart[thisSel]+
'; ; ADC[0] - Pedestal',
260 cutmask=
'Digi_part_'+thisSel,
262 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
263 ybins=64, ymin=-32, ymax=32,
264 xlabels=BinLabel_LATOME,
267 partGroup_digi.defineHistogram(
'Digi_part_latomesourceidbin,Digi_part_diff_adc_ped_norm;Diff_ADC_Ped_Norm_vs_LATOME_'+thisSel,
268 title=
'(ADC-ped)/fabs(ADC_max-ped) '+selStrPart[thisSel]+
'; LATOME Name; (ADC - pedestal) / fabs(ADC_max - pedestal)',
270 cutmask=
'Digi_part_'+thisSel,
272 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
273 ybins=64, ymin=-32, ymax=32,
274 xlabels=BinLabel_LATOME,
279 partGroup_digi.defineHistogram(
'Digi_part_eta,Digi_part_phi;Coverage_Eta_Phi_'+thisSel,
280 title=
'SC coverage '+selStrPart[thisSel]+
': #phi vs #eta;#eta;#phi',
282 path=thisTopPath+
'/Coverage',
283 cutmask=
'Digi_part_'+thisSel,
289 if not flags.Common.isOnline:
continue
291 if thisSel !=
"passDigiNom":
continue
292 partGroup_digi.defineHistogram(
'Digi_part_eta,Digi_part_phi,Digi_part_diff_adc0_ped;Coverage_Diff_ADC0_Ped_'+thisSel,
293 title=
'ADC[0] - Pedestal'+selStrPart[thisSel]+
': #phi vs #eta;#eta;#phi',
295 cutmask=
'Digi_part_'+thisSel,
296 path=thisTopPath+
'/Coverage',
303 partGroup_digi.defineHistogram(
'Digi_part_BCID,Digi_part_iphi,Digi_part_diff_adc_ped;Diff_ADC_Ped_Per_BCID_Per_iphi_'+thisSel,
304 title=
'ADC - Pedestal (all samples) '+selStrPart[thisSel]+
': iphi vs BCID;BCID;iphi',
306 cutmask=
'Digi_part_'+thisSel,
308 xbins=3564,xmin=-0.5,xmax=3563.5,
309 ybins=iphi_bins+1,ymin=0,ymax=iphi_bins+1,
317 partGroup_digi.defineHistogram(
'Digi_part_sampos,Digi_part_adc;ADCZoom_vs_SamplePosition_'+thisSel,
318 title=
'ADC (zoom) vs sample position '+selStrPart[thisSel],
319 cutmask=
'Digi_part_'+thisSel,
322 xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
323 xlabels = [
str(x)
for x
in range(1,nsamples+1)],
324 ybins=750, ymin=0, ymax=1300,
327 partGroup_digi.defineHistogram(
'Digi_part_sampos,Digi_part_adc;ADCFullRange_vs_SamplePosition_'+thisSel,
328 title=
'ADC vs sample position '+selStrPart[thisSel],
329 cutmask=
'Digi_part_'+thisSel,
332 xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
333 xlabels = [
str(x)
for x
in range(1,nsamples+1)],
334 ybins=500, ymin=0, ymax=5000,
337 partGroup_digi.defineHistogram(
'Digi_part_sampos,Digi_part_pedestal;Pedestal_vs_SamplePosition_'+thisSel,
338 title=
'Pedestal vs sample position '+selStrPart[thisSel],
339 cutmask=
'Digi_part_'+thisSel,
342 xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
343 xlabels = [
str(x)
for x
in range(1,nsamples+1)],
344 ybins=500, ymin=0, ymax=5000,
347 partGroup_digi.defineHistogram(
'Digi_part_diff_adc0_ped;Diff_ADC0_Ped_'+thisSel,
348 title=
'LATOME (ADC[0]-ped) '+selStrPart[thisSel]+
'; (ADC - pedestal)',
350 cutmask=
'Digi_part_'+thisSel,
352 xbins=50,xmin=-25,xmax=25,
355 partGroup_digi.defineHistogram(
'Digi_part_sampos,Digi_part_diff_adc_ped_norm;Diff_ADC_Ped_Norm_vs_SamplePosition_'+thisSel,
356 title=
'(ADC-ped)/fabs(ADC_max-ped) '+selStrPart[thisSel]+
'; Sample position; (ADC - pedestal) / fabs(ADC_max - pedestal)',
358 cutmask=
'Digi_part_'+thisSel,
360 ybins=40,ymin=-1,ymax=1,
361 xbins=nsamples,xmin=0.5,xmax=nsamples+0.5,
362 xlabels = [
str(x)
for x
in range(1,nsamples+1)],
365 partGroup_digi.defineHistogram(
'Digi_part_BCID, Digi_part_adc;ADC_vs_BCID_'+thisSel,
366 title=
'ADC value vs BCID '+selStrPart[thisSel]+
'; BCID; ADC Value',
368 cutmask=
'Digi_part_'+thisSel,
370 xbins=3564,xmin=-0.5,xmax=3563.5,
371 ybins=500, ymin=0, ymax=5000,
374 partGroup_digi.defineHistogram(
'Digi_part_BCID, Digi_part_diff_adc0_ped;Diff_ADC0_Ped_vs_BCID_'+thisSel,
375 title=
'ADC[0] - Ped value vs BCID '+selStrPart[thisSel]+
'; BCID; ADC[0] Value',
377 cutmask=
'Digi_part_'+thisSel,
379 xbins=3564,xmin=-0.5,xmax=3563.5,
380 ybins=500, ymin=-5, ymax=5,
383 partGroup_digi.defineHistogram(
'Digi_part_LB, Digi_part_adc;ADC_vs_LB_'+thisSel,
384 title=
'ADC value vs LB '+selStrPart[thisSel]+
'; LB; ADC Value',
386 cutmask=
'Digi_part_'+thisSel,
388 xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
389 ybins=500, ymin=0, ymax=5000,
392 partGroup_digi.defineHistogram(
'Digi_part_BCID, Digi_part_diff_adc_ped;Diff_ADC_Ped_vs_BCID_'+thisSel,
393 title=
'ADC - Pedestal (all samples) vs BCID '+selStrPart[thisSel]+
'; BCID; ADC Value',
395 cutmask=
'Digi_part_'+thisSel,
397 xbins=3564,xmin=-0.5,xmax=3563.5,
398 ybins=500, ymin=-5, ymax=5,
404 for thisSel
in [
"zeroET",
"passSCNom0_0p325",
"passSCNom0p325_1",
"passSCNom1",
"passSCNom10",
"passSCNom10tauGt3",
"saturNotMasked",
"OFCbOFNotMasked",
"onlofflEmismatch",
"notMaskedEoflNe0",
"notMaskedEoflGt1"]:
405 thisTopPath=f
"/{thisSel}/{topPath}"
408 partGroup_sc.defineHistogram(
'SC_part_latomesourceidbin,SC_part_et_onl;SC_ET_Onl_vs_LATOME_'+thisSel,
409 title=
'SC ET [GeV] vs LATOME name '+selStrPart[thisSel]+
'; ; ET SC [GeV]',
411 cutmask=
'SC_part_'+thisSel,
413 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
414 ybins=200, ymin=-10, ymax=200,
415 xlabels=BinLabel_LATOME,
419 partGroup_sc.defineHistogram(
'SC_part_LB,SC_part_latomesourceidbin;LB_vs_LATOME_'+thisSel,
420 title=
'LATOME name vs LB '+selStrPart[thisSel]+
';LB;LATOME',
422 cutmask=
'SC_part_'+thisSel,
424 xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
425 ybins=NLatomeBins,ymin=1,ymax=NLatomeBins+1,
426 ylabels=BinLabel_LATOME,
429 partGroup_sc.defineHistogram(
'SC_part_time,SC_part_et_ofl;time_vs_et_ofl_'+thisSel,
430 title=
'SC coverage '+selStrPart[thisSel]+
': #tau vs ET ofl;#tau;ET ofl',
432 cutmask=
'SC_part_'+thisSel,
434 xbins=500,xmin=-50,xmax=50,
435 ybins=500,ymin=-10,ymax=70,
439 partGroup_sc.defineHistogram(
'SC_part_latomesourceidbin,SC_part_time;MeanOfflineLATOMEtime_vs_LATOME_'+thisSel,
440 title=
'Average LATOME #tau from Offline computation per LATOME'+selStrPart[thisSel]+
'; LATOME ; #tau [ns]',
442 cutmask=
'SC_part_'+thisSel,
444 xbins=NLatomeBins,xmin=1,xmax=NLatomeBins+1,
445 ybins=200, ymin=-50, ymax=50,
446 xlabels=BinLabel_LATOME,
449 partGroup_sc.defineHistogram(
'SC_part_LB,SC_part_latomesourceidbin,SC_part_time;MeanOfflineLATOMEtime_perLB_perLATOME_'+thisSel,
450 title=
'SC #tau '+selStrPart[thisSel]+
': LATOME vs LB;LB;LATOME',
452 cutmask=
'SC_part_'+thisSel,
454 xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
455 ybins=NLatomeBins,ymin=1,ymax=NLatomeBins+1,
456 ylabels=BinLabel_LATOME,
459 partGroup_sc.defineHistogram(
'SC_part_LB,SC_part_time;MeanOfflineLATOMEtime_vs_LB_'+thisSel,
460 title=
'Average LATOME #tau from Offline computation per LB '+selStrPart[thisSel]+
'; LumiBloc; #tau [ns]',
462 cutmask=
'SC_part_'+thisSel,
464 xbins=lArDQGlobals.LB_Bins, xmin=lArDQGlobals.LB_Min, xmax=lArDQGlobals.LB_Max,
470 partGroup_sc.defineHistogram(
'SC_part_eta,SC_part_phi;Coverage_Eta_Phi_'+thisSel,
471 title=
'SC coverage '+selStrPart[thisSel]+
': #phi vs #eta;#eta;#phi',
473 cutmask=
'SC_part_'+thisSel,
474 path=thisTopPath+
'/Coverage',
480 partGroup_sc.defineHistogram(
'SC_part_time;OfflineLATOMEtime_'+thisSel,
481 title=
'LATOME #tau from Offline Computation '+selStrPart[thisSel]+
';#tau [ns]; Evts;',
483 cutmask=
'SC_part_'+thisSel,
485 xbins=100,xmin=-25,xmax=25,
489 if not flags.Common.isOnline:
continue
491 if thisSel !=
"passSCNom1":
continue
493 partGroup_sc.defineHistogram(
'SC_part_eta,SC_part_phi,SC_part_et_onl;Coverage_Et_Onl_'+thisSel,
494 title=
'SC Energy '+selStrPart[thisSel]+
': #phi vs #eta;#eta;#phi',
496 cutmask=
'SC_part_'+thisSel,
497 path=thisTopPath+
'/Coverage',
502 partGroup_sc.defineHistogram(
'SC_part_eta,SC_part_phi,SC_part_time;Coverage_OfflineLATOMEtime_'+thisSel,
503 title=
'LATOME #tau from Offline Computation '+selStrPart[thisSel]+
': #phi vs #eta;#eta;#phi',
505 cutmask=
'SC_part_'+thisSel,
506 path=thisTopPath+
'/Coverage',
511 partGroup_sc.defineHistogram(
'SC_part_et_onl,SC_part_et_ofl;ET_Ofl_vs_ET_Onl_'+thisSel,
512 title=
'LATOME ET vs Offline Computation '+selStrPart[thisSel]+
'; ET Onl;ET Offl [GeV]',
514 cutmask=
'SC_part_'+thisSel,
516 xbins=0,xmin=0,xmax=20,
517 ybins=0,ymin=0,ymax=20,
520 partGroup_sc.defineHistogram(
'SC_part_et_diff;ET_Diff_OnlOfl_'+thisSel,
521 title=
'LATOME ET vs Offline Computation '+selStrPart[thisSel]+
'; ET Onl - ET Offl [GeV]; Evts;',
523 cutmask=
'SC_part_'+thisSel,
525 xbins=200,xmin=-10,xmax=10,
529 partGroup_sc.defineHistogram(
'SC_part_et_onl;SC_ET_Onl_'+thisSel,
530 title=
'SC eT [GeV] '+selStrPart[thisSel],
532 cutmask=
'SC_part_'+thisSel,
534 xbins=500, xmin=-100, xmax=400,
538 partGroup_sc.defineHistogram(
'SC_part_BCID,SC_part_time;MeanOfflineLATOMEtime_vs_BCID_'+thisSel,
539 title=
'Average LATOME #tau from Offline computation per BCID '+selStrPart[thisSel]+
'; BCID; #tau [ns]',
541 cutmask=
'SC_part_'+thisSel,
543 xbins=3564,xmin=-0.5,xmax=3563.5,
546 partGroup_sc.defineHistogram(
'SC_part_BCID,SC_part_et_onl_muscaled;AvEnergyVsBCID_'+thisSel,
547 title=
'Average Energy vs BCID '+selStrPart[thisSel]+
'; BCID; Energy per SC [MeV]',
549 cutmask=
'SC_part_'+thisSel,
551 xbins=3564,xmin=-0.5,xmax=3563.5,
552 ybins=10, ymin=-20, ymax=20,
555 for thisSel
in [
"passSCNomInvalid"]:
556 thisTopPath=f
"/{thisSel}/{topPath}"
557 partGroup_sc.defineHistogram(
'SC_part_eta,SC_part_phi;Coverage_Eta_Phi_'+thisSel,
558 title=
'SC coverage '+selStrPart[thisSel]+
': #phi vs #eta;#eta;#phi',
560 path=thisTopPath+
'/Coverage',
561 cutmask=
'SC_part_'+thisSel,
568 return helper.result()
571 if __name__==
'__main__':
573 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
574 from AthenaConfiguration.TestDefaults
import defaultGeometryTags
577 from AthenaConfiguration.Enums
import LHCPeriod
578 flags.GeoModel.Run = LHCPeriod.Run3
580 flags.Input.Files = [
"/eos/atlas/atlascerngroupdisk/proj-spot/spot-job-inputs/data23_13p6TeV/data23_13p6TeV.00451569.physics_Main.daq.RAW._lb0260._SFO-14._0001.data"]
582 flags.Output.HISTFileName =
'LArDigitalTriggMonOutput.root'
584 flags.DQ.useTrigger =
False
585 flags.GeoModel.AtlasVersion=defaultGeometryTags.RUN3
586 flags.PerfMon.doFullMonMT=
True
587 flags.Exec.MaxEvents=100
591 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
595 from CaloRec.CaloRecoConfig
import CaloRecoCfg
598 from LArBadChannelTool.LArBadChannelConfig
import LArBadChannelCfg
601 from LArByteStream.LArRawSCDataReadingConfig
import LArRawSCDataReadingCfg
604 cfg.merge(SCData_acc)
606 larLATOMEBuilderAlg=CompFactory.LArLATOMEBuilderAlg(
"LArLATOMEBuilderAlg",LArDigitKey=
"SC", isADCBas=
False)
607 cfg.addEventAlgo(larLATOMEBuilderAlg)
609 streamTypes = [
"SelectedEnergy",
"ADC"]
613 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg