11 """Collect simulation metadata parameters as a dictionary"""
12 simMDlog = logging.getLogger(
'Sim_Metadata')
18 for flag
in sorted(flags._flagdict):
19 if flag.startswith(
"Sim."):
20 if "GenerationConfiguration" in flag:
23 if "Twiss" in flag
and not flags.Detector.GeometryForward:
26 if "UseShadowEvent" in flag
and not flags.Sim.UseShadowEvent:
29 if "VertexTimeWidth" in flag
and not flags.Sim.VertexTimeSmearing:
32 if "RunOnGPU" in flag
and not flags.Sim.ISF.Simulator.usesFastCaloSim():
35 if "FastCalo.ParamsInputFilename" in flag
and not flags.Sim.ISF.Simulator.usesFastCaloSim():
38 if "SimplifiedGeoPath" in flag
and not flags.Sim.SimplifiedGeoPath:
41 if "FastCalo.doPunchThrough" in flag
and not flags.Sim.FastCalo.doPunchThrough:
45 key = flag.split(
".")[-1]
46 value = flags._get(flag)
47 if isinstance(value, FlagEnum):
49 if not isinstance(value, str):
52 simMDlog.info(
'SimulationMetaData: setting "%s" to be %s', key, value)
54 params[
'G4Version'] = flags.Sim.G4Version
55 params[
'RunType'] =
'atlas'
56 params[
'beamType'] = flags.Beam.Type.value
57 params[
'SimLayout'] = flags.GeoModel.AtlasVersion
58 params[
'MagneticField'] =
'AtlasFieldSvc'
62 from AthenaConfiguration.DetectorConfigFlags
import getEnabledDetectors
64 simMDlog.info(
"Setting 'SimulatedDetectors' = %r", simDets)
65 params[
'SimulatedDetectors'] =
repr(simDets)
68 params[
'hitFileMagicNumber'] =
'0'
71 params[
'Simulator'] = flags.Sim.ISF.Simulator.value
72 params[
'SimulationFlavour'] = flags.Sim.ISF.Simulator.value.replace(
'MT',
'')
75 params[
'Simulator'] =
'AtlasG4'
76 params[
'SimulationFlavour'] =
'AtlasG4'
79 if flags.Common.isOverlay
and flags.Overlay.DataOverlay:
80 params[
'IsDataOverlay'] =
'True'