9 acc = ComponentAccumulator()
12 if flags.Input.Format
is Format.POOL:
13 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
14 acc.merge(SGInputLoaderCfg(flags, [
"TileRawChannelContainer/MuRcvRawChCnt"]))
16 from TriggerJobOpts.TriggerByteStreamConfig
import ByteStreamReadCfg
17 acc.merge(ByteStreamReadCfg(flags, [
"TileRawChannelContainer/MuRcvRawChCnt"]))
19 from TileConditions.TileInfoLoaderConfig
import TileInfoLoaderCfg
20 acc.merge( TileInfoLoaderCfg(flags) )
22 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
23 acc.merge(TileCablingSvcCfg(flags))
25 from TileConditions.TileEMScaleConfig
import TileEMScaleCondAlgCfg
26 acc.merge( TileEMScaleCondAlgCfg(flags) )
28 tmdbAlg = CompFactory.TileMuonReceiverDecision(
'TileMuonReceiverDecision'
29 , TileRawChannelContainer =
"MuRcvRawChCnt"
30 , TileMuonReceiverContainer =
"rerunTileMuRcvCnt"
33 , MuonReceiverEneThreshCellD6Low = 500
34 , MuonReceiverEneThreshCellD6andD5Low = 500
35 , MuonReceiverEneThreshCellD6High = 600
36 , MuonReceiverEneThreshCellD6andD5High = 600
38 , MuonReceiverEneThreshCellD5 = 500
39 , MuonReceiverEneThreshCellD6 = 500
40 , MuonReceiverEneThreshCellD5andD6 = 500)
41 acc.addEventAlgo(tmdbAlg)
45 acc = ComponentAccumulator()
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)
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)
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.MuonRawDataProvider(name = f
"TgcRawDataProvider{postFix}",
73 ProviderTool = MuonTgcRawDataProviderTool,
76 acc.addEventAlgo(TgcRawDataProvider)
78 if flags.Detector.GeometrysTGC:
79 from MuonConfig.MuonBytestreamDecodeConfig
import sTgcRODDecoderCfg
80 MuonsTgcRawDataProviderTool = CompFactory.Muon.STGC_RawDataProviderTool(name =
"STGC_RawDataProviderToolMT"+postFix,
81 Decoder = acc.popToolsAndMerge(sTgcRODDecoderCfg(flags,
82 name =
"sTgcROD_Decoder"+postFix)),
83 RdoLocation =
"sTGCRDO_L1")
84 sTgcRawDataProvider = CompFactory.Muon.MuonRawDataProvider(name = f
"sTgcRawDataProvider{postFix}",
85 ProviderTool = MuonsTgcRawDataProviderTool,
88 acc.addEventAlgo(sTgcRawDataProvider)
91 if flags.Detector.GeometryMM:
92 from MuonConfig.MuonBytestreamDecodeConfig
import MmRDODDecoderCfg
93 Muon_MM_RawDataProviderToolMT = CompFactory.Muon.MM_RawDataProviderToolMT
94 MuonMmRawDataProviderTool = Muon_MM_RawDataProviderToolMT(name =
"MM_RawDataProviderToolMT"+postFix,
95 Decoder = acc.popToolsAndMerge(MmRDODDecoderCfg(flags,
96 name=
"MM_RODDecoder"+postFix)),
97 RdoLocation =
"MMRDO_L1")
98 MmRawDataProvider = CompFactory.Muon.MuonRawDataProvider(name = f
"MmRawDataProvider{postFix}",
99 ProviderTool = MuonMmRawDataProviderTool,
101 DecodePerRoI =
False)
102 acc.addEventAlgo(MmRawDataProvider)
108 result = ComponentAccumulator()
109 kwargs.setdefault(
"DecodeSTGC_RDO", flags.Detector.GeometrysTGC)
110 kwargs.setdefault(
"DecodeMM_RDO", flags.Detector.GeometryMM)
111 kwargs.setdefault(
"DecodeNrpcRDO", flags.Muon.enableNRPC)
112 from MuonConfig.MuonByteStreamCnvTestConfig
import STgcRdoDecoderCfg, MMRdoDecoderCfg, MdtRdoDecoderCfg
113 kwargs.setdefault(
"stgcRdoDecoderTool", result.popToolsAndMerge(STgcRdoDecoderCfg(flags))
114 if flags.Detector.GeometrysTGC
else "" )
115 kwargs.setdefault(
"mmRdoDecoderTool", result.popToolsAndMerge(MMRdoDecoderCfg(flags))
116 if flags.Detector.GeometryMM
else "" )
117 kwargs.setdefault(
"mdtRdoDecoderTool", result.popToolsAndMerge(MdtRdoDecoderCfg(flags)))
119 rpcrdo_decode = CompFactory.Muon.RpcRDO_Decoder(
"RpcRDO_Decoder", BCZERO=flags.Trigger.L1MuonSim.RPCNBCZ)
120 kwargs.setdefault(
"rpcRdoDecoderTool", rpcrdo_decode)
122 the_tool = CompFactory.MuonRdoToMuonDigitTool (name, **kwargs)
123 result.setPrivateTools(the_tool)
127 acc = ComponentAccumulator()
129 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
130 acc.merge( AtlasFieldCacheCondAlgCfg(flags) )
132 suffix =
"" if flags.Input.Format
is Format.POOL
else "_L1"
133 RPCRdoName =
"RPCPAD"+suffix
134 TGCRdoName =
"TGCRDO"+suffix
135 MMRdoName =
"MMRDO"+suffix
136 sTGCRdoName =
"sTGCRDO"+suffix
138 if flags.Input.Format
is Format.POOL:
140 (
'RpcPadContainer',
'RPCPAD'),
141 (
'TgcRdoContainer',
'TGCRDO')
144 if flags.Detector.GeometrysTGC
or flags.Detector.GeometryMM:
146 (
'Muon::MM_RawDataContainer',
'MMRDO'),
147 (
'Muon::STGC_RawDataContainer',
'sTGCRDO')
149 if flags.Muon.enableNRPC:
151 (
'xAOD::NRPCRDOContainer' ,
'NRPCRDO'),
152 (
'xAOD::NRPCRDOAuxContainer',
'NRPCRDOAux.')
154 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
155 acc.merge(SGInputLoaderCfg(flags, Load=rdoInputs))
157 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
158 acc.merge(MuonGeoModelCfg(flags))
160 from MuonConfig.MuonByteStreamCnvTestConfig
import RpcRdoToRpcDigitCfg, TgcRdoToTgcDigitCfg, STGC_RdoToDigitCfg, MM_RdoToDigitCfg
162 acc.merge(RpcRdoToRpcDigitCfg(flags, RpcDigitContainer =
"RPC_DIGITS_L1", RpcRdoContainer = RPCRdoName ))
163 acc.merge(TgcRdoToTgcDigitCfg(flags, TgcDigitContainer =
"TGC_DIGITS_L1", TgcRdoContainer = TGCRdoName ))
164 if flags.Detector.GeometrysTGC:
165 acc.merge(STGC_RdoToDigitCfg(flags, sTgcRdoContainer = sTGCRdoName, sTgcDigitContainer =
"sTGC_DIGITS_L1"))
166 if flags.Detector.GeometryMM:
167 acc.merge(MM_RdoToDigitCfg(flags, MmRdoContainer = MMRdoName, MmDigitContainer =
"MM_DIGITS_L1" ))
172 acc = ComponentAccumulator()
173 if not flags.Detector.GeometrysTGC
and not flags.Detector.GeometryMM:
176 if flags.Input.Format
is Format.POOL
and flags.Input.isMC:
178 (
'McEventCollection',
'TruthEvent'),
179 (
'TrackRecordCollection',
'MuonEntryLayer'),
180 (
'MuonSimDataCollection',
'sTGC_SDO')
182 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
183 acc.merge(SGInputLoaderCfg(flags, Load=rdoInputs))
185 PadEmulatorTool = CompFactory.NSWL1.PadEmulatorTool(
"NSWL1__PadEmulatorTool", DoNtuple=flags.Trigger.L1MuonSim.WritesTGCBranches, IsMC = flags.Input.isMC, sTGC_DigitContainerName=
"sTGC_DIGITS_L1")
186 MMTriggerTool = CompFactory.NSWL1.MMTriggerTool(
"NSWL1__MMTriggerTool",DoNtuple=flags.Trigger.L1MuonSim.WriteMMBranches, IsMC = flags.Input.isMC, MmDigitContainer=
"MM_DIGITS_L1")
187 TriggerProcessorTool = CompFactory.NSWL1.TriggerProcessorTool(
"NSWL1__TriggerProcessorTool")
189 nswAlg = CompFactory.NSWL1.NSWL1Simulation(
"NSWL1Simulation",
190 DoNtuple = flags.Trigger.L1MuonSim.WriteNSWDebugNtuple,
191 DoMM = flags.Trigger.L1MuonSim.doMMTrigger,
192 DoMMDiamonds = flags.Trigger.L1MuonSim.doMMTrigger,
193 DosTGC = flags.Trigger.L1MuonSim.doPadTrigger
or flags.Trigger.L1MuonSim.doStripTrigger,
194 DoPad = flags.Trigger.L1MuonSim.doPadTrigger,
195 PadEmulatorTool = PadEmulatorTool,
196 DoStrip = flags.Trigger.L1MuonSim.doStripTrigger,
197 MMTriggerTool = MMTriggerTool,
198 TriggerProcessorTool = TriggerProcessorTool,
199 NSWTrigRDOContainerName =
"L1_NSWTrigContainer" )
200 acc.addEventAlgo(nswAlg)
204 acc = ComponentAccumulator()
205 rpcAlg = CompFactory.TrigT1RPC(
"TrigT1RPC",
208 RPCbytestream =
False,
209 RPCbytestreamFile =
"",
210 RPCDigitContainer =
"RPC_DIGITS_L1",
211 useRun3Config =
True,
212 NOBXS=flags.Trigger.L1MuonSim.RPCNBX,
213 BCZERO=flags.Trigger.L1MuonSim.RPCNBCZ)
214 acc.addEventAlgo(rpcAlg)
215 from MuonConfig.MuonCablingConfig
import RPCCablingConfigCfg
216 acc.merge( RPCCablingConfigCfg(flags) )
220 acc = ComponentAccumulator()
221 tgcAlg = CompFactory.LVL1TGCTrigger.LVL1TGCTrigger(
"LVL1TGCTrigger",
222 InputData_perEvent =
"TGC_DIGITS_L1",
223 InputRDO =
"TGCRDO" if flags.Input.isMC
else "TGCRDO_L1",
224 useRun3Config =
True,
225 TileMuRcv_Input =
"rerunTileMuRcvCnt",
227 if (flags.Detector.GeometrysTGC
or flags.Detector.GeometryMM):
228 tgcAlg.MaskFileName12 =
"TrigT1TGCMaskedChannel.noFI._12.db"
230 tgcAlg.NSWSideInfo =
"AC"
231 tgcAlg.NSWTrigger_Input =
"L1_NSWTrigContainer"
232 tgcAlg.FORCENSWCOIN =
not flags.Trigger.L1MuonSim.NSWVetoMode
233 tgcAlg.USEBIS78 = flags.Trigger.L1MuonSim.doBIS78
235 tgcAlg.MaskFileName12 =
"TrigT1TGCMaskedChannel._12.db"
237 if flags.Input.Format
is Format.BS:
238 from TriggerJobOpts.TriggerByteStreamConfig
import ByteStreamReadCfg
239 readBSConfig = ByteStreamReadCfg(flags, [
'ByteStreamMetadataContainer/ByteStreamMetadata'])
240 acc.merge(readBSConfig)
242 tgcAlg.ByteStreamMetadataRHKey =
''
243 acc.addEventAlgo(tgcAlg)
245 from PathResolver
import PathResolver
247 acc.merge(addFolders(flags,
'<db>sqlite://;schema={0};dbname=OFLP200</db> /TGC/TRIGGER/CW_BW_RUN3'.format(bwCW_Run3_filePath),
248 tag=
'TgcTriggerCwBwRun3-01',
249 className=
'CondAttrListCollection'))
250 acc.addCondAlgo(CompFactory.TGCTriggerCondAlg())
251 from MuonConfig.MuonCablingConfig
import TGCCablingConfigCfg
252 acc.merge( TGCCablingConfigCfg(flags) )
256 acc = ComponentAccumulator()
257 rpcRecRoiTool = CompFactory.LVL1.TrigT1RPCRecRoiTool(
"TrigT1RPCRecRoiTool", UseRun3Config=
True)
258 tgcRecRoiTool = CompFactory.LVL1.TrigT1TGCRecRoiTool(
"TrigT1TGCRecRoiTool", UseRun3Config=
True)
259 trigThresholdDecTool = CompFactory.LVL1.TrigThresholdDecisionTool(name=
"TrigThresholdDecisionTool",
260 RPCRecRoiTool = rpcRecRoiTool,
261 TGCRecRoiTool = tgcRecRoiTool)
262 muctpiTool = CompFactory.LVL1MUCTPIPHASE1.MUCTPI_AthTool(name=
"MUCTPI_AthTool",
263 MuCTPICTPLocation =
'L1MuCTPItoCTPLocation',
264 OverlapStrategyName = flags.Trigger.MUCTPI.OverlapStrategy,
265 LUTXMLFile = flags.Trigger.MUCTPI.LUTXMLFile,
266 BarrelRoIFile = flags.Trigger.MUCTPI.BarrelRoIFile,
267 EndcapForwardRoIFile = flags.Trigger.MUCTPI.EndcapForwardRoIFile,
268 Side0LUTFile = flags.Trigger.MUCTPI.Side0LUTFile,
269 Side1LUTFile = flags.Trigger.MUCTPI.Side1LUTFile,
270 InputSource =
'DIGITIZATION',
271 RPCRecRoiTool = rpcRecRoiTool,
272 TGCRecRoiTool = tgcRecRoiTool,
273 TrigThresholdDecisionTool = trigThresholdDecTool)
274 muctpiAlg = CompFactory.LVL1MUCTPIPHASE1.MUCTPI_AthAlg(name=
"MUCTPI_AthAlg",
275 MUCTPI_AthTool = muctpiTool)
276 acc.addEventAlgo(muctpiAlg)
277 from TrigConfigSvc.TrigConfigSvcCfg
import L1ConfigSvcCfg
278 acc.merge(L1ConfigSvcCfg(flags))