ATLAS Offline Software
Loading...
Searching...
No Matches
python.Lvl1MuonSimulationConfig Namespace Reference

Functions

 TMDBConfig (flags)
 MuonBytestream2RdoConfig (flags)
 MuonRdo2PrdConfig (flags)
 RecoMuonSegmentSequence (flags)
 MuonRdoToMuonDigitToolCfg (flags, name="MuonRdoToMuonDigitTool", **kwargs)
 MuonRdo2DigitConfig (flags)
 NSWTriggerConfig (flags)
 RPCTriggerConfig (flags)
 TGCTriggerConfig (flags)
 TGCModifierConfig (flags)
 MuctpiConfig (flags)
 Lvl1MuonSimulationCfg (flags)

Variables

 flags = initConfigFlags()
 Files
 MaxEvents
 NumThreads
 triggerMenuSetup
 acc = MainServicesCfg(flags)
 withDetails
 True
 summariseProps
 printDefaults

Function Documentation

◆ Lvl1MuonSimulationCfg()

python.Lvl1MuonSimulationConfig.Lvl1MuonSimulationCfg ( flags)

Definition at line 386 of file Lvl1MuonSimulationConfig.py.

386def Lvl1MuonSimulationCfg(flags):
387 acc = ComponentAccumulator()
388
389 acc.merge(MuonBytestream2RdoConfig(flags)) # data prep for muon bytestream data
390 acc.merge(MuonRdo2DigitConfig(flags)) # input for rpc/tgc trigger simulation
391 acc.merge(RPCTriggerConfig(flags)) # rpc trigger simulation, including bis78 to prepare for bis78-tgc coincidence
392 acc.merge(TMDBConfig(flags)) # for tmdb decision to prepare for tile-muon coincidence
393 acc.merge(NSWTriggerConfig(flags)) # nsw trigger simulation to prepare input for nsw-tgc coincidence
394 acc.merge(TGCTriggerConfig(flags)) # tgc trigger simulation
395 acc.merge(MuonRdo2PrdConfig(flags)) # data prep for nsw-tgc coincidence emulator
396 acc.merge(RecoMuonSegmentSequence(flags)) # segment reco for nsw-tgc coincidence emulator
397 acc.merge(TGCModifierConfig(flags)) # overwrite output from tgc by nsw-tgc coincidence emulator
398 acc.merge(MuctpiConfig(flags)) # muctpi simulation
399
400 return acc
401

◆ MuctpiConfig()

python.Lvl1MuonSimulationConfig.MuctpiConfig ( flags)

Definition at line 359 of file Lvl1MuonSimulationConfig.py.

359def MuctpiConfig(flags):
360 acc = ComponentAccumulator()
361 rpcRecRoiTool = CompFactory.LVL1.TrigT1RPCRecRoiTool("TrigT1RPCRecRoiTool", UseRun3Config=True)
362 tgcRecRoiTool = CompFactory.LVL1.TrigT1TGCRecRoiTool("TrigT1TGCRecRoiTool", UseRun3Config=True)
363 trigThresholdDecTool = CompFactory.LVL1.TrigThresholdDecisionTool(name="TrigThresholdDecisionTool",
364 RPCRecRoiTool = rpcRecRoiTool,
365 TGCRecRoiTool = tgcRecRoiTool)
366 muctpiTool = CompFactory.LVL1MUCTPIPHASE1.MUCTPI_AthTool(name="MUCTPI_AthTool",
367 MuCTPICTPLocation = 'L1MuCTPItoCTPLocation',
368 OverlapStrategyName = flags.Trigger.MUCTPI.OverlapStrategy,
369 LUTXMLFile = flags.Trigger.MUCTPI.LUTXMLFile,
370 BarrelRoIFile = flags.Trigger.MUCTPI.BarrelRoIFile,
371 EndcapForwardRoIFile = flags.Trigger.MUCTPI.EndcapForwardRoIFile,
372 Side0LUTFile = flags.Trigger.MUCTPI.Side0LUTFile,
373 Side1LUTFile = flags.Trigger.MUCTPI.Side1LUTFile,
374 InputSource = 'DIGITIZATION',
375 RPCRecRoiTool = rpcRecRoiTool,
376 TGCRecRoiTool = tgcRecRoiTool,
377 TrigThresholdDecisionTool = trigThresholdDecTool)
378 muctpiAlg = CompFactory.LVL1MUCTPIPHASE1.MUCTPI_AthAlg(name="MUCTPI_AthAlg",
379 MUCTPI_AthTool = muctpiTool)
380 acc.addEventAlgo(muctpiAlg)
381 from TrigConfigSvc.TrigConfigSvcCfg import L1ConfigSvcCfg
382 acc.merge(L1ConfigSvcCfg(flags))
383 return acc
384
385

◆ MuonBytestream2RdoConfig()

python.Lvl1MuonSimulationConfig.MuonBytestream2RdoConfig ( flags)

Definition at line 44 of file Lvl1MuonSimulationConfig.py.

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 # for RPC
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 # for TGC
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 # for sTGC
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 # for MM
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 # for MDT
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 # for CSC
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

◆ MuonRdo2DigitConfig()

python.Lvl1MuonSimulationConfig.MuonRdo2DigitConfig ( flags)

Definition at line 206 of file Lvl1MuonSimulationConfig.py.

206def MuonRdo2DigitConfig(flags):
207 acc = ComponentAccumulator()
208
209 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
210 acc.merge( AtlasFieldCacheCondAlgCfg(flags) )
211 # Read RPCPAD and TGCRDO from the input POOL file (for BS it comes from [Rpc|Tgc]RawDataProvider)
212 suffix = "" if flags.Input.Format is Format.POOL else "_L1"
213 RPCRdoName = "RPCPAD"+suffix
214 TGCRdoName = "TGCRDO"+suffix
215 MMRdoName = "MMRDO"+suffix
216 sTGCRdoName = "sTGCRDO"+suffix
217
218 if flags.Input.Format is Format.POOL:
219 rdoInputs = [('TgcRdoContainer','TGCRDO')]
220
221 if 'RPCPAD' in flags.Input.Collections:
222 rdoInputs += [('RpcPadContainer','RPCPAD')]
223 # Read MMRDO and sTGCRDO
224 if flags.Detector.GeometrysTGC or flags.Detector.GeometryMM:
225 rdoInputs += [
226 ('Muon::MM_RawDataContainer','MMRDO'),
227 ('Muon::STGC_RawDataContainer','sTGCRDO')
228 ]
229 if flags.Muon.enableNRPC and ("NRPCRDO" in flags.Input.Collections):
230 rdoInputs += [
231 ('xAOD::NRPCRDOContainer' , 'NRPCRDO'),
232 ('xAOD::NRPCRDOAuxContainer', 'NRPCRDOAux.')
233 ]
234 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
235 acc.merge(SGInputLoaderCfg(flags, Load=rdoInputs))
236
237 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
238 acc.merge(MuonGeoModelCfg(flags))
239
240 from MuonConfig.MuonByteStreamCnvTestConfig import RpcRdoToRpcDigitCfg, TgcRdoToTgcDigitCfg, STGC_RdoToDigitCfg, MM_RdoToDigitCfg
241
242 acc.merge(RpcRdoToRpcDigitCfg(flags, RpcDigitContainer = "RPC_DIGITS_L1", RpcRdoContainer = RPCRdoName ))
243 acc.merge(TgcRdoToTgcDigitCfg(flags, TgcDigitContainer = "TGC_DIGITS_L1", TgcRdoContainer = TGCRdoName ))
244 if flags.Detector.GeometrysTGC:
245 acc.merge(STGC_RdoToDigitCfg(flags, sTgcRdoContainer = sTGCRdoName, sTgcDigitContainer = "sTGC_DIGITS_L1"))
246 if flags.Detector.GeometryMM:
247 acc.merge(MM_RdoToDigitCfg(flags, MmRdoContainer = MMRdoName, MmDigitContainer = "MM_DIGITS_L1" ))
248
249 return acc
250

◆ MuonRdo2PrdConfig()

python.Lvl1MuonSimulationConfig.MuonRdo2PrdConfig ( flags)

Definition at line 125 of file Lvl1MuonSimulationConfig.py.

125def MuonRdo2PrdConfig(flags):
126 acc = ComponentAccumulator()
127 if not flags.Trigger.L1MuonSim.EmulateNSW or not flags.Trigger.L1MuonSim.NSWVetoMode:
128 return acc
129 postFix = "_L1MuonSim"
130 suffix = "" if flags.Input.isMC else "_L1"
131 if flags.Input.Format is Format.POOL:
132 rdoInputs = [
133 ('RpcPadContainer','RPCPAD'),
134 ('TgcRdoContainer','TGCRDO'),
135 ('CscRawDataContainer','CSCRDO'),
136 ('MdtCsmContainer','MDTCSM')
137 ]
138 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
139 acc.merge(SGInputLoaderCfg(flags, Load=rdoInputs))
140
141 if flags.Detector.GeometryCSC:
142 from MuonConfig.MuonRdoDecodeConfig import CscRDODecodeCfg
143 acc.merge(CscRDODecodeCfg(flags,name= "CscRdoToCscPrepData" + postFix, RDOContainer = "CSCRDO"+suffix))
144 CscClusterBuilderTool = CompFactory.CscThresholdClusterBuilderTool(name = "CscThresholdClusterBuilderTool" + postFix)
145 CscClusterBuilder = CompFactory.CscThresholdClusterBuilder(name = "CscThresholdClusterBuilder"+postFix,
146 cluster_builder = CscClusterBuilderTool)
147 acc.addEventAlgo(CscClusterBuilder)
148
149 from MuonConfig.MuonRdoDecodeConfig import MdtRDODecodeCfg
150 acc.merge(MdtRDODecodeCfg(flags, name = "MdtRdoToMdtPrepData" + postFix,
151 RDOContainer = "MDTCSM"+suffix ))
152
153 from MuonConfig.MuonRdoDecodeConfig import RpcRDODecodeCfg
154 acc.merge(RpcRDODecodeCfg(flags, name = "RpcRdoToRpcPrepData" + postFix,
155 RDOContainer = "RPCPAD"+suffix))
156
157 from MuonConfig.MuonRdoDecodeConfig import TgcRDODecodeCfg
158 acc.merge(TgcRDODecodeCfg(flags, name = "TgcRdoToPrepData" + postFix,
159 RDOContainer = "TGCRDO"+suffix))
160 return acc
161

◆ MuonRdoToMuonDigitToolCfg()

python.Lvl1MuonSimulationConfig.MuonRdoToMuonDigitToolCfg ( flags,
name = "MuonRdoToMuonDigitTool",
** kwargs )

Definition at line 187 of file Lvl1MuonSimulationConfig.py.

187def MuonRdoToMuonDigitToolCfg(flags, name="MuonRdoToMuonDigitTool", **kwargs ):
188 result = ComponentAccumulator()
189 kwargs.setdefault("DecodeSTGC_RDO", flags.Detector.GeometrysTGC)
190 kwargs.setdefault("DecodeMM_RDO", flags.Detector.GeometryMM)
191 kwargs.setdefault("DecodeNrpcRDO", flags.Muon.enableNRPC)
192 from MuonConfig.MuonByteStreamCnvTestConfig import STgcRdoDecoderCfg, MMRdoDecoderCfg, MdtRdoDecoderCfg
193 kwargs.setdefault( "stgcRdoDecoderTool", result.popToolsAndMerge(STgcRdoDecoderCfg(flags))
194 if flags.Detector.GeometrysTGC else "" )
195 kwargs.setdefault("mmRdoDecoderTool", result.popToolsAndMerge(MMRdoDecoderCfg(flags))
196 if flags.Detector.GeometryMM else "" )
197 kwargs.setdefault("mdtRdoDecoderTool", result.popToolsAndMerge(MdtRdoDecoderCfg(flags)))
198 #Set N BCs and central BC consistently with RPC readout settings
199 rpcrdo_decode = CompFactory.Muon.RpcRDO_Decoder("RpcRDO_Decoder", BCZERO=flags.Trigger.L1MuonSim.RPCNBCZ)
200 kwargs.setdefault("rpcRdoDecoderTool", rpcrdo_decode)
201
202 the_tool = CompFactory.MuonRdoToMuonDigitTool (name, **kwargs)
203 result.setPrivateTools(the_tool)
204 return result
205

◆ NSWTriggerConfig()

python.Lvl1MuonSimulationConfig.NSWTriggerConfig ( flags)

Definition at line 251 of file Lvl1MuonSimulationConfig.py.

251def NSWTriggerConfig(flags):
252 acc = ComponentAccumulator()
253 if not flags.Detector.GeometrysTGC and not flags.Detector.GeometryMM:
254 return acc
255
256 if flags.Input.Format is Format.POOL and flags.Input.isMC:
257 rdoInputs = [
258 ('McEventCollection','TruthEvent'), # for MM trigger
259 *( [('MuonSimDataCollection','sTGC_SDO')] if not flags.Muon.usePhaseIIGeoSetup else [] ), # for sTGC Pad trigger
260 ('TrackRecordCollection','MuonEntryLayer'), # for MM trigger
261 ]
262 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
263 acc.merge(SGInputLoaderCfg(flags, Load=rdoInputs))
264
265 PadEmulatorTool = CompFactory.NSWL1.PadEmulatorTool("NSWL1__PadEmulatorTool", DoNtuple=flags.Trigger.L1MuonSim.WritesTGCBranches, IsMC = flags.Input.isMC, sTGC_DigitContainerName="sTGC_DIGITS_L1")
266 MMTriggerTool = CompFactory.NSWL1.MMTriggerTool("NSWL1__MMTriggerTool",DoNtuple=flags.Trigger.L1MuonSim.WriteMMBranches, IsMC = flags.Input.isMC, MmDigitContainer="MM_DIGITS_L1")
267 TriggerProcessorTool = CompFactory.NSWL1.TriggerProcessorTool("NSWL1__TriggerProcessorTool")
268
269 # Include NswDcsDb Algorithm for data
270 if not flags.Input.isMC:
271 from MuonConfig.MuonCondAlgConfig import NswDcsDbAlgCfg
272 acc.merge(NswDcsDbAlgCfg(flags))
273
274 nswAlg = CompFactory.NSWL1.NSWL1Simulation("NSWL1Simulation",
275 DoNtuple = flags.Trigger.L1MuonSim.WriteNSWDebugNtuple,
276 DoMM = flags.Trigger.L1MuonSim.doMMTrigger,
277 DoMMDiamonds = flags.Trigger.L1MuonSim.doMMTrigger,
278 DosTGC = flags.Trigger.L1MuonSim.doPadTrigger or flags.Trigger.L1MuonSim.doStripTrigger,
279 DoPad = flags.Trigger.L1MuonSim.doPadTrigger,
280 PadEmulatorTool = PadEmulatorTool,
281 DoStrip = flags.Trigger.L1MuonSim.doStripTrigger,
282 MMTriggerTool = MMTriggerTool,
283 TriggerProcessorTool = TriggerProcessorTool,
284 NSWTrigRDOContainerName = "L1_NSWTrigContainer" )
285 acc.addEventAlgo(nswAlg)
286 return acc
287

◆ RecoMuonSegmentSequence()

python.Lvl1MuonSimulationConfig.RecoMuonSegmentSequence ( flags)

Definition at line 162 of file Lvl1MuonSimulationConfig.py.

162def RecoMuonSegmentSequence(flags):
163 acc = ComponentAccumulator()
164 if not flags.Trigger.L1MuonSim.EmulateNSW or not flags.Trigger.L1MuonSim.NSWVetoMode:
165 return acc
166 postFix = "_L1MuonSim"
167 theMuonLayerHough = CompFactory.MuonLayerHoughAlg("MuonLayerHoughAlg" + postFix,
168 TgcPrepDataContainer = "TGC_Measurements",
169 RpcPrepDataContainer = "RPC_Measurements",
170 CscPrepDataContainer = ("CSC_Clusters" if flags.Detector.GeometryCSC else ""),
171 MdtPrepDataContainer = "MDT_DriftCircles",
172 sTgcPrepDataContainer = ("STGC_Measurements" if flags.Detector.GeometrysTGC else ""),
173 MMPrepDataContainer = ("MM_Measurements" if flags.Detector.GeometryMM else "") )
174 acc.addEventAlgo(theMuonLayerHough)
175 theSegmentFinderAlg = CompFactory.MuonSegmentFinderAlg("MuonSegmentFinderAlg" + postFix)
176 if not flags.Detector.GeometryCSC:
177 theSegmentFinderAlg.CSC_clusterkey = ""
178 theSegmentFinderAlg.Csc2dSegmentMaker = ""
179 theSegmentFinderAlg.Csc4dSegmentMaker = ""
180 acc.addEventAlgo(theSegmentFinderAlg)
181 xAODMuonSegmentCnv = CompFactory.xAODMaker.MuonSegmentCnvAlg("MuonSegmentCnvAlg" + postFix)
182 acc.addEventAlgo(xAODMuonSegmentCnv)
183 return acc
184
185
186

◆ RPCTriggerConfig()

python.Lvl1MuonSimulationConfig.RPCTriggerConfig ( flags)

Definition at line 288 of file Lvl1MuonSimulationConfig.py.

288def RPCTriggerConfig(flags):
289 acc = ComponentAccumulator()
290 rpcAlg = CompFactory.TrigT1RPC("TrigT1RPC",
291 Hardware = True,
292 DataDetail = False,
293 RPCbytestream = False,
294 RPCbytestreamFile = "",
295 RPCDigitContainer = "RPC_DIGITS_L1",
296 useRun3Config = True,
297 NOBXS=flags.Trigger.L1MuonSim.RPCNBX,
298 BCZERO=flags.Trigger.L1MuonSim.RPCNBCZ)
299 acc.addEventAlgo(rpcAlg)
300 from MuonConfig.MuonCablingConfig import RPCCablingConfigCfg
301 acc.merge( RPCCablingConfigCfg(flags) ) # trigger roads
302 return acc
303

◆ TGCModifierConfig()

python.Lvl1MuonSimulationConfig.TGCModifierConfig ( flags)

Definition at line 343 of file Lvl1MuonSimulationConfig.py.

343def TGCModifierConfig(flags):
344 acc = ComponentAccumulator()
345 if not flags.Trigger.L1MuonSim.EmulateNSW:
346 return acc
347 recTool = CompFactory.LVL1.TrigT1TGCRecRoiTool("TrigT1TGCRecRoiToolLegacy")
348 recTool.UseRun3Config=False # this is intentional
349 tgcModifier = CompFactory.LVL1TGCTrigger.TGCOutputModifier("TGCOutputModifier",
350 TrigT1TGCRecRoiTool=recTool,
351 InputMuctpiLocation = "L1MuctpiStoreTGCint",
352 OutputMuctpiLocation = "L1MuctpiStoreTGC",
353 EmulateA = True,
354 EmulateC = True,
355 NSWVetoMode = flags.Trigger.L1MuonSim.NSWVetoMode )
356 acc.addEventAlgo(tgcModifier)
357 return acc
358

◆ TGCTriggerConfig()

python.Lvl1MuonSimulationConfig.TGCTriggerConfig ( flags)

Definition at line 304 of file Lvl1MuonSimulationConfig.py.

304def TGCTriggerConfig(flags):
305 acc = ComponentAccumulator()
306 tgcAlg = CompFactory.LVL1TGCTrigger.LVL1TGCTrigger("LVL1TGCTrigger",
307 InputData_perEvent = "TGC_DIGITS_L1",
308 InputRDO = "TGCRDO" if flags.Input.isMC else "TGCRDO_L1",
309 useRun3Config = True,
310 TileMuRcv_Input = "rerunTileMuRcvCnt",
311 TILEMU = True)
312 if (flags.Detector.GeometrysTGC or flags.Detector.GeometryMM):
313 tgcAlg.MaskFileName12 = "TrigT1TGCMaskedChannel.noFI._12.db"
314 tgcAlg.USENSW = True
315 tgcAlg.NSWSideInfo = "AC"
316 tgcAlg.NSWTrigger_Input = "L1_NSWTrigContainer"
317 tgcAlg.FORCENSWCOIN = not flags.Trigger.L1MuonSim.NSWVetoMode
318 tgcAlg.USEBIS78 = flags.Trigger.L1MuonSim.doBIS78
319 else:
320 tgcAlg.MaskFileName12 = "TrigT1TGCMaskedChannel._12.db"
321
322 if flags.Trigger.L1MuonSim.EmulateNSW:
323 tgcAlg.MuctpiPhase1LocationTGC = "L1MuctpiStoreTGCint"
324
325 if flags.Input.Format is Format.BS:
326 from TriggerJobOpts.TriggerByteStreamConfig import ByteStreamReadCfg
327 readBSConfig = ByteStreamReadCfg(flags, ['ByteStreamMetadataContainer/ByteStreamMetadata'])
328 acc.merge(readBSConfig)
329 else:
330 tgcAlg.ByteStreamMetadataRHKey = ''
331 acc.addEventAlgo(tgcAlg)
332
333 from PathResolver import PathResolver
334 bwCW_Run3_filePath=PathResolver.FindCalibFile("TrigT1TGC_CW/BW/CW_BW_Run3.v01.db")
335 acc.merge(addFolders(flags, '<db>sqlite://;schema={0};dbname=OFLP200</db> /TGC/TRIGGER/CW_BW_RUN3'.format(bwCW_Run3_filePath),
336 tag='TgcTriggerCwBwRun3-01',
337 className='CondAttrListCollection'))
338 acc.addCondAlgo(CompFactory.TGCTriggerCondAlg())
339 from MuonConfig.MuonCablingConfig import TGCCablingConfigCfg
340 acc.merge( TGCCablingConfigCfg(flags) )
341 return acc
342
static std::string FindCalibFile(const std::string &logical_file_name)

◆ TMDBConfig()

python.Lvl1MuonSimulationConfig.TMDBConfig ( flags)

Definition at line 8 of file Lvl1MuonSimulationConfig.py.

8def TMDBConfig(flags):
9 acc = ComponentAccumulator()
10
11 # Read MuRcvRawChCnt from the input file (for POOL directly, for BS via converter)
12 if flags.Input.Format is Format.POOL:
13 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
14 acc.merge(SGInputLoaderCfg(flags, ["TileRawChannelContainer/MuRcvRawChCnt"]))
15 else:
16 from TriggerJobOpts.TriggerByteStreamConfig import ByteStreamReadCfg
17 acc.merge(ByteStreamReadCfg(flags, ["TileRawChannelContainer/MuRcvRawChCnt"]))
18
19 from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg
20 acc.merge( TileInfoLoaderCfg(flags) )
21
22 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
23 acc.merge(TileCablingSvcCfg(flags))
24
25 from TileConditions.TileEMScaleConfig import TileEMScaleCondAlgCfg
26 acc.merge( TileEMScaleCondAlgCfg(flags) )
27
28 tmdbAlg = CompFactory.TileMuonReceiverDecision('TileMuonReceiverDecision'
29 , TileRawChannelContainer = "MuRcvRawChCnt" # input
30 , TileMuonReceiverContainer = "rerunTileMuRcvCnt" # output
31 , ManualRunPeriod = 2 # forcing Run 2 format (=2) for now, until TGC implements Run 3 format (=3)
32 # run 2 thresholds
33 , MuonReceiverEneThreshCellD6Low = 500
34 , MuonReceiverEneThreshCellD6andD5Low = 500
35 , MuonReceiverEneThreshCellD6High = 600
36 , MuonReceiverEneThreshCellD6andD5High = 600
37 # run 3 thresholds
38 , MuonReceiverEneThreshCellD5 = 500
39 , MuonReceiverEneThreshCellD6 = 500
40 , MuonReceiverEneThreshCellD5andD6 = 500)
41 acc.addEventAlgo(tmdbAlg)
42 return acc
43

Variable Documentation

◆ acc

python.Lvl1MuonSimulationConfig.acc = MainServicesCfg(flags)

Definition at line 414 of file Lvl1MuonSimulationConfig.py.

◆ Files

python.Lvl1MuonSimulationConfig.Files

Definition at line 406 of file Lvl1MuonSimulationConfig.py.

◆ flags

python.Lvl1MuonSimulationConfig.flags = initConfigFlags()

Definition at line 405 of file Lvl1MuonSimulationConfig.py.

◆ MaxEvents

python.Lvl1MuonSimulationConfig.MaxEvents

Definition at line 407 of file Lvl1MuonSimulationConfig.py.

◆ NumThreads

python.Lvl1MuonSimulationConfig.NumThreads

Definition at line 408 of file Lvl1MuonSimulationConfig.py.

◆ printDefaults

python.Lvl1MuonSimulationConfig.printDefaults

Definition at line 424 of file Lvl1MuonSimulationConfig.py.

◆ summariseProps

python.Lvl1MuonSimulationConfig.summariseProps

Definition at line 424 of file Lvl1MuonSimulationConfig.py.

◆ triggerMenuSetup

python.Lvl1MuonSimulationConfig.triggerMenuSetup

Definition at line 409 of file Lvl1MuonSimulationConfig.py.

◆ True

python.Lvl1MuonSimulationConfig.True

Definition at line 424 of file Lvl1MuonSimulationConfig.py.

◆ withDetails

python.Lvl1MuonSimulationConfig.withDetails

Definition at line 424 of file Lvl1MuonSimulationConfig.py.