ATLAS Offline Software
Functions | Variables
python.TriggerAPI.TriggerDataAccess Namespace Reference

Functions

def getRunLBFromU64 (runlb)
 
def getReadyForPhysicsInRange (period)
 
def getKeys (listOfRuns, doPrint=False)
 
def getHLTPrescalesRun2 (connection, psk)
 
def queryHLTPrescaleTableRun2 (connection, psk)
 
def fillHLTmap (info, hltMap_prev, lbCount, run, grlblocks)
 
def getChainsWithL1seed (connection, smk)
 
def getHLTmap_fromDB (period, customGRL)
 
def getHLTmap_fromTM (flags, period, release)
 
def getMenuPathFromRelease (release)
 
def getHLTlist (period, customGRL, release, flags=None)
 
def cleanHLTmap (hltmap, totalLB)
 
def test ()
 

Variables

 __author__
 
 __version__
 
 __doc__
 
 log
 

Function Documentation

◆ cleanHLTmap()

def python.TriggerAPI.TriggerDataAccess.cleanHLTmap (   hltmap,
  totalLB 
)

Definition at line 387 of file TriggerDataAccess.py.

387 def cleanHLTmap(hltmap, totalLB):
388 
389  from copy import deepcopy
390  for name, (l1seed, activeLB, hasRerun,activLBByRun) in six.iteritems (deepcopy(hltmap)): #since it will modify on the fly
391  for pair in TriggerRenaming.pairs:
392  if name==pair[0] and pair[1] in hltmap:
393  hltmap[pair[1]][1] += activeLB
394  for run,efflb in activLBByRun.items(): hltmap[pair[1]][3][run] += efflb
395  #if name==pair[0] and not pair[1] in hltmap: hltmap[pair[1]] = [l1seed, activeLB, hasRerun]
396  if name==pair[1] and pair[0] in hltmap:
397  hltmap[pair[0]][1] += activeLB
398  for run,efflb in activLBByRun.items(): hltmap[pair[0]][3][run] += efflb
399  #if name==pair[1] and not pair[0] in hltmap: hltmap[pair[0]] = [l1seed, activeLB, hasRerun]
400 
401  vetoes = ['calib','noise','noalg','satmon','peb']
402  hltlist = [(name, l1seed, activeLB/totalLB, activeLB, hasRerun,activLBByRun) for name, (l1seed, activeLB, hasRerun,activLBByRun) in six.iteritems (hltmap) if not any(v in name for v in vetoes)]
403  return hltlist
404 

◆ fillHLTmap()

def python.TriggerAPI.TriggerDataAccess.fillHLTmap (   info,
  hltMap_prev,
  lbCount,
  run,
  grlblocks 
)

Definition at line 167 of file TriggerDataAccess.py.

167 def fillHLTmap( info, hltMap_prev , lbCount, run, grlblocks):
168  from TrigConfigSvc.TrigConfigSvcUtils import getL1Items, getL1Prescales
169 
170  from TrigConfIO.L1TriggerConfigAccess import L1MenuAccess,L1PrescalesSetAccess # run3 menu access
171  from TrigConfIO.HLTTriggerConfigAccess import HLTMenuAccess,HLTPrescalesSetAccess # run3 menu access
172 
173  from collections import defaultdict
174 
175  lvl = int(logging.root.level)
176  logging.root.setLevel(logging.WARNING)
177 
178  # obtain map l1 item name => CTP ID
179  # obtain map hltid => (hltname, l1seed)
180  if run > 400000:
181  items = {}; chainsHLT = {}
182  for name,value in L1MenuAccess(dbalias = 'TRIGGERDB_RUN3', smkey = info['smk']).items().items():
183  items[name] = value["ctpid"]
184  for name,value in HLTMenuAccess(dbalias = 'TRIGGERDB_RUN3', smkey = info['smk']).chains().items():
185  if "L1" not in value["l1item"]: continue # filtering
186  chainsHLT[value["nameHash"]] = (name,value["l1item"])
187  else:
188  items = getL1Items('TRIGGERDB', info['smk'])
189  chainsHLT = getChainsWithL1seed('TRIGGERDB', info['smk']) # returns map HLT ID => (HLT name, L1 seed)
190  chainsHLT = {k:v for (k,v) in six.iteritems (chainsHLT) if "L1" in v[1]} # filtering
191 
192 
193 
194  tmphltList = []
195  for lbrange in info['hltpsk']:
196  lbstart, lbend = lbrange[2], lbrange[4]
197  if lbend ==-1: lbend = 2000
198  if run > 400000:
199  hltprescales = {}
200  for name,value in HLTPrescalesSetAccess(dbalias='TRIGGERDB_RUN3',hltpskey=lbrange[0]).prescales().items():
201  rerun=-1.0 # how to determine?
202  # key seems to be a float (from looking at type(list(getHLTPrescalesRun2("TRIGGERDB",3000).keys())[0]))
203  hltprescales[value["hash"]] = (value["prescale"],rerun)
204  else:
205  hltprescales = getHLTPrescalesRun2('TRIGGERDB', lbrange[0])
206  tmphltList.append(( lbstart, lbend,hltprescales) )
207 
208  tmpl1List = []
209  for lbrange in info['l1psk']:
210  lbstart, lbend = lbrange[2], lbrange[4]
211  if lbend ==-1: lbend = 2000
212  if run > 400000:
213  l1ps = L1PrescalesSetAccess(dbalias='TRIGGERDB_RUN3',l1pskey=lbrange[0])
214  l1prescales = {name: l1ps.prescale(name) for name in l1ps.itemNames()}
215  else:
216  l1psname, l1prescales = getL1Prescales('TRIGGERDB', lbrange[0])
217  l1prescales = {l1name: l1prescales[int(l1id)] for (l1name, l1id) in six.iteritems (items)}
218  tmpl1List.append(( lbstart, lbend,l1prescales) )
219 
220  logging.root.setLevel(lvl)
221 
222  #merge the lb ranges of HLT and L1
223  hltindex, l1index = 0,0
224  mergedList = []
225  while hltindex < len(tmphltList) and l1index < len(tmpl1List) :
226  if tmphltList[hltindex][1] == tmpl1List[l1index][1]:
227  lbstart, lbend = max(tmphltList[hltindex][0],tmpl1List[l1index][0]), tmphltList[hltindex][1]
228  mergedList.append((lbstart, lbend,tmphltList[hltindex][2],tmpl1List[l1index][2]))
229  hltindex += 1
230  l1index += 1
231  elif tmphltList[hltindex][1] > tmpl1List[l1index][1]:
232  lbstart, lbend = max(tmphltList[hltindex][0],tmpl1List[l1index][0]), tmpl1List[l1index][1]
233  mergedList.append((lbstart, lbend,tmphltList[hltindex][2],tmpl1List[l1index][2]))
234  l1index += 1
235  else:
236  lbstart, lbend = max(tmphltList[hltindex][0],tmpl1List[l1index][0]), tmphltList[hltindex][1]
237  mergedList.append((lbstart, lbend,tmphltList[hltindex][2],tmpl1List[l1index][2]))
238  hltindex += 1
239 
240  # if user does a "touch liveFractions.txt" then we will populate info to that file for further debugging
241  f = open("liveFractions.txt","a") if os.path.exists("liveFractions.txt") else None
242 
243  hltMap = {}
244  for lbstart, lbend, hltprescales, l1prescales in mergedList:
245  if run in LBexceptions.exceptions:
246  if any([lbstart>=exc_start and lbstart<=exc_end for exc_start, exc_end in LBexceptions.exceptions[run]]): continue
247  if any([lbend>=exc_start and lbend<=exc_end for exc_start, exc_end in LBexceptions.exceptions[run]]): continue
248 
249  for grllbstart,grllbend in grlblocks:
250  lboverlap = (min(lbend,grllbend) - max(lbstart,grllbstart))+1
251  if lboverlap <= 0: continue
252 
253  lbCount += lboverlap
254  for hltid, (hltps, hltrerun) in six.iteritems (hltprescales):
255  if hltid not in chainsHLT: continue
256  if hltps < 1: hltps = 1e99
257  l1seeds = chainsHLT[hltid][1]
258  l1ps = 1e99
259  for l1seed in l1seeds.split(","): #protect 'L1_MU20,L1_MU21'
260  if l1seed not in l1prescales and len(l1seeds) > 10: continue #Protection against buggy HLT_noalg_Standby
261  tmpl1ps = l1prescales[l1seed]
262  if tmpl1ps < 1: tmpl1ps = 1e99
263  l1ps = min(l1ps, tmpl1ps)
264 
265 
266  if hltps*l1ps < 1e99: efflb = lboverlap/(hltps*l1ps)
267  else: efflb = 0
268  if not chainsHLT[hltid][0] in hltMap: hltMap[chainsHLT[hltid][0]] = [l1seeds, 0, hltrerun>0, defaultdict(int)]
269  hltMap[chainsHLT[hltid][0]][1] += efflb
270  hltMap[chainsHLT[hltid][0]][3][run] += efflb
271  if f: f.write(f"{chainsHLT[hltid][0]},{run},{lbstart},{lbend},{grllbstart},{grllbend},{lboverlap},{l1ps},{hltps}\n")
272 
273  if f: f.close()
274 
275  for hlt,(l1,efflb,rerun,efflbByRun) in six.iteritems (hltMap_prev):
276  if hlt in hltMap:
277  hltMap[hlt][1] += efflb
278  hltMap[hlt][2] |= rerun
279  for run,runefflb in efflbByRun.items():
280  hltMap[hlt][3][run] += runefflb
281  else: hltMap[hlt] = [l1, efflb,rerun, efflbByRun]
282  return hltMap, lbCount
283 
284 

◆ getChainsWithL1seed()

def python.TriggerAPI.TriggerDataAccess.getChainsWithL1seed (   connection,
  smk 
)
copy of getChains but retrieving also the L1 seed and assuming always run2
     https://gitlab.cern.ch/atlas/athena/blob/master/Trigger/TrigConfiguration/TrigConfigSvc/python/TrigConfigSvcUtils.py#L611

Definition at line 285 of file TriggerDataAccess.py.

285 def getChainsWithL1seed(connection, smk):
286  '''copy of getChains but retrieving also the L1 seed and assuming always run2
287  https://gitlab.cern.ch/atlas/athena/blob/master/Trigger/TrigConfiguration/TrigConfigSvc/python/TrigConfigSvcUtils.py#L611
288  '''
289  from TrigConfigSvc.TrigConfigSvcUtils import getTriggerDBCursor, executeQuery
290  cursor,schemaname = getTriggerDBCursor(connection)
291 
292  output = ['TC.HTC_ID', 'TC.HTC_CHAIN_COUNTER', 'TC.HTC_NAME', 'TC.HTC_LOWER_CHAIN_NAME']
293  tables = {}
294  tables['SM'] = 'SUPER_MASTER_TABLE'
295  tables['M2C'] = 'HLT_TM_TO_TC'
296  tables['TC'] = 'HLT_TRIGGER_CHAIN'
297  tables['MT'] = 'HLT_MASTER_TABLE'
298 
299  condition = [ "SM.SMT_ID = :smk",
300  'SM.SMT_HLT_MASTER_TABLE_ID = MT.HMT_ID',
301  'MT.HMT_TRIGGER_MENU_ID = M2C.HTM2TC_TRIGGER_MENU_ID',
302  'M2C.HTM2TC_TRIGGER_CHAIN_ID = TC.HTC_ID' ]
303 
304  bindvars = { "smk": smk }
305 
306  res = executeQuery(cursor, output, condition, schemaname, tables, bindvars)
307 
308  chainsef = {}
309  for x in res:
310  if len(x)!=4: continue #protect against HLT_noalg_bkg_L1Bkg and similars
311  chainsef[x[1]] = (x[2],x[3])
312 
313  return chainsef
314 
315 
316 

◆ getHLTlist()

def python.TriggerAPI.TriggerDataAccess.getHLTlist (   period,
  customGRL,
  release,
  flags = None 
)
For a given period it returns: [HLT chain, L1 seed, average livefraction, active LB, is-rerun], total LB
    The average livefraction is an approximation weighting the PS by number of lumiblocks.
    *** Don't use this number in analysis!!! ***
    For "future" periods, the average livefraction is 1 for items flagged as primary in TM and 0 for non-primaries

Definition at line 368 of file TriggerDataAccess.py.

368 def getHLTlist(period, customGRL, release, flags=None):
369  ''' For a given period it returns: [HLT chain, L1 seed, average livefraction, active LB, is-rerun], total LB
370  The average livefraction is an approximation weighting the PS by number of lumiblocks.
371  *** Don't use this number in analysis!!! ***
372  For "future" periods, the average livefraction is 1 for items flagged as primary in TM and 0 for non-primaries
373  '''
374  if not period & TriggerPeriod.future or TriggerPeriod.isRunNumber(period):
375  hltmap, totalLB, totalLBByRun = getHLTmap_fromDB(period, customGRL)
376  # # add empty chainGroups list to every item
377  # for name,vals in hltmap.items():
378  # hltmap[name] = vals + [[],]
379  else:
380  if flags is None:
381  raise RuntimeError('ConfigFlags need to be provided via TriggerAPI.setConfigFlags for "future" periods.')
382  hltmap, totalLB, totalLBByRun = getHLTmap_fromTM(flags, period, release)
383 
384  hltlist = cleanHLTmap(hltmap, totalLB)
385  return (hltlist, totalLB, totalLBByRun)
386 

◆ getHLTmap_fromDB()

def python.TriggerAPI.TriggerDataAccess.getHLTmap_fromDB (   period,
  customGRL 
)
Return a map of HLT chain: (L1 seed, active LBs, is-rerun) for a given period

Definition at line 317 of file TriggerDataAccess.py.

317 def getHLTmap_fromDB(period, customGRL):
318  ''' Return a map of HLT chain: (L1 seed, active LBs, is-rerun) for a given period
319  '''
320 
321  triggerPeriod = TriggerPeriodData( period, customGRL ).grl
322  if not triggerPeriod: return {},0
323  runsWithReadyForPhysics = getReadyForPhysicsInRange(triggerPeriod)
324  keys = getKeys( runsWithReadyForPhysics)
325 
326  hltMap = {}
327  lbCount = 0
328  lbByRun = {}
329  import tqdm
330  pbar = tqdm.tqdm(keys,unit=" runs",bar_format='{l_bar}{bar:10}{r_bar}{bar:-10b}')
331  for run in pbar:
332  pbar.set_description(f"Getting prescales for run {run}")
333  prev_lbCount = int(lbCount)
334  hltMap, lbCount = fillHLTmap( keys[run], hltMap, lbCount , run, triggerPeriod[run])
335  lbByRun[run] = (lbCount - prev_lbCount)
336 
337  return hltMap, lbCount, lbByRun
338 

◆ getHLTmap_fromTM()

def python.TriggerAPI.TriggerDataAccess.getHLTmap_fromTM (   flags,
  period,
  release 
)
Return a map of HLT chain: (L1 seed, active LBs, is-rerun) for a given period
    Only "Future" periods make sense here
    The format is the same as for TriggerDBAccess for compatibility but rerun is always false

Definition at line 339 of file TriggerDataAccess.py.

339 def getHLTmap_fromTM(flags, period, release):
340  ''' Return a map of HLT chain: (L1 seed, active LBs, is-rerun) for a given period
341  Only "Future" periods make sense here
342  The format is the same as for TriggerDBAccess for compatibility but rerun is always false
343  '''
344 
345  from TriggerMenuMT.HLT.Config.GenerateMenuMT import GenerateMenuMT
346  menu = GenerateMenuMT()
347  menu.getChainsFromMenu(flags)
348 
349  if not period & TriggerPeriod.future: return {}, 0
350  hltMap = {}
351  dummyfutureLBs = 1e6
352 
353  for chain in itertools.chain.from_iterable(menu.chainsInMenu.values()):
354  hltname = chain.name
355  l1seed = chain.name[chain.name.rfind("_L1")+3:] #surely a better way to do this
356  primary = any('Primary' in g or 'TagAndProbe' in g for g in chain.groups)
357  ps = 1 if primary else 0
358  hltMap[hltname] = (l1seed, dummyfutureLBs*ps, False, {}) #third arg is hasRerun=False
359  return hltMap, dummyfutureLBs, {}
360 

◆ getHLTPrescalesRun2()

def python.TriggerAPI.TriggerDataAccess.getHLTPrescalesRun2 (   connection,
  psk 
)
returns set name, prescale and passthrough 
values for a given HLT prescale key 
@connection - connection string, e.g. TRIGGERDB
@psk - HLT prescale key
@return (ps name, [('L2/EF',chainId,prescale,pass-through),...])

Definition at line 131 of file TriggerDataAccess.py.

131 def getHLTPrescalesRun2(connection,psk):
132  """returns set name, prescale and passthrough
133  values for a given HLT prescale key
134  @connection - connection string, e.g. TRIGGERDB
135  @psk - HLT prescale key
136  @return (ps name, [('L2/EF',chainId,prescale,pass-through),...])
137  """
138 
139  res = queryHLTPrescaleTableRun2(connection,psk)
140  prescales = {r[0]:r[3] for r in res if r and r[1]=='Prescale'}
141  rerun = {r[0]:r[3] for r in res if r and r[1]=='ReRun'}
142  for x in prescales:
143  if x not in rerun: rerun[x] = False
144  return {x: (prescales[x],rerun[x]) for x in prescales}
145 

◆ getKeys()

def python.TriggerAPI.TriggerDataAccess.getKeys (   listOfRuns,
  doPrint = False 
)

Definition at line 61 of file TriggerDataAccess.py.

61 def getKeys( listOfRuns, doPrint = False ):
62 
63  from CoolLumiUtilities.CoolDataReader import CoolDataReader
64 
65  keysByRun = {}
66 
67  mySmkReader = CoolDataReader('COOLONL_TRIGGER/CONDBR2', '/TRIGGER/HLT/HltConfigKeys')
68  myL1pskReader = CoolDataReader('COOLONL_TRIGGER/CONDBR2', '/TRIGGER/LVL1/Lvl1ConfigKey')
69  myHltpskReader = CoolDataReader('COOLONL_TRIGGER/CONDBR2', '/TRIGGER/HLT/PrescaleKey')
70  #myBgskReader = CoolDataReader('COOLONL_TRIGGER/CONDBR2', '/TRIGGER/LVL1/BunchGroupKey')
71 
72  import tqdm
73  pbar = tqdm.tqdm(sorted(listOfRuns),unit=" runs",bar_format='{l_bar}{bar:10}{r_bar}{bar:-10b}')
74  for run in pbar:
75 
76  listOfReadyBlocks = listOfRuns[run]
77 
78  pbar.set_description(f"Getting keys for run {run}")
79 
80  since = (run << 32)
81  until = ((run+1) << 32)
82 
83  # super master key
84  mySmkReader.setIOVRange( since, until - 1 )
85  mySmkReader.readData()
86  for obj in mySmkReader.data:
87  smk = obj.payload()['MasterConfigurationKey']
88  sincerun, sincelb = getRunLBFromU64(obj.since())
89  untilrun, untillb = getRunLBFromU64(obj.until())
90  keysByRun.setdefault(run,{})['smk'] = smk
91 
92  for sincelb, untillb in listOfReadyBlocks:
93 
94  since = (run << 32) + sincelb
95  until = (run << 32) + untillb
96 
97  # l1 prescale keys
98  myL1pskReader.setIOVRange( since, until )
99  myL1pskReader.readData()
100  for obj in myL1pskReader.data:
101  l1psk = obj.payload()['Lvl1PrescaleConfigurationKey']
102  sincerun2, sincelb2 = getRunLBFromU64(obj.since())
103  untilrun2, untillb2 = getRunLBFromU64(obj.until())
104  if sincelb2 == untillb: break
105  keysByRun.setdefault(run,{}).setdefault('l1psk',[]).append((l1psk,sincerun2, sincelb2,untilrun2, untillb2-1)) #use same convention as GRL, last lb is included
106 
107  # hlt prescale keys
108  myHltpskReader.setIOVRange( since, until )
109  myHltpskReader.readData()
110  for obj in myHltpskReader.data:
111  hltpsk = obj.payload()['HltPrescaleKey']
112  sincerun2, sincelb2 = getRunLBFromU64(obj.since())
113  untilrun2, untillb2 = getRunLBFromU64(obj.until())
114  if sincelb2 == untillb: break
115  keysByRun.setdefault(run,{}).setdefault('hltpsk',[]).append((hltpsk,sincerun2, sincelb2,untilrun2, untillb2-1)) #use same convention as GRL, last lb is included
116 
117 
125 
126  if doPrint:
127  log.info(keysByRun)
128 
129  return keysByRun
130 

◆ getMenuPathFromRelease()

def python.TriggerAPI.TriggerDataAccess.getMenuPathFromRelease (   release)

Definition at line 361 of file TriggerDataAccess.py.

361 def getMenuPathFromRelease(release):
362  if release: #already format-proofed in TriggerAPI
363  return "/cvmfs/atlas.cern.ch/repo/sw/software/21.1/AthenaP1/%s/InstallArea/x86_64-slc6-gcc62-opt/python/TriggerMenu/menu"%release
364  #21.1.50 contains the final menu, no need to find the last release
365  return "/cvmfs/atlas.cern.ch/repo/sw/software/21.1/AthenaP1/21.1.50/InstallArea/x86_64-slc6-gcc62-opt/python/TriggerMenu/menu"
366 
367 

◆ getReadyForPhysicsInRange()

def python.TriggerAPI.TriggerDataAccess.getReadyForPhysicsInRange (   period)
returns all runs in the given period which have the ReadyForPhysics flag set in at least 1 LB

Definition at line 23 of file TriggerDataAccess.py.

23 def getReadyForPhysicsInRange(period):
24  """
25  returns all runs in the given period which have the ReadyForPhysics flag set in at least 1 LB
26  """
27 
28  log.info("Loading COOL libs...")
29  from CoolLumiUtilities.CoolDataReader import CoolDataReader
30  log.info("Done loading libs, starting now ...")
31 
32  myReader = CoolDataReader('COOLONL_TDAQ/CONDBR2', '/TDAQ/RunCtrl/DataTakingMode')
33  runsWithReady = {}
34 
35  firstRun = min([x for x in period.keys()])
36  lastRun = max([x for x in period.keys()])+1
37  since = (firstRun << 32)
38  until = (lastRun << 32)
39 
40  myReader.setIOVRange( since, until )
41  myReader.readData()
42 
43  for obj in myReader.data:
44  isReady = (obj.payload()['ReadyForPhysics'] == 1)
45  if not isReady:
46  continue
47  sincerun, sincelb = getRunLBFromU64(obj.since())
48  untilrun, untillb = getRunLBFromU64(obj.until())
49  if sincerun != untilrun:
50  log.info("WARNING: ready block crosses run boundaries:", sincerun, untilrun)
51  if sincerun not in period: continue
52  if sincerun in runsWithReady:
53  runsWithReady[sincerun] += [ (sincelb, untillb) ]
54  else:
55  runsWithReady[sincerun] = [ (sincelb, untillb) ]
56 
57 
58  return runsWithReady
59 
60 

◆ getRunLBFromU64()

def python.TriggerAPI.TriggerDataAccess.getRunLBFromU64 (   runlb)

Definition at line 17 of file TriggerDataAccess.py.

17 def getRunLBFromU64(runlb):
18  run = runlb >> 32
19  lb = runlb & ((1<<32)-1)
20  return ( int(run), int(lb) )
21 
22 

◆ queryHLTPrescaleTableRun2()

def python.TriggerAPI.TriggerDataAccess.queryHLTPrescaleTableRun2 (   connection,
  psk 
)

Definition at line 146 of file TriggerDataAccess.py.

146 def queryHLTPrescaleTableRun2(connection,psk):
147 
148  from TrigConfigSvc.TrigConfigSvcUtils import getTriggerDBCursor, executeQuery
149 
150  global cursor, schemaname
151  cursor,schemaname = getTriggerDBCursor(connection)
152 
153  output = [ "PS.HPR_CHAIN_COUNTER", "PS.HPR_TYPE", "PS.HPR_CONDITION" , "PS.HPR_VALUE"]
154 
155  tables = {}
156  tables['PS'] = 'HLT_PRESCALE'
157 
158  condition = [ "PS.HPR_PRESCALE_SET_ID = :psk" ]
159 
160  bindvars = { "psk": psk }
161 
162  res = executeQuery(cursor, output, condition, schemaname, tables, bindvars)
163 
164  return res
165 
166 

◆ test()

def python.TriggerAPI.TriggerDataAccess.test ( )

Definition at line 405 of file TriggerDataAccess.py.

405 def test():
406  log.info(getHLTlist(TriggerPeriod.future,None, None))
407 

Variable Documentation

◆ __author__

python.TriggerAPI.TriggerDataAccess.__author__
private

Definition at line 3 of file TriggerDataAccess.py.

◆ __doc__

python.TriggerAPI.TriggerDataAccess.__doc__
private

Definition at line 5 of file TriggerDataAccess.py.

◆ __version__

python.TriggerAPI.TriggerDataAccess.__version__
private

Definition at line 4 of file TriggerDataAccess.py.

◆ log

python.TriggerAPI.TriggerDataAccess.log

Definition at line 12 of file TriggerDataAccess.py.

python.TrigConfigSvcUtils.getL1Items
def getL1Items(connection, smk)
Definition: TrigConfigSvcUtils.py:694
max
#define max(a, b)
Definition: cfImp.cxx:41
python.TriggerAPI.TriggerDataAccess.getMenuPathFromRelease
def getMenuPathFromRelease(release)
Definition: TriggerDataAccess.py:361
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
python.utils.AtlRunQueryTriggerUtils.getTriggerDBCursor
def getTriggerDBCursor(run_number=None, smk=None, lhcRun=None)
Definition: AtlRunQueryTriggerUtils.py:387
python.TriggerAPI.TriggerDataAccess.getKeys
def getKeys(listOfRuns, doPrint=False)
Definition: TriggerDataAccess.py:61
GenerateMenuMT
Definition: GenerateMenuMT.py:1
python.TriggerAPI.TriggerDataAccess.getReadyForPhysicsInRange
def getReadyForPhysicsInRange(period)
Definition: TriggerDataAccess.py:23
python.TriggerAPI.TriggerDataAccess.getHLTmap_fromDB
def getHLTmap_fromDB(period, customGRL)
Definition: TriggerDataAccess.py:317
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
python.TriggerAPI.TriggerDataAccess.getRunLBFromU64
def getRunLBFromU64(runlb)
Definition: TriggerDataAccess.py:17
RatesAnalysisFullMenu.prescales
prescales
Definition: RatesAnalysisFullMenu.py:119
python.TriggerAPI.TriggerDataAccess.cleanHLTmap
def cleanHLTmap(hltmap, totalLB)
Definition: TriggerDataAccess.py:387
python.TriggerAPI.TriggerDataAccess.test
def test()
Definition: TriggerDataAccess.py:405
python.TriggerAPI.TriggerDataAccess.queryHLTPrescaleTableRun2
def queryHLTPrescaleTableRun2(connection, psk)
Definition: TriggerDataAccess.py:146
python.TriggerAPI.TriggerDataAccess.getHLTmap_fromTM
def getHLTmap_fromTM(flags, period, release)
Definition: TriggerDataAccess.py:339
DerivationFramework::TriggerMatchingUtils::sorted
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
python.TriggerAPI.TriggerDataAccess.getChainsWithL1seed
def getChainsWithL1seed(connection, smk)
Definition: TriggerDataAccess.py:285
min
#define min(a, b)
Definition: cfImp.cxx:40
TrigJetMonitorAlgorithm.items
items
Definition: TrigJetMonitorAlgorithm.py:79
python.TriggerAPI.TriggerDataAccess.fillHLTmap
def fillHLTmap(info, hltMap_prev, lbCount, run, grlblocks)
Definition: TriggerDataAccess.py:167
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:81
Trk::open
@ open
Definition: BinningType.h:40
python.utils.AtlRunQueryTriggerUtils.getL1Prescales
def getL1Prescales(l1prescalekey, run_number)
Definition: AtlRunQueryTriggerUtils.py:562
python.TriggerAPI.TriggerDataAccess.getHLTlist
def getHLTlist(period, customGRL, release, flags=None)
Definition: TriggerDataAccess.py:368
python.AtlRunQuerySFO.executeQuery
def executeQuery(run, cu, q, cachekey)
Definition: AtlRunQuerySFO.py:115
python.TriggerAPI.TriggerDataAccess.getHLTPrescalesRun2
def getHLTPrescalesRun2(connection, psk)
Definition: TriggerDataAccess.py:131