diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index a34bd1f590c9f7182ebd3d2694e8e0929d61b3e0..ca63470a198d8176bf7bc672032c95f35944f1de 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -1064,6 +1064,9 @@ class triggerMenuSetup(JobProperty):
         # 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
         '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',
         ]
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
index 59c85356cc22ddd6fe002609381d0c8cc1af4e2d..1fc2b067a0fc7f59c09d1f553332122a015d7c2c 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
@@ -7,48 +7,34 @@
 # This defines the input format of the chain and it's properties with the defaults set
 # always required are: name, stream and groups
 #['name', 'L1chainParts'=[], 'stream', 'groups', 'merging'=[], 'topoStartFrom'=False],
+
 from TriggerMenuMT.HLTMenuConfig.Menu.ChainDefInMenu import ChainProp
 
+import TriggerMenuMT.HLTMenuConfig.Menu.MC_pp_run3_v1 as mc_menu
+import TriggerMenuMT.HLTMenuConfig.Menu.PhysicsP1_pp_run3_v1 as p1_menu
+
+from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import PhysicsStream,SingleMuonGroup,MultiMuonGroup,SingleElectronGroup,MultiElectronGroup,SinglePhotonGroup,SingleMETGroup,MultiMETGroup,SingleJetGroup,MultiJetGroup,SingleBjetGroup,SingleTauGroup,EgammaStreamersGroup
+
+
 def setupMenu():
 
+    mc_menu.setupMenu()
+    p1_menu.addP1Signatures()
+
     from TriggerJobOpts.TriggerFlags          import TriggerFlags
     from AthenaCommon.Logging                 import logging
     log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Menu.LS2_v1.py' )
+    log.info('setupMenu ...')
+
 
-    PhysicsStream="Main"
-    SingleMuonGroup = ['RATE:SingleMuon', 'BW:Muon']
-    MultiMuonGroup = ['RATE:MultiMuon', 'BW:Muon']
-    SingleElectronGroup = ['RATE:SingleElectron', 'BW:Electron']
-    MultiElectronGroup = ['RATE:MultiElectron', 'BW:Electron']
-    SinglePhotonGroup = ['RATE:SinglePhoton', 'BW:Photon']
-    MultiPhotonGroup = ['RATE:MultiPhoton', 'BW:Photon']
-    SingleMETGroup = ['RATE:MET', 'BW:MET']
-    MultiMETGroup = ['RATE:MultiMET', 'BW:MultiMET']
-    SingleJetGroup = ['RATE:SingleJet', 'BW:Jet']
-    MultiJetGroup = ['RATE:MultiJet', 'BW:Jet']
-    SingleBjetGroup = ['RATE:SingleBJet', 'BW:BJet']
-    #MultiBjetGroup = ['RATE:MultiBJet', 'BW:BJet']
-    SingleTauGroup = ['RATE:SingleTau', 'BW:Tau']
-    #MultiTauGroup = ['RATE:MultiTau', 'BW:Tau']
-    BphysicsGroup = ['RATE:Bphysics', 'BW:Bphysics']
-    MinBiasGroup = ['RATE:MinBias', 'BW:MinBias']
-    EgammaStreamersGroup = ['RATE:SeededStreamers', 'BW:Egamma']
-
-    TriggerFlags.Slices_all_setOff()
-
-    TriggerFlags.TestSlice.signatures = []
-
-    TriggerFlags.MuonSlice.signatures = [
+    TriggerFlags.TestSlice.signatures = TriggerFlags.TestSlice.signatures() + []
+
+    TriggerFlags.MuonSlice.signatures = TriggerFlags.MuonSlice.signatures() + [
         #ART-19985
         ChainProp(name='HLT_mu6_idperf_L1MU6', groups=SingleMuonGroup),
         ChainProp(name='HLT_mu24_idperf_L1MU20', groups=SingleMuonGroup),
 
         #ATR-20049
-        ChainProp(name='HLT_mu60_0eta105_msonly_L1MU20', groups=SingleMuonGroup),
-        ChainProp(name='HLT_mu80_msonly_3layersEC_L1MU20', groups=SingleMuonGroup),
-        ChainProp(name='HLT_3mu6_L13MU6', l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
-        ChainProp(name='HLT_3mu6_msonly_L13MU6', l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
-        ChainProp(name='HLT_4mu4_L14MU4', l1SeedThresholds=['MU4'],   groups=MultiMuonGroup),
 
         ChainProp(name='HLT_mu6fast_L1MU6', groups=SingleMuonGroup),
         ChainProp(name='HLT_mu6Comb_L1MU6', groups=SingleMuonGroup), 
@@ -63,51 +49,27 @@ def setupMenu():
         ChainProp(name='HLT_mu10_lateMu_L1MU10', l1SeedThresholds=[''], groups=SingleMuonGroup),
 
         # ATR-20049
-        ChainProp(name='HLT_mu26_ivarmedium_L1MU20', groups=SingleMuonGroup),
-        ChainProp(name='HLT_mu50_L1MU20', groups=SingleMuonGroup),
-
-        # ATR-20049
-        ChainProp(name='HLT_2mu14_L12MU10', groups=MultiMuonGroup),
-        ChainProp(name='HLT_2mu6Comb_L12MU6', l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
-        ChainProp(name='HLT_2mu6_L12MU6',     l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
         ChainProp(name='HLT_mu6_mu4_L12MU4',  l1SeedThresholds=['MU4']*2, groups=MultiMuonGroup),
 
-        # ATR-19360
-        ChainProp(name='HLT_mu50_RPCPEBSecondaryReadout_L1MU20', stream=['RPCSecondaryReadout'], groups=SingleMuonGroup), # TODO: Move to Detector slice
      ]
 
-    TriggerFlags.EgammaSlice.signatures = [
+    TriggerFlags.EgammaSlice.signatures = TriggerFlags.EgammaSlice.signatures() + [
         # ElectronChains----------
-        #ChainProp(name='HLT_e3_etcut1step_L1EM3', groups=SingleElectronGroup),
         ChainProp(name='HLT_e3_etcut_L1EM3', groups=SingleElectronGroup),
         ChainProp(name='HLT_e5_etcut_L1EM3', groups=SingleElectronGroup),
         ChainProp(name='HLT_e7_etcut_L1EM3', stream=[PhysicsStream, 'express'], groups=SingleElectronGroup),
-        ChainProp(name='HLT_e26_etcut_L1EM22VHI', groups=SingleElectronGroup),
-        # currently disabled, seems to be a problem with the precision calo step
-        ChainProp(name='HLT_2e3_etcut_L12EM3', stream=[PhysicsStream], groups=MultiElectronGroup),
-        ChainProp(name='HLT_2e17_etcut_L12EM15VH', stream=[PhysicsStream], groups=MultiElectronGroup),
-        #ChainProp(name='HLT_e3_etcut_e7_etcut_L12EM3', stream=[PhysicsStream], groups=MultiElectronGroup),
-        # enabling only one step
-        #ChainProp(name='HLT_2e3_etcut1step_L12EM3', stream=[PhysicsStream], groups=MultiElectronGroup),
-        #ChainProp(name='HLT_e3_etcut1step_e7_etcut1step_L12EM3', stream=[PhysicsStream], groups=MultiElectronGroup),
 
-        #chain with asymmetric number of steps not yet working
-        #ChainProp(name='HLT_e3_etcut1step_e7_etcut_L12EM3', stream=[PhysicsStream], groups=MultiElectronGroup), 
+        ChainProp(name='HLT_2e3_etcut_L12EM3', stream=[PhysicsStream], groups=MultiElectronGroup),
 
         # PhotonChains------------
         ChainProp(name='HLT_g5_etcut_L1EM3', groups=SinglePhotonGroup),  
-        ChainProp(name='HLT_g140_etcut_L1EM24VHI', groups=SinglePhotonGroup),  
-        #ChainProp(name='HLT_g35_etcut_g25_etcut_L12EM20VH', groups=MultiPhotonGroup),  # Not working due ATR-19962
-        ChainProp(name='HLT_2g35_etcut_L12EM20VH', groups=MultiPhotonGroup),  
 
         # ATR-19360
         ChainProp(name='HLT_g5_etcut_LArPEB_L1EM3',stream=['LArCells'], groups=SinglePhotonGroup),
-        ChainProp(name='HLT_g20_etcut_LArPEB_L1EM15',stream=['LArCells'], groups=SinglePhotonGroup),
     ]
 
-    TriggerFlags.METSlice.signatures = [
+    TriggerFlags.METSlice.signatures = TriggerFlags.METSlice.signatures() + [
         ChainProp(name='HLT_xe30_cell_L1XE10', groups=SingleMETGroup),
-        ChainProp(name='HLT_xe65_cell_L1XE50', groups=SingleMETGroup),
         ChainProp(name='HLT_xe30_mht_L1XE10', groups=SingleMETGroup),
         ChainProp(name='HLT_xe30_tcpufit_L1XE10', groups=SingleMETGroup),
 
@@ -115,101 +77,53 @@ def setupMenu():
         ChainProp(name='HLT_xe30_cell_xe30_tcpufit_L1XE10',l1SeedThresholds=['XE10']*2, groups=MultiMETGroup), #must be FS seeded
     ]
 
-    TriggerFlags.JetSlice.signatures = [
+    TriggerFlags.JetSlice.signatures = TriggerFlags.JetSlice.signatures() + [
         ChainProp(name='HLT_j85_L1J20', groups=SingleJetGroup),
-        ChainProp(name='HLT_j45_L1J15', groups=SingleJetGroup), # 
+        ChainProp(name='HLT_j45_L1J15', groups=SingleJetGroup),
         ChainProp(name='HLT_j420_L1J20', groups=SingleJetGroup),
 
-        #ChainProp(name='HLT_j225_gsc420_boffperf_split_L1J20', groups=SingleJetGroup),
         ChainProp(name='HLT_j260_320eta490_L1J20', groups=SingleJetGroup),
 
         ChainProp(name='HLT_j460_a10_lcw_subjes_L1J20', groups=SingleJetGroup),
         ChainProp(name='HLT_j460_a10r_L1J20', groups=SingleJetGroup),
-        ChainProp(name='HLT_j460_a10t_lcw_jes_30smcINF_L1J100', groups=SingleJetGroup),
-        ChainProp(name='HLT_2j330_a10t_lcw_jes_35smcINF_L1J100', groups=SingleJetGroup),
-        # ATR-20049
-        ChainProp(name='HLT_j420_L1J100', groups=SingleJetGroup),
-        ChainProp(name='HLT_j260_320eta490_L1J75_31ETA49', groups=SingleJetGroup),
-        ChainProp(name='HLT_j460_a10r_L1J100',  groups=SingleJetGroup),
-        ChainProp(name='HLT_j460_a10_lcw_subjes_L1J100', groups=SingleJetGroup),
-        ChainProp(name='HLT_j460_a10t_lcw_jes_L1J100', groups=SingleJetGroup),
-
+        
         ChainProp(name='HLT_3j200_L1J20', groups=MultiJetGroup),
         ChainProp(name='HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20', groups=SingleJetGroup),
-        ChainProp(name='HLT_5j70_0eta240_L14J20', groups=MultiJetGroup), # this chain is supposed to be seeded off L1_4J15 in principle, needs CF fix
-        # ATR-20049
-        ChainProp(name='HLT_3j200_L1J100', groups=MultiJetGroup),
 
-        ChainProp(name='HLT_j80_j60_L1J15', l1SeedThresholds=['']*2, groups=MultiJetGroup),
-        ChainProp(name='HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20', l1SeedThresholds=['']*3, groups=MultiJetGroup),
     ]
 
-    TriggerFlags.BjetSlice.signatures = [
+    TriggerFlags.BjetSlice.signatures = TriggerFlags.BjetSlice.signatures() + [
         #ATR-20049
-        ChainProp(name="HLT_j175_gsc225_bmv2c1040_split_L1J100", groups=SingleBjetGroup),
-        ChainProp(name="HLT_j225_gsc275_bmv2c1060_split_L1J100", groups=SingleBjetGroup),
-        ChainProp(name="HLT_j225_gsc300_bmv2c1070_split_L1J100", groups=SingleBjetGroup),
-        ChainProp(name="HLT_j225_gsc360_bmv2c1077_split_L1J100", groups=SingleBjetGroup),
-
         ChainProp(name="HLT_j35_gsc45_boffperf_split_L1J20", groups=SingleBjetGroup),
         ChainProp(name="HLT_j35_gsc45_bmv2c1070_split_L1J20", groups=SingleBjetGroup),
-        #ChainProp(name="HLT_j35_gsc45_bmv2c1070_L1J20", groups=SingleBjetGroup),
     ] 
 
-    TriggerFlags.TauSlice.signatures = [
-        # ATR-19985
+    TriggerFlags.TauSlice.signatures = TriggerFlags.TauSlice.signatures() + [
+        #ATR-20049
         ChainProp(name="HLT_tau25_idperf_tracktwo_L1TAU12IM", groups=SingleTauGroup),
         ChainProp(name="HLT_tau25_idperf_tracktwoMVA_L1TAU12IM", groups=SingleTauGroup),
-        #ATR-20049
-        ChainProp(name="HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100", groups=SingleTauGroup),
-
         ChainProp(name="HLT_tau0_perf_ptonly_L1TAU12", groups=SingleTauGroup),
         ChainProp(name="HLT_tau25_medium1_tracktwo_L1TAU12IM", groups=SingleTauGroup),
         ChainProp(name="HLT_tau35_mediumRNN_tracktwoMVA_L1TAU12IM", groups=SingleTauGroup),
+
     ]
-    TriggerFlags.BphysicsSlice.signatures = [
-        #ATR-20049
-        ChainProp(name='HLT_2mu10_bJpsimumu_L12MU10',     groups=BphysicsGroup),
-        ChainProp(name='HLT_2mu10_bUpsimumu_L12MU10',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_mu11_mu6_bDimu_L1MU11_2MU6',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_mu11_mu6_bBmumu_L1MU11_2MU6',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_mu11_mu6_bJpsimumu_L1MU11_2MU6',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_mu11_mu6_bUpsimumu_L1MU11_2MU6',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_3mu4_bJpsi_L13MU4',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_3mu4_bUpsi_L13MU4',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_3mu6_bDimu_L13MU6',     groups=BphysicsGroup),
-
-        #ChainProp(name='HLT_2mu4_bDimu_L12MU4',     groups=BphysicsGroup),
-        #ChainProp(name='HLT_2mu6_bJpsimumu_L12MU6', groups=BphysicsGroup),
-        #ChainProp(name='HLT_2mu4_bBmumu_L12MU4',    groups=BphysicsGroup),
-        #ChainProp(name='HLT_2mu4_bUpsimumu_L12MU4', groups=BphysicsGroup),
-        #ChainProp(name='HLT_2mu4_bJpsimumu_L12MU4', groups=BphysicsGroup)
+    TriggerFlags.BphysicsSlice.signatures = TriggerFlags.BphysicsSlice.signatures() + [
     ]
-    TriggerFlags.CombinedSlice.signatures = [ 
-        ChainProp(name='HLT_e3_etcut1step_mu6fast_L1EM8I_MU10', l1SeedThresholds=['EM8I', 'MU10'], stream=[PhysicsStream], groups=MultiElectronGroup),    #L1 item thresholds in wrong order (EM first, then MU)    
-        #ChainProp(name='HLT_mu8_e8_etcut_L1MU6_EM7', l1SeedThresholds=['MU6', 'EM7'], stream=[PhysicsStream], groups=MultiElectronGroup),    #L1 item thresholds in wrong order (EM first, then MU)    
-        #ChainProp(name='HLT_e8_etcut1step_j85_L1EM3_J20', l1SeedThresholds=['EM3', 'J20'], stream=[PhysicsStream], groups=MultiElectronGroup),  
+    TriggerFlags.CombinedSlice.signatures = TriggerFlags.CombinedSlice.signatures() + [ 
    ]
-    TriggerFlags.HeavyIonSlice.signatures  = []
-    TriggerFlags.BeamspotSlice.signatures  = [
-        ChainProp(name='HLT_beamspot_allTE_trkfast_L1J15',  l1SeedThresholds=[''], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
-        #ChainProp(name='HLT_beamspot_activeTE_trkfast_L1J15',  l1SeedThresholds=[''], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
-        #ChainProp(name='HLT_beamspot_trkFS_trkfast_L1J15',  l1SeedThresholds=[''], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
-    ]
-    TriggerFlags.MinBiasSlice.signatures   = []
-    TriggerFlags.CalibSlice.signatures     = []
-    TriggerFlags.CosmicSlice.signatures    = []
-    TriggerFlags.StreamingSlice.signatures = [
-        ChainProp(name='HLT_noalg_L1RD0_EMPTY',  l1SeedThresholds=[''], stream=[PhysicsStream, 'BeamSpot'], groups=MinBiasGroup),  # FIXME: BeamSpot stream added just for testing, to be removed
-        ChainProp(name='HLT_noalg_L1RD0_FILLED', l1SeedThresholds=[''], stream=[PhysicsStream, 'BeamSpot'], groups=MinBiasGroup),  # FIXME: BeamSpot stream added just for testing, to be removed
+    TriggerFlags.HeavyIonSlice.signatures  = TriggerFlags.HeavyIonSlice.signatures() + []
+    TriggerFlags.BeamspotSlice.signatures  = TriggerFlags.BeamspotSlice.signatures() + []   
+    TriggerFlags.MinBiasSlice.signatures   = TriggerFlags.MinBiasSlice.signatures() + [] 
+    TriggerFlags.CalibSlice.signatures     = TriggerFlags.CalibSlice.signatures() + []
+    TriggerFlags.CosmicSlice.signatures    = TriggerFlags.CosmicSlice.signatures() + []
+    TriggerFlags.StreamingSlice.signatures = TriggerFlags.StreamingSlice.signatures() + [
         ChainProp(name='HLT_noalg_L1EM3',        l1SeedThresholds=[''], stream=[PhysicsStream], groups=EgammaStreamersGroup),
     ]
-    TriggerFlags.MonitorSlice.signatures   = [
-        ChainProp(name='HLT_costmonitor_CostMonDS_L1All',        l1SeedThresholds=[''], stream=['CostMonitoring'], groups=['RATE:Monitoring','BW:Other']),
+    TriggerFlags.MonitorSlice.signatures   = TriggerFlags.MonitorSlice.signatures() + [
     ]
 
     # Random Seeded EB chains which select at the HLT based on L1 TBP bits
-    TriggerFlags.EnhancedBiasSlice.signatures = [ ]
+    TriggerFlags.EnhancedBiasSlice.signatures = TriggerFlags.EnhancedBiasSlice.signatures() + [ ]
 
     signatureList=[]
     for prop in dir(TriggerFlags):
@@ -231,25 +145,4 @@ def setupMenu():
     Prescales.HLTPrescales_cosmics = deepcopy(mydict)
     
 
-class Prescales(object):
-    #   Item name             | Prescale
-    #----------------------------------------------------------
-    L1Prescales = {}
-
-    #   Signature name   | [ HLTprescale, HLTpass-through, rerun]
-    #   - Prescale values should be a positive integer (default=1)
-    #   - If the current pass_through value is non-zero,
-    #     the value given here will be used as pass_through rate
-    #     Assuming that pass through chains are configured so
-    #     in the slice files and won't change. Also prescale
-    #     and pass_through will not be used together.
-    #   - If only the first value is specified,
-    #     the default value of pass-through (=0) will be used
-    #----------------------------------------------------------
-    HLTPrescales = {
-        }
-
-    L1Prescales_cosmics  = {}
-    HLTPrescales_cosmics = {}
-    chain_list=[]
-
+Prescales = mc_menu.Prescales
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MC_pp_run3_v1.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5534b90ae4004fbb5311559a21dee010f90e78e
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MC_pp_run3_v1.py
@@ -0,0 +1,80 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+#------------------------------------------------------------------------#
+# MC_pp_run3_v1.py menu for the long shutdown development
+#------------------------------------------------------------------------#
+
+# This defines the input format of the chain and it's properties with the defaults set
+# always required are: name, stream and groups
+#['name', 'L1chainParts'=[], 'stream', 'groups', 'merging'=[], 'topoStartFrom'=False],
+#from TriggerMenuMT.HLTMenuConfig.Menu.ChainDefInMenu import ChainProp
+
+import TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 as physics_menu 
+
+
+def setupMenu():
+
+    from TriggerJobOpts.TriggerFlags          import TriggerFlags
+    from AthenaCommon.Logging                 import logging
+    log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Menu.MC_pp_run3_v1.py' )
+    log.info('setupMenu ...')
+
+    physics_menu.setupMenu()
+
+    TriggerFlags.TestSlice.signatures = TriggerFlags.TestSlice.signatures() + []
+
+    TriggerFlags.MuonSlice.signatures = TriggerFlags.MuonSlice.signatures() + [
+     ]
+
+    TriggerFlags.EgammaSlice.signatures = TriggerFlags.EgammaSlice.signatures() + [
+    ]
+
+    TriggerFlags.METSlice.signatures = TriggerFlags.METSlice.signatures() + [
+    ]
+
+    TriggerFlags.JetSlice.signatures = TriggerFlags.JetSlice.signatures() + [
+    ]
+
+    TriggerFlags.BjetSlice.signatures = TriggerFlags.BjetSlice.signatures() + [
+    ] 
+
+    TriggerFlags.TauSlice.signatures = TriggerFlags.TauSlice.signatures() +[
+    ]
+    TriggerFlags.BphysicsSlice.signatures = TriggerFlags.BphysicsSlice.signatures() + [
+    ]
+    TriggerFlags.CombinedSlice.signatures = TriggerFlags.CombinedSlice.signatures() + [ 
+   ]
+    TriggerFlags.HeavyIonSlice.signatures  = TriggerFlags.HeavyIonSlice.signatures() + []
+    TriggerFlags.BeamspotSlice.signatures  = TriggerFlags.BeamspotSlice.signatures() + []   
+    TriggerFlags.MinBiasSlice.signatures   = TriggerFlags.MinBiasSlice.signatures() + [] 
+    TriggerFlags.CalibSlice.signatures     = TriggerFlags.CalibSlice.signatures() + []
+    TriggerFlags.CosmicSlice.signatures    = TriggerFlags.CosmicSlice.signatures() + []
+    TriggerFlags.StreamingSlice.signatures = TriggerFlags.StreamingSlice.signatures() + [
+    ]
+    TriggerFlags.MonitorSlice.signatures   = TriggerFlags.MonitorSlice.signatures() + [
+    ]
+
+    # Random Seeded EB chains which select at the HLT based on L1 TBP bits
+    TriggerFlags.EnhancedBiasSlice.signatures = TriggerFlags.EnhancedBiasSlice.signatures() + [ ]
+
+    signatureList=[]
+    for prop in dir(TriggerFlags):
+        if prop[-5:]=='Slice':
+            sliceName=prop
+            slice=getattr(TriggerFlags,sliceName)
+            if slice.signatures():
+                signatureList.extend(slice.signatures())
+            else:
+                log.debug('SKIPPING '+str(sliceName))
+    mySigList=[]
+    for allInfo in signatureList:
+        mySigList.append(allInfo[0])
+    mydict={}
+    for chain in mySigList:
+        mydict[chain]=[-1,0,0]
+    mydict.update(Prescales.HLTPrescales_cosmics)
+    from copy import deepcopy
+    Prescales.HLTPrescales_cosmics = deepcopy(mydict)
+    
+
+Prescales = physics_menu.Prescales
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py
index 9dda54a3b7b22cd41218c500a42ae47a896e54c3..73925e149f59590a4a52f9fec1527ac5f7c61d20 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuPrescaleConfig.py
@@ -36,6 +36,34 @@ def MenuPrescaleConfig(triggerConfigHLT):
             L1Prescales = Prescales.L1Prescales
             HLTPrescales = Prescales.HLTPrescales        
 
+    elif menu_name.startswith('Physics_pp_run3_v1'):
+        log.info('Physics_pp_run3_v1 menu setup')
+        from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import setupMenu, Prescales
+        setupMenu()
+        if 'cosmics_prescale' in menu_name:
+            L1Prescales = Prescales.L1Prescales_cosmics
+            HLTPrescales = Prescales.HLTPrescales_cosmics
+        elif 'tight_mc_prescale' in menu_name:
+            L1Prescales = Prescales.L1Prescales_tight_mc_prescale
+            HLTPrescales = Prescales.HLTPrescales_tight_mc_prescale
+        else:
+            L1Prescales = Prescales.L1Prescales
+            HLTPrescales = Prescales.HLTPrescales        
+
+    elif menu_name.startswith('PhysicsP1_pp_run3_v1'):
+        log.info('PhysicsP1_pp_run3_v1 menu setup')
+        from TriggerMenuMT.HLTMenuConfig.Menu.PhysicsP1_pp_run3_v1 import setupMenu, Prescales
+        setupMenu()
+        if 'cosmics_prescale' in menu_name:
+            L1Prescales = Prescales.L1Prescales_cosmics
+            HLTPrescales = Prescales.HLTPrescales_cosmics
+        elif 'tight_mc_prescale' in menu_name:
+            L1Prescales = Prescales.L1Prescales_tight_mc_prescale
+            HLTPrescales = Prescales.HLTPrescales_tight_mc_prescale
+        else:
+            L1Prescales = Prescales.L1Prescales
+            HLTPrescales = Prescales.HLTPrescales        
+
 
     elif menu_name.startswith('LS2_emu_v1'):
         log.info('LS2_v1 menu setup')
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
new file mode 100644
index 0000000000000000000000000000000000000000..ecadcf4bd1a2a968606460948ddc6947ab242405
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/PhysicsP1_pp_run3_v1.py
@@ -0,0 +1,99 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+#------------------------------------------------------------------------#
+# PhysicsP1_pp_run3_v1.py menu for the long shutdown development
+#------------------------------------------------------------------------#
+
+# This defines the input format of the chain and it's properties with the defaults set
+# always required are: name, stream and groups
+#['name', 'L1chainParts'=[], 'stream', 'groups', 'merging'=[], 'topoStartFrom'=False],
+#from TriggerMenuMT.HLTMenuConfig.Menu.ChainDefInMenu import ChainProp
+
+from TriggerMenuMT.HLTMenuConfig.Menu.ChainDefInMenu import ChainProp
+
+import TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 as physics_menu 
+
+from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import PhysicsStream,SingleMuonGroup,SinglePhotonGroup,MinBiasGroup
+
+
+def addP1Signatures():
+
+    from TriggerJobOpts.TriggerFlags          import TriggerFlags
+    from AthenaCommon.Logging                 import logging
+    
+    log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Menu.PhysicsP1_pp_run3_v1.py addP1Signatures()' )
+    log.info('addP1Signatures ...')
+
+    TriggerFlags.TestSlice.signatures = TriggerFlags.TestSlice.signatures() + []
+
+    TriggerFlags.MuonSlice.signatures = TriggerFlags.MuonSlice.signatures() + [
+          ChainProp(name='HLT_mu50_RPCPEBSecondaryReadout_L1MU20', stream=['RPCSecondaryReadout'], groups=SingleMuonGroup), # TODO: Move to Detector slice
+     ]
+
+    TriggerFlags.EgammaSlice.signatures = TriggerFlags.EgammaSlice.signatures() + [
+          ChainProp(name='HLT_g20_etcut_LArPEB_L1EM15',stream=['LArCells'], groups=SinglePhotonGroup),
+    ]
+
+    TriggerFlags.METSlice.signatures = TriggerFlags.METSlice.signatures() + [
+    ]
+
+    TriggerFlags.JetSlice.signatures = TriggerFlags.JetSlice.signatures() + [
+    ]
+
+    TriggerFlags.BjetSlice.signatures = TriggerFlags.BjetSlice.signatures() + [
+    ] 
+
+    TriggerFlags.TauSlice.signatures = TriggerFlags.TauSlice.signatures() +[
+    ]
+    TriggerFlags.BphysicsSlice.signatures = TriggerFlags.BphysicsSlice.signatures() + [
+    ]
+    TriggerFlags.CombinedSlice.signatures = TriggerFlags.CombinedSlice.signatures() + [ 
+   ]
+    TriggerFlags.HeavyIonSlice.signatures  = TriggerFlags.HeavyIonSlice.signatures() + []
+    TriggerFlags.BeamspotSlice.signatures  = TriggerFlags.BeamspotSlice.signatures() + []   
+    TriggerFlags.MinBiasSlice.signatures   = TriggerFlags.MinBiasSlice.signatures() + [] 
+    TriggerFlags.CalibSlice.signatures     = TriggerFlags.CalibSlice.signatures() + []
+    TriggerFlags.CosmicSlice.signatures    = TriggerFlags.CosmicSlice.signatures() + []
+    TriggerFlags.StreamingSlice.signatures = TriggerFlags.StreamingSlice.signatures() + [
+          ChainProp(name='HLT_noalg_L1RD0_EMPTY',  l1SeedThresholds=[''], stream=[PhysicsStream, 'BeamSpot'], groups=MinBiasGroup),  # FIXME: BeamSpot stream added just for testing, to be removed
+          ChainProp(name='HLT_noalg_L1RD0_FILLED', l1SeedThresholds=[''], stream=[PhysicsStream, 'BeamSpot'], groups=MinBiasGroup),  # FIXME: BeamSpot stream added just for testing, to be removed
+    ]
+    TriggerFlags.MonitorSlice.signatures   = TriggerFlags.MonitorSlice.signatures() + [
+          ChainProp(name='HLT_costmonitor_CostMonDS_L1All',        l1SeedThresholds=[''], stream=['CostMonitoring'], groups=['RATE:Monitoring','BW:Other']),
+    ]
+
+    # Random Seeded EB chains which select at the HLT based on L1 TBP bits
+    TriggerFlags.EnhancedBiasSlice.signatures = TriggerFlags.EnhancedBiasSlice.signatures() + [ ]
+
+
+def setupMenu():
+
+    from TriggerJobOpts.TriggerFlags          import TriggerFlags
+    from AthenaCommon.Logging                 import logging
+    log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Menu.PhysicsP1_pp_run3_v1.py' )
+    log.info('setupMenu ...')
+
+    physics_menu.setupMenu()
+    addP1Signatures()
+
+    signatureList=[]
+    for prop in dir(TriggerFlags):
+        if prop[-5:]=='Slice':
+            sliceName=prop
+            slice=getattr(TriggerFlags,sliceName)
+            if slice.signatures():
+                signatureList.extend(slice.signatures())
+            else:
+                log.debug('SKIPPING '+str(sliceName))
+    mySigList=[]
+    for allInfo in signatureList:
+        mySigList.append(allInfo[0])
+    mydict={}
+    for chain in mySigList:
+        mydict[chain]=[-1,0,0]
+    mydict.update(Prescales.HLTPrescales_cosmics)
+    from copy import deepcopy
+    Prescales.HLTPrescales_cosmics = deepcopy(mydict)
+    
+
+Prescales = physics_menu.Prescales
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
new file mode 100644
index 0000000000000000000000000000000000000000..db34b321bdc10e0c65724899a8b89633a1f0198a
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Physics_pp_run3_v1.py
@@ -0,0 +1,164 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+#------------------------------------------------------------------------#
+# Physics_pp_run3_v1.py menu for the long shutdown development
+#------------------------------------------------------------------------#
+
+# This defines the input format of the chain and it's properties with the defaults set
+# always required are: name, stream and groups
+#['name', 'L1chainParts'=[], 'stream', 'groups', 'merging'=[], 'topoStartFrom'=False],
+from TriggerMenuMT.HLTMenuConfig.Menu.ChainDefInMenu import ChainProp
+
+PhysicsStream="Main"
+SingleMuonGroup = ['RATE:SingleMuon', 'BW:Muon']
+MultiMuonGroup = ['RATE:MultiMuon', 'BW:Muon']
+SingleElectronGroup = ['RATE:SingleElectron', 'BW:Electron']
+MultiElectronGroup = ['RATE:MultiElectron', 'BW:Electron']
+SinglePhotonGroup = ['RATE:SinglePhoton', 'BW:Photon']
+MultiPhotonGroup = ['RATE:MultiPhoton', 'BW:Photon']
+SingleMETGroup = ['RATE:MET', 'BW:MET']
+MultiMETGroup = ['RATE:MultiMET', 'BW:MultiMET']
+SingleJetGroup = ['RATE:SingleJet', 'BW:Jet']
+MultiJetGroup = ['RATE:MultiJet', 'BW:Jet']
+SingleBjetGroup = ['RATE:SingleBJet', 'BW:BJet']
+#MultiBjetGroup = ['RATE:MultiBJet', 'BW:BJet']
+SingleTauGroup = ['RATE:SingleTau', 'BW:Tau']
+#MultiTauGroup = ['RATE:MultiTau', 'BW:Tau']
+BphysicsGroup = ['RATE:Bphysics', 'BW:Bphysics']
+MinBiasGroup = ['RATE:MinBias', 'BW:MinBias']
+EgammaStreamersGroup = ['RATE:SeededStreamers', 'BW:Egamma']
+
+def setupMenu():
+
+    from TriggerJobOpts.TriggerFlags          import TriggerFlags
+    from AthenaCommon.Logging                 import logging
+    log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1.py' )
+    log.info('setupMenu ...')
+
+
+    TriggerFlags.Slices_all_setOff()
+
+    TriggerFlags.TestSlice.signatures = []
+
+    TriggerFlags.MuonSlice.signatures = [
+        #ATR-20049
+        ChainProp(name='HLT_mu60_0eta105_msonly_L1MU20', groups=SingleMuonGroup),
+        ChainProp(name='HLT_mu80_msonly_3layersEC_L1MU20', groups=SingleMuonGroup),
+        ChainProp(name='HLT_3mu6_L13MU6', l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
+        ChainProp(name='HLT_3mu6_msonly_L13MU6', l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
+        ChainProp(name='HLT_4mu4_L14MU4', l1SeedThresholds=['MU4'],   groups=MultiMuonGroup),
+        ChainProp(name='HLT_mu26_ivarmedium_L1MU20', groups=SingleMuonGroup),
+        ChainProp(name='HLT_mu50_L1MU20', groups=SingleMuonGroup),
+        ChainProp(name='HLT_2mu14_L12MU10', groups=MultiMuonGroup),
+        ChainProp(name='HLT_2mu6Comb_L12MU6', l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
+        ChainProp(name='HLT_2mu6_L12MU6',     l1SeedThresholds=['MU6'],   groups=MultiMuonGroup),
+     ]
+
+    TriggerFlags.EgammaSlice.signatures = [
+        # ElectronChains----------
+        ChainProp(name='HLT_e26_etcut_L1EM22VHI', groups=SingleElectronGroup),
+        ChainProp(name='HLT_2e17_etcut_L12EM15VH', stream=[PhysicsStream], groups=MultiElectronGroup),
+        ChainProp(name='HLT_g140_etcut_L1EM24VHI', groups=SinglePhotonGroup),  
+        ChainProp(name='HLT_2g35_etcut_L12EM20VH', groups=MultiPhotonGroup),  
+    ]
+
+    TriggerFlags.METSlice.signatures = [
+        ChainProp(name='HLT_xe65_cell_L1XE50', groups=SingleMETGroup),
+        # MultiMET Chain
+    ]
+
+    TriggerFlags.JetSlice.signatures = [
+        # ATR-20049
+        ChainProp(name='HLT_j420_L1J100', groups=SingleJetGroup),
+        ChainProp(name='HLT_j260_320eta490_L1J75_31ETA49', groups=SingleJetGroup),
+        ChainProp(name='HLT_j460_a10r_L1J100',  groups=SingleJetGroup),
+        ChainProp(name='HLT_j460_a10_lcw_subjes_L1J100', groups=SingleJetGroup),
+        ChainProp(name='HLT_j460_a10t_lcw_jes_L1J100', groups=SingleJetGroup),
+        ChainProp(name='HLT_j460_a10t_lcw_jes_30smcINF_L1J100', groups=SingleJetGroup),
+        ChainProp(name='HLT_2j330_a10t_lcw_jes_35smcINF_L1J100', groups=SingleJetGroup),
+        ChainProp(name='HLT_5j70_0eta240_L14J20', groups=MultiJetGroup), # this chain is supposed to be seeded off L1_4J15 in principle, needs CF fix
+        ChainProp(name='HLT_3j200_L1J100', groups=MultiJetGroup),
+
+        ChainProp(name='HLT_j80_j60_L1J15', l1SeedThresholds=['']*2, groups=MultiJetGroup),
+        ChainProp(name='HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20', l1SeedThresholds=['']*3, groups=MultiJetGroup),
+    ]
+
+    TriggerFlags.BjetSlice.signatures = [
+        #ATR-20049
+        ChainProp(name="HLT_j175_gsc225_bmv2c1040_split_L1J100", groups=SingleBjetGroup),
+        ChainProp(name="HLT_j225_gsc275_bmv2c1060_split_L1J100", groups=SingleBjetGroup),
+        ChainProp(name="HLT_j225_gsc300_bmv2c1070_split_L1J100", groups=SingleBjetGroup),
+        ChainProp(name="HLT_j225_gsc360_bmv2c1077_split_L1J100", groups=SingleBjetGroup),
+    ] 
+
+    TriggerFlags.TauSlice.signatures = [
+        #ATR-20049
+        ChainProp(name="HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100", groups=SingleTauGroup),
+    ]
+    TriggerFlags.BphysicsSlice.signatures = [
+        #ATR-20049
+        ChainProp(name='HLT_2mu10_bJpsimumu_L12MU10',     groups=BphysicsGroup),
+        ChainProp(name='HLT_2mu10_bUpsimumu_L12MU10',     groups=BphysicsGroup),
+    ]
+    TriggerFlags.CombinedSlice.signatures = [ 
+        ChainProp(name='HLT_e3_etcut1step_mu6fast_L1EM8I_MU10', l1SeedThresholds=['EM8I', 'MU10'], stream=[PhysicsStream], groups=MultiElectronGroup),    #L1 item thresholds in wrong order (EM first, then MU)    
+   ]
+    TriggerFlags.HeavyIonSlice.signatures  = []
+    TriggerFlags.BeamspotSlice.signatures  = [
+        ChainProp(name='HLT_beamspot_allTE_trkfast_L1J15',  l1SeedThresholds=[''], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
+        #ChainProp(name='HLT_beamspot_activeTE_trkfast_L1J15',  l1SeedThresholds=[''], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
+        #ChainProp(name='HLT_beamspot_trkFS_trkfast_L1J15',  l1SeedThresholds=[''], stream=['BeamSpot'], groups=['RATE:BeamSpot',  'BW:BeamSpot']),
+    ]
+    TriggerFlags.MinBiasSlice.signatures   = []
+    TriggerFlags.CalibSlice.signatures     = []
+    TriggerFlags.CosmicSlice.signatures    = []
+    TriggerFlags.StreamingSlice.signatures = [
+    ]
+    TriggerFlags.MonitorSlice.signatures   = [
+    ]
+
+    # Random Seeded EB chains which select at the HLT based on L1 TBP bits
+    TriggerFlags.EnhancedBiasSlice.signatures = [ ]
+
+    signatureList=[]
+    for prop in dir(TriggerFlags):
+        if prop[-5:]=='Slice':
+            sliceName=prop
+            slice=getattr(TriggerFlags,sliceName)
+            if slice.signatures():
+                signatureList.extend(slice.signatures())
+            else:
+                log.debug('SKIPPING '+str(sliceName))
+    mySigList=[]
+    for allInfo in signatureList:
+        mySigList.append(allInfo[0])
+    mydict={}
+    for chain in mySigList:
+        mydict[chain]=[-1,0,0]
+    mydict.update(Prescales.HLTPrescales_cosmics)
+    from copy import deepcopy
+    Prescales.HLTPrescales_cosmics = deepcopy(mydict)
+    
+
+class Prescales(object):
+    #   Item name             | Prescale
+    #----------------------------------------------------------
+    L1Prescales = {}
+
+    #   Signature name   | [ HLTprescale, HLTpass-through, rerun]
+    #   - Prescale values should be a positive integer (default=1)
+    #   - If the current pass_through value is non-zero,
+    #     the value given here will be used as pass_through rate
+    #     Assuming that pass through chains are configured so
+    #     in the slice files and won't change. Also prescale
+    #     and pass_through will not be used together.
+    #   - If only the first value is specified,
+    #     the default value of pass-through (=0) will be used
+    #----------------------------------------------------------
+    HLTPrescales = {
+        }
+
+    L1Prescales_cosmics  = {}
+    HLTPrescales_cosmics = {}
+    chain_list=[]
+
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
index c5f7396a2368541e618d54c1def560d7ba858ffe..6b454052af27e2bb886d185a68e28aecf77b9008 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py
@@ -38,7 +38,7 @@ class ItemDef:
         # define local flag for menu version
         isV6 = '_v6' in TriggerFlags.triggerMenuSetup()
         isV7 = '_v7' in TriggerFlags.triggerMenuSetup()
-        isV8 = '_v8' in TriggerFlags.triggerMenuSetup() or 'LS2_v1'==TriggerFlags.triggerMenuSetup()
+        isV8 = '_v8' in TriggerFlags.triggerMenuSetup() or 'LS2_v1'==TriggerFlags.triggerMenuSetup() or 'pp_run3_v1' in TriggerFlags.triggerMenuSetup()
         isHI = '_HI' in TriggerFlags.triggerMenuSetup()
         isHIV5 = 'HI_v5' in TriggerFlags.triggerMenuSetup()
         isPhaseII = '_PhaseII' in TriggerFlags.triggerMenuSetup()
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ThresholdDefLegacy.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ThresholdDefLegacy.py
index 1bcc0364bd4eaa4eef84680281f9e173a2d443c3..2984ab96aa7fa313adca8920667f5883f6d335f9 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ThresholdDefLegacy.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ThresholdDefLegacy.py
@@ -18,7 +18,7 @@ class ThresholdDefLegacy:
     def registerThresholds(tc):
 
         isV6 = '_v6' in TriggerFlags.triggerMenuSetup()
-        isV8 = '_v8' in TriggerFlags.triggerMenuSetup() or 'LS2_v1'==TriggerFlags.triggerMenuSetup()
+        isV8 = '_v8' in TriggerFlags.triggerMenuSetup() or 'LS2_v1'==TriggerFlags.triggerMenuSetup() or 'pp_run3_v1' in TriggerFlags.triggerMenuSetup()
         isHI = '_HI' in TriggerFlags.triggerMenuSetup()
 
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/L1MenuConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/L1MenuConfig.py
index 6a78b671b5bff3c79240d708c0aa7eb80a1de4eb..f860b2153613db5b179e8dd6b8ff3996acfb6ec3 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/L1MenuConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/L1MenuConfig.py
@@ -236,7 +236,7 @@ class L1MenuConfig(object):
 
     def _checkMenuExistence(self):
         menuToLoad = self.menuName
-        if menuToLoad == "LS2_v1":
+        if menuToLoad == "LS2_v1" or "pp_run3_v1" in menuToLoad:
             menuToLoad = "MC_pp_v8"
         try:
             __import__('Menu.Menu_%s' % menuToLoad, globals(), locals(), ['defineMenu'], -1)
@@ -256,9 +256,9 @@ class L1MenuConfig(object):
 
         # we apply a hack here. menu group is working on LS2_v1, until ready we will use MC_pp_v8
         menuToLoad = self.menuName
-        if menuToLoad == "LS2_v1":
+        if menuToLoad == "LS2_v1" or "pp_run3_v1" in menuToLoad:
             menuToLoad = "MC_pp_v8"
-            log.info("Menu LS2_v1 was requested but is not available yet. Will load MC_pp_v8 instead. This is a TEMPORARY meassure")
+            log.info("Menu LS2_v1/*_pp_run3_v1 was requested but is not available yet. Will load MC_pp_v8 instead. This is a TEMPORARY meassure")
 
         log.info("Reading TriggerMenuMT.Menu.Menu_%s", menuToLoad)
         menumodule = __import__('Menu.Menu_%s' % menuToLoad, globals(), locals(), ['defineMenu'], -1)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py
index 799ad1a002011c507e8f2f09d0b9d8d54ee13169..5c324ef7d1d840f608b53f19d41058f0bf6d61f3 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/L1TopoMenu/TopoAlgoDef.py
@@ -26,7 +26,7 @@ class TopoAlgoDef(object):
 
         if '_v7' in TriggerFlags.triggerMenuSetup():
             usev7 = True
-        if 'LS2_v' in TriggerFlags.triggerMenuSetup():
+        if 'LS2_v' in TriggerFlags.triggerMenuSetup() or 'pp_run3_v1' in TriggerFlags.triggerMenuSetup():
             usev7 = True
         
         _emscale_for_decision = 2 # global scale for EM, TAU        
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py
index 3b28e8ed50f064b0b147f266d996881c616e8634..9e473fe51b381cb27095da8a0730591a3d3b9868 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/LVL1Menu/ItemDef.py
@@ -1479,11 +1479,11 @@ class ItemDef(object):
      
                     LVL1MenuItem('L1_LFV-MU6').setLogic( TOPO_0DR15_2MU6ab & physcond)
                     LVL1MenuItem('L1_LFV-MU').setLogic( TOPO_0DR10_MU10ab_MU6ab & physcond)
-                    if not '_v7' in TriggerFlags.triggerMenuSetup() and not 'LS2_v' in TriggerFlags.triggerMenuSetup():
+                    if not '_v7' in TriggerFlags.triggerMenuSetup() and not 'LS2_v' in TriggerFlags.triggerMenuSetup() and not 'pp_run3_v' in TriggerFlags.triggerMenuSetup():
                         LVL1MenuItem('L1_LFV-EM8I').setLogic( TOPO_0DETA04_0DPHI03_EM8abi_MU10ab & physcond)
                     else:
                         LVL1MenuItem('L1_LFV-EM8I').setLogic( TOPO_0DETA04_EM8abi_MU10ab & TOPO_0DPHI03_EM8abi_MU10ab & physcond) #ATR-14282
-                    if not '_v7' in TriggerFlags.triggerMenuSetup() and not 'LS2_v' in TriggerFlags.triggerMenuSetup():
+                    if not '_v7' in TriggerFlags.triggerMenuSetup() and not 'LS2_v' in TriggerFlags.triggerMenuSetup() and not 'pp_run3_v' in TriggerFlags.triggerMenuSetup():
                         LVL1MenuItem('L1_LFV-EM15I').setLogic( TOPO_0DETA04_0DPHI03_EM15abi_MUab & physcond)
                     else:
                         LVL1MenuItem('L1_LFV-EM15I').setLogic( TOPO_0DETA04_EM15abi_MUab & TOPO_0DPHI03_EM15abi_MUab & physcond) #ATR-14282
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/TriggerConfigL1Topo.py b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/TriggerConfigL1Topo.py
index d8c2869cc9e129fb12f2b96f1133368e558c9511..dda519eaf74323b047e3f60802884ee560f7fcdc 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/TriggerConfigL1Topo.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/LVL1MenuConfig/TriggerConfigL1Topo.py
@@ -50,6 +50,8 @@ class TriggerConfigL1Topo(object):
         patternPos = pattern.search(menuName)
         if patternPos:
             menuName=menuName[:patternPos.end()]
+            if 'pp_run3_v1' in menuName:
+                menuName = 'LS2_v1'
         else:
             log.info('Can\'t find pattern to shorten menu name, either non-existent in name or not implemented.')
         return menuName