From ca956f07292f7a06abd0839f704d79adfc287426 Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Wed, 22 Sep 2021 12:20:56 -0400
Subject: [PATCH 1/7] # This is a combination of 8 commits. # The first
 commit's message is: exclude the chains with the LowMu group and created
 dedicated prescale sets

# This is the 2nd commit message:

updates

# This is the 3rd commit message:

improved function to disable a group of chains

# This is the 4th commit message:

clean up

# This is the 5th commit message:

new refs

# This is the 6th commit message:

exclude the chains with the LowMu group and created dedicated prescale sets

# This is the 7th commit message:

updates

# This is the 8th commit message:

fixing issue created in a rebase stage
---
 .../share/ref_RDOtoRDOTrig_v1Dev_build.ref    | 35 +++----------------
 .../share/ref_v1Dev_decodeBS_build.ref        | 17 ++-------
 .../TriggerJobOpts/python/TriggerFlags.py     |  2 ++
 .../HLTMenuConfig/Menu/MenuPrescaleConfig.py  | 14 ++++++--
 .../Menu/PhysicsP1_pp_run3_v1.py              |  6 ----
 .../HLTMenuConfig/Menu/Physics_pp_run3_v1.py  |  8 ++++-
 .../python/L1/Menu/MenuMapping.py             |  4 +++
 7 files changed, 31 insertions(+), 55 deletions(-)

diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref
index 7295a10007bf..ced3e1d349dd 100644
--- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref
+++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref
@@ -334,11 +334,6 @@ HLT_2j175_a10sd_pf_nojcalib_ftf_0eta200_TracklessdR1p2_L1J100:
     1: 6
 HLT_2j20_mb_afprec_afpdijet_L1RD0_FILLED:
   eventCount: 0
-  stepCounts:
-    0: 20
-  stepFeatures:
-    0: 213
-    1: 20
 HLT_2j250_ftf_0eta240_j120_ftf_0eta240_L1J100:
   eventCount: 1
   stepCounts:
@@ -2005,19 +2000,7 @@ HLT_e17_lhmedium_tau25_mediumRNN_tracktwoMVA_xe50_cell_03dRAB_L1EM15VHI_2TAU12IM
     9: 1
     10: 1
 HLT_e20_lhloose_L1EM7:
-  eventCount: 6
-  stepCounts:
-    0: 7
-    1: 7
-    2: 6
-    3: 6
-    4: 6
-  stepFeatures:
-    0: 7
-    1: 11
-    2: 6
-    3: 9
-    4: 6
+  eventCount: 0
 HLT_e20_lhloose_L1EM7_AFP_A_AND_C:
   eventCount: 0
 HLT_e20_lhloose_L1EM7_AFP_A_OR_C:
@@ -8296,17 +8279,7 @@ HLT_mu20_2mu4noL1_L1MU14FCH:
     2: 4
     3: 4
 HLT_mu20_L1MU5VF:
-  eventCount: 4
-  stepCounts:
-    0: 11
-    1: 4
-    2: 4
-    3: 4
-  stepFeatures:
-    0: 14
-    1: 4
-    2: 4
-    3: 4
+  eventCount: 0
 HLT_mu20_L1MU5VF_AFP_A_AND_C:
   eventCount: 0
 HLT_mu20_L1MU5VF_AFP_A_OR_C:
@@ -9806,7 +9779,7 @@ HLT_noalg_L1EM3:
 HLT_noalg_L1EM3_EMPTY:
   eventCount: 0
 HLT_noalg_L1EM7:
-  eventCount: 19
+  eventCount: 0
 HLT_noalg_L1EM7_AFP_A_AND_C:
   eventCount: 0
 HLT_noalg_L1EM7_AFP_A_OR_C:
@@ -9932,7 +9905,7 @@ HLT_noalg_L1MBTS_2_EMPTY:
 HLT_noalg_L1MBTS_2_UNPAIRED_ISO:
   eventCount: 0
 HLT_noalg_L1MU5VF:
-  eventCount: 11
+  eventCount: 0
 HLT_noalg_L1MU5VF_AFP_A_AND_C:
   eventCount: 0
 HLT_noalg_L1MU5VF_AFP_A_OR_C:
diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref
index 324c97e84a5f..952f68ba51ad 100644
--- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref
+++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref
@@ -145,11 +145,6 @@ HLT_2j175_a10sd_pf_nojcalib_ftf_0eta200_TracklessdR1p2_L1J100:
   eventCount: 0
 HLT_2j20_mb_afprec_afpdijet_L1RD0_FILLED:
   eventCount: 0
-  stepCounts:
-    0: 40
-  stepFeatures:
-    0: 172
-    1: 40
 HLT_2j250_ftf_0eta240_j120_ftf_0eta240_L1J100:
   eventCount: 0
 HLT_2j250_pf_ftf_0eta240_j120_pf_ftf_0eta240_L1J100:
@@ -739,10 +734,6 @@ HLT_e17_lhmedium_tau25_mediumRNN_tracktwoMVA_xe50_cell_03dRAB_L1EM15VHI_2TAU12IM
   eventCount: 0
 HLT_e20_lhloose_L1EM7:
   eventCount: 0
-  stepCounts:
-    0: 2
-  stepFeatures:
-    0: 2
 HLT_e20_lhloose_L1EM7_AFP_A_AND_C:
   eventCount: 0
 HLT_e20_lhloose_L1EM7_AFP_A_OR_C:
@@ -3146,10 +3137,6 @@ HLT_mu20_2mu4noL1_L1MU14FCH:
     0: 1
 HLT_mu20_L1MU5VF:
   eventCount: 0
-  stepCounts:
-    0: 5
-  stepFeatures:
-    0: 6
 HLT_mu20_L1MU5VF_AFP_A_AND_C:
   eventCount: 0
 HLT_mu20_L1MU5VF_AFP_A_OR_C:
@@ -3776,7 +3763,7 @@ HLT_noalg_L1EM3:
 HLT_noalg_L1EM3_EMPTY:
   eventCount: 0
 HLT_noalg_L1EM7:
-  eventCount: 25
+  eventCount: 0
 HLT_noalg_L1EM7_AFP_A_AND_C:
   eventCount: 0
 HLT_noalg_L1EM7_AFP_A_OR_C:
@@ -3902,7 +3889,7 @@ HLT_noalg_L1MBTS_2_EMPTY:
 HLT_noalg_L1MBTS_2_UNPAIRED_ISO:
   eventCount: 0
 HLT_noalg_L1MU5VF:
-  eventCount: 6
+  eventCount: 0
 HLT_noalg_L1MU5VF_AFP_A_AND_C:
   eventCount: 0
 HLT_noalg_L1MU5VF_AFP_A_OR_C:
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index ed3e8e57e353..1c53d90bf31f 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -351,6 +351,8 @@ class triggerCoolDbConnection(JobProperty):
 _flags.append(triggerCoolDbConnection)
 
 
+>>>>>>> updates
+
 # the container of all trigger flags
 
 class Trigger(JobPropertyContainer):
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py
index f22afde43ccc..25d45bda256e 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py
@@ -7,7 +7,6 @@ log = logging.getLogger( __name__ )
 
 
 def MenuPrescaleConfig(triggerConfigHLT):
-
     L1Prescales = {}
     HLTPrescales = {}
     Prescales = PrescaleClass()
@@ -35,8 +34,12 @@ def MenuPrescaleConfig(triggerConfigHLT):
             enableChains(TriggerFlags, Prescales.HLTPrescales_primary_prescale, ['Primary:L1Muon','Primary:Legacy','Primary:PhaseI','Primary:CostAndRate'])
             L1Prescales = Prescales.L1Prescales_trigvalid_prescale
             HLTPrescales = Prescales.HLTPrescales_primary_prescale
+        elif 'TriggerValidation_prescale_lowMu' in menu_name:
+            disableChains(TriggerFlags, Prescales.HLTPrescales_trigvalid_prescale_lowMu, ["PS:Online"])
+            L1Prescales = Prescales.L1Prescales_trigvalid_prescale_lowMu
+            HLTPrescales = Prescales.HLTPrescales_trigvalid_prescale_lowMu
         elif 'TriggerValidation_prescale' in menu_name:
-            disableChains(TriggerFlags, Prescales.HLTPrescales_trigvalid_prescale, ["PS:Online"])
+            disableChains(TriggerFlags, Prescales.HLTPrescales_trigvalid_prescale, ["PS:Online","LowMu"])
             L1Prescales = Prescales.L1Prescales_trigvalid_prescale
             HLTPrescales = Prescales.HLTPrescales_trigvalid_prescale
         elif 'BulkMCProd_prescale' in menu_name:
@@ -140,6 +143,10 @@ def disableChains(flags, type_prescales, type_groups):
         for group in type_groups:
             if group in chain.groups:
                 toKeep = False
+            else: #check also the presence of a group that contains one of the labels from type_groups
+                for ch_group in chain.groups:
+                    if group in ch_group:
+                        toKeep = False
         if not toKeep:
             chain_disable_list.append(chain.name)
 
@@ -199,6 +206,9 @@ class PrescaleClass(object):
     L1Prescales_trigvalid_prescale  = {}
     HLTPrescales_trigvalid_prescale = {}
 
+    L1Prescales_trigvalid_prescale_lowMu  = {}
+    HLTPrescales_trigvalid_prescale_lowMu = {}
+
     L1Prescales_bulkmcprod_prescale  = {}
     HLTPrescales_bulkmcprod_prescale = {}
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/PhysicsP1_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/PhysicsP1_pp_run3_v1.py
index 432ed6f3a141..f3f421e14446 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/PhysicsP1_pp_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/PhysicsP1_pp_run3_v1.py
@@ -54,12 +54,6 @@ def addP1Signatures():
           #ChainProp(name='HLT_beamspot_activeTE_trkfast_L1J15',  l1SeedThresholds=['FSNOSEED'], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
           #ChainProp(name='HLT_beamspot_trkFS_trkfast_L1J15',  l1SeedThresholds=['FSNOSEED'], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
     ]   
-    TriggerFlags.MinBiasSlice.signatures   = TriggerFlags.MinBiasSlice.signatures() + [
-        ChainProp(name='HLT_mb_sptrk_L1RD0_FILLED', l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=['PS:Online',MinBiasGroup]),
-        ChainProp(name='HLT_mb_sp_L1RD0_FILLED', l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=['PS:Online',MinBiasGroup]),
-        ChainProp(name='HLT_mb_alfaperf_L1RD0_FILLED', l1SeedThresholds=['FSNOSEED'], stream=['DISCARD'], groups=MinBiasGroup+['PS:Online']),
-        ChainProp(name='HLT_mb_alfaperf_L1RD0_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['DISCARD'], groups=MinBiasGroup+['PS:Online']),
-    ]
     TriggerFlags.CalibSlice.signatures     = TriggerFlags.CalibSlice.signatures() + [
         ChainProp(name='HLT_noalg_LArPEBCalib_L1RD0_EMPTY', l1SeedThresholds=['FSNOSEED'], stream=['LArPEB'], groups=['RATE:Calibration','BW:Detector']),
         ChainProp(name='HLT_noalg_LArPEBCalib_L1RD0_BGRP11', l1SeedThresholds=['FSNOSEED'], stream=['LArPEB'], groups=['RATE:Calibration','BW:Detector']),
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
index d0d66e88bca1..5dea6292d533 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
@@ -566,7 +566,13 @@ def setupMenu():
    ]
     TriggerFlags.HeavyIonSlice.signatures  = []
     TriggerFlags.BeamspotSlice.signatures  = []
-    TriggerFlags.MinBiasSlice.signatures   = []
+    # TriggerFlags.MinBiasSlice.signatures   = []
+    TriggerFlags.MinBiasSlice.signatures   = [
+        ChainProp(name='HLT_mb_sptrk_L1RD0_FILLED',    l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=['PS:Online']+LowMuGroup+MinBiasGroup),
+        ChainProp(name='HLT_mb_sp_L1RD0_FILLED',       l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=['PS:Online']+LowMuGroup+MinBiasGroup),
+        ChainProp(name='HLT_mb_alfaperf_L1RD0_FILLED', l1SeedThresholds=['FSNOSEED'], stream=['DISCARD'],     groups=['PS:Online']+LowMuGroup+MinBiasGroup),
+        ChainProp(name='HLT_mb_alfaperf_L1RD0_EMPTY',  l1SeedThresholds=['FSNOSEED'], stream=['DISCARD'],     groups=['PS:Online']+LowMuGroup+MinBiasGroup),
+    ]
     TriggerFlags.CalibSlice.signatures     = []
     TriggerFlags.CosmicSlice.signatures    = []
     TriggerFlags.StreamingSlice.signatures = []
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py
index 163616bbdc9d..81974c26ac12 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py
@@ -23,4 +23,8 @@ menuMap = {
     "LS2_v1_TriggerValidation_prescale" : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
     "LS2_v1_BulkMCProd_prescale"        : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
     "LS2_v1_CPSampleProd_prescale"      : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
+    "LS2_v1_TriggerValidation_prescale_lowMu" : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
+    "Physics_pp_run3_v1_lowMu"                : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
+    "PhysicsP1_pp_run3_v1_lowMu"              : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
+
 }
-- 
GitLab


From 0f14a05c9d9eb354ec276ab7ef2117f061ad0d08 Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Tue, 28 Sep 2021 11:54:53 -0400
Subject: [PATCH 2/7] exclude the chains with the LowMu group and created
 dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

fixing issue created in a rebase stage

exclude the chains with the LowMu group and created dedicated prescale sets
---
 .../python/HLTMenuConfig/Menu/GenerateMenuMT.py |  4 ++++
 .../HLTMenuConfig/Menu/HLTPrescaleJSON.py       | 17 ++++++++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
index 6fad58661b5c..ca3f9ccc290e 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
@@ -21,6 +21,8 @@ from ..CommonSequences import EventBuildingSequences
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from .ComboHypoHandling import addTopoInfo, comboConfigurator, topoLegIndices
 
+from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import LowMuGroup
+
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
@@ -547,6 +549,8 @@ class GenerateMenuMT(object, metaclass=Singleton):
 
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTPrescaleJSON import generateJSON as generatePrescaleJSON
         generatePrescaleJSON()
+        log.info("Generating HLT prescale JSON for LowMu...")
+        generatePrescaleJSON(LowMuGroup[0].split(":")[-1])
 
         log.info('Generating HLTMonitoring JSON...')
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTMonitoringJSON import generateDefaultMonitoringJSON
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
index ca03f5a7ac1a..949e83d2489d 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
@@ -6,15 +6,25 @@ from TrigConfigSvc.TrigConfigSvcCfg import getHLTPrescalesSetFileName
 from AthenaCommon.Logging import logging
 __log = logging.getLogger( __name__ )
 
+from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import LowMuGroup
 
-def __generateJSON( chainDicts, chainConfigs, menuName, fileName ):
+def __generateJSON( chainDicts, chainConfigs, menuName, fileName, selected_group="" ):
     """ Generates JSON given the ChainProps and sequences
     """
     # Prescale dictionary that is used to create the JSON content
     prescaleDict = odict([ ("filetype", "hltprescale"), ("name", menuName), ("prescales", odict()) ])
 
+    if selected_group!="":
+        fileName = fileName+"_"+selected_group
+
     from TriggerMenuMT.HLTMenuConfig.Menu import StreamInfo
     for chain in chainDicts:
+        if selected_group != "":
+            overlap = [x for x in LowMuGroup if x in chain["groups"]]
+            if len(overlap) != 0:
+                continue
+        elif selected_group not in chain["groups"]:
+            continue
         # Prepare information for stream list
         chainStreamTags = []
         for streamName in chain["stream"]:
@@ -49,7 +59,7 @@ def __generateJSON( chainDicts, chainConfigs, menuName, fileName ):
         json.dump( prescaleDict, fp, indent=4, sort_keys=False )
 
 
-def generateJSON():
+def generateJSON(group_to_use=""):
     __log.info("Generating HLT Prescale JSON in the rec-ex-common job")
     from AthenaConfiguration.AllConfigFlags import ConfigFlags
     from TriggerMenuMT.HLTMenuConfig.Menu.TriggerConfigHLT import TriggerConfigHLT
@@ -57,7 +67,8 @@ def generateJSON():
     return __generateJSON( TriggerConfigHLT.dictsList(),
                            TriggerConfigHLT.configsList(),
                            ConfigFlags.Trigger.triggerMenuSetup,
-                           getHLTPrescalesSetFileName(ConfigFlags) )
+                           getHLTPrescalesSetFileName(ConfigFlags),
+                           group_to_use)
 
 def generateJSON_newJO( chainDicts, chainConfigs ):
     __log.info("Generating HLT Prescale JSON in the new JO")
-- 
GitLab


From 84071906cf1232b7cd145469ec4380ff4e874f72 Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Tue, 28 Sep 2021 11:57:07 -0400
Subject: [PATCH 3/7] # This is a combination of 4 commits. # The first
 commit's message is: exclude the chains with the LowMu group and created
 dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

fixing issue created in a rebase stage

exclude the chains with the LowMu group and created dedicated prescale sets

updates

# This is the 2nd commit message:

improved function to disable a group of chains

# This is the 3rd commit message:

clean up

# This is the 4th commit message:

new refs
---
 .../TriggerJobOpts/python/TriggerFlags.py     | 180 ++++++++++++++++++
 .../HLTMenuConfig/Menu/GenerateMenuMT.py      |   4 -
 .../HLTMenuConfig/Menu/HLTPrescaleJSON.py     |  18 +-
 3 files changed, 183 insertions(+), 19 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index 1c53d90bf31f..f55b31ddb5c3 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -350,6 +350,186 @@ class triggerCoolDbConnection(JobProperty):
 
 _flags.append(triggerCoolDbConnection)
 
+class outputLVL1configFile(JobProperty):
+    """ File name for output LVL1 configuration XML file """
+    statusOn=True
+    StoredValue=""
+
+    def __call__(self):
+        if self.get_Value() == "":
+            return "LVL1config_"+_getMenuBaseName(TriggerFlags.triggerMenuSetup())+"_" + TriggerFlags.menuVersion() + ".xml"
+        else:
+            return self.get_Value()
+        
+_flags.append(outputLVL1configFile)
+
+
+class inputLVL1configFile(JobProperty):
+    """ File name for input LVL1 configuration XML file """
+    statusOn=True
+#    allowedType=['str']
+#   The following default is appropriate when XML cofig is the default
+#    StoredValue="TriggerMenuXML/LVL1config_default_" + TriggerFlags.menuVersion() + ".xml"
+#   The following default is appropriate when python config is the default
+    StoredValue=""
+#    StoredValue = "TriggerMenuXML/LVL1config_default_" + TriggerFlags.menuVersion() + ".xml"
+
+    def __call__(self):
+        if self.get_Value() == "":
+            return "LVL1config_"+_getMenuBaseName(TriggerFlags.triggerMenuSetup())+"_" + TriggerFlags.menuVersion() + ".xml"
+        else:
+            return self.get_Value()
+
+_flags.append(inputLVL1configFile)
+
+# remove prescale suffixes
+def _getMenuBaseName(menuName):
+    m = re.match(r'(.*v\d(?:_primaries)?).*', menuName)
+    if m:
+        menuName = m.groups()[0]
+    return menuName
+
+
+# =================
+#
+# trigger menu flags - menu version, prescale sets
+#
+# =================
+class menuVersion(JobProperty):
+    """ Defines the menu version to use, usually the same as the release number. This is part of the XML file name. """
+    statusOn=True
+    allowedType=['str']
+    
+    from AthenaCommon.AppMgr import release_metadata
+    StoredValue = release_metadata()['release']  # returns '?' if missing
+    
+_flags.append(menuVersion)
+
+
+class triggerMenuSetup(JobProperty):
+    """ Defines the luminosity dependent setup of trigger lumi01 == 10^33, switches on/off signatures """
+    statusOn=True
+    allowedType=['str']
+    allowedValues = [
+        'default', 'cosmic_default', 'InitialBeam_default',
+        # menus for 10^31 with EMScale L1 calib
+        'Physics_lumi1E31_simpleL1Calib','Physics_lumi1E31_simpleL1Calib_no_prescale',
+        'MC_lumi1E31_simpleL1Calib','MC_lumi1E31_simpleL1Calib_no_prescale',
+        'MC_lumi1E31_simpleL1Calib_physics_prescale',
+        # menus for 10^32 with EMScale L1 calib
+        'Physics_lumi1E32_simpleL1Calib','Physics_lumi1E32_simpleL1Calib_no_prescale',
+        'MC_lumi1E32_simpleL1Calib','MC_lumi1E32_simpleL1Calib_no_prescale',
+        'MC_lumi1E32_simpleL1Calib_physics_prescale',
+        # menus for 10^33
+        'Physics_lumi1E33','Physics_lumi1E33_no_prescale',
+        'MC_lumi1E33','MC_lumi1E33_no_prescale',
+        'Physics_lumi1E34','Physics_lumi1E34_no_prescale',
+        'MC_lumi1E34','MC_lumi1E34_no_prescale',
+        #
+        'Cosmics','Cosmic_v1', 'Cosmic2009_v1', 'Cosmic2009_v2', 
+        'InitialBeam_v1', 'MC_InitialBeam_v1', 'MC_InitialBeam_v1_no_prescale',
+        'Cosmic2009_simpleL1Calib', 'Cosmic2009_inclMuons',
+        'enhBias',
+        # for 2010 running
+        'Cosmic_v2','Cosmic_v3',
+        'InitialBeam_v2', 'MC_InitialBeam_v2', 'MC_InitialBeam_v2_no_prescale',
+        'InitialBeam_v3', 'MC_InitialBeam_v3', 'MC_InitialBeam_v3_no_prescale',
+        #for 2010-2011 running
+        'Physics_pp_v1', 'Physics_pp_v1_no_prescale', 'Physics_pp_v1_cosmics_prescale',
+        'MC_pp_v1', 'MC_pp_v1_no_prescale',
+        'MC_pp_v1_tight_mc_prescale', 'MC_pp_v1_loose_mc_prescale',
+        #v2 
+        'Physics_pp_v2', 'Physics_pp_v2_no_prescale', 'Physics_pp_v2_cosmics_prescale', 
+        'MC_pp_v2', 'MC_pp_v2_primary', 'MC_pp_v2_no_prescale', 
+        'MC_pp_v2_tight_mc_prescale', 'MC_pp_v2_loose_mc_prescale',
+        #v3
+        'Physics_pp_v3', 'Physics_pp_v3_no_prescale', 'Physics_pp_v3_cosmics_prescale', 
+        'MC_pp_v3', 'MC_pp_v3_primary', 'MC_pp_v3_no_prescale', 
+        'MC_pp_v3_tight_mc_prescale', 'MC_pp_v3_loose_mc_prescale',
+        #v4
+        'Physics_pp_v4', 'Physics_pp_v4_no_prescale', 'Physics_pp_v4_cosmics_prescale',
+        'MC_pp_v4', 'MC_pp_v4_primary', 'MC_pp_v4_no_prescale',
+        'MC_pp_v4_upgrade_mc_prescale','MC_pp_v4_tight_mc_prescale', 'MC_pp_v4_loose_mc_prescale',
+        # L1 v2 for testing
+        'L1_pp_v2',
+        'L1_pp_v3',
+        'L1_pp_v4',
+        'L1_pp_test',
+        'L1_alfa_v1',
+        'L1_alfa_v2',
+        # for HeavyIon
+        'InitialBeam_HI_v1', 'InitialBeam_HI_v1_no_prescale',
+        'MC_InitialBeam_HI_v1', 'MC_InitialBeam_HI_v1_no_prescale',
+        'Physics_HI_v1', 'Physics_HI_v1_no_prescale',
+        'MC_HI_v1',     'MC_HI_v1_no_prescale', 'MC_HI_v1_pPb_mc_prescale',
+        #
+        'Physics_HI_v2', 'Physics_HI_v2_no_prescale', 
+        'MC_HI_v2',  'MC_HI_v2_no_prescale', 'MC_HI_v2_pPb_mc_prescale',
+        #
+        'Physics_default', 'MC_loose_default', 'MC_tight_default', 'default_loose', 'default_tight',
+        # -----------------------------------------------------------------
+        # Run 2
+        'MC_pp_v5', 'MC_pp_v5_no_prescale', 'MC_pp_v5_tight_mc_prescale', 'MC_pp_v5_loose_mc_prescale','MC_pp_v5_special_mc_prescale', # for development and simulation
+        'Physics_pp_v5', # for testing algorithms and software quality during LS1, later for data taking
+        'Physics_pp_v5_cosmics_prescale',
+        'Physics_pp_v5_tight_physics_prescale', 
+        'LS1_v1', # for P1 detector commissioning (cosmics, streamers)
+        'DC14', 'DC14_no_prescale', 'DC14_tight_mc_prescale', 'DC14_loose_mc_prescale', # for DC14
+        'Physics_HI_v3', 'Physics_HI_v3_no_prescale', # for 2015 lead-lead menu 
+        'MC_HI_v3', 'MC_HI_v3_tight_mc_prescale',
+        'Physics_HI_v4', 'Physics_HI_v4_no_prescale', # for 2016 proton-lead menu 
+        'MC_HI_v4', 'MC_HI_v4_tight_mc_prescale',
+
+        'MC_pp_v6','Physics_pp_v6','MC_pp_v6_no_prescale', 'MC_pp_v6_tight_mc_prescale', 'MC_pp_v6_tightperf_mc_prescale', 'MC_pp_v6_loose_mc_prescale','Physics_pp_v6_tight_physics_prescale',
+        'MC_pp_v7','Physics_pp_v7','Physics_pp_v7_primaries','MC_pp_v7_no_prescale', 'MC_pp_v7_tight_mc_prescale', 'MC_pp_v7_tightperf_mc_prescale', 'MC_pp_v7_loose_mc_prescale','Physics_pp_v7_tight_physics_prescale',
+        # -----------------------------------------------------------------
+        # Run 3 (and preparation for Run-3)
+        'LS2_v1', # for development of AthenaMT
+        'LS2_emu_v1', # emulation test menu for AthenaMT
+        'MC_pp_run3_v1', # MC_pp_run3 for AthenaMT
+        'PhysicsP1_pp_run3_v1', # PhysicsP1_pp_run3 for AthenaMT
+        'Physics_pp_run3_v1', # Physics_pp_run3 for AthenaMT
+        'PhysicsP1_HI_run3_v1',  # PhysicsP1_HI_run3 for AthenaMT
+        'Dev_HI_run3_v1', # Dev_HI_run3 for AthenaMT
+        'MC_pp_v7_TriggerValidation_mc_prescale', # MC trigger simulated in 21.0 but reconstructed in 22.0
+        'MC_pp_v8', 'Physics_pp_v8', 'MC_pp_v8_no_prescale', 'MC_pp_v8_tight_mc_prescale', 'MC_pp_v8_tightperf_mc_prescale', 'MC_pp_v8_loose_mc_prescale','Physics_pp_v8_tight_physics_prescale',
+        'Cosmic_run3_v1',
+        'LS2_v1_Primary_prescale',
+        'LS2_v1_TriggerValidation_prescale',
+        'LS2_v1_BulkMCProd_prescale',
+        'LS2_v1_CPSampleProd_prescale',
+        'LS2_v1_TriggerValidation_prescale_lowMu',
+        'PhysicsP1_pp_run3_v1_lowMu', 
+        'Physics_pp_run3_v1_lowMu', 
+        ]
+
+    _default_menu='Physics_pp_v7_primaries'
+    _default_cosmic_menu='Physics_pp_v5_cosmics_prescale'
+    _default_InitialBeam_menu='MC_InitialBeam_v3_no_prescale'
+    
+    StoredValue = _default_menu
+
+    def _do_action(self):
+        """ setup some consistency """
+
+        # meaning full default menu
+        if self.get_Value() == 'default':
+            self.set_Value(self._default_menu)
+            self._log.info("%s - trigger menu 'default' changed to '%s'", self.__class__.__name__, self.get_Value())
+        elif self.get_Value() == 'cosmic_default':
+            self.set_Value(self._default_cosmic_menu)
+            self._log.info("%s - trigger menu 'cosmic_default' changed to '%s'", self.__class__.__name__, self.get_Value())
+        elif self.get_Value() == 'InitialBeam_default':
+            self.set_Value(self._default_InitialBeam_menu)
+            self._log.info("%s - trigger menu 'InitialBeam_default' changed to '%s'", self.__class__.__name__, self.get_Value())
+
+        # filenames for LVL1 and HLT
+        if TriggerFlags.readLVL1configFromXML() is True:
+            TriggerFlags.inputLVL1configFile = "LVL1config_"+_getMenuBaseName(TriggerFlags.triggerMenuSetup())+"_" + TriggerFlags.menuVersion() + ".xml"
+
+_flags.append(triggerMenuSetup)
+
+>>>>>>> updates
 
 >>>>>>> updates
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
index ca3f9ccc290e..6fad58661b5c 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
@@ -21,8 +21,6 @@ from ..CommonSequences import EventBuildingSequences
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from .ComboHypoHandling import addTopoInfo, comboConfigurator, topoLegIndices
 
-from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import LowMuGroup
-
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
@@ -549,8 +547,6 @@ class GenerateMenuMT(object, metaclass=Singleton):
 
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTPrescaleJSON import generateJSON as generatePrescaleJSON
         generatePrescaleJSON()
-        log.info("Generating HLT prescale JSON for LowMu...")
-        generatePrescaleJSON(LowMuGroup[0].split(":")[-1])
 
         log.info('Generating HLTMonitoring JSON...')
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTMonitoringJSON import generateDefaultMonitoringJSON
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
index 949e83d2489d..427322a11dc2 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
@@ -6,25 +6,14 @@ from TrigConfigSvc.TrigConfigSvcCfg import getHLTPrescalesSetFileName
 from AthenaCommon.Logging import logging
 __log = logging.getLogger( __name__ )
 
-from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import LowMuGroup
-
-def __generateJSON( chainDicts, chainConfigs, menuName, fileName, selected_group="" ):
+def __generateJSON( chainDicts, chainConfigs, menuName, fileName):
     """ Generates JSON given the ChainProps and sequences
     """
     # Prescale dictionary that is used to create the JSON content
     prescaleDict = odict([ ("filetype", "hltprescale"), ("name", menuName), ("prescales", odict()) ])
 
-    if selected_group!="":
-        fileName = fileName+"_"+selected_group
-
     from TriggerMenuMT.HLTMenuConfig.Menu import StreamInfo
     for chain in chainDicts:
-        if selected_group != "":
-            overlap = [x for x in LowMuGroup if x in chain["groups"]]
-            if len(overlap) != 0:
-                continue
-        elif selected_group not in chain["groups"]:
-            continue
         # Prepare information for stream list
         chainStreamTags = []
         for streamName in chain["stream"]:
@@ -59,7 +48,7 @@ def __generateJSON( chainDicts, chainConfigs, menuName, fileName, selected_group
         json.dump( prescaleDict, fp, indent=4, sort_keys=False )
 
 
-def generateJSON(group_to_use=""):
+def generateJSON():
     __log.info("Generating HLT Prescale JSON in the rec-ex-common job")
     from AthenaConfiguration.AllConfigFlags import ConfigFlags
     from TriggerMenuMT.HLTMenuConfig.Menu.TriggerConfigHLT import TriggerConfigHLT
@@ -67,8 +56,7 @@ def generateJSON(group_to_use=""):
     return __generateJSON( TriggerConfigHLT.dictsList(),
                            TriggerConfigHLT.configsList(),
                            ConfigFlags.Trigger.triggerMenuSetup,
-                           getHLTPrescalesSetFileName(ConfigFlags),
-                           group_to_use)
+                           getHLTPrescalesSetFileName(ConfigFlags))
 
 def generateJSON_newJO( chainDicts, chainConfigs ):
     __log.info("Generating HLT Prescale JSON in the new JO")
-- 
GitLab


From b94cd0fbc8625f59057baccd10912ee6ee96294e Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Tue, 28 Sep 2021 11:58:29 -0400
Subject: [PATCH 4/7] exclude the chains with the LowMu group and created
 dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

fixing issue created in a rebase stage

exclude the chains with the LowMu group and created dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets
---
 .../python/HLTMenuConfig/Menu/GenerateMenuMT.py       |  4 ++++
 .../python/HLTMenuConfig/Menu/HLTPrescaleJSON.py      | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
index 6fad58661b5c..ca3f9ccc290e 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
@@ -21,6 +21,8 @@ from ..CommonSequences import EventBuildingSequences
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from .ComboHypoHandling import addTopoInfo, comboConfigurator, topoLegIndices
 
+from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import LowMuGroup
+
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
@@ -547,6 +549,8 @@ class GenerateMenuMT(object, metaclass=Singleton):
 
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTPrescaleJSON import generateJSON as generatePrescaleJSON
         generatePrescaleJSON()
+        log.info("Generating HLT prescale JSON for LowMu...")
+        generatePrescaleJSON(LowMuGroup[0].split(":")[-1])
 
         log.info('Generating HLTMonitoring JSON...')
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTMonitoringJSON import generateDefaultMonitoringJSON
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
index 427322a11dc2..204a3c98c365 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
@@ -12,8 +12,17 @@ def __generateJSON( chainDicts, chainConfigs, menuName, fileName):
     # Prescale dictionary that is used to create the JSON content
     prescaleDict = odict([ ("filetype", "hltprescale"), ("name", menuName), ("prescales", odict()) ])
 
+    if selected_group!="":
+        fileName = fileName+"_"+selected_group
+
     from TriggerMenuMT.HLTMenuConfig.Menu import StreamInfo
     for chain in chainDicts:
+        if selected_group != "":
+            overlap = [x for x in LowMuGroup if x in chain["groups"]]
+            if len(overlap) != 0:
+                continue
+        elif selected_group not in chain["groups"]:
+            continue
         # Prepare information for stream list
         chainStreamTags = []
         for streamName in chain["stream"]:
@@ -48,7 +57,7 @@ def __generateJSON( chainDicts, chainConfigs, menuName, fileName):
         json.dump( prescaleDict, fp, indent=4, sort_keys=False )
 
 
-def generateJSON():
+def generateJSON(group_to_use=""):
     __log.info("Generating HLT Prescale JSON in the rec-ex-common job")
     from AthenaConfiguration.AllConfigFlags import ConfigFlags
     from TriggerMenuMT.HLTMenuConfig.Menu.TriggerConfigHLT import TriggerConfigHLT
-- 
GitLab


From 1bebac6f09d5bcf8cf72008fecc67f5c51dde77a Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Tue, 28 Sep 2021 11:59:39 -0400
Subject: [PATCH 5/7] # This is a combination of 5 commits. # The first
 commit's message is: exclude the chains with the LowMu group and created
 dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

fixing issue created in a rebase stage

exclude the chains with the LowMu group and created dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

# This is the 2nd commit message:

improved function to disable a group of chains

# This is the 3rd commit message:

clean up

# This is the 4th commit message:

new refs

# This is the 5th commit message:

fixing issue created in a rebase stage
---
 .../TriggerJobOpts/python/TriggerFlags.py     | 178 ------------------
 .../HLTMenuConfig/Menu/GenerateMenuMT.py      |   4 -
 .../HLTMenuConfig/Menu/HLTPrescaleJSON.py     |  11 +-
 3 files changed, 1 insertion(+), 192 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index f55b31ddb5c3..bc64532ecacb 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -350,184 +350,6 @@ class triggerCoolDbConnection(JobProperty):
 
 _flags.append(triggerCoolDbConnection)
 
-class outputLVL1configFile(JobProperty):
-    """ File name for output LVL1 configuration XML file """
-    statusOn=True
-    StoredValue=""
-
-    def __call__(self):
-        if self.get_Value() == "":
-            return "LVL1config_"+_getMenuBaseName(TriggerFlags.triggerMenuSetup())+"_" + TriggerFlags.menuVersion() + ".xml"
-        else:
-            return self.get_Value()
-        
-_flags.append(outputLVL1configFile)
-
-
-class inputLVL1configFile(JobProperty):
-    """ File name for input LVL1 configuration XML file """
-    statusOn=True
-#    allowedType=['str']
-#   The following default is appropriate when XML cofig is the default
-#    StoredValue="TriggerMenuXML/LVL1config_default_" + TriggerFlags.menuVersion() + ".xml"
-#   The following default is appropriate when python config is the default
-    StoredValue=""
-#    StoredValue = "TriggerMenuXML/LVL1config_default_" + TriggerFlags.menuVersion() + ".xml"
-
-    def __call__(self):
-        if self.get_Value() == "":
-            return "LVL1config_"+_getMenuBaseName(TriggerFlags.triggerMenuSetup())+"_" + TriggerFlags.menuVersion() + ".xml"
-        else:
-            return self.get_Value()
-
-_flags.append(inputLVL1configFile)
-
-# remove prescale suffixes
-def _getMenuBaseName(menuName):
-    m = re.match(r'(.*v\d(?:_primaries)?).*', menuName)
-    if m:
-        menuName = m.groups()[0]
-    return menuName
-
-
-# =================
-#
-# trigger menu flags - menu version, prescale sets
-#
-# =================
-class menuVersion(JobProperty):
-    """ Defines the menu version to use, usually the same as the release number. This is part of the XML file name. """
-    statusOn=True
-    allowedType=['str']
-    
-    from AthenaCommon.AppMgr import release_metadata
-    StoredValue = release_metadata()['release']  # returns '?' if missing
-    
-_flags.append(menuVersion)
-
-
-class triggerMenuSetup(JobProperty):
-    """ Defines the luminosity dependent setup of trigger lumi01 == 10^33, switches on/off signatures """
-    statusOn=True
-    allowedType=['str']
-    allowedValues = [
-        'default', 'cosmic_default', 'InitialBeam_default',
-        # menus for 10^31 with EMScale L1 calib
-        'Physics_lumi1E31_simpleL1Calib','Physics_lumi1E31_simpleL1Calib_no_prescale',
-        'MC_lumi1E31_simpleL1Calib','MC_lumi1E31_simpleL1Calib_no_prescale',
-        'MC_lumi1E31_simpleL1Calib_physics_prescale',
-        # menus for 10^32 with EMScale L1 calib
-        'Physics_lumi1E32_simpleL1Calib','Physics_lumi1E32_simpleL1Calib_no_prescale',
-        'MC_lumi1E32_simpleL1Calib','MC_lumi1E32_simpleL1Calib_no_prescale',
-        'MC_lumi1E32_simpleL1Calib_physics_prescale',
-        # menus for 10^33
-        'Physics_lumi1E33','Physics_lumi1E33_no_prescale',
-        'MC_lumi1E33','MC_lumi1E33_no_prescale',
-        'Physics_lumi1E34','Physics_lumi1E34_no_prescale',
-        'MC_lumi1E34','MC_lumi1E34_no_prescale',
-        #
-        'Cosmics','Cosmic_v1', 'Cosmic2009_v1', 'Cosmic2009_v2', 
-        'InitialBeam_v1', 'MC_InitialBeam_v1', 'MC_InitialBeam_v1_no_prescale',
-        'Cosmic2009_simpleL1Calib', 'Cosmic2009_inclMuons',
-        'enhBias',
-        # for 2010 running
-        'Cosmic_v2','Cosmic_v3',
-        'InitialBeam_v2', 'MC_InitialBeam_v2', 'MC_InitialBeam_v2_no_prescale',
-        'InitialBeam_v3', 'MC_InitialBeam_v3', 'MC_InitialBeam_v3_no_prescale',
-        #for 2010-2011 running
-        'Physics_pp_v1', 'Physics_pp_v1_no_prescale', 'Physics_pp_v1_cosmics_prescale',
-        'MC_pp_v1', 'MC_pp_v1_no_prescale',
-        'MC_pp_v1_tight_mc_prescale', 'MC_pp_v1_loose_mc_prescale',
-        #v2 
-        'Physics_pp_v2', 'Physics_pp_v2_no_prescale', 'Physics_pp_v2_cosmics_prescale', 
-        'MC_pp_v2', 'MC_pp_v2_primary', 'MC_pp_v2_no_prescale', 
-        'MC_pp_v2_tight_mc_prescale', 'MC_pp_v2_loose_mc_prescale',
-        #v3
-        'Physics_pp_v3', 'Physics_pp_v3_no_prescale', 'Physics_pp_v3_cosmics_prescale', 
-        'MC_pp_v3', 'MC_pp_v3_primary', 'MC_pp_v3_no_prescale', 
-        'MC_pp_v3_tight_mc_prescale', 'MC_pp_v3_loose_mc_prescale',
-        #v4
-        'Physics_pp_v4', 'Physics_pp_v4_no_prescale', 'Physics_pp_v4_cosmics_prescale',
-        'MC_pp_v4', 'MC_pp_v4_primary', 'MC_pp_v4_no_prescale',
-        'MC_pp_v4_upgrade_mc_prescale','MC_pp_v4_tight_mc_prescale', 'MC_pp_v4_loose_mc_prescale',
-        # L1 v2 for testing
-        'L1_pp_v2',
-        'L1_pp_v3',
-        'L1_pp_v4',
-        'L1_pp_test',
-        'L1_alfa_v1',
-        'L1_alfa_v2',
-        # for HeavyIon
-        'InitialBeam_HI_v1', 'InitialBeam_HI_v1_no_prescale',
-        'MC_InitialBeam_HI_v1', 'MC_InitialBeam_HI_v1_no_prescale',
-        'Physics_HI_v1', 'Physics_HI_v1_no_prescale',
-        'MC_HI_v1',     'MC_HI_v1_no_prescale', 'MC_HI_v1_pPb_mc_prescale',
-        #
-        'Physics_HI_v2', 'Physics_HI_v2_no_prescale', 
-        'MC_HI_v2',  'MC_HI_v2_no_prescale', 'MC_HI_v2_pPb_mc_prescale',
-        #
-        'Physics_default', 'MC_loose_default', 'MC_tight_default', 'default_loose', 'default_tight',
-        # -----------------------------------------------------------------
-        # Run 2
-        'MC_pp_v5', 'MC_pp_v5_no_prescale', 'MC_pp_v5_tight_mc_prescale', 'MC_pp_v5_loose_mc_prescale','MC_pp_v5_special_mc_prescale', # for development and simulation
-        'Physics_pp_v5', # for testing algorithms and software quality during LS1, later for data taking
-        'Physics_pp_v5_cosmics_prescale',
-        'Physics_pp_v5_tight_physics_prescale', 
-        'LS1_v1', # for P1 detector commissioning (cosmics, streamers)
-        'DC14', 'DC14_no_prescale', 'DC14_tight_mc_prescale', 'DC14_loose_mc_prescale', # for DC14
-        'Physics_HI_v3', 'Physics_HI_v3_no_prescale', # for 2015 lead-lead menu 
-        'MC_HI_v3', 'MC_HI_v3_tight_mc_prescale',
-        'Physics_HI_v4', 'Physics_HI_v4_no_prescale', # for 2016 proton-lead menu 
-        'MC_HI_v4', 'MC_HI_v4_tight_mc_prescale',
-
-        'MC_pp_v6','Physics_pp_v6','MC_pp_v6_no_prescale', 'MC_pp_v6_tight_mc_prescale', 'MC_pp_v6_tightperf_mc_prescale', 'MC_pp_v6_loose_mc_prescale','Physics_pp_v6_tight_physics_prescale',
-        'MC_pp_v7','Physics_pp_v7','Physics_pp_v7_primaries','MC_pp_v7_no_prescale', 'MC_pp_v7_tight_mc_prescale', 'MC_pp_v7_tightperf_mc_prescale', 'MC_pp_v7_loose_mc_prescale','Physics_pp_v7_tight_physics_prescale',
-        # -----------------------------------------------------------------
-        # Run 3 (and preparation for Run-3)
-        'LS2_v1', # for development of AthenaMT
-        'LS2_emu_v1', # emulation test menu for AthenaMT
-        'MC_pp_run3_v1', # MC_pp_run3 for AthenaMT
-        'PhysicsP1_pp_run3_v1', # PhysicsP1_pp_run3 for AthenaMT
-        'Physics_pp_run3_v1', # Physics_pp_run3 for AthenaMT
-        'PhysicsP1_HI_run3_v1',  # PhysicsP1_HI_run3 for AthenaMT
-        'Dev_HI_run3_v1', # Dev_HI_run3 for AthenaMT
-        'MC_pp_v7_TriggerValidation_mc_prescale', # MC trigger simulated in 21.0 but reconstructed in 22.0
-        'MC_pp_v8', 'Physics_pp_v8', 'MC_pp_v8_no_prescale', 'MC_pp_v8_tight_mc_prescale', 'MC_pp_v8_tightperf_mc_prescale', 'MC_pp_v8_loose_mc_prescale','Physics_pp_v8_tight_physics_prescale',
-        'Cosmic_run3_v1',
-        'LS2_v1_Primary_prescale',
-        'LS2_v1_TriggerValidation_prescale',
-        'LS2_v1_BulkMCProd_prescale',
-        'LS2_v1_CPSampleProd_prescale',
-        'LS2_v1_TriggerValidation_prescale_lowMu',
-        'PhysicsP1_pp_run3_v1_lowMu', 
-        'Physics_pp_run3_v1_lowMu', 
-        ]
-
-    _default_menu='Physics_pp_v7_primaries'
-    _default_cosmic_menu='Physics_pp_v5_cosmics_prescale'
-    _default_InitialBeam_menu='MC_InitialBeam_v3_no_prescale'
-    
-    StoredValue = _default_menu
-
-    def _do_action(self):
-        """ setup some consistency """
-
-        # meaning full default menu
-        if self.get_Value() == 'default':
-            self.set_Value(self._default_menu)
-            self._log.info("%s - trigger menu 'default' changed to '%s'", self.__class__.__name__, self.get_Value())
-        elif self.get_Value() == 'cosmic_default':
-            self.set_Value(self._default_cosmic_menu)
-            self._log.info("%s - trigger menu 'cosmic_default' changed to '%s'", self.__class__.__name__, self.get_Value())
-        elif self.get_Value() == 'InitialBeam_default':
-            self.set_Value(self._default_InitialBeam_menu)
-            self._log.info("%s - trigger menu 'InitialBeam_default' changed to '%s'", self.__class__.__name__, self.get_Value())
-
-        # filenames for LVL1 and HLT
-        if TriggerFlags.readLVL1configFromXML() is True:
-            TriggerFlags.inputLVL1configFile = "LVL1config_"+_getMenuBaseName(TriggerFlags.triggerMenuSetup())+"_" + TriggerFlags.menuVersion() + ".xml"
-
-_flags.append(triggerMenuSetup)
 
 >>>>>>> updates
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
index ca3f9ccc290e..6fad58661b5c 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
@@ -21,8 +21,6 @@ from ..CommonSequences import EventBuildingSequences
 from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from .ComboHypoHandling import addTopoInfo, comboConfigurator, topoLegIndices
 
-from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import LowMuGroup
-
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
@@ -549,8 +547,6 @@ class GenerateMenuMT(object, metaclass=Singleton):
 
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTPrescaleJSON import generateJSON as generatePrescaleJSON
         generatePrescaleJSON()
-        log.info("Generating HLT prescale JSON for LowMu...")
-        generatePrescaleJSON(LowMuGroup[0].split(":")[-1])
 
         log.info('Generating HLTMonitoring JSON...')
         from TriggerMenuMT.HLTMenuConfig.Menu.HLTMonitoringJSON import generateDefaultMonitoringJSON
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
index 204a3c98c365..427322a11dc2 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTPrescaleJSON.py
@@ -12,17 +12,8 @@ def __generateJSON( chainDicts, chainConfigs, menuName, fileName):
     # Prescale dictionary that is used to create the JSON content
     prescaleDict = odict([ ("filetype", "hltprescale"), ("name", menuName), ("prescales", odict()) ])
 
-    if selected_group!="":
-        fileName = fileName+"_"+selected_group
-
     from TriggerMenuMT.HLTMenuConfig.Menu import StreamInfo
     for chain in chainDicts:
-        if selected_group != "":
-            overlap = [x for x in LowMuGroup if x in chain["groups"]]
-            if len(overlap) != 0:
-                continue
-        elif selected_group not in chain["groups"]:
-            continue
         # Prepare information for stream list
         chainStreamTags = []
         for streamName in chain["stream"]:
@@ -57,7 +48,7 @@ def __generateJSON( chainDicts, chainConfigs, menuName, fileName):
         json.dump( prescaleDict, fp, indent=4, sort_keys=False )
 
 
-def generateJSON(group_to_use=""):
+def generateJSON():
     __log.info("Generating HLT Prescale JSON in the rec-ex-common job")
     from AthenaConfiguration.AllConfigFlags import ConfigFlags
     from TriggerMenuMT.HLTMenuConfig.Menu.TriggerConfigHLT import TriggerConfigHLT
-- 
GitLab


From f1885446a8d34d439b81c8ca78b340c57804b683 Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Tue, 28 Sep 2021 12:00:48 -0400
Subject: [PATCH 6/7] exclude the chains with the LowMu group and created
 dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

fixing issue created in a rebase stage

exclude the chains with the LowMu group and created dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

exclude the chains with the LowMu group and created dedicated prescale sets

updates

improved function to disable a group of chains

clean up

new refs

fixing issue created in a rebase stage

fixes

fixed names in menuMap dict
---
 Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py   | 4 ----
 .../TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py | 4 ++--
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index bc64532ecacb..ed3e8e57e353 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -351,10 +351,6 @@ class triggerCoolDbConnection(JobProperty):
 _flags.append(triggerCoolDbConnection)
 
 
->>>>>>> updates
-
->>>>>>> updates
-
 # the container of all trigger flags
 
 class Trigger(JobPropertyContainer):
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py
index 81974c26ac12..f21336d15911 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/MenuMapping.py
@@ -24,7 +24,7 @@ menuMap = {
     "LS2_v1_BulkMCProd_prescale"        : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
     "LS2_v1_CPSampleProd_prescale"      : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
     "LS2_v1_TriggerValidation_prescale_lowMu" : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
-    "Physics_pp_run3_v1_lowMu"                : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
-    "PhysicsP1_pp_run3_v1_lowMu"              : ["MC_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
+    "Physics_pp_run3_v1_lowMu"                : ["Physics_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
+    "PhysicsP1_pp_run3_v1_lowMu"              : ["Physics_pp_v8","MC_pp_v8_inputs","MC_pp_v8_inputs_legacy"],
 
 }
-- 
GitLab


From 37cb2689f1b98b14cb903ba3e3299b142873f7d7 Mon Sep 17 00:00:00 2001
From: Gianantonio Pezzullo <g.pezzullo@yale.edu>
Date: Mon, 27 Sep 2021 11:24:00 -0400
Subject: [PATCH 7/7] removed PS:Online group to two HLT_mb chains

---
 .../python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py           | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
index 5dea6292d533..71499ae0b943 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
@@ -568,8 +568,8 @@ def setupMenu():
     TriggerFlags.BeamspotSlice.signatures  = []
     # TriggerFlags.MinBiasSlice.signatures   = []
     TriggerFlags.MinBiasSlice.signatures   = [
-        ChainProp(name='HLT_mb_sptrk_L1RD0_FILLED',    l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=['PS:Online']+LowMuGroup+MinBiasGroup),
-        ChainProp(name='HLT_mb_sp_L1RD0_FILLED',       l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=['PS:Online']+LowMuGroup+MinBiasGroup),
+        ChainProp(name='HLT_mb_sptrk_L1RD0_FILLED',    l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=LowMuGroup+MinBiasGroup),
+        ChainProp(name='HLT_mb_sp_L1RD0_FILLED',       l1SeedThresholds=['FSNOSEED'], stream=[PhysicsStream], groups=LowMuGroup+MinBiasGroup),
         ChainProp(name='HLT_mb_alfaperf_L1RD0_FILLED', l1SeedThresholds=['FSNOSEED'], stream=['DISCARD'],     groups=['PS:Online']+LowMuGroup+MinBiasGroup),
         ChainProp(name='HLT_mb_alfaperf_L1RD0_EMPTY',  l1SeedThresholds=['FSNOSEED'], stream=['DISCARD'],     groups=['PS:Online']+LowMuGroup+MinBiasGroup),
     ]
-- 
GitLab