56def BCMTruthOverlayCfg(flags, name="BCMSDOOverlay", **kwargs):
57 """Return a ComponentAccumulator for the BCM SDO overlay algorithm"""
58 acc = ComponentAccumulator()
59
60
61 if not flags.Input.isMC:
62 kwargs.setdefault("BkgInputKey", "")
63 else:
64 kwargs.setdefault("BkgInputKey", f"{flags.Overlay.BkgPrefix}BCM_SDO_Map")
65
66 if kwargs["BkgInputKey"]:
67 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
68 acc.merge(SGInputLoaderCfg(flags, [f'InDetSimDataCollection#{kwargs["BkgInputKey"]}']))
69
70 kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}BCM_SDO_Map")
71 kwargs.setdefault("OutputKey", "BCM_SDO_Map")
72
73
74 acc.addEventAlgo(CompFactory.InDetSDOOverlay(name, **kwargs))
75
76
77 if flags.Output.doWriteRDO:
78 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
79 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
80 "InDetSimDataCollection#BCM_SDO_Map"
81 ]))
82
83 if flags.Output.doWriteRDO_SGNL:
84 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
85 acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
86 f"InDetSimDataCollection#{flags.Overlay.SigPrefix}BCM_SDO_Map"
87 ]))
88
89 return acc
90
91