91 from AthenaCommon.Logging
import logging
92 log = logging.getLogger(
"GeneratorsInfo")
93 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
95 generatorsData = flags.Input.GeneratorsInfo
96 log.info(f
"Generators data: {generatorsData}")
98 missingVersion =
False
99 for k, v
in generatorsData.items():
100 if v
is None and k
not in ignoredGenerators:
101 missingVersion =
True
103 if not missingVersion:
106 log.info(
"At least one MC generator is missing version information. Attempting to fix...")
108 from PyUtils.AMITagHelperConfig
import inputAMITags
111 if tags
and tags[0].startswith(
"e"):
116 if flags.Input.MCChannelNumber
and flags.Input.MCChannelNumber
in releaseDataSampleGeneratorOverridesDict:
117 overrides = releaseDataSampleGeneratorOverridesDict[flags.Input.MCChannelNumber]
118 log.warning(f
"Overriding generators to {'+'.join(overrides.keys())}.")
120 for generator, version
in overrides.items():
121 if version
is not None:
122 log.warning(f
"Overriding version for {generator} to {version}.")
123 generatorsData[generator] = version
127 from EventInfoMgt.TagInfoMgrConfig
import TagInfoMgrCfg
132 if flags.Input.MCChannelNumber
and flags.Input.MCChannelNumber
in releaseDataSampleTagOverridesDict:
133 log.warning(f
"Overriding e-tag for sample {flags.Input.MCChannelNumber} to {releaseDataSampleTagOverridesDict[flags.Input.MCChannelNumber]}.")
134 tag = releaseDataSampleTagOverridesDict[flags.Input.MCChannelNumber]
138 if tag
not in releaseDataDict:
139 log.warning(f
"Could not find release data for tag {tag}.")
143 releaseData = releaseDataDict[tag]
144 for k, v
in generatorsData.items():
145 if v
is None and k
not in ignoredGenerators
and k
in releaseData:
146 log.info(f
"Setting version for {k} to {releaseData[k]}.")
147 generatorsData[k] = releaseData[k]
151 from EventInfoMgt.TagInfoMgrConfig
import TagInfoMgrCfg