![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
◆ _doMenuConversion()
def python.TrigConfigSvcCfg._doMenuConversion |
( |
|
flags | ) |
|
|
private |
Do JSON menu conversion for Run-1&2 data
Definition at line 122 of file TrigConfigSvcCfg.py.
123 """Do JSON menu conversion for Run-1&2 data"""
124 return flags.Input.Files
and flags.Trigger.EDMVersion
in [1, 2]
and not flags.Input.isMC
◆ _getMenuFileName()
def python.TrigConfigSvcCfg._getMenuFileName |
( |
|
flags | ) |
|
|
private |
Return base name for menu files
Definition at line 127 of file TrigConfigSvcCfg.py.
128 """Return base name for menu files"""
130 from PyUtils.Helpers
import release_metadata
◆ BunchGroupCondAlgCfg()
def python.TrigConfigSvcCfg.BunchGroupCondAlgCfg |
( |
|
flags | ) |
|
Definition at line 301 of file TrigConfigSvcCfg.py.
302 log.info(
"Setting up BunchGroupCondAlg")
304 TrigConf__BunchGroupCondAlg = CompFactory.getComp(
"TrigConf::BunchGroupCondAlg")
305 bunchGroupCondAlg = TrigConf__BunchGroupCondAlg(
"TrigConf__BunchGroupCondAlg")
308 bunchGroupCondAlg.Source = tc[
"SOURCE"]
309 if tc[
"SOURCE"] ==
"COOL":
310 bunchGroupCondAlg.TriggerDB = tc[
"DBCONN"]
311 elif tc[
"SOURCE"] ==
"DB":
312 bunchGroupCondAlg.TriggerDB = tc[
"DBCONN"]
313 bunchGroupCondAlg.BGSK = tc[
"BGSK"]
314 elif tc[
"SOURCE"] ==
"FILE":
319 lb = flags.Input.LumiBlockNumbers[0])
320 bunchGroupCondAlg.BGSK = dbKeys[
'BGSK']
322 raise RuntimeError(
"trigger configuration flag 'trigConfig' starts with %s, which is not understood" % tc[
"SOURCE"])
323 acc.addCondAlgo(bunchGroupCondAlg)
◆ createJsonMenuFiles()
def python.TrigConfigSvcCfg.createJsonMenuFiles |
( |
|
run, |
|
|
|
lb |
|
) |
| |
Retrieve Run-2 trigger configuration from the DB and save as Run3 .JSON files
Definition at line 59 of file TrigConfigSvcCfg.py.
60 """Retrieve Run-2 trigger configuration from the DB and save as Run3 .JSON files"""
64 log.error(
"L1 menu has already been generated")
67 log.info(
"Configuring Run-1&2 to Run-3 configuration metadata conversion")
69 triggerDBKeys[
'DB'] =
'TRIGGERDB' if run > 230000
else 'TRIGGERDB_RUN1'
71 cmd =
"TrigConfReadWrite -i {DB} {SMK},{L1PSK},{HLTPSK},{BGSK} -o r3json > Run3ConfigFetchJSONFiles.log".
format(**triggerDBKeys)
72 log.info(
"Running command '%s'", cmd)
73 filesFetchStatus = subprocess.run(cmd, shell=
True)
74 assert filesFetchStatus.returncode == 0,
"TrigConfReadWrite failed to fetch JSON files"
◆ createL1PrescalesFileFromMenu()
def python.TrigConfigSvcCfg.createL1PrescalesFileFromMenu |
( |
|
flags | ) |
|
Definition at line 165 of file TrigConfigSvcCfg.py.
167 with open(menuFN,
'r')
as fh:
169 pso = {
'filetype':
'l1prescale',
170 'name': data[
'name'],
172 ps = pso[
'cutValues']
174 ps[name] = {
"cut": 1,
176 "info":
"prescale: 1"}
179 with open(psFN,
'w')
as outfile:
180 json.dump(pso, outfile, indent = 4)
181 log.info(
"Generated default L1 prescale set %s", outfile.name)
◆ generateL1Menu()
def python.TrigConfigSvcCfg.generateL1Menu |
( |
|
flags | ) |
|
Definition at line 184 of file TrigConfigSvcCfg.py.
186 log.error(
"L1 menu has already been generated")
189 log.info(
"Generating L1 menu %s", flags.Trigger.triggerMenuSetup)
190 from TriggerMenuMT.L1.L1MenuConfig
import L1MenuConfig
191 l1cfg = L1MenuConfig(flags)
◆ getBunchGroupSetFileName()
def python.TrigConfigSvcCfg.getBunchGroupSetFileName |
( |
|
flags | ) |
|
◆ getHLTJobOptionsFileName()
def python.TrigConfigSvcCfg.getHLTJobOptionsFileName |
( |
| ) |
|
◆ getHLTMenuFileName()
def python.TrigConfigSvcCfg.getHLTMenuFileName |
( |
|
flags | ) |
|
◆ getHLTMonitoringFileName()
def python.TrigConfigSvcCfg.getHLTMonitoringFileName |
( |
|
flags | ) |
|
◆ getHLTPrescaleFolderName()
def python.TrigConfigSvcCfg.getHLTPrescaleFolderName |
( |
| ) |
|
◆ getHLTPrescalesSetFileName()
def python.TrigConfigSvcCfg.getHLTPrescalesSetFileName |
( |
|
flags | ) |
|
◆ getL1MenuFileName()
def python.TrigConfigSvcCfg.getL1MenuFileName |
( |
|
flags | ) |
|
◆ getL1PrescaleFolderName()
def python.TrigConfigSvcCfg.getL1PrescaleFolderName |
( |
| ) |
|
◆ getL1PrescalesSetFileName()
def python.TrigConfigSvcCfg.getL1PrescalesSetFileName |
( |
|
flags | ) |
|
◆ getTrigConfFromCool()
def python.TrigConfigSvcCfg.getTrigConfFromCool |
( |
|
runNumber, |
|
|
|
lumiBlock |
|
) |
| |
Definition at line 24 of file TrigConfigSvcCfg.py.
25 from TrigConfStorage.TriggerCoolUtil
import TriggerCoolUtil
26 db = TriggerCoolUtil.GetConnection(
'CONDBR2' if runNumber > 230000
else 'COMP200')
27 runRange = [[(runNumber,lumiBlock), (runNumber,lumiBlock)]]
28 d = {key: value
for key, value
in TriggerCoolUtil.getHLTConfigKeys(db, runRange)[runNumber].
items()
if key
in [
"SMK",
"DB"]}
29 for (hltpsk, firstlb, lastlb)
in TriggerCoolUtil.getHLTPrescaleKeys(db, runRange)[runNumber][
'HLTPSK2']:
30 if firstlb<=lumiBlock
and lumiBlock<=lastlb:
33 for (l1psk, firstlb, lastlb)
in TriggerCoolUtil.getL1ConfigKeys(db, runRange)[runNumber][
'LVL1PSK']:
34 if firstlb<=lumiBlock
and lumiBlock<=lastlb:
37 for (bgsk, firstlb, lastlb)
in TriggerCoolUtil.getBunchGroupKey(db, runRange)[runNumber][
'BGKey']:
38 if firstlb<=lumiBlock
and lumiBlock<=lastlb:
43 msg = f
"Did not find an L1 PSK for run {runNumber} and lumi block {lumiBlock} in COOL"
45 raise RuntimeError(msg)
47 msg = f
"Did not find an HLT PSK for run {runNumber} and lumi block {lumiBlock} in COOL"
49 raise RuntimeError(msg)
51 msg = f
"Did not find a bunch group set key for run {runNumber} and lumi block {lumiBlock} in COOL"
53 raise RuntimeError(msg)
54 log.info(
"Extracted the following info for run %d and lumi block %d from COOL: %r", runNumber, lumiBlock, d)
◆ getTrigConfigFromFlag()
def python.TrigConfigSvcCfg.getTrigConfigFromFlag |
( |
|
flags | ) |
|
Definition at line 80 of file TrigConfigSvcCfg.py.
82 source, dbconn, keys = (flags.Trigger.triggerConfig+
":::").
split(
":")[:3]
83 smk,l1psk,hltpsk,bgsk = (keys+
",,,").
split(
",")[:4]
85 smk, l1psk, hltpsk, bgsk = (
int(k)
if k!=
"" else None for k
in (smk, l1psk, hltpsk, bgsk))
87 if source ==
"DB" and (smk
is None or l1psk
is None or hltpsk
is None or bgsk
is None):
88 runNumber = flags.Input.RunNumbers[0]
89 lbNumber = flags.Input.LumiBlockNumbers[0]
92 if dbconn
in [
"TRIGGERDB_RUN3",
"TRIGGERDBDEV1_I8",
"TRIGGERDBDEV1",
"TRIGGERDBDEV2"]:
104 "SOURCE" : source.upper(),
◆ HLTConfigSvcCfg()
def python.TrigConfigSvcCfg.HLTConfigSvcCfg |
( |
|
flags | ) |
|
Definition at line 231 of file TrigConfigSvcCfg.py.
234 log.info(
"Configure HLTConfigSvc" )
236 hltConfigSvc = CompFactory.getComp(
"TrigConf::HLTConfigSvc")(
"HLTConfigSvc")
238 if cfg[
"SOURCE"] ==
"FILE":
242 lb = flags.Input.LumiBlockNumbers[0])
243 hltConfigSvc.SMK = dbKeys[
'SMK']
245 hltConfigSvc.InputType =
"FILE"
249 log.info(
"Configured HLTConfigSvc with InputType='FILE', HLTJsonFileName=%s and MonitoringJsonFileName=%s (and L1, used to compute MC-SMK:%s)",
250 hltConfigSvc.HLTJsonFileName, hltConfigSvc.MonitoringJsonFileName, hltConfigSvc.L1JsonFileName)
251 elif cfg[
"SOURCE"] ==
"DB":
252 hltConfigSvc.InputType =
"DB"
253 hltConfigSvc.L1JsonFileName =
""
254 hltConfigSvc.HLTJsonFileName =
""
255 hltConfigSvc.MonitoringJsonFileName =
""
256 hltConfigSvc.TriggerDB = cfg[
"DBCONN"]
257 hltConfigSvc.SMK = cfg[
"SMK"]
258 log.info(
"For run 3 style menu access configured HLTConfigSvc with InputType='DB' and SMK %d", cfg[
'SMK'] )
259 acc.addService( hltConfigSvc, create=
True )
◆ HLTPrescaleCondAlgCfg()
def python.TrigConfigSvcCfg.HLTPrescaleCondAlgCfg |
( |
|
flags | ) |
|
Definition at line 327 of file TrigConfigSvcCfg.py.
328 log.info(
"Setting up HLTPrescaleCondAlg")
330 hltPrescaleCondAlg = CompFactory.getComp(
"TrigConf::HLTPrescaleCondAlg")(
"HLTPrescaleCondAlg")
333 hltPrescaleCondAlg.Source = tc[
"SOURCE"]
334 if flags.Common.isOnline
or tc[
"SOURCE"]==
"COOL":
335 from IOVDbSvc.IOVDbSvcConfig
import addFolders
337 className =
"AthenaAttributeList",
338 extensible = flags.Trigger.Online.isPartition))
340 if tc[
"SOURCE"] ==
"COOL":
341 hltPrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
342 elif tc[
"SOURCE"] ==
"DB":
343 hltPrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
344 hltPrescaleCondAlg.HLTPsk = tc[
"HLTPSK"]
345 elif tc[
"SOURCE"] ==
"FILE":
350 lb = flags.Input.LumiBlockNumbers[0])
351 hltPrescaleCondAlg.HLTPsk = dbKeys[
'HLTPSK']
353 raise RuntimeError(
"trigger configuration flag 'trigConfig' starts with %s, which is not understood" % tc[
"SOURCE"])
354 acc.addCondAlgo(hltPrescaleCondAlg)
◆ L1ConfigSvcCfg()
def python.TrigConfigSvcCfg.L1ConfigSvcCfg |
( |
|
flags | ) |
|
Definition at line 198 of file TrigConfigSvcCfg.py.
202 log.info(
"Configure LVL1ConfigSvc" )
205 l1ConfigSvc = CompFactory.getComp(
"TrigConf::LVL1ConfigSvc")(
"LVL1ConfigSvc")
207 if cfg[
"SOURCE"] ==
"FILE":
211 lb = flags.Input.LumiBlockNumbers[0])
212 l1ConfigSvc.SMK = dbKeys[
'SMK']
214 l1ConfigSvc.InputType =
"FILE"
217 log.info(
"For run 3 style menu access configured LVL1ConfigSvc with InputType='FILE', L1JsonFileName=%s (and HLT, used to compute SMK:%s) ", l1ConfigSvc.L1JsonFileName, l1ConfigSvc.HLTJsonFileName )
218 elif cfg[
"SOURCE"] ==
"DB":
219 l1ConfigSvc.InputType =
"DB"
220 l1ConfigSvc.L1JsonFileName =
""
221 l1ConfigSvc.HLTJsonFileName =
""
222 l1ConfigSvc.TriggerDB = cfg[
"DBCONN"]
223 l1ConfigSvc.SMK = cfg[
"SMK"]
224 log.info(
"For run 3 style menu access configured LVL1ConfigSvc with InputType='DB', SMK %d", cfg[
'SMK'] )
226 acc.addService( l1ConfigSvc, create=
True )
◆ l1menu_generated()
def python.TrigConfigSvcCfg.l1menu_generated |
( |
| ) |
|
Definition at line 15 of file TrigConfigSvcCfg.py.
17 return l1menu_generated._hasRun
18 except AttributeError:
19 l1menu_generated._hasRun =
True
◆ L1PrescaleCondAlgCfg()
def python.TrigConfigSvcCfg.L1PrescaleCondAlgCfg |
( |
|
flags | ) |
|
Definition at line 272 of file TrigConfigSvcCfg.py.
273 log.info(
"Setting up L1PrescaleCondAlg")
275 TrigConf__L1PrescaleCondAlg = CompFactory.getComp(
"TrigConf::L1PrescaleCondAlg")
276 l1PrescaleCondAlg = TrigConf__L1PrescaleCondAlg(
"L1PrescaleCondAlg")
279 l1PrescaleCondAlg.Source = tc[
"SOURCE"]
280 if flags.Common.isOnline:
281 from IOVDbSvc.IOVDbSvcConfig
import addFolders
284 if tc[
"SOURCE"] ==
"COOL":
285 l1PrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
286 elif tc[
"SOURCE"] ==
"DB":
287 l1PrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
288 l1PrescaleCondAlg.L1Psk = tc[
"L1PSK"]
289 elif tc[
"SOURCE"] ==
"FILE":
294 lb = flags.Input.LumiBlockNumbers[0])
295 l1PrescaleCondAlg.L1Psk = dbKeys[
'L1PSK']
297 raise RuntimeError(
"trigger configuration flag 'trigConfig' starts with %s, which is not understood" % tc[
"SOURCE"])
298 acc.addCondAlgo(l1PrescaleCondAlg)
◆ TrigConfigSvcCfg()
def python.TrigConfigSvcCfg.TrigConfigSvcCfg |
( |
|
flags | ) |
|
◆ log
python.TrigConfigSvcCfg.log |
◆ verbosity
python.TrigConfigSvcCfg.verbosity |
def TrigConfigSvcCfg(flags)
def _getMenuFileName(flags)
def _doMenuConversion(flags)
def getHLTMenuFileName(flags)
def getHLTPrescaleFolderName()
def getTrigConfigFromFlag(flags)
def createL1PrescalesFileFromMenu(flags)
def generateL1Menu(flags)
def getL1MenuFileName(flags)
def getHLTJobOptionsFileName()
def getBunchGroupSetFileName(flags)
def getL1PrescalesSetFileName(flags)
def createJsonMenuFiles(run, lb)
def HLTPrescaleCondAlgCfg(flags)
def getTrigConfFromCool(runNumber, lumiBlock)
def getHLTMonitoringFileName(flags)
def addFolders(flags, folderStrings, detDb=None, className=None, extensible=False, tag=None, db=None, modifiers='')
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
def L1PrescaleCondAlgCfg(flags)
def L1ConfigSvcCfg(flags)
def getL1PrescaleFolderName()
def HLTConfigSvcCfg(flags)
def BunchGroupCondAlgCfg(flags)
def getHLTPrescalesSetFileName(flags)