ATLAS Offline Software
Functions
L1TopoOnlineMonitoringConfig Namespace Reference

Functions

def getL1TopoOnlineMonitorHypo (flags)
 
def L1TopoOnlineMonitorHypoToolGen (flags, chainDict)
 
def getL1TopoLabels (flags, connectors={0:'LegacyTopo0', 1:'LegacyTopo1'}, bmax=128)
 
def getMultiplicityLabels (flags, topoModule)
 
def Phase1TopoMonitoringCfg (flags)
 
def getL1TopoPhase1OnlineMonitor (flags, name='L1TopoOnlineMonitor', doSimMon=True, doHwMonCtp=False, doHwMon=False, doComp=False, doMultComp=False, forceCtp=False, logLevel=None, toolName="L1TopoMonitoringTool")
 
def getL1TopoPhase1DQMonitor (flags, name='L1TopoDQMonitor', doSimMon=True, doHwMonCtp=False, doHwMon=False, doComp=False, doMultComp=False, forceCtp=False, logLevel=None, toolName="L1TopoMonitoringTool")
 
def configureHistograms (alg, flags, doHwMonCtp, doHwMon, doComp, doMultComp)
 

Function Documentation

◆ configureHistograms()

def L1TopoOnlineMonitoringConfig.configureHistograms (   alg,
  flags,
  doHwMonCtp,
  doHwMon,
  doComp,
  doMultComp 
)

Definition at line 225 of file L1TopoOnlineMonitoringConfig.py.

225 def configureHistograms(alg, flags, doHwMonCtp, doHwMon, doComp, doMultComp):
226 
227  label_topo_all = []
228  for cable in range(2):
229  name = 'CableElec_'+str(cable+2)
230  name += ';Topo'+str(cable+2)+'El'
231  title = f'Topo Electric Cable {cable+2}'
232  labels = getL1TopoLabels(flags,{0: f'Topo{cable+2}El'},64)
233  label_topo_all += labels
234  alg.MonTool.defineHistogram(name, path='EXPERT', type='TH1I',
235  title=title, xbins=64, xlabels=labels,
236  xmin=0, xmax=64)
237 
238  for cable in range(4):
239  topoName = 'Topo1Opt'+str(cable)
240  name = 'CableOpti_'+str(cable)
241  weight = name+'_weight'
242  name += f';{topoName}'
243  title = f'Topo Optical Cable {cable}'
244  labels = getMultiplicityLabels(flags=flags,topoModule=topoName)
245  xlabels = [x for x in labels if x]
246  alg.MonTool.defineHistogram(name, path='EXPERT', type='TH1I',
247  title=title, xbins=len(xlabels), xlabels=xlabels,
248  weight=weight,
249  xmin=0, xmax=len(xlabels))
250  for cable in range(4):
251  topoName = 'Topo1Opt'+str(cable)
252  name = 'HdwTopo1Opt'+str(cable)
253  weight = name+'_weight'
254  name += f';{topoName}_data'
255  title = f'Topo Optical Cable {cable} (Data)'
256  labels = getMultiplicityLabels(flags=flags,topoModule=topoName)
257  xlabels = [x for x in labels if x]
258  alg.MonTool.defineHistogram(name, path='EXPERT', type='TH1I',
259  title=title, xbins=len(xlabels), xlabels=xlabels,
260  weight=weight,
261  xmin=0, xmax=len(xlabels))
262 
263  for cable in range(4):
264  ylabels = ['#splitline{Sim counts <}{Hdw counts}','#splitline{Sim counts >}{Hdw counts}','#splitline{Sim counts =}{Hdw counts}']
265  topoName = 'Topo1Opt'+str(cable)
266  name = 'MultiplicityTopo1Opt'+str(cable)+',MultiplicityMatchTopo1Opt'+str(cable)
267  name += f';{topoName}_mismatch'
268  title = f'Topo Optical Cable {cable} Miss/Matches Summary'
269  labels = getMultiplicityLabels(flags=flags,topoModule=topoName)
270  xlabels = [x for x in labels if x]
271  alg.MonTool.defineHistogram(name, path='EXPERT', type='TH2F',
272  title=title, xbins=len(xlabels), ybins=3,
273  xlabels=xlabels,ylabels=ylabels,
274  xmin=0, xmax=len(xlabels),
275  ymin=0, ymax=len(ylabels))
276 
277  for cable in range(4):
278  topoName = 'Topo1Opt'+str(cable)
279  labels = getMultiplicityLabels(flags=flags,topoModule=topoName)
280  labels = [x for x in labels if x]
281  for i,label in enumerate(labels):
282  name = f'Topo1Opt{cable}_{i}_Sim,Topo1Opt{cable}_{i}_Hdw;Topo1Opt{cable}_{label}'
283  title = f'Topo1Opt{cable}_{label};Simulation Counts;Hardware Counts'
284  alg.MonTool.defineHistogram(name, path='EXPERT', type='TH2F',
285  title=title,xbins=10,ybins=10,
286  xmin=0, xmax=10,
287  ymin=0, ymax=10)
288 
289  alg.MonTool.defineHistogram('TopoSim', path='EXPERT', type='TH1I',
290  title='Simulation Results for L1Topo', xbins=128, xlabels=label_topo_all,
291  xmin=0, xmax=128)
292  alg.MonTool.defineHistogram('TopoSim_overflows', path='EXPERT', type='TH1I',
293  title='Overflow Simulation Results for L1Topo', xbins=128, xlabels=label_topo_all,
294  xmin=0, xmax=128)
295  alg.MonTool.defineHistogram('TopoSim_ambiguity', path='EXPERT', type='TH1I',
296  title='Ambiguity Results for L1Topo', xbins=128, xlabels=label_topo_all,
297  xmin=0, xmax=128)
298 
299  if doHwMonCtp:
300  alg.MonTool.defineHistogram('TopoCTP', path='EXPERT', type='TH1I',
301  title='CTP Results for L1Topo', xbins=128, xlabels=label_topo_all,
302  xmin=0, xmax=128)
303 
304  if doComp:
305  alg.MonTool.defineHistogram('SimNotHdwL1TopoResult', path='EXPERT', type='TH1I',
306  title='L1Topo events with simulation accept and hardware fail',
307  xbins=128, xlabels=label_topo_all,
308  xmin=0, xmax=128)
309  alg.MonTool.defineHistogram('HdwNotSimL1TopoResult', path='EXPERT', type='TH1I',
310  title='L1Topo events with hardware accept and simulation fail',
311  xbins=128, xlabels=label_topo_all,
312  xmin=0, xmax=128)
313  alg.MonTool.defineHistogram('Ambiguity_SimANDHdwDecisions', path='EXPERT', type='TH1I',
314  title='L1Topo ambiguity events with simulation accept and hardware accept',
315  xbins=128, xlabels=label_topo_all,
316  xmin=0, xmax=128)
317  alg.MonTool.defineHistogram('Ambiguity_DecisionMismatches', path='EXPERT', type='TH1I',
318  title='L1Topo ambiguity events with mismatches between simulation and hardware',
319  xbins=128, xlabels=label_topo_all,
320  xmin=0, xmax=128)
321 
322  if doMultComp:
323  ylabels = ['#frac{HdwNotSim}{Hdw}','#frac{SimNotHdw}{Sim}','#frac{HdwAndSim}{HdwOrSim}','#frac{Hdw}{Sim}']
324  for topo in [(0,'2a'),(1,'2b'),(2,'3a'),(3,'3b')]:
325  name = f'Phase1TopoTrigger_{topo[0]},Phase1TopoMissMatch_{topo[0]};Ph1Topo{topo[1]}'
326  title = f'Phase1 Topo{topo[1]} Miss/Matches Summary'
327  alg.MonTool.defineHistogram(name, path='EXPERT', type='TH2F',
328  title=title,xbins=32,ybins=4,
329  weight=f'Phase1TopoWeight_{topo[0]}',
330  xlabels=label_topo_all[topo[0]*32:(topo[0]+1)*32],
331  ylabels=ylabels,
332  xmin=0, xmax=32,
333  ymin=0, ymax=len(ylabels))
334  ylabelsOF = ['#frac{HdwOFnotSimOF}{HdwOF}','#frac{SimOFnotHdwOF}{SimOF}','#frac{HdwOFandSimOF}{HdwOForSimOF}','#frac{HdwOF}{SimOF}']
335  for topo in [(0,'2a'),(1,'2b'),(2,'3a'),(3,'3b')]:
336  name_OF = f'Phase1TopoTrigger_{topo[0]},Phase1TopoMissMatch_{topo[0]};Ph1Topo{topo[1]}_overflows'
337  title_OF = f'Phase1 Topo{topo[1]} Overflow Miss/Matches Summary'
338  alg.MonTool.defineHistogram(name_OF, path='EXPERT', type='TH2F',
339  title=title_OF,xbins=32,ybins=4,
340  weight=f'Phase1TopoOFWeight_{topo[0]}',
341  xlabels=label_topo_all[topo[0]*32:(topo[0]+1)*32],
342  ylabels=ylabelsOF,
343  xmin=0, xmax=32,
344  ymin=0, ymax=len(ylabelsOF))
345 
346  if doHwMon:
347  alg.MonTool.defineHistogram('HdwResults', path='EXPERT', type='TH1I',
348  title='Hardware Results for L1Topo', xbins=128, xlabels=label_topo_all,
349  xmin=0, xmax=128)
350  alg.MonTool.defineHistogram('OverflowResults', path='EXPERT', type='TH1I',
351  title='Overflow Results for L1Topo', xbins=128, xlabels=label_topo_all,
352  xmin=0, xmax=128)
353  rod_errors_labels = ["CT", "pc", "hc", "pe", "lm", "hm", "pt"]
354  alg.MonTool.defineHistogram('ROD_Errors', path='EXPERT', type='TH1I',
355  title='Counts of ROD errors', xbins=len(rod_errors_labels), xlabels=rod_errors_labels,
356  xmin=0, xmax=len(rod_errors_labels))
357  fpga_errors_labels = ["CT", "sm", "pe", "lm", "hm", "pt"]
358  fpga_indexes = ["topo1fpga1", "topo1fpga0", "topo2fpga1", "topo2fpga0", "topo3fpga1", "topo3fpga0"]
359  alg.MonTool.defineHistogram('FPGA_Errors, FPGA_Labels; FPGA_Errors', path='EXPERT', type='TH2I',
360  title='Counts of FPGA errors',xbins=len(fpga_errors_labels),ybins=len(fpga_indexes),
361  xlabels=fpga_errors_labels,
362  ylabels=fpga_indexes,
363  xmin=0, xmax=len(fpga_errors_labels),
364  ymin=0, ymax=len(fpga_indexes))
365 
366 
367  mon_failure_labels = ['doHwMon', 'doSimMon', 'doHwMonCTP', 'doComp', 'doMultComp']
368  alg.MonTool.defineHistogram('MonitoringFailures', path='EXPERT', type='TH1F',
369  title='Counts of mon functions returning failure;;Entries',
370  xlabels=mon_failure_labels, xbins=len(mon_failure_labels),
371  xmin=0, xmax=len(mon_failure_labels))

◆ getL1TopoLabels()

def L1TopoOnlineMonitoringConfig.getL1TopoLabels (   flags,
  connectors = {0: 'LegacyTopo0', 1: 'LegacyTopo1'},
  bmax = 128 
)

Definition at line 21 of file L1TopoOnlineMonitoringConfig.py.

21 def getL1TopoLabels(flags,connectors = {0: 'LegacyTopo0', 1: 'LegacyTopo1'}, bmax = 128):
22  topo_trigline_labels = ["" for i in range(bmax)]
23  lvl1access = getL1MenuAccess(flags)
24  for connector_id, connectorKey in connectors.items():
25  topo_triglines_dict = lvl1access.connector(connectorKey)['triggerlines']
26  if not isinstance(topo_triglines_dict, list):
27  for fpga_id in [0,1]:
28  topo_fpga = topo_triglines_dict['fpga{:d}'.format(fpga_id)]
29  for clock_id in [0,1]:
30  topo_clock = topo_fpga['clock{:d}'.format(clock_id)]
31  for topo_trigline in topo_clock:
32  topo_trigline_name = topo_trigline['name']
33  bit_id = topo_trigline['startbit']
34  topo_trigline_index = 64*connector_id + 32*fpga_id + 2*bit_id + clock_id
35  topo_trigline_labels[topo_trigline_index] = topo_trigline_name
36  else:
37  for topo_trigline in topo_triglines_dict:
38  topo_trigline_name = topo_trigline['name']
39  topo_trigline_name= topo_trigline_name.replace("TOPO_","")
40  bit_id = topo_trigline['startbit']
41  fpga_id = topo_trigline['fpga']
42  clock_id = topo_trigline['clock']
43  topo_trigline_index = 64*connector_id + 32*fpga_id + 2*bit_id + clock_id
44  topo_trigline_labels[topo_trigline_index] = topo_trigline_name
45 
46  for i in range(len(topo_trigline_labels)):
47  if ( topo_trigline_labels[i] == ""):
48  topo_trigline_labels[i] = "-- Unassigned Item --"
49 
50  return topo_trigline_labels
51 

◆ getL1TopoOnlineMonitorHypo()

def L1TopoOnlineMonitoringConfig.getL1TopoOnlineMonitorHypo (   flags)

Definition at line 8 of file L1TopoOnlineMonitoringConfig.py.

9  hypo = CompFactory.L1TopoOnlineMonitorHypo()
10  return hypo
11 

◆ getL1TopoPhase1DQMonitor()

def L1TopoOnlineMonitoringConfig.getL1TopoPhase1DQMonitor (   flags,
  name = 'L1TopoDQMonitor',
  doSimMon = True,
  doHwMonCtp = False,
  doHwMon = False,
  doComp = False,
  doMultComp = False,
  forceCtp = False,
  logLevel = None,
  toolName = "L1TopoMonitoringTool" 
)

Definition at line 88 of file L1TopoOnlineMonitoringConfig.py.

88 def getL1TopoPhase1DQMonitor(flags, name='L1TopoDQMonitor', doSimMon=True, doHwMonCtp=False, doHwMon=False, doComp=False, doMultComp=False, forceCtp=False, logLevel = None, toolName="L1TopoMonitoringTool"):
89  from TrigT1CaloMonitoring.LVL1CaloMonitoringConfig import L1CaloMonitorCfgHelper
90  helper = L1CaloMonitorCfgHelper(flags,CompFactory.L1TopoOnlineMonitor,toolName,
91  doHwMon = doHwMon,
92  doHwErrorMon = False,
93  doSimMon = doSimMon,
94  doHwMonCTP = doHwMonCtp,
95  doComp = doComp,
96  doMultComp = doMultComp,
97  MultiplicityVetoList=["ZeroBiasA","ZeroBiasB"],
98  AlgorithmVetoList =["jXE40delay","TeATIME"],
99  forceCTPasHdw=forceCtp)
100 
101  #Define the Monitoring plots for L1Calo DQ
102  helper.defineDQAlgorithm("L1TopoAlgMismatchRate",
103  hanConfig={"libname":"libdqm_summaries.so","name":"Bins_GreaterThan_Threshold","BinThreshold":"0.002","PublishBins":"1","IgnoreBins":"\"*:125,*:123,*:96,*:94,*:92,*:90,*:37,*:20,*:18\""}, # counts bins with value>0.001. IgnoreBins: Masking MuonAD and VAEAD and TEaTime mismatches. Also ZEE-eEM24sm2
104  thresholdConfig={"NBins":[0,1]}, # warn if any high rate, error if more than 1 bin anywhere.
105  )
106 
107  helper.defineDQAlgorithm("L1TopoMultMismatchRate",
108  hanConfig={"libname":"libdqm_summaries.so","name":"Bins_GreaterThan_Threshold","BinThreshold":"0.002","PublishBins":"1","IgnoreBins":"\"*:120,*:119,*:115\""}, # counts bins with value>0.001. IgnoreBins: Masking gTE500, gTE200 and gXEJWOJ500 mismatches
109  thresholdConfig={"NBins":[0,1]}, # warn if any high rate, error if more than 1 bin anywhere.
110  )
111 
112  helper.defineDQAlgorithm("L1TopoMismatchCountVerticalRange",
113  hanConfig={"libname":"libdqm_summaries.so","name":"Bins_GreaterThan_Threshold","BinThreshold":"0.001","PublishBins":"1","yMax":"2"}, #,"IgnoreBins":"\"25:1,26:2,*:25,*:58,500:*\""}, # counts bins with value>0.001 for Bins in Y between 0 and 1.
114  thresholdConfig={"NBins":[0,1]}, # warn if any high rate, error if more than 1 bin anywhere.
115  )
116 
117  #Multiplicity mismatches between Sim and Hdw
118  ylabels = ['#splitline{Sim counts <}{Hdw counts}','#splitline{Sim counts >}{Hdw counts}','#splitline{Sim counts =}{Hdw counts}']
119  name = 'LBN,MultiplicityAllBoards,L1TopoMultiplicityMissMatchVsLumi;L1TopoMultiplicityMismatchRateVsLumi'
120  AllLabels = []
121  for cable in range(4):
122  topoName = 'Topo1Opt'+str(cable)
123  AllLabels+=getMultiplicityLabels(flags=flags,topoModule=topoName)
124 
125  AllLabels = [x for x in AllLabels if x]
126 
127  helper.defineHistogram(name,
128  fillGroup="L1TopoDQ_mismatches",
129  paths=['Expert/Sim','Shifter/Sim'],
130  hanConfig={"algorithm":"L1TopoMultMismatchRate","description":"Drag the y-axis to make the text bigger","display":"SetPalette(87),Draw=COLZ"},
131  type='TProfile2D',
132  title="L1Topo Multiplicities Sim/Hdw mismatch rate;LB", xbins=32, ybins=len(AllLabels),
133  xmin=0, xmax=32,
134  ymin=0, ymax=len(AllLabels),
135  ylabels = AllLabels,
136  opt=['kAddBinsDynamically','kCanRebin','kAlwaysCreate'],merge='merge')
137 
138  for cable in range(4):
139 
140  topoName = 'Topo1Opt'+str(cable)
141  name = 'MultiplicityTopo1Opt'+str(cable)+',MultiplicityMatchTopo1Opt'+str(cable)
142  name += f';{topoName}_mismatch'
143  title = f'Topo Optical Cable {cable} Miss/Matches Summary'
144  labels = getMultiplicityLabels(flags=flags,topoModule=topoName)
145  xlabels = [x for x in labels if x]
146 
147  helper.defineHistogram(name,
148  fillGroup="L1TopoDQ_mismatches",
149  paths=['Developer/Sim/detail/L1Topo/Multiplicities'],
150  hanConfig={"algorithm":"L1TopoMismatchCountVerticalRange","description":"Agreements and Mismatches between L1Topo Simulation and Hdw per L1Topo Item (x-axis). The upper row should be filled (Sim and Hdw agrees), while the lower two rows shouldn't have any entry","display":"SetPalette(55)"},
151  type='TH2D',
152  title=title, xbins=len(xlabels), ybins=3,
153  xlabels=xlabels,ylabels=ylabels,
154  xmin=0, xmax=len(xlabels),
155  ymin=0, ymax=len(ylabels),
156  opt=['kAddBinsDynamically','kCanRebin','kAlwaysCreate'],merge='merge')
157 
158  label_topo_all = []
159  for cable in range(2):
160  name = 'CableElec_'+str(cable+2)
161  name += ';Topo'+str(cable+2)+'El'
162  title = f'Topo Electric Cable {cable+2}'
163  labels = getL1TopoLabels(flags,{0: f'Topo{cable+2}El'},64)
164  label_topo_all += labels
165 
166  #L1Topo Algorithms mismatches
167  #ylabels = ['#frac{HdwNotSim}{Hdw}','#frac{SimNotHdw}{Sim}','#frac{HdwAndSim}{HdwOrSim}','#frac{Hdw}{Sim}']
168  ylabels = ['#splitline{Sim counts <}{Hdw counts}','#splitline{Sim counts >}{Hdw counts}','#splitline{Sim counts =}{Hdw counts}']
169  nameLB = 'LBN,L1TopoAlgorithmAllBoards,L1TopoAlgorithmMissMatchVsLumi;L1TopoAlgoMismatchRateVsLB'
170 
171  helper.defineHistogram(nameLB,
172  fillGroup="L1TopoDQ_mismatches",
173  paths=['Expert/Sim','Shifter/Sim'],
174  hanConfig={"algorithm":"L1TopoAlgMismatchRate","description":"Drag the y-axis to make the text bigger","display":"SetPalette(87),Draw=COLZ"},
175  type='TProfile2D',
176  title="L1Topo Algorithms Sim/Hdw mismatch rate;LB",xbins=32,ybins=128,
177  #weight=f'Phase1TopoWeight_{topo[0]}',
178  ylabels=label_topo_all,
179  xmin=0, xmax=32,
180  ymin=0, ymax=128,
181  opt=['kAddBinsDynamically','kCanRebin','kAlwaysCreate'],merge='merge')
182 
183  for topo in [(0,'2a'),(1,'2b'),(2,'3a'),(3,'3b')]:
184  name = f'Phase1TopoTrigger_{topo[0]},L1TopoAlgorithmMissMatch_{topo[0]};L1TopoAlgo_{topo[1]}'
185  title = f'L1Topo_Algo_{topo[1]} Miss/Matches Summary'
186  helper.defineHistogram(name,
187  fillGroup="L1TopoDQ_mismatches",
188  paths=['Developer/Sim/detail/L1Topo/Algos'],
189  hanConfig={"algorithm":"L1TopoMismatchCountVerticalRange","description":"Agreements and Mismatches between L1Topo Simulation and Hardware per L1Topo Item (x-axis). The upper row should be filled (Sim and Hdw agrees), while the lower two rows shouldn't have any entry","display":"SetPalette(55)"},
190  type='TH2F',
191  title=title,xbins=32,ybins=3,
192  #weight=f'Phase1TopoWeight_{topo[0]}',
193  xlabels=label_topo_all[topo[0]*32:(topo[0]+1)*32],
194  ylabels=ylabels,
195  xmin=0, xmax=32,
196  ymin=0, ymax=len(ylabels),
197  opt=['kAddBinsDynamically','kCanRebin','kAlwaysCreate'],merge='merge')
198 
199  '''
200  #Not Including Overflow plots for now
201  #L1Topo Algorithms Overflow mismatches
202  #ylabelsOF = ['#frac{HdwOFnotSimOF}{HdwOF}','#frac{SimOFnotHdwOF}{SimOF}','#frac{HdwOFandSimOF}{HdwOForSimOF}','#frac{HdwOF}{SimOF}']
203  ylabelsOF = ['#splitline{Sim counts <}{Hdw counts}','#splitline{Sim counts >}{Hdw counts}','#splitline{Sim counts =}{Hdw counts}']
204  for topo in [(0,'2a'),(1,'2b'),(2,'3a'),(3,'3b')]:
205  #name_OF = f'Phase1TopoTrigger_{topo[0]},Phase1TopoMissMatch_{topo[0]};Ph1Topo{topo[1]}_overflows'
206  name_OF = f'Phase1TopoTrigger_{topo[0]},L1TopoAlgorithmOverflowMissMatch_{topo[0]};L1TopoAlgo_OF{topo[1]}'
207  title_OF = f' L1Topo_Algo_{topo[1]} Overflow Miss/Matches Summary'
208  helper.defineHistogram(name_OF,
209  fillGroup="L1TopoDQ_mismatches",
210  paths=['Expert/Sim/detail/L1Topo/Algos/Overflows'],
211  hanConfig={"description":"Agreements and Mismatches between L1Topo Simulation and Hardware per L1Topo Item (x-axis). The upper row should be filled (Sim and Hdw agrees), while the lower two rows shouldn't have any entry","display":"SetPalette(55)"}, type='TH2F',
212  title=title_OF,xbins=32,ybins=3,
213  #weight=f'Phase1TopoOFWeight_{topo[0]}',
214  xlabels=label_topo_all[topo[0]*32:(topo[0]+1)*32],
215  ylabels=ylabelsOF,
216  xmin=0, xmax=32,
217  ymin=0, ymax=len(ylabelsOF),
218  opt=['kAddBinsDynamically','kCanRebin','kAlwaysCreate'],merge='merge')
219  '''
220 
221  helper.alg.MonTool = helper.fillGroups["L1TopoDQ_mismatches"]
222  return helper.result()
223 
224 

◆ getL1TopoPhase1OnlineMonitor()

def L1TopoOnlineMonitoringConfig.getL1TopoPhase1OnlineMonitor (   flags,
  name = 'L1TopoOnlineMonitor',
  doSimMon = True,
  doHwMonCtp = False,
  doHwMon = False,
  doComp = False,
  doMultComp = False,
  forceCtp = False,
  logLevel = None,
  toolName = "L1TopoMonitoringTool" 
)

Definition at line 70 of file L1TopoOnlineMonitoringConfig.py.

70 def getL1TopoPhase1OnlineMonitor(flags, name='L1TopoOnlineMonitor', doSimMon=True, doHwMonCtp=False, doHwMon=False, doComp=False, doMultComp=False, forceCtp=False, logLevel = None, toolName="L1TopoMonitoringTool"):
71  alg = CompFactory.L1TopoOnlineMonitor(toolName,
72  doHwMon = doHwMon,
73  doHwErrorMon = False,
74  doSimMon = doSimMon,
75  doHwMonCTP = doHwMonCtp,
76  doComp = doComp,
77  doMultComp = doMultComp,
78  forceCTPasHdw=forceCtp,
79  MultiplicityVetoList=["ZeroBiasA","ZeroBiasB"],
80  AlgorithmVetoList =["jXE40delay","TeATIME"])
81  if logLevel : alg.OutputLevel=logLevel
82  alg.MonTool = GenericMonitoringTool(flags, 'MonTool')
83  alg.MonTool.HistPath = name
84  configureHistograms(alg, flags, doHwMonCtp, doHwMon, doComp, doMultComp)
85 
86  return alg
87 

◆ getMultiplicityLabels()

def L1TopoOnlineMonitoringConfig.getMultiplicityLabels (   flags,
  topoModule 
)

Definition at line 52 of file L1TopoOnlineMonitoringConfig.py.

52 def getMultiplicityLabels(flags,topoModule):
53  topo_trigline_labels = ["" for i in range(128)]
54  lvl1access = getL1MenuAccess(flags)
55  topo_triglines_dict = lvl1access.connector(topoModule)['triggerlines']
56 
57  for topo_trigline in topo_triglines_dict:
58  topo_trigline_name = topo_trigline['name']
59  bit_id = topo_trigline['startbit']
60  topo_trigline_labels[bit_id] = topo_trigline_name
61  if ( topo_trigline_labels[bit_id].find("SPARE") >= 0):
62  topo_trigline_labels[bit_id] = "-- Unassigned Item --"
63 
64  return topo_trigline_labels
65 

◆ L1TopoOnlineMonitorHypoToolGen()

def L1TopoOnlineMonitoringConfig.L1TopoOnlineMonitorHypoToolGen (   flags,
  chainDict 
)

Definition at line 12 of file L1TopoOnlineMonitoringConfig.py.

12 def L1TopoOnlineMonitorHypoToolGen(flags, chainDict):
13  tool = CompFactory.L1TopoOnlineMonitorHypoTool(
14  chainDict['chainName'],
15  # Select error flags to accept events
16  ErrorFlagsKey = 'L1TopoErrorFlags',
17  AcceptTrivialFlag = True)
18 
19  return tool
20 

◆ Phase1TopoMonitoringCfg()

def L1TopoOnlineMonitoringConfig.Phase1TopoMonitoringCfg (   flags)

Definition at line 66 of file L1TopoOnlineMonitoringConfig.py.

66 def Phase1TopoMonitoringCfg(flags):
67  IsData = not flags.Input.isMC
68  return getL1TopoPhase1DQMonitor(flags,"L1TopoInL1CaloDQMonitor",doHwMon=IsData,doComp=IsData, doMultComp=IsData)
69 
L1TopoOnlineMonitoringConfig.getL1TopoPhase1DQMonitor
def getL1TopoPhase1DQMonitor(flags, name='L1TopoDQMonitor', doSimMon=True, doHwMonCtp=False, doHwMon=False, doComp=False, doMultComp=False, forceCtp=False, logLevel=None, toolName="L1TopoMonitoringTool")
Definition: L1TopoOnlineMonitoringConfig.py:88
vtune_athena.format
format
Definition: vtune_athena.py:14
L1TopoOnlineMonitoringConfig.getL1TopoLabels
def getL1TopoLabels(flags, connectors={0:'LegacyTopo0', 1:'LegacyTopo1'}, bmax=128)
Definition: L1TopoOnlineMonitoringConfig.py:21
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
GenericMonitoringTool
Definition: GenericMonitoringTool.h:53
python.TriggerConfigAccess.getL1MenuAccess
L1MenuAccess getL1MenuAccess(flags=None)
Definition: TriggerConfigAccess.py:129
L1TopoOnlineMonitoringConfig.getL1TopoOnlineMonitorHypo
def getL1TopoOnlineMonitorHypo(flags)
Definition: L1TopoOnlineMonitoringConfig.py:8
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
L1TopoOnlineMonitoringConfig.getMultiplicityLabels
def getMultiplicityLabels(flags, topoModule)
Definition: L1TopoOnlineMonitoringConfig.py:52
L1TopoOnlineMonitoringConfig.Phase1TopoMonitoringCfg
def Phase1TopoMonitoringCfg(flags)
Definition: L1TopoOnlineMonitoringConfig.py:66
L1TopoOnlineMonitoringConfig.getL1TopoPhase1OnlineMonitor
def getL1TopoPhase1OnlineMonitor(flags, name='L1TopoOnlineMonitor', doSimMon=True, doHwMonCtp=False, doHwMon=False, doComp=False, doMultComp=False, forceCtp=False, logLevel=None, toolName="L1TopoMonitoringTool")
Definition: L1TopoOnlineMonitoringConfig.py:70
L1TopoOnlineMonitoringConfig.L1TopoOnlineMonitorHypoToolGen
def L1TopoOnlineMonitorHypoToolGen(flags, chainDict)
Definition: L1TopoOnlineMonitoringConfig.py:12
L1TopoOnlineMonitoringConfig.configureHistograms
def configureHistograms(alg, flags, doHwMonCtp, doHwMon, doComp, doMultComp)
Definition: L1TopoOnlineMonitoringConfig.py:225
str
Definition: BTagTrackIpAccessor.cxx:11