22def BCMOverlayAlgCfg(flags, name="BCMOverlay", **kwargs):
23 """Return a ComponentAccumulator for BCMOverlay algorithm"""
24 acc = ComponentAccumulator()
25
26 kwargs.setdefault("BkgInputKey", f"{flags.Overlay.BkgPrefix}BCM_RDOs")
27 kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}BCM_RDOs")
28 kwargs.setdefault("OutputKey", "BCM_RDOs")
29
30 kwargs.setdefault("isDataOverlay", not flags.Input.isMC)
31
32
33 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
34 acc.merge(SGInputLoaderCfg(flags, [f'BCM_RDO_Container#{kwargs["BkgInputKey"]}']))
35
36
37 acc.addEventAlgo(CompFactory.BCMOverlay(name, **kwargs))
38
39
40 if flags.Output.doWriteRDO:
41 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
42 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
43 "BCM_RDO_Container#BCM_RDOs"
44 ]))
45
46 if flags.Output.doWriteRDO_SGNL:
47 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
48 acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
49 f"BCM_RDO_Container#{flags.Overlay.SigPrefix}BCM_RDOs"
50 ]))
51
52 return acc
53
54