ATLAS Offline Software
Functions
python.ParameterWriterConfig Namespace Reference

Functions

def writeParametersToMetaData (flags, folderName, parameters, beginRun, endRun)
 

Function Documentation

◆ writeParametersToMetaData()

def python.ParameterWriterConfig.writeParametersToMetaData (   flags,
  folderName,
  parameters,
  beginRun,
  endRun 
)
Configure IOVDbMetaDataTool to write parameters as in-file metadata.

Args:
    flags: Configuration flags
    folderName: Folder path (e.g., '/Simulation/Parameters')
    parameters: Dictionary of key-value pairs to store as strings
    beginRun: Begin run number for IOV
    endRun: End run number for IOV

Returns:
    ComponentAccumulator with configured IOVDbSvc and IOVDbMetaDataTool

Definition at line 6 of file ParameterWriterConfig.py.

6 def writeParametersToMetaData(flags, folderName, parameters, beginRun, endRun):
7  """
8  Configure IOVDbMetaDataTool to write parameters as in-file metadata.
9 
10  Args:
11  flags: Configuration flags
12  folderName: Folder path (e.g., '/Simulation/Parameters')
13  parameters: Dictionary of key-value pairs to store as strings
14  beginRun: Begin run number for IOV
15  endRun: End run number for IOV
16 
17  Returns:
18  ComponentAccumulator with configured IOVDbSvc and IOVDbMetaDataTool
19  """
20  from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg
21 
22  acc = IOVDbSvcCfg(flags, FoldersToMetaData=[folderName])
23 
24  # Get the IOVDbMetaDataTool and configure its Payloads property
25  metaDataTool = acc.getPublicTool("IOVDbMetaDataTool")
26 
27  # Build the payload dict in "folder:key" -> "value" format
28  payloadDict = {
29  f"{folderName}:beginRun": str(beginRun),
30  f"{folderName}:endRun": str(endRun)
31  }
32  for key, value in parameters.items():
33  payloadDict[f"{folderName}:{key}"] = value
34 
35  # Set the Payloads property (map of string->string)
36  metaDataTool.Payloads = payloadDict
37 
38  # Add TagInfo entry for consistency with sqlite mode
39  from EventInfoMgt.TagInfoMgrConfig import TagInfoMgrCfg
40  tagAcc = TagInfoMgrCfg(flags)
41  tagInfoMgr = tagAcc.getService("TagInfoMgr")
42  currentPairs = dict(tagInfoMgr.ExtraTagValuePairs) if tagInfoMgr.ExtraTagValuePairs else {}
43  currentPairs[folderName] = "HEAD"
44  tagInfoMgr.ExtraTagValuePairs = currentPairs
45  acc.merge(tagAcc)
46 
47  return acc
python.TagInfoMgrConfig.TagInfoMgrCfg
def TagInfoMgrCfg(flags, tagValuePairs={})
Definition: TagInfoMgrConfig.py:6
python.IOVDbSvcConfig.IOVDbSvcCfg
def IOVDbSvcCfg(flags, **kwargs)
Definition: IOVDbSvcConfig.py:28
python.ParameterWriterConfig.writeParametersToMetaData
def writeParametersToMetaData(flags, folderName, parameters, beginRun, endRun)
Definition: ParameterWriterConfig.py:6
str
Definition: BTagTrackIpAccessor.cxx:11