 |
ATLAS Offline Software
|
◆ _doMenuConversion()
def python.TrigConfigSvcCfg._doMenuConversion |
( |
|
flags | ) |
|
|
private |
Do JSON menu conversion for Run-1&2 data
Definition at line 123 of file TrigConfigSvcCfg.py.
124 """Do JSON menu conversion for Run-1&2 data"""
125 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 128 of file TrigConfigSvcCfg.py.
129 """Return base name for menu files"""
131 from PyUtils.Helpers
import release_metadata
◆ BunchGroupCondAlgCfg()
def python.TrigConfigSvcCfg.BunchGroupCondAlgCfg |
( |
|
flags | ) |
|
Definition at line 308 of file TrigConfigSvcCfg.py.
309 log.info(
"Setting up BunchGroupCondAlg")
311 TrigConf__BunchGroupCondAlg = CompFactory.getComp(
"TrigConf::BunchGroupCondAlg")
312 bunchGroupCondAlg = TrigConf__BunchGroupCondAlg(
"TrigConf__BunchGroupCondAlg")
315 bunchGroupCondAlg.Source = tc[
"SOURCE"]
316 if tc[
"SOURCE"] ==
"COOL":
317 bunchGroupCondAlg.TriggerDB = tc[
"DBCONN"]
318 elif tc[
"SOURCE"] ==
"DB":
319 bunchGroupCondAlg.TriggerDB = tc[
"DBCONN"]
320 bunchGroupCondAlg.BGSK = tc[
"BGSK"]
321 elif tc[
"SOURCE"] ==
"FILE":
326 lb = flags.Input.LumiBlockNumbers[0])
327 bunchGroupCondAlg.BGSK = dbKeys[
'BGSK']
329 raise RuntimeError(
"trigger configuration flag 'trigConfig' starts with %s, which is not understood" % tc[
"SOURCE"])
330 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 60 of file TrigConfigSvcCfg.py.
61 """Retrieve Run-2 trigger configuration from the DB and save as Run3 .JSON files"""
65 log.error(
"L1 menu has already been generated")
68 log.info(
"Configuring Run-1&2 to Run-3 configuration metadata conversion")
70 triggerDBKeys[
'DB'] =
'TRIGGERDB' if run > 230000
else 'TRIGGERDB_RUN1'
72 cmd =
"TrigConfReadWrite -i {DB} {SMK},{L1PSK},{HLTPSK},{BGSK} -o r3json > Run3ConfigFetchJSONFiles.log".
format(**triggerDBKeys)
73 log.info(
"Running command '%s'", cmd)
74 filesFetchStatus = subprocess.run(cmd, shell=
True)
75 assert filesFetchStatus.returncode == 0,
"TrigConfReadWrite failed to fetch JSON files"
◆ createL1PrescalesFileFromMenu()
def python.TrigConfigSvcCfg.createL1PrescalesFileFromMenu |
( |
|
flags, |
|
|
Optional[dict[str, float]] |
prescales = None |
|
) |
| |
Definition at line 165 of file TrigConfigSvcCfg.py.
166 from TriggerMenuMT.L1.Base.PrescaleHelper
import getCutFromPrescale
169 with open(menuFN,
'r')
as fh:
171 pso = {
'filetype':
'l1prescale',
172 'name': data[
'name'],
174 ps = pso[
'cutValues']
176 ps = prescales[name]
if prescales
and name
in prescales
else 1
177 pso[
'cutValues'][name] = {
180 'info': f
'prescale: {ps}'
184 with open(psFN,
'w')
as outfile:
185 json.dump(pso, outfile, indent = 4)
186 log.info(
"Generated default L1 prescale set %s", outfile.name)
◆ generateL1Menu()
def python.TrigConfigSvcCfg.generateL1Menu |
( |
|
flags | ) |
|
Definition at line 189 of file TrigConfigSvcCfg.py.
191 log.error(
"L1 menu has already been generated")
194 log.info(
"Generating L1 menu %s", flags.Trigger.triggerMenuSetup)
195 from TriggerMenuMT.L1.L1MenuConfig
import L1MenuConfig
196 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 25 of file TrigConfigSvcCfg.py.
26 from TrigConfStorage.TriggerCoolUtil
import TriggerCoolUtil
27 db = TriggerCoolUtil.GetConnection(
'CONDBR2' if runNumber > 230000
else 'COMP200')
28 runRange = [[(runNumber,lumiBlock), (runNumber,lumiBlock)]]
29 d = {key: value
for key, value
in TriggerCoolUtil.getHLTConfigKeys(db, runRange)[runNumber].
items()
if key
in [
"SMK",
"DB"]}
30 for (hltpsk, firstlb, lastlb)
in TriggerCoolUtil.getHLTPrescaleKeys(db, runRange)[runNumber][
'HLTPSK2']:
31 if firstlb<=lumiBlock
and lumiBlock<=lastlb:
34 for (l1psk, firstlb, lastlb)
in TriggerCoolUtil.getL1ConfigKeys(db, runRange)[runNumber][
'LVL1PSK']:
35 if firstlb<=lumiBlock
and lumiBlock<=lastlb:
38 for (bgsk, firstlb, lastlb)
in TriggerCoolUtil.getBunchGroupKey(db, runRange)[runNumber][
'BGKey']:
39 if firstlb<=lumiBlock
and lumiBlock<=lastlb:
44 msg = f
"Did not find an L1 PSK for run {runNumber} and lumi block {lumiBlock} in COOL"
46 raise RuntimeError(msg)
48 msg = f
"Did not find an HLT PSK for run {runNumber} and lumi block {lumiBlock} in COOL"
50 raise RuntimeError(msg)
52 msg = f
"Did not find a bunch group set key for run {runNumber} and lumi block {lumiBlock} in COOL"
54 raise RuntimeError(msg)
55 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 81 of file TrigConfigSvcCfg.py.
83 source, dbconn, keys = (flags.Trigger.triggerConfig+
":::").
split(
":")[:3]
84 smk,l1psk,hltpsk,bgsk = (keys+
",,,").
split(
",")[:4]
86 smk, l1psk, hltpsk, bgsk = (
int(k)
if k!=
"" else None for k
in (smk, l1psk, hltpsk, bgsk))
88 if source ==
"DB" and (smk
is None or l1psk
is None or hltpsk
is None or bgsk
is None):
89 runNumber = flags.Input.RunNumbers[0]
90 lbNumber = flags.Input.LumiBlockNumbers[0]
93 if dbconn
in [
"TRIGGERDB_RUN3",
"TRIGGERDBDEV1_I8",
"TRIGGERDBDEV1",
"TRIGGERDBDEV2"]:
105 "SOURCE" : source.upper(),
◆ HLTConfigSvcCfg()
def python.TrigConfigSvcCfg.HLTConfigSvcCfg |
( |
|
flags | ) |
|
Definition at line 236 of file TrigConfigSvcCfg.py.
239 log.info(
"Configure HLTConfigSvc" )
241 hltConfigSvc = CompFactory.getComp(
"TrigConf::HLTConfigSvc")(
"HLTConfigSvc")
243 if cfg[
"SOURCE"] ==
"FILE":
247 lb = flags.Input.LumiBlockNumbers[0])
248 hltConfigSvc.SMK = dbKeys[
'SMK']
250 hltConfigSvc.InputType =
"FILE"
254 log.info(
"Configured HLTConfigSvc with InputType='FILE', HLTJsonFileName=%s and MonitoringJsonFileName=%s (and L1, used to compute MC-SMK:%s)",
255 hltConfigSvc.HLTJsonFileName, hltConfigSvc.MonitoringJsonFileName, hltConfigSvc.L1JsonFileName)
256 elif cfg[
"SOURCE"] ==
"DB":
257 hltConfigSvc.InputType =
"DB"
258 hltConfigSvc.L1JsonFileName =
""
259 hltConfigSvc.HLTJsonFileName =
""
260 hltConfigSvc.MonitoringJsonFileName =
""
261 hltConfigSvc.TriggerDB = cfg[
"DBCONN"]
262 hltConfigSvc.SMK = cfg[
"SMK"]
263 log.info(
"For run 3 style menu access configured HLTConfigSvc with InputType='DB' and SMK %d", cfg[
'SMK'] )
264 acc.addService( hltConfigSvc, create=
True )
◆ HLTPrescaleCondAlgCfg()
def python.TrigConfigSvcCfg.HLTPrescaleCondAlgCfg |
( |
|
flags | ) |
|
Definition at line 334 of file TrigConfigSvcCfg.py.
335 log.info(
"Setting up HLTPrescaleCondAlg")
337 hltPrescaleCondAlg = CompFactory.getComp(
"TrigConf::HLTPrescaleCondAlg")(
"HLTPrescaleCondAlg")
340 hltPrescaleCondAlg.Source = tc[
"SOURCE"]
341 if flags.Common.isOnline
or tc[
"SOURCE"]==
"COOL":
342 from IOVDbSvc.IOVDbSvcConfig
import addFolders
344 className =
"AthenaAttributeList",
345 extensible = flags.Trigger.Online.isPartition))
347 if tc[
"SOURCE"] ==
"COOL":
348 hltPrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
349 elif tc[
"SOURCE"] ==
"DB":
350 hltPrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
351 hltPrescaleCondAlg.HLTPsk = tc[
"HLTPSK"]
352 elif tc[
"SOURCE"] ==
"FILE":
357 lb = flags.Input.LumiBlockNumbers[0])
358 hltPrescaleCondAlg.HLTPsk = dbKeys[
'HLTPSK']
360 raise RuntimeError(
"trigger configuration flag 'trigConfig' starts with %s, which is not understood" % tc[
"SOURCE"])
361 acc.addCondAlgo(hltPrescaleCondAlg)
◆ L1ConfigSvcCfg()
def python.TrigConfigSvcCfg.L1ConfigSvcCfg |
( |
|
flags | ) |
|
Definition at line 203 of file TrigConfigSvcCfg.py.
207 log.info(
"Configure LVL1ConfigSvc" )
210 l1ConfigSvc = CompFactory.getComp(
"TrigConf::LVL1ConfigSvc")(
"LVL1ConfigSvc")
212 if cfg[
"SOURCE"] ==
"FILE":
216 lb = flags.Input.LumiBlockNumbers[0])
217 l1ConfigSvc.SMK = dbKeys[
'SMK']
219 l1ConfigSvc.InputType =
"FILE"
222 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 )
223 elif cfg[
"SOURCE"] ==
"DB":
224 l1ConfigSvc.InputType =
"DB"
225 l1ConfigSvc.L1JsonFileName =
""
226 l1ConfigSvc.HLTJsonFileName =
""
227 l1ConfigSvc.TriggerDB = cfg[
"DBCONN"]
228 l1ConfigSvc.SMK = cfg[
"SMK"]
229 log.info(
"For run 3 style menu access configured LVL1ConfigSvc with InputType='DB', SMK %d", cfg[
'SMK'] )
231 acc.addService( l1ConfigSvc, create=
True )
◆ l1menu_generated()
def python.TrigConfigSvcCfg.l1menu_generated |
( |
| ) |
|
Definition at line 16 of file TrigConfigSvcCfg.py.
18 return l1menu_generated._hasRun
19 except AttributeError:
20 l1menu_generated._hasRun =
True
◆ L1PrescaleCondAlgCfg()
def python.TrigConfigSvcCfg.L1PrescaleCondAlgCfg |
( |
|
flags | ) |
|
Definition at line 278 of file TrigConfigSvcCfg.py.
279 log.info(
"Setting up L1PrescaleCondAlg")
281 TrigConf__L1PrescaleCondAlg = CompFactory.getComp(
"TrigConf::L1PrescaleCondAlg")
282 l1PrescaleCondAlg = TrigConf__L1PrescaleCondAlg(
"L1PrescaleCondAlg")
285 l1PrescaleCondAlg.Source = tc[
"SOURCE"]
286 if flags.Common.isOnline:
287 from IOVDbSvc.IOVDbSvcConfig
import addFolders
290 if tc[
"SOURCE"] ==
"COOL":
291 l1PrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
292 elif tc[
"SOURCE"] ==
"DB":
293 l1PrescaleCondAlg.TriggerDB = tc[
"DBCONN"]
294 l1PrescaleCondAlg.L1Psk = tc[
"L1PSK"]
295 elif tc[
"SOURCE"] ==
"FILE":
300 lb = flags.Input.LumiBlockNumbers[0])
301 l1PrescaleCondAlg.L1Psk = dbKeys[
'L1PSK']
303 raise RuntimeError(
"trigger configuration flag 'trigConfig' starts with %s, which is not understood" % tc[
"SOURCE"])
304 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 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 createL1PrescalesFileFromMenu(flags, Optional[dict[str, float]] prescales=None)
def getL1PrescaleFolderName()
def getCutFromPrescale(prescale)
def HLTConfigSvcCfg(flags)
def BunchGroupCondAlgCfg(flags)
def getHLTPrescalesSetFileName(flags)