11def RPC_OverlayAlgCfg(flags, name="RpcOverlay", **kwargs):
12 """Return a ComponentAccumulator for RPCOverlay algorithm"""
13 acc = ComponentAccumulator()
14
15 kwargs.setdefault("BkgInputKey", f"{flags.Overlay.BkgPrefix}RPC_DIGITS")
16 kwargs.setdefault("SignalInputKey", f"{flags.Overlay.SigPrefix}RPC_DIGITS")
17 kwargs.setdefault("OutputKey", "RPC_DIGITS")
18
19
20 acc.addEventAlgo(CompFactory.RpcOverlay(name, **kwargs))
21
22
23 if flags.Output.doWriteRDO:
24 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
25 if not flags.Muon.usePhaseIIGeoSetup:
26 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
27 "RpcPadContainer#RPCPAD"
28 ]))
29 if flags.Muon.enableNRPC:
30 acc.merge(OutputStreamCfg(flags, "RDO", ItemList=[
31 "xAOD::NRPCRDOContainer#NRPCRDO", "xAOD::NRPCRDOAuxContainer#NRPCRDOAux."
32 ]))
33
34 if flags.Output.doWriteRDO_SGNL:
35 if not flags.Muon.usePhaseIIGeoSetup:
36 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
37 acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
38 f"RpcPadContainer#{flags.Overlay.SigPrefix}RPCPAD"
39 ]))
40 if flags.Muon.enableNRPC:
41 acc.merge(OutputStreamCfg(flags, "RDO_SGNL", ItemList=[
42 f"xAOD::NRPCRDOContainer#{flags.Overlay.SigPrefix}NRPCRDO", f"xAOD::NRPCRDOAuxContainer#{flags.Overlay.SigPrefix}NRPCRDOAux."
43 ]))
44
45 return acc
46
47