10def PixelOverlayAlgCfg(flags, name="PixelOverlay", **kwargs):
11 """Return a ComponentAccumulator for PixelOverlay algorithm"""
12 acc = ComponentAccumulator()
13
14 kwargs.setdefault("BkgInputKey", f"{flags.Overlay.BkgPrefix}PixelRDOs")
15 kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}PixelRDOs")
16 kwargs.setdefault("OutputKey", "PixelRDOs")
17
18
19 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
20 acc.merge(SGInputLoaderCfg(flags, [f'PixelRDO_Container#{kwargs["BkgInputKey"]}']))
21
22
23 acc.addEventAlgo(CompFactory.PixelOverlay(name, **kwargs))
24
25
26 if flags.Output.doWriteRDO:
27 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
28 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
29 "PixelRDO_Container#PixelRDOs"
30 ]))
31
32 if not flags.Input.isMC:
33 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
34 "IDCInDetBSErrContainer#PixelByteStreamErrs"
35 ]))
36
37 if flags.Output.doWriteRDO_SGNL:
38 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
39 acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
40 f"PixelRDO_Container#{flags.Overlay.SigPrefix}PixelRDOs"
41 ]))
42
43
44 if flags.Overlay.doTrackOverlay:
45 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
46 f"PixelRDO_Container#{flags.Overlay.SigPrefix}PixelRDOs"
47 ]))
48
49 return acc
50
51