44def MuonBytestream2RdoConfig(flags):
45 acc = ComponentAccumulator()
46 if flags.Input.isMC:
47 return acc
48
49 postFix = "_L1MuonSim"
50 from MuonConfig.MuonBytestreamDecodeConfig import MuonCacheNames
51 cacheCreator = CompFactory.MuonCacheCreator(RpcCacheKey = MuonCacheNames.RpcCache,
52 TgcCacheKey = MuonCacheNames.TgcCache,
53 MdtCsmCacheKey = MuonCacheNames.MdtCsmCache,
54 CscCacheKey = (MuonCacheNames.CscCache if flags.Detector.GeometryCSC else ""))
55 acc.addEventAlgo(cacheCreator)
56
57 RPCRodDecoder = CompFactory.Muon.RpcROD_Decoder(name = "RpcROD_Decoder" + postFix, NOBXS=flags.Trigger.L1MuonSim.RPCNBX)
58 MuonRpcRawDataProviderTool = CompFactory.Muon.RPC_RawDataProviderToolMT(name = "RPC_RawDataProviderToolMT" + postFix,
59 RpcContainerCacheKey = MuonCacheNames.RpcCache,
60 WriteOutRpcSectorLogic = False,
61 Decoder = RPCRodDecoder,
62 RdoLocation = "RPCPAD_L1" )
63 RpcRawDataProvider = CompFactory.Muon.RpcRawDataProvider(name = "RpcRawDataProvider" + postFix,
64 ProviderTool = MuonRpcRawDataProviderTool)
65 acc.addEventAlgo(RpcRawDataProvider)
66
67 TGCRodDecoder = CompFactory.Muon.TGC_RodDecoderReadout(name = "TGC_RodDecoderReadout" + postFix)
68 MuonTgcRawDataProviderTool = CompFactory.Muon.TGC_RawDataProviderToolMT(name = "TGC_RawDataProviderToolMT" + postFix,
69 TgcContainerCacheKey = MuonCacheNames.TgcCache,
70 Decoder = TGCRodDecoder,
71 RdoLocation = "TGCRDO_L1")
72 TgcRawDataProvider = CompFactory.Muon.TgcRawDataProvider(name = "TgcRawDataProvider" + postFix,
73 ProviderTool = MuonTgcRawDataProviderTool)
74 acc.addEventAlgo(TgcRawDataProvider)
75
76 if flags.Detector.GeometrysTGC:
77 Muon__STGC_RawDataProviderToolMT=CompFactory.Muon.STGC_RawDataProviderToolMT
78 from MuonConfig.MuonBytestreamDecodeConfig import sTgcRODDecoderCfg
79 MuonsTgcRawDataProviderTool = Muon__STGC_RawDataProviderToolMT(name = "STGC_RawDataProviderToolMT"+postFix,
80 Decoder = acc.popToolsAndMerge(sTgcRODDecoderCfg(flags,
81 name = "sTgcROD_Decoder"+postFix)),
82 RdoLocation = "sTGCRDO_L1")
83 Muon__sTgcRawDataProvider=CompFactory.Muon.sTgcRawDataProvider
84 sTgcRawDataProvider = Muon__sTgcRawDataProvider(name = "sTgcRawDataProvider"+postFix,
85 ProviderTool = MuonsTgcRawDataProviderTool )
86 acc.addEventAlgo(sTgcRawDataProvider)
87
88
89 if flags.Detector.GeometryMM:
90 from MuonConfig.MuonBytestreamDecodeConfig import MmRDODDecoderCfg
91 Muon_MM_RawDataProviderToolMT = CompFactory.Muon.MM_RawDataProviderToolMT
92 MuonMmRawDataProviderTool = Muon_MM_RawDataProviderToolMT(name = "MM_RawDataProviderToolMT"+postFix,
93 Decoder = acc.popToolsAndMerge(MmRDODDecoderCfg(flags,
94 name="MM_RODDecoder"+postFix)),
95 RdoLocation = "MMRDO_L1")
96 Muon__MmRawDataProvider = CompFactory.Muon.MM_RawDataProvider
97 MmRawDataProvider = Muon__MmRawDataProvider(name = "MmRawDataProvider"+postFix, ProviderTool = MuonMmRawDataProviderTool )
98 acc.addEventAlgo(MmRawDataProvider)
99
100 if flags.Trigger.L1MuonSim.EmulateNSW and flags.Trigger.L1MuonSim.NSWVetoMode:
101
102 MDTRodDecoder = CompFactory.MdtROD_Decoder(name = "MdtROD_Decoder" + postFix)
103 MuonMdtRawDataProviderTool = CompFactory.Muon.MDT_RawDataProviderToolMT(name = "MDT_RawDataProviderToolMT" + postFix,
104 CsmContainerCacheKey = MuonCacheNames.MdtCsmCache,
105 Decoder = MDTRodDecoder,
106 RdoLocation = "MDTCSM_L1")
107 MdtRawDataProvider = CompFactory.Muon.MdtRawDataProvider(name = "MdtRawDataProvider" + postFix,
108 ProviderTool = MuonMdtRawDataProviderTool)
109 acc.addEventAlgo(MdtRawDataProvider)
110
111 if flags.Detector.GeometryCSC:
112 CSCRodDecoder = CompFactory.Muon.CscROD_Decoder(name = "CscROD_Decoder" + postFix,
113 IsCosmics = False,
114 IsOldCosmics = False )
115 MuonCscRawDataProviderTool = CompFactory.Muon.CSC_RawDataProviderToolMT(name = "CSC_RawDataProviderToolMT" + postFix,
116 CscContainerCacheKey = MuonCacheNames.CscCache,
117 Decoder = CSCRodDecoder,
118 RdoLocation = "CSCRDO_L1" )
119 CscRawDataProvider = CompFactory.Muon.CscRawDataProvider(name = "CscRawDataProvider" + postFix,
120 ProviderTool = MuonCscRawDataProviderTool)
121 acc.addEventAlgo(CscRawDataProvider)
122
123 return acc
124