From 73dea3c8a5c54c47973d865a317bec13c40e0961 Mon Sep 17 00:00:00 2001 From: Daniele Zanzi <daniele.zanzi@cern.ch> Date: Mon, 5 Apr 2021 05:54:26 +0000 Subject: [PATCH] split enableL1Phase1 flag (ATR-23110) --- .../python/MTCalibPebConfig.py | 6 +- .../TrigExPartialEB/share/MTCalibPeb.py | 3 +- .../python/MuonCablingConfig.py | 4 +- .../MuonConfig/python/MuonCablingConfig.py | 2 +- .../python/AnalysisTriggerAlgsCAConfig.py | 4 +- .../python/AnalysisTriggerAlgsConfig.py | 4 +- .../Digitization/share/LVL1Digitization.py | 2 +- .../TrigL2MuonSA/python/TrigL2MuonSAConfig.py | 2 +- .../L1Decoder/python/L1DecoderConfig.py | 32 +++++---- .../python/L1TopoSimulationConfig.py | 6 +- .../share/TrigT1CTMonitoringJobOptions.py | 2 +- ...MonitoringJobOptions_forRecExCommission.py | 2 +- .../TrigT1CTP/python/CTPSimulationConfig.py | 4 +- .../python/TrigT1ResultByteStreamConfig.py | 14 ++-- ...rig_data_v1Dev_rerunL1Only_phase1_build.py | 3 +- ...st_trig_mc_v1Dev_L1SimOnly_phase1_build.py | 3 +- ...t_trig_mc_v1Dev_slice_muon_phase1_build.py | 2 +- .../Lvl1MuonSimulationConfigOldStyle.py | 10 +-- .../python/Lvl1SimulationConfig.py | 69 +++++++++++++------ .../TriggerJobOpts/python/Modifiers.py | 14 ++-- .../python/TriggerConfigFlags.py | 10 ++- .../python/TriggerTransBSConfig.py | 4 +- .../TriggerJobOpts/share/runHLT_standalone.py | 8 ++- .../python/HLTMenuConfig/Muon/MuonSetup.py | 6 +- .../python/HLTMenuConfig/Muon/generateMuon.py | 2 +- 25 files changed, 134 insertions(+), 84 deletions(-) diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/python/MTCalibPebConfig.py b/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/python/MTCalibPebConfig.py index 54c2ac3e3f1e..578160983896 100644 --- a/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/python/MTCalibPebConfig.py +++ b/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/python/MTCalibPebConfig.py @@ -97,7 +97,8 @@ class MTCalibPebHypoOptions: self.PEBROBList = [] self.PEBSubDetList = [] self.CreateRandomData = {} - self.EnableL1Phase1 = False # Sets ConfigFlags.Trigger.enableL1Phase1 + self.EnableL1CaloPhase1 = False # Sets ConfigFlags.Trigger.enableL1CaloPhase1 + self.EnableL1MuonPhase1 = False # Sets ConfigFlags.Trigger.enableL1MuonPhase1 self.EnableL1CaloLegacy = True # Sets ConfigFlags.Trigger.enableL1CaloLegacy @@ -111,7 +112,8 @@ def set_flags(flags, options=default_options): flags.IOVDb.DatabaseInstance = 'CONDBR2' flags.IOVDb.GlobalTag = flags.Trigger.OnlineCondTag flags.Trigger.triggerMenuSetup = 'LS2_v1' - flags.Trigger.enableL1Phase1 = options.EnableL1Phase1 + flags.Trigger.enableL1MuonPhase1 = options.EnableL1MuonPhase1 + flags.Trigger.enableL1CaloPhase1 = options.EnableL1CaloPhase1 flags.Trigger.enableL1CaloLegacy = options.EnableL1CaloLegacy flags.Trigger.L1Decoder.forceEnableAllChains = True diff --git a/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/share/MTCalibPeb.py b/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/share/MTCalibPeb.py index 5632f4d9792e..eebfc16195d5 100644 --- a/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/share/MTCalibPeb.py +++ b/HLT/Trigger/TrigControl/TrigExamples/TrigExPartialEB/share/MTCalibPeb.py @@ -27,7 +27,8 @@ MTCalibPebConfig.default_options.TimeBetweenROBReqMillisec = get_opt('TimeBetwee MTCalibPebConfig.default_options.PEBROBList = get_opt('PEBROBList', []) MTCalibPebConfig.default_options.PEBSubDetList = get_opt('PEBSubDetList', []) MTCalibPebConfig.default_options.CreateRandomData = get_opt('CreateRandomData', {}) -MTCalibPebConfig.default_options.EnableL1Phase1 = get_opt('EnableL1Phase1', False) +MTCalibPebConfig.default_options.EnableL1CaloPhase1 = get_opt('EnableL1CaloPhase1', False) +MTCalibPebConfig.default_options.EnableL1MuonPhase1 = get_opt('EnableL1MuonPhase1', False) MTCalibPebConfig.default_options.EnableL1CaloLegacy = get_opt('EnableL1CaloLegacy', True) # SGInputLoader takes care of unmet input dependencies (e.g. triggering conversion from BS) diff --git a/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py b/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py index 8131f42c4d5d..807b207393b9 100644 --- a/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py +++ b/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py @@ -49,8 +49,8 @@ if DetFlags.readRDOBS.RPC_on() or DetFlags.readRDOPool.RPC_on() or DetFlags.read # without the following line, the MuonRPC_CablingSvc is not part of the ServiceMgr, thus add flake8 ignore flag import MuonRPC_Cabling.MuonRPC_CablingConfig # noqa: F401 from AthenaConfiguration.AllConfigFlags import ConfigFlags - enableL1Phase1 = ConfigFlags.Trigger.enableL1Phase1 if ConfigFlags.Trigger.enableL1Phase1 is not None else False - if enableL1Phase1: + enableL1MuonPhase1 = ConfigFlags.Trigger.enableL1MuonPhase1 if ConfigFlags.Trigger.enableL1MuonPhase1 is not None else False + if enableL1MuonPhase1: ServiceMgr.MuonRPC_CablingSvc.RPCTriggerRoadsfromCool = False from PathResolver import PathResolver ServiceMgr.MuonRPC_CablingSvc.DatabaseRepository=PathResolver.FindCalibDirectory("MuonRPC_Cabling/RUN3_roads_4_6_8_10_12") diff --git a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py index b5c9eaf53ee5..aa3b05ba07cc 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py @@ -30,7 +30,7 @@ def RPCCablingConfigCfg(flags): rpcCablingSvc.ConfFileName = 'LVL1confAtlas.data' # this should come from config flag maybe ??? rpcCablingSvc.CorrFileName = 'LVL1confAtlas.corr' rpcCablingSvc.ConfFilePath = 'MuonRPC_Cabling/' - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: rpcCablingSvc.RPCTriggerRoadsfromCool = False from PathResolver import PathResolver rpcCablingSvc.DatabaseRepository=PathResolver.FindCalibDirectory("MuonRPC_Cabling/RUN3_roads_4_6_8_10_12") diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsCAConfig.py b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsCAConfig.py index 367c811d0eaf..eded8d08d109 100644 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsCAConfig.py +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsCAConfig.py @@ -4,13 +4,13 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory def RoIBResultToxAODCfg(flags): - if flags.Trigger.enableL1Phase1 and not flags.Trigger.enableL1CaloLegacy: + if (flags.Trigger.enableL1MuonPhase1 and flags.Trigger.enableL1CaloPhase1) and not flags.Trigger.enableL1CaloLegacy: # No Run-2 L1 RoIs -> nothing to covert to xAOD -> don't add RoIBResultToxAOD return ComponentAccumulator() acc = ComponentAccumulator() alg = CompFactory.RoIBResultToxAOD('RoIBResultToxAOD') - alg.DoMuon = not flags.Trigger.enableL1Phase1 + alg.DoMuon = not flags.Trigger.enableL1MuonPhase1 alg.DoCalo = flags.Trigger.enableL1CaloLegacy acc.addEventAlgo(alg) diff --git a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsConfig.py b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsConfig.py index b1becc3b3145..76dcee35f7b3 100644 --- a/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsConfig.py +++ b/PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerAlgs/python/AnalysisTriggerAlgsConfig.py @@ -60,9 +60,9 @@ class DefaultRoIBResultToAOD( genConfRoIBResultToAOD ): #TGC and RPC RecRoiTools from TrigT1MuonRecRoiTool.TrigT1MuonRecRoiToolConf import LVL1__TrigT1RPCRecRoiTool, LVL1__TrigT1TGCRecRoiTool from AthenaConfiguration.AllConfigFlags import ConfigFlags - rpcRecRoiTool = LVL1__TrigT1RPCRecRoiTool("RPCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1Phase1) + rpcRecRoiTool = LVL1__TrigT1RPCRecRoiTool("RPCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1MuonPhase1) self.RecRpcRoiTool = rpcRecRoiTool - tgcRecRoiTool = LVL1__TrigT1TGCRecRoiTool("TGCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1Phase1) + tgcRecRoiTool = LVL1__TrigT1TGCRecRoiTool("TGCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1MuonPhase1) self.RecTgcRoiTool = tgcRecRoiTool else: self.RecRpcRoiTool="" diff --git a/Simulation/Digitization/share/LVL1Digitization.py b/Simulation/Digitization/share/LVL1Digitization.py index 92f0ce869753..894db71b8de8 100755 --- a/Simulation/Digitization/share/LVL1Digitization.py +++ b/Simulation/Digitization/share/LVL1Digitization.py @@ -115,7 +115,7 @@ if DetFlags.digitize.LVL1_on(): #-------------------------------------------------------------- if DetFlags.simulateLVL1.RPC_on() or DetFlags.simulateLVL1.TGC_on(): from AthenaConfiguration.AllConfigFlags import ConfigFlags - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1 topSequence += L1MuctpiPhase1() else: diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig.py index a563c6b6e355..695c2511fe4d 100644 --- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig.py +++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig.py @@ -13,7 +13,7 @@ log = logging.getLogger('TrigL2MuonSAConfig') theStationFitter = MuonSA.TrigL2MuonSA__MuFastStationFitter(PtFromAlphaBeta = MuonSA.TrigL2MuonSA__PtFromAlphaBeta()) from TrigT1MuonRecRoiTool.TrigT1MuonRecRoiToolConf import LVL1__TrigT1RPCRecRoiTool -trigRpcRoiTool = LVL1__TrigT1RPCRecRoiTool("RPCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1Phase1) +trigRpcRoiTool = LVL1__TrigT1RPCRecRoiTool("RPCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1MuonPhase1) theDataPreparator = MuonSA.TrigL2MuonSA__MuFastDataPreparator() theDataPreparator.RPCDataPreparator = MuonSA.TrigL2MuonSA__RpcDataPreparator( TrigT1RPCRecRoiTool = trigRpcRoiTool) diff --git a/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py b/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py index 35938737cc29..363b10ac66d6 100644 --- a/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py +++ b/Trigger/TrigSteer/L1Decoder/python/L1DecoderConfig.py @@ -96,8 +96,8 @@ def createMuonRoIUnpackers(flags): Decisions = mapThresholdToL1DecisionCollection("MU"), OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("MU"))) - muUnpacker.OutputRecRoIs = "" if flags.Trigger.enableL1Phase1 else "HLT_RecMURoIs" - muUnpacker.MuRoILinkName = "LVL1MuonRoIs" if flags.Trigger.enableL1Phase1 else "" + muUnpacker.OutputRecRoIs = "" if flags.Trigger.enableL1MuonPhase1 else "HLT_RecMURoIs" + muUnpacker.MuRoILinkName = "LVL1MuonRoIs" if flags.Trigger.enableL1MuonPhase1 else "" muUnpacker.MonTool = RoIsUnpackingMonitoring( prefix="MU", maxCount=20 ) return [muUnpacker] @@ -114,14 +114,20 @@ def createKeyWriterTool(): keyWriter.IncludeL1PrescaleKey = False return keyWriter -def getL1TriggerResultMaker(): +def getL1TriggerResultMaker(flags): l1trMaker = CompFactory.L1TriggerResultMaker() # Muon RoIs - l1trMaker.MuRoIKey = "LVL1MuonRoIs" + if flags.Trigger.enableL1MuonPhase1: + l1trMaker.MuRoIKey = "LVL1MuonRoIs" + else: + l1trMaker.MuRoIKey = "" # L1Calo RoIs - l1trMaker.eFexEMRoIKey = "L1_eEMRoI" + if flags.Trigger.enableL1CaloPhase1: + l1trMaker.eFexEMRoIKey = "L1_eEMRoI" + else: + l1trMaker.eFexEMRoIKey = "" # Placeholder for other L1 xAOD outputs: # - CTP result @@ -150,7 +156,7 @@ class L1Decoder(CompFactory.L1Decoder) : OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("FSNOSEED") )) ] # EM unpacker if TriggerFlags.doID() or TriggerFlags.doCalo(): - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1CaloPhase1: self.xAODRoIUnpackers += createCaloRoIUnpackers() if flags.Trigger.enableL1CaloLegacy: self.RoIBRoIUnpackers += createLegacyCaloRoIUnpackers() @@ -158,7 +164,7 @@ class L1Decoder(CompFactory.L1Decoder) : # MU unpacker if TriggerFlags.doMuon(): unpackers = createMuonRoIUnpackers(flags) - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: self.xAODRoIUnpackers += unpackers else: self.RoIBRoIUnpackers += unpackers @@ -185,8 +191,8 @@ def L1DecoderCfg(flags, seqName = None): acc = ComponentAccumulator() from L1Decoder.L1DecoderMonitoring import CTPUnpackingMonitoring decoderAlg = CompFactory.L1Decoder() - decoderAlg.RoIBResult = "RoIBResult" if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1Phase1 else "" - decoderAlg.L1TriggerResult = "L1TriggerResult" if flags.Trigger.enableL1Phase1 else "" + decoderAlg.RoIBResult = "RoIBResult" if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1 else "" + decoderAlg.L1TriggerResult = "L1TriggerResult" if flags.Trigger.enableL1MuonPhase1 or flags.Trigger.enableL1CaloPhase1 else "" decoderAlg.L1DecoderSummaryKey = "L1DecoderSummary" # Transient, consumed by DecisionSummaryMakerAlg decoderAlg.ctpUnpacker = CompFactory.CTPUnpackingTool( ForceEnableAllChains = flags.Trigger.L1Decoder.forceEnableAllChains, MonTool = CTPUnpackingMonitoring(512, 200) ) @@ -202,14 +208,14 @@ def L1DecoderCfg(flags, seqName = None): OutputTrigRoIs = recordable(mapThresholdToL1RoICollection("FSNOSEED")) ) ] if flags.Trigger.doCalo: - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1CaloPhase1: decoderAlg.xAODRoIUnpackers += createCaloRoIUnpackers() if flags.Trigger.enableL1CaloLegacy: decoderAlg.RoIBRoIUnpackers += createLegacyCaloRoIUnpackers() if flags.Trigger.doMuon: unpackers = createMuonRoIUnpackers(flags) - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: decoderAlg.xAODRoIUnpackers += unpackers else: decoderAlg.RoIBRoIUnpackers += unpackers @@ -228,8 +234,8 @@ def L1DecoderCfg(flags, seqName = None): acc.merge( L1TriggerByteStreamDecoderCfg(flags), sequenceName = seqName ) # Add the algorithm creating L1TriggerResult which is the input to L1Decoder (Run-3 L1) - if flags.Trigger.enableL1Phase1: - acc.addEventAlgo( getL1TriggerResultMaker(), sequenceName = seqName ) + if flags.Trigger.enableL1MuonPhase1 or flags.Trigger.enableL1CaloPhase1: + acc.addEventAlgo( getL1TriggerResultMaker(flags), sequenceName = seqName ) acc.addEventAlgo( decoderAlg, sequenceName = seqName ) diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulation/python/L1TopoSimulationConfig.py b/Trigger/TrigT1/L1Topo/L1TopoSimulation/python/L1TopoSimulationConfig.py index c9daf9272ca6..7d4ceaf1454f 100644 --- a/Trigger/TrigT1/L1Topo/L1TopoSimulation/python/L1TopoSimulationConfig.py +++ b/Trigger/TrigT1/L1Topo/L1TopoSimulation/python/L1TopoSimulationConfig.py @@ -25,7 +25,7 @@ def L1TopoSimulationMCCfg(flags): acc = ComponentAccumulator() #Grab the MUCTPI tool - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import MUCTPI_AthToolCfg muctpiTool = MUCTPI_AthToolCfg("MUCTPI_AthTool") acc.addPublicTool(muctpiTool, primary=True) @@ -44,8 +44,8 @@ def L1TopoSimulationMCCfg(flags): #Configure the MuonRoiTools for the MIP from TrigT1MuonRecRoiTool.TrigT1MuonRecRoiToolConfig import getRun3RPCRecRoiTool, getRun3TGCRecRoiTool - muProvider.RecRpcRoiTool = getRun3RPCRecRoiTool("RPCRecRoiTool", useRun3Config = flags.Trigger.enableL1Phase1) - muProvider.RecTgcRoiTool = getRun3TGCRecRoiTool("TGCRecRoiTool", useRun3Config = flags.Trigger.enableL1Phase1) + muProvider.RecRpcRoiTool = getRun3RPCRecRoiTool("RPCRecRoiTool", useRun3Config = flags.Trigger.enableL1MuonPhase1) + muProvider.RecTgcRoiTool = getRun3TGCRecRoiTool("TGCRecRoiTool", useRun3Config = flags.Trigger.enableL1MuonPhase1) emtauProvider = CompFactory.LVL1.EMTauInputProvider("EMTauInputProvider") diff --git a/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions.py b/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions.py index db46dee51cd8..07b77be7c84b 100644 --- a/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions.py +++ b/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions.py @@ -201,7 +201,7 @@ elif RunSimOnData: #writes this to the usual MuCTPICTP storegate location from AthenaConfiguration.AllConfigFlags import ConfigFlags - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1 topSequence += L1MuctpiPhase1_on_Data() else: diff --git a/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions_forRecExCommission.py b/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions_forRecExCommission.py index 54429f44839f..6dd48ab1140f 100644 --- a/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions_forRecExCommission.py +++ b/Trigger/TrigT1/TrigT1CTMonitoring/share/TrigT1CTMonitoringJobOptions_forRecExCommission.py @@ -191,7 +191,7 @@ if jp.ConcurrencyFlags.NumThreads() == 0: #no monitoring for multithreaded code #svcMgr.DSConfigSvc.readLVL1BG=True from AthenaConfiguration.AllConfigFlags import ConfigFlags - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1_on_Data topSequence += L1MuctpiPhase1_on_Data() else: diff --git a/Trigger/TrigT1/TrigT1CTP/python/CTPSimulationConfig.py b/Trigger/TrigT1/TrigT1CTP/python/CTPSimulationConfig.py index 5694728897b8..71d222741fc6 100644 --- a/Trigger/TrigT1/TrigT1CTP/python/CTPSimulationConfig.py +++ b/Trigger/TrigT1/TrigT1CTP/python/CTPSimulationConfig.py @@ -27,10 +27,10 @@ def CTPMCSimulationCfg(flags): LegacyTopoInput = "" )) log.info("Not all part of CTP simulation are enabled yet") - if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1: roib = CompFactory.ROIB.RoIBuilder("RoIBuilder", DoCalo = flags.Trigger.enableL1CaloLegacy, - DoMuon = not flags.Trigger.enableL1Phase1) + DoMuon = not flags.Trigger.enableL1MuonPhase1) acc.addEventAlgo(roib) diff --git a/Trigger/TrigT1/TrigT1ResultByteStream/python/TrigT1ResultByteStreamConfig.py b/Trigger/TrigT1/TrigT1ResultByteStream/python/TrigT1ResultByteStreamConfig.py index f0e412308165..b317b50683ef 100644 --- a/Trigger/TrigT1/TrigT1ResultByteStream/python/TrigT1ResultByteStreamConfig.py +++ b/Trigger/TrigT1/TrigT1ResultByteStream/python/TrigT1ResultByteStreamConfig.py @@ -57,9 +57,9 @@ def MuonRoIByteStreamToolCfg(name, flags, writeBS=False): tool.MuonRoIContainerReadKey="" tool.MuonRoIContainerWriteKey="LVL1MuonRoIs" - tool.UseRun3Config = flags.Trigger.enableL1Phase1 - tool.RPCRecRoiTool = getRun3RPCRecRoiTool(name="RPCRecRoiTool",useRun3Config=flags.Trigger.enableL1Phase1) - tool.TGCRecRoiTool = getRun3TGCRecRoiTool(name="TGCRecRoiTool",useRun3Config=flags.Trigger.enableL1Phase1) + tool.UseRun3Config = flags.Trigger.enableL1MuonPhase1 + tool.RPCRecRoiTool = getRun3RPCRecRoiTool(name="RPCRecRoiTool",useRun3Config=flags.Trigger.enableL1MuonPhase1) + tool.TGCRecRoiTool = getRun3TGCRecRoiTool(name="TGCRecRoiTool",useRun3Config=flags.Trigger.enableL1MuonPhase1) tool.TrigThresholdDecisionTool = getTrigThresholdDecisionTool(name="TrigThresholdDecisionTool") return tool @@ -71,11 +71,11 @@ def L1TriggerByteStreamDecoderCfg(flags): decoderTools = [] if not flags.Trigger.doLVL1: #if we rerun L1, don't decode the original RoIBResult - if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1: roibResultTool = RoIBResultByteStreamToolCfg(name="RoIBResultBSDecoderTool", writeBS=False) decoderTools += [roibResultTool] - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: muonRoiTool = MuonRoIByteStreamToolCfg(name="L1MuonBSDecoderTool", flags=flags, writeBS=False) decoderTools += [muonRoiTool] @@ -91,11 +91,11 @@ def L1TriggerByteStreamDecoderCfg(flags): def L1TriggerByteStreamEncoderCfg(flags): acc = ComponentAccumulator() - if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1: roibResultTool = RoIBResultByteStreamToolCfg(name="RoIBResultBSEncoderTool", writeBS=True) acc.addPublicTool(roibResultTool) - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: muonRoiTool = MuonRoIByteStreamToolCfg(name="L1MuonBSEncoderTool", flags=flags, writeBS=True) acc.addPublicTool(muonRoiTool) diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_rerunL1Only_phase1_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_rerunL1Only_phase1_build.py index e70014d8a15d..4eb4268e396c 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_rerunL1Only_phase1_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_rerunL1Only_phase1_build.py @@ -17,7 +17,8 @@ ex.threads = 1 precommand = ''.join([ "setMenu='LS2_v1';", # LS2_v1 soon to be renamed to Dev_pp_run3_v1 "doL1Sim=True;", - "enableL1Phase1=True;", + "enableL1MuonPhase1=True;", + "enableL1CaloPhase1=True;", "doEmptyMenu=True;", "doWriteBS=False;", "doWriteRDOTrigger=True;", diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_L1SimOnly_phase1_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_L1SimOnly_phase1_build.py index 452219637c6e..9ad2f1c06ece 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_L1SimOnly_phase1_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_L1SimOnly_phase1_build.py @@ -17,7 +17,8 @@ ex.threads = 1 precommand = ''.join([ "setMenu='LS2_v1';", # LS2_v1 soon to be renamed to Dev_pp_run3_v1 "doL1Sim=True;", - "enableL1Phase1=True;", + "enableL1MuonPhase1=True;", + "enableL1CaloPhase1=True;", "enableL1CaloLegacy=True;", "doEmptyMenu=True;", "doWriteBS=False;", diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_muon_phase1_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_muon_phase1_build.py index ed69c0267929..cc4a85f49c52 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_muon_phase1_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_mc_v1Dev_slice_muon_phase1_build.py @@ -16,7 +16,7 @@ ex.input = 'ttbar_phase1' ex.threads = 1 precommand = ''.join([ "setMenu='LS2_v1';", - "enableL1Phase1=True;", + "enableL1MuonPhase1=True;", "enableL1CaloLegacy=True;", # TODO: fix LvlSimulationConfig to be able to disable this "doEmptyMenu=True;", "doMuonSlice=True;", diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1MuonSimulationConfigOldStyle.py b/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1MuonSimulationConfigOldStyle.py index 8856a1772943..6ea381afebe2 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1MuonSimulationConfigOldStyle.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1MuonSimulationConfigOldStyle.py @@ -167,12 +167,12 @@ def TGCTriggerConfig(flags): tgc = CompFactory.LVL1TGCTrigger__LVL1TGCTrigger("LVL1TGCTrigger", InputData_perEvent = "TGC_DIGITS_L1", MaskFileName12 = "TrigT1TGCMaskedChannel._12.db", - useRun3Config = flags.Trigger.enableL1Phase1, + useRun3Config = flags.Trigger.enableL1MuonPhase1, TileMuRcv_Input = tmdbInput ) from IOVDbSvc.CondDB import conddb from AthenaCommon.AlgSequence import AthSequencer condSeq = AthSequencer("AthCondSeq") - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: if flags.Trigger.L1MuonSim.EmulateNSWA or flags.Trigger.L1MuonSim.EmulateNSWC: tgc.MuctpiPhase1LocationTGC = "L1MuctpiStoreTGCint" tgc.TILEMU = True @@ -214,7 +214,7 @@ def Lvl1EndcapMuonSequence(flags): tmdb = TMDBSimulationSequence(flags) tgc = TGCTriggerConfig(flags) from AthenaCommon.CFElements import seqAND - if flags.Trigger.enableL1Phase1 and ( flags.Trigger.L1MuonSim.EmulateNSWA or flags.Trigger.L1MuonSim.EmulateNSWC ): + if flags.Trigger.enableL1MuonPhase1 and ( flags.Trigger.L1MuonSim.EmulateNSWA or flags.Trigger.L1MuonSim.EmulateNSWC ): rdo2prd = MuonRdo2PrdSequence(flags) recoSegment = RecoMuonSegmentSequence(flags) tgcmod = TGCModifierConfig(flags) @@ -230,7 +230,7 @@ def Lvl1BarrelMuonSequence(flags): RPCbytestream = False, RPCbytestreamFile = "", RPCDigitContainer = "RPC_DIGITS_L1", - useRun3Config = flags.Trigger.enableL1Phase1 ) + useRun3Config = flags.Trigger.enableL1MuonPhase1 ) from IOVDbSvc.CondDB import conddb if flags.Trigger.doLVL1 and not flags.Input.isMC: @@ -249,7 +249,7 @@ def Lvl1BarrelMuonSequence(flags): return l1MuBarrelSim def Lvl1MuctpiConfig(flags): - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1: rpcRecRoiTool = CompFactory.LVL1__TrigT1RPCRecRoiTool("TrigT1RPCRecRoiTool", UseRun3Config=True) tgcRecRoiTool = CompFactory.LVL1__TrigT1TGCRecRoiTool("TrigT1TGCRecRoiTool", UseRun3Config=True) muctpiTool = CompFactory.LVL1MUCTPIPHASE1__MUCTPI_AthTool(name="MUCTPI_AthTool") diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1SimulationConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1SimulationConfig.py index 62b709503a9e..9be27439e880 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1SimulationConfig.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/Lvl1SimulationConfig.py @@ -51,7 +51,7 @@ def Lvl1SimulationSequence_Data( ConfigFlags ): CfgMgr.LVL1__RoIROD( 'RoIROD' ), ]) - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloPhase1: # Placeholder for phase-I L1Calo simulation log.info("Configuring Phase-I L1Calo simulation on data - not yet implemented") @@ -75,18 +75,45 @@ def Lvl1SimulationSequence_Data( ConfigFlags ): ################################################## # L1 Topo rerun on data ################################################## + + from AthenaCommon.AppMgr import ToolSvc + l1TopoSimDataSeq = None + from L1TopoSimulation.L1TopoSimulationConfig import L1TopoSimulation + l1TopoSimDataSeq = L1TopoSimulation() + l1TopoSimDataSeq.MuonInputProvider.ROIBResultLocation = "" #disable input from RoIBResult + + if ConfigFlags.Trigger.enableL1MuonPhase1: + from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1Tool + ToolSvc += L1MuctpiPhase1Tool("MUCTPI_AthTool") + l1TopoSimDataSeq.MuonInputProvider.MuctpiSimTool = ToolSvc.MUCTPI_AthTool + from TrigT1MuonRecRoiTool.TrigT1MuonRecRoiToolConfig import getRun3RPCRecRoiTool, getRun3TGCRecRoiTool + l1TopoSimDataSeq.MuonInputProvider.RecRpcRoiTool = getRun3RPCRecRoiTool(useRun3Config=True) + l1TopoSimDataSeq.MuonInputProvider.RecTgcRoiTool = getRun3TGCRecRoiTool(useRun3Config=True) + else: + from TrigT1Muctpi.TrigT1MuctpiConfig import L1MuctpiTool + ToolSvc += L1MuctpiTool("L1MuctpiTool") + ToolSvc.L1MuctpiTool.LVL1ConfigSvc = svcMgr.LVL1ConfigSvc + l1TopoSimDataSeq.MuonInputProvider.MuctpiSimTool = ToolSvc.L1MuctpiTool + + #TODO: is this meant to be final? + from AthenaCommon.GlobalFlags import globalflags + if globalflags.DataSource()!='data': + l1TopoSimDataSeq.MuonInputProvider.MuonEncoding = 1 + else: + l1TopoSimDataSeq.MuonInputProvider.MuonEncoding = 0 + + l1TopoSimDataSeq.MuonInputProvider.UseNewConfig = ConfigFlags.Trigger.readLVL1FromJSON + isL1TopoLegacyOutputProvided = False if ConfigFlags.Trigger.enableL1CaloLegacy: - # Placeholder for phase-I L1Calo simulation - log.info("Configuring legacy L1Topo simulation on data - not yet implemented") - isL1TopoLegacyOutputProvided = False - + isL1TopoLegacyOutputProvided = True + # TODO disable L1Topo sim not ready yet with json file + l1TopoSimDataSeq = None isL1TopoOutputProvided = False - if ConfigFlags.Trigger.enableL1Phase1: - # Placeholder for phase-I L1Muon simulation - log.info("Configuring Phase-I L1Topo simulation on data - not yet implemented") + if ConfigFlags.Trigger.enableL1MuonPhase1 or ConfigFlags.Trigger.enableL1CaloPhase1: isL1TopoOutputProvided = False - + # TODO disable L1Topo sim with Phase1, not ready yet + l1TopoSimDataSeq = None ################################################## # CTP rerun on data @@ -98,8 +125,7 @@ def Lvl1SimulationSequence_Data( ConfigFlags ): ctp = CTPSimulationInReco("CTPSimulation") ctp.DoLUCID = False ctp.DoBCM = False - ctp.DoL1Topo = not ConfigFlags.Trigger.enableL1Phase1 - ctp.UseCondL1Menu = False + #ctp.UseNewConfig = ConfigFlags.Trigger.readLVL1FromJSON #TODO ctp.TrigConfigSvc = svcMgr.LVL1ConfigSvc ctp.DoL1CaloLegacy = ConfigFlags.Trigger.enableL1CaloLegacy # to en/disable all L1CaloLegacy treatment (Mult and Topo) # muon input @@ -120,14 +146,17 @@ def Lvl1SimulationSequence_Data( ConfigFlags ): ctp.eFexTauInput = "" ctpSimDataSeq = seqAND("CTPSimDataSeq", [ctp]) - if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1RoIB.TrigT1RoIBConfig import RoIBuilder roib = RoIBuilder("RoIBuilder") roib.DoCalo = ConfigFlags.Trigger.enableL1CaloLegacy - roib.DoMuon = not ConfigFlags.Trigger.enableL1Phase1 + roib.DoMuon = not ConfigFlags.Trigger.enableL1MuonPhase1 ctpSimDataSeq += [roib] - l1SimDataSeq = seqAND("L1SimDataSeq", [l1CaloSimDataSeq, l1MuonSimDataSeq, ctpSimDataSeq] ) + if l1TopoSimDataSeq: + l1SimDataSeq = seqAND("L1SimDataSeq", [l1CaloSimDataSeq, l1MuonSimDataSeq, l1TopoSimDataSeq, ctpSimDataSeq] ) + else: + l1SimDataSeq = seqAND("L1SimDataSeq", [l1CaloSimDataSeq, l1MuonSimDataSeq, ctpSimDataSeq] ) return l1SimDataSeq @@ -189,7 +218,7 @@ def Lvl1SimulationSequence_MC( ConfigFlags ): for l1calofolder in L1CaloFolderList: conddb.addFolder( "TRIGGER_OFL", l1calofolder ) - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloPhase1: #from AthenaCommon import CfgMgr l1CaloSim += CfgMgr.LVL1__eFEXDriver('MyeFEXDriver') @@ -213,14 +242,15 @@ def Lvl1SimulationSequence_MC( ConfigFlags ): from L1TopoSimulation.L1TopoSimulationConfig import L1TopoSimulation l1TopoSim = L1TopoSimulation() l1TopoSim.MuonInputProvider.ROIBResultLocation = "" #disable input from RoIBResult - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloPhase1: + l1TopoSim.EMTAUInputProvider = 'LVL1::EMTauInputProviderFEX/EMTauInputProviderFEX' + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1Tool ToolSvc += L1MuctpiPhase1Tool("MUCTPI_AthTool") l1TopoSim.MuonInputProvider.MuctpiSimTool = ToolSvc.MUCTPI_AthTool from TrigT1MuonRecRoiTool.TrigT1MuonRecRoiToolConfig import getRun3RPCRecRoiTool, getRun3TGCRecRoiTool l1TopoSim.MuonInputProvider.RecRpcRoiTool = getRun3RPCRecRoiTool(useRun3Config=True) l1TopoSim.MuonInputProvider.RecTgcRoiTool = getRun3TGCRecRoiTool(useRun3Config=True) - l1TopoSim.EMTAUInputProvider = 'LVL1::EMTauInputProviderFEX/EMTauInputProviderFEX' else: from TrigT1Muctpi.TrigT1MuctpiConfig import L1MuctpiTool ToolSvc += L1MuctpiTool("L1MuctpiTool") @@ -243,17 +273,16 @@ def Lvl1SimulationSequence_MC( ConfigFlags ): ctp = CTPSimulationInReco("CTPSimulation") ctp.DoLUCID = False ctp.DoBCM = False - ctp.DoL1Topo = not ConfigFlags.Trigger.enableL1Phase1 ctp.DoL1CaloLegacy = ConfigFlags.Trigger.enableL1CaloLegacy # to en/disable all L1CaloLegacy treatment (Mult and Topo) ctp.UseNewConfig = ConfigFlags.Trigger.readLVL1FromJSON ctp.TrigConfigSvc = svcMgr.LVL1ConfigSvc ctpSim = seqAND("CTPSimSeq", [ctp]) - if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1RoIB.TrigT1RoIBConfig import RoIBuilder roib = RoIBuilder("RoIBuilder") roib.DoCalo = ConfigFlags.Trigger.enableL1CaloLegacy - roib.DoMuon = not ConfigFlags.Trigger.enableL1Phase1 + roib.DoMuon = not ConfigFlags.Trigger.enableL1MuonPhase1 ctpSim += [roib] diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/Modifiers.py b/Trigger/TriggerCommon/TriggerJobOpts/python/Modifiers.py index d661ecf24868..89d77a4f9f88 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/Modifiers.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/Modifiers.py @@ -450,7 +450,7 @@ class rerunLVL1(_modifier): #rederive MuCTPI inputs to CTP from muon RDO #writes this to the usual MuCTPICTP storegate location from AthenaConfiguration.AllConfigFlags import ConfigFlags - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1_on_RDO as L1Muctpi_on_RDO else: from TrigT1Muctpi.TrigT1MuctpiConfig import L1Muctpi_on_RDO @@ -465,7 +465,7 @@ class rerunLVL1(_modifier): topSequence += L1TopoSimulation() log.info( "adding L1TopoSimulation() to topSequence" ) - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1Tool as L1MuctpiTool else: from TrigT1Muctpi.TrigT1MuctpiConfig import L1MuctpiTool @@ -557,7 +557,7 @@ class rerunDMLVL1(_modifier): #rederive MuCTPI inputs to CTP from muon RDO #writes this to the usual MuCTPICTP storegate location from AthenaConfiguration.AllConfigFlags import ConfigFlags - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: from TrigT1MuctpiPhase1.TrigT1MuctpiPhase1Config import L1MuctpiPhase1_on_RDO as L1Muctpi_on_RDO else: from TrigT1Muctpi.TrigT1MuctpiConfig import L1MuctpiPhase1_on_RDO as L1Muctpi_on_RDO @@ -611,9 +611,9 @@ class rewriteLVL1(_modifier): # online from AthenaCommon.AppMgr import ServiceMgr as svcMgr svcMgr.HltEventLoopMgr.RewriteLVL1 = True - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1 or ConfigFlags.Trigger.enableL1CaloPhase1: svcMgr.HltEventLoopMgr.L1TriggerResultRHKey = 'L1TriggerResult' - if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1MuonPhase1: svcMgr.HltEventLoopMgr.RoIBResultRHKey = 'RoIBResult' else: # offline @@ -621,10 +621,10 @@ class rewriteLVL1(_modifier): from AthenaCommon.CFElements import findAlgorithm seq = AthSequencer('AthOutSeq') streamBS = findAlgorithm(seq, 'BSOutputStreamAlg') - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1 or ConfigFlags.Trigger.enableL1CaloPhase1: streamBS.ExtraInputs += [ ('xAOD::TrigCompositeContainer', 'StoreGateSvc+L1TriggerResult') ] streamBS.ItemList += [ 'xAOD::TrigCompositeContainer#L1TriggerResult' ] - if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1CaloLegacy or not ConfigFlags.Trigger.enableL1MuonPhase1: streamBS.ExtraInputs += [ ('ROIB::RoIBResult', 'StoreGateSvc+RoIBResult') ] streamBS.ItemList += [ 'ROIB::RoIBResult#RoIBResult' ] diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py index 918a9f83c8e8..9638cc4b2b28 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigFlags.py @@ -26,8 +26,14 @@ def createTriggerFlags(): # changes decoding of L1 so that allways all configured chains are enabled, testing mode flags.addFlag("Trigger.L1Decoder.forceEnableAllChains", False) - # Enable Run-3 LVL1 simulation and/or decoding - flags.addFlag('Trigger.enableL1Phase1', False) +# # Enable Run-3 LVL1 simulation and/or decoding +# flags.addFlag('Trigger.enableL1Phase1', False) + + # Enable Run-3 LVL1 muon simulation and/or decoding + flags.addFlag('Trigger.enableL1MuonPhase1', False) + + # Enable Run-3 LVL1 calo simulation and/or decoding + flags.addFlag('Trigger.enableL1CaloPhase1', False) # Enable usage of new L1 menu flags.addFlag('Trigger.readLVL1FromJSON', True) diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerTransBSConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerTransBSConfig.py index d0e5e3752886..2b5a6fd1381c 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerTransBSConfig.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerTransBSConfig.py @@ -21,12 +21,12 @@ def triggerTransBSCfg(flags, seqName="AthAlgSeq"): from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig import L1TriggerByteStreamEncoderCfg acc.merge(L1TriggerByteStreamEncoderCfg(flags)) - if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1CaloLegacy or not flags.Trigger.enableL1MuonPhase1: itemList += ["ROIB::RoIBResult#RoIBResult"] typeNames += ["MuCTPI_RDO/MUCTPI_RDO"] extraInputs += [('ROIB::RoIBResult', 'StoreGateSvc+RoIBResult')] - if flags.Trigger.enableL1Phase1: + if flags.Trigger.enableL1MuonPhase1 or flags.Trigger.enableL1CaloPhase1: itemList += ["xAOD::TrigCompositeContainer#L1TriggerResult"] extraInputs += [('xAOD::TrigCompositeContainer', 'StoreGateSvc+L1TriggerResult')] diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py index 9208d8f072ad..0832330da484 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py @@ -41,7 +41,9 @@ class opt: endJobAfterGenerate = False # Finish job after menu generation failIfNoProxy = False # Sets the SGInputLoader.FailIfNoProxy property forceEnableAllChains = False # if True, all HLT chains will run even if the L1 item is false - enableL1Phase1 = False # Enable Run-3 LVL1 simulation and/or decoding +# enableL1Phase1 = False # Enable Run-3 LVL1 simulation and/or decoding + enableL1MuonPhase1 = False # Enable Run-3 LVL1 muon simulation and/or decoding + enableL1CaloPhase1 = False # Enable Run-3 LVL1 calo simulation and/or decoding enableL1CaloLegacy = True # Enable Run-2 L1Calo simulation and/or decoding (possible even if enablePhase1 is True) #Individual slice flags doCalibSlice = True @@ -197,7 +199,9 @@ if 'doL1Sim' not in globals(): # Translate opts to flags for LVL1 ConfigFlags.Trigger.doLVL1 = opt.doL1Sim -ConfigFlags.Trigger.enableL1Phase1 = opt.enableL1Phase1 +#ConfigFlags.Trigger.enableL1Phase1 = opt.enableL1Phase1 +ConfigFlags.Trigger.enableL1MuonPhase1 = opt.enableL1MuonPhase1 +ConfigFlags.Trigger.enableL1CaloPhase1 = opt.enableL1CaloPhase1 ConfigFlags.Trigger.enableL1CaloLegacy = opt.enableL1CaloLegacy #------------------------------------------------------------- diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py index 2af104885688..e6ca3fe0add1 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py @@ -390,7 +390,7 @@ def muFastRecoSequence( RoIs, doFullScanID = False, InsideOutMode=False, extraLo else: ViewVerify.DataObjects += [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+%s' % RoIs )] ViewVerify.DataObjects += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )] - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: ViewVerify.DataObjects += [( 'xAOD::MuonRoIContainer' , 'StoreGateSvc+LVL1MuonRoIs' )] else: ViewVerify.DataObjects += [( 'DataVector< LVL1::RecMuonRoI >' , 'StoreGateSvc+HLT_RecMURoIs' )] @@ -414,7 +414,7 @@ def muFastRecoSequence( RoIs, doFullScanID = False, InsideOutMode=False, extraLo L2MdtDataPreparator.RegSel_MDT = makeRegSelTool_MDT() from TrigT1MuonRecRoiTool.TrigT1MuonRecRoiToolConf import LVL1__TrigT1RPCRecRoiTool - trigRpcRoiTool = LVL1__TrigT1RPCRecRoiTool("RPCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1Phase1) + trigRpcRoiTool = LVL1__TrigT1RPCRecRoiTool("RPCRecRoiTool", UseRun3Config=ConfigFlags.Trigger.enableL1MuonPhase1) ### RPC RDO data - turn off the data decoding here ### from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__RpcDataPreparator @@ -497,7 +497,7 @@ def muFastRecoSequence( RoIs, doFullScanID = False, InsideOutMode=False, extraLo muFastAlg.multitrackMode = True muFastAlg.doEndcapForl2mt = False - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: muFastAlg.UseRun3Config = True else: muFastAlg.UseRun3Config = False diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py index 1e6ff10965b3..4d36bde45951 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py @@ -88,7 +88,7 @@ def MuFastViewDataVerifier(): ( 'CscRawDataCollection_Cache' , 'StoreGateSvc+CscRdoCache' ), ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+L2MuFastRecoRoIs' )] from AthenaConfiguration.AllConfigFlags import ConfigFlags - if ConfigFlags.Trigger.enableL1Phase1: + if ConfigFlags.Trigger.enableL1MuonPhase1: dataobjects += [( 'xAOD::MuonRoIContainer' , 'StoreGateSvc+LVL1MuonRoIs' )] else: dataobjects += [( 'DataVector< LVL1::RecMuonRoI >' , 'StoreGateSvc+HLT_RecMURoIs' )] -- GitLab