diff --git a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py
index d50125313776ef032ad2efbe07f73eedc663687c..0cbf07783bb3cf82ebc6aaa395e0bc07ca12e917 100644
--- a/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py
+++ b/Trigger/TrigAlgorithms/TrigT2MinBias/python/TrigT2MinBiasConfig.py
@@ -534,6 +534,30 @@ L2MbSpHypo_veto.SctSpBarrel_max = -1. # Disable
 L2MbSpHypo_veto.SctSpEndcapA_max = -1. # Disable
 hypos["L2MbSpHypo_veto"] = L2MbSpHypo_veto
 
+class L2MbSpMhNoPixHypo_veto(MbSpHypo):
+    def __init__(self, name, threshold):
+        super(L2MbSpMhNoPixHypo_veto, self).__init__(name)
+        
+        self.AcceptAll = False
+        self.TriggerTypeAND = False # Must use OR because Pixel is disabled
+        self.Veto = True
+        self.TotalPixelClus = -1. # Disable
+        self.PixelClusRatioA = -1. # Disable
+        self.PixelClusRatioB = -1. # Disable
+        self.PixelClusEndcapC = -1. # Disable
+        self.PixelClusBarrel = -1. # Disable 
+        self.PixelClusEndcapA = -1. # Disable
+        self.PixelClusEndcapC_max = -1. # Disable
+        self.PixelClusBarrel_max = -1. # Disable 
+        self.PixelClusEndcapA_max = -1. # Disable
+        self.TotalSctSp = threshold  # here is the only one actively used setting
+        self.SctSpEndcapC = -1. # Disable
+        self.SctSpBarrel = -1. # Disable
+        self.SctSpEndcapA = -1. # Disable
+        self.SctSpEndcapC_max = -1. # Disable
+        self.SctSpBarrel_max = -1. # Disable
+        self.SctSpEndcapA_max = -1. # Disable
+
 
 
 #             Sp hypo configuratables veto large multiplicity
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index ec0cf3c1b6b3835580ee63ea5451b945bc89bf92..f2e662203ef688f3db7e4b0d34bcfcfbbb251af7 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -1041,7 +1041,7 @@ class triggerMenuSetup(JobProperty):
         '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',
-        'Physics_HI_v5', 'Physics_HI_v5_no_prescale', # for 2015 lead-lead menu 
+        'Physics_HI_v5', 'Physics_HI_v5_tight_physics_prescale', 'Physics_HI_v5_no_prescale', # for 2015 lead-lead menu 
         'MC_HI_v5', 'MC_HI_v5_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',
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/l1menu/Menu_Physics_HI_v5.py b/Trigger/TriggerCommon/TriggerMenu/python/l1menu/Menu_Physics_HI_v5.py
index 399359fc9ac9aa992fc445485021bc921a65b8ab..307a98f06e6de5da9526aa189a5bddb8c96a6687 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/l1menu/Menu_Physics_HI_v5.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/l1menu/Menu_Physics_HI_v5.py
@@ -155,8 +155,7 @@ def defineMenu():
 
         # 2 x MBTS
         'MBTS_A', 'MBTS_C', 
-
-        #TODO/NOTE: redefined according to pp_v7 menu  
+  
         # 32 x MBTSSI (all FTHR)
         # NOTE: THESE ARE OUT OF ORDER FOR A REASON! Do not change!
         # The order defines the mapping - see ATR-17870.
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/Lumi.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/Lumi.py
index a6ffc33841de2353881cc505ee44e6b1471b4c65..9d76d39dc984515bdcd48e14e23f214ac6f14cc7 100755
--- a/Trigger/TriggerCommon/TriggerMenu/python/menu/Lumi.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/Lumi.py
@@ -178,6 +178,9 @@ def lumi(triggerPythonConfig):
         if 'cosmics_prescale' in menu_name:
             L1Prescales = Prescales.L1Prescales_cosmics
             HLTPrescales = Prescales.HLTPrescales_cosmics
+        elif 'tight' in menu_name:
+            L1Prescales = Prescales.L1Prescales_tight_physics_prescale
+            HLTPrescales = Prescales.HLTPrescales_tight_physics_prescale
         else:
             L1Prescales = Prescales.L1Prescales
             HLTPrescales = Prescales.HLTPrescales
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_HI_v5.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_HI_v5.py
index 559b6c7c51aa5a91eeb77be244959c1fdac66aa1..c676e1b2dc24f432a35ac6566b1fa9119a30ad4d 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_HI_v5.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_HI_v5.py
@@ -245,7 +245,6 @@ def setupMenu():
 	#['g12_etcut_ion',              'L1_EM10', [], [HardProbesStream, 'express'], ['RATE:SinglePhoton', 'BW:Egamma'], -1],
     ['g13_etcut_ion',              'L1_EM10', [], [HardProbesStream, 'express'], ['RATE:SinglePhoton', 'BW:Egamma'], -1],
 	['g18_etcut_ion',              'L1_EM12', [], [HardProbesStream, 'express'], ['RATE:SinglePhoton', 'BW:Egamma'], -1],
-	['g20_etcut_ion',              'L1_EM12', [], [HardProbesStream, 'express'], ['RATE:SinglePhoton', 'BW:Egamma'], -1],
 
     #['e15_loose_ion',              'L1_EM10', [], [HardProbesStream, 'express'], ['RATE:SingleElectron', 'BW:Egamma'], -1],
     #['e15_medium_ion',             'L1_EM10', [], [HardProbesStream, 'express'], ['RATE:SingleElectron', 'BW:Egamma'], -1],
@@ -344,11 +343,11 @@ def setupMenu():
     ['mu6_j25_ion', 'L1_MU6',     ['L1_MU6', ''], [HardProbesStream], ['RATE:MuonBjet', 'BW:BJet'], -1,['serial',-1,['mu6', 'j25_ion'] ]],
     ['mu6_j30_ion', 'L1_MU6',     ['L1_MU6', ''], [HardProbesStream], ['RATE:MuonBjet', 'BW:BJet'], -1,['serial',-1,['mu6', 'j30_ion'] ]],
             
-     #UPC:Supporting TODO
-    #['hi_upc_FgapAC_mb_sptrk_exclusiveloose1_L1ZDC_XOR_VTE50',        'L1_ZDC_XOR_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusive_loose1'],False]],
-    #['hi_upc_FgapAC_mb_sptrk_exclusiveloose2_L1ZDC_XOR_VTE50',        'L1_ZDC_XOR_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusive_loose2'],False]],
-    #['hi_upc_FgapAC_mb_sptrk_exclusiveloose1_L1MU4_VTE50',        'L1_MU4_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusive_loose1'],False]],
-    #['hi_upc_FgapAC_mb_sptrk_exclusiveloose2_L1MU4_VTE50',        'L1_MU4_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusive_loose2'],False]],
+     #UPC:Supporting
+    ['hi_upc_FgapAC_mb_sptrk_exclusiveloose1_L1ZDC_XOR_VTE50',        'L1_ZDC_XOR_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusiveloose1'],False]],
+    ['hi_upc_FgapAC_mb_sptrk_exclusiveloose2_L1ZDC_XOR_VTE50',        'L1_ZDC_XOR_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusiveloose2'],False]],
+    ['hi_upc_FgapAC_mb_sptrk_exclusiveloose1_L1MU4_VTE50',        'L1_MU4_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusiveloose1'],False]],
+    ['hi_upc_FgapAC_mb_sptrk_exclusiveloose2_L1MU4_VTE50',        'L1_MU4_VTE50',   ['', ''], [UPCStream],["BW:UPC", "RATE:UPC"], 1, ['serial', -1, ['hi_upc_FgapAC','mb_sptrk_exclusiveloose2'],False]],
        
         ]
       
@@ -456,8 +455,12 @@ def setupMenu():
 	#['mb_sptrk_ion_trk15_L1ZDC_XOR_VTE200_MBTS_1',  'L1_ZDC_XOR_VTE200_MBTS_1', [], [UPCStream],["BW:UPC", "RATE:UPC"], 1],
 	
 	#UPC: Other primary 
-	['mb_sptrk_exclusiveloose_L1VTE20',        'L1_VTE20',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
-	['mb_sptrk_exclusivetight_L1VTE20',        'L1_VTE20',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
+	['mb_sptrk_exclusiveloose_vetosp1500_L1VTE20',        'L1_VTE20',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
+	['mb_sptrk_exclusivetight_vetosp1500_L1VTE20',        'L1_VTE20',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
+		
+	#['mb_sptrk_exclusiveloose_L1VTE20',        'L1_VTE20',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
+	#['mb_sptrk_exclusivetight_L1VTE20',        'L1_VTE20',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
+	
 	#['mb_sptrk_ptX_L1TE5_VZDC_AORC_VTE200',        'L1_TE5_VZDC_AORC_VTE200',   [], [UPCStream], ["BW:UPC", "RATE:UPC"], -1],
        
 	#UPC:Supporting
@@ -637,7 +640,7 @@ def setupMenu():
 	#muon
 	['noalg_L1MU4',    'L1_MU4', [],   [HardProbesStream, 'express'], ["BW:SingleMuon", "RATE:Muon"], 1],
 	['noalg_L1MU6',    'L1_MU6', [],  [HardProbesStream, 'express'], ["BW:SingleMuon", "RATE:Muon"], 1],	
-	['noalg_L1MU11',   'L1_MU4', [],  [HardProbesStream, 'express'], ["BW:SingleMuon", "RATE:Muon"], 1],
+	['noalg_L1MU11',   'L1_MU11', [],  [HardProbesStream, 'express'], ["BW:SingleMuon", "RATE:Muon"], 1],
 	['noalg_L1MU15',   'L1_MU15', [], [HardProbesStream], ["BW:SingleMuon", "RATE:Muon"], 1],
 	['noalg_L1MU20',   'L1_MU20', [], [HardProbesStream], ["BW:SingleMuon", "RATE:Muon"], 1],
 
@@ -771,6 +774,21 @@ class Prescales:
     HLTPrescales = {
         }
 
+######################################################
+# TIGHT physics prescales
+######################################################
+from copy import deepcopy
+# enable if desired: # setting all L1 prescales to 1
+#Prescales.L1Prescales = dict([(ctpid,1) for ctpid in Prescales.L1Prescales]) 
+ 
+Prescales.L1Prescales_tight_physics_prescale  = deepcopy(Prescales.L1Prescales)
+Prescales.HLTPrescales_tight_physics_prescale = deepcopy(Prescales.HLTPrescales)
+
+chain_list=[
+    'timeburner',
+    ]
+Prescales.HLTPrescales_tight_physics_prescale.update(dict(map(None,chain_list,len(chain_list)*[ [-1, 0,-1] ])))
+######################################################
 
 # StreamConfig = {
 #     'HardProbes':      [ 'egamma',
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py
index af22b22499d98e6aa3bc1da7daca3cce6f7c0a5a..e0ca91bae1cbd97826d56d4d578b7992ae529463 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py
@@ -558,14 +558,14 @@ MinBiasChainParts = {
     'multiplicity'   : '',    
     'trigType'       : ['mb'],
     'threshold'      : '',
-    'extra'          : ['noisesup', 'vetombts2in', 'vetombts1side2in',  'vetospmbts2in', "vetosp" ,'ion', 'ncb', 'blayer', 'exclusiveloose', 'exclusivetight'], #ncb = non collision background, blayer = only sum innermost pix layer
+    'extra'          : ['noisesup', 'vetombts2in', 'vetombts1side2in',  'vetospmbts2in', "vetosp" ,'ion', 'ncb', 'blayer', 'exclusiveloose', 'exclusiveloose1', 'exclusiveloose2', 'exclusivetight'], #ncb = non collision background, blayer = only sum innermost pix layer
     'IDinfo'         : [],
     'ZDCinfo'        : ['lg', 'hg'],
     'trkInfo'        : ['hlttr', 'ftk', 'costr'],
     'hypoL2Info'     : ['sp2', 'sp3', 'sp5', 'sp10', 'sp15', 'sp100', 'sp300', 'sp400', 'sp500', 'sp600', 'sp700', 'sp800', 'sp900',
                         'sp1000', 'sp1100', 'sp1200', 'sp1300', 'sp1400', 'sp1500', 'sp1600', 'sp1700', 'sp1800', 'sp1900',
                         'sp2000', 'sp2100', 'sp2200', 'sp2300', 'sp2400', 'sp2500', 'sp2700', 'sp2800', 'sp2900', 'sp3000',
-                        'sp3100', 'sp3500', 'sp4100', 'sp4500', 'sp4800', 'sp5000', 'sp5200',],
+                        'sp3100', 'sp3500', 'sp4100', 'sp4500', 'sp4800', 'sp5000', 'sp5200','vetosp1500'],
     'pileupInfo'     : ['pusup200','pusup300','pusup350', 'pusup400', 'pusup450', 'pusup500', 'pusup550', 'pusup600', 'pusup650', 'pusup700', 'pusup750', 'pusup800', 'pusup850', 'pusup900',
                         'pusup1000', 'pusup1100', 'pusup1200', 'pusup1300', 'pusup1400', 'pusup1500',],
     'hypoEFInfo'     : ['trk3','trk5','trk10','trk15',  'trk20',  'trk30',  'trk40', 'trk45', 'trk50', 'trk55', 'trk60', 'trk65', 'trk70', 'trk75', 'trk80', 'trk90',
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py
index 849bdb5a6ea9833aa8ffc46862e638d56d320fcc..222f057a503869f118f66c210b493c44dbff443e 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/minbias/MinBiasDef.py
@@ -16,7 +16,7 @@ from TriggerMenu.menu.HltConfig import L2EFChainDef,mergeRemovingOverlap
 
 from TrigT2MinBias.TrigT2MinBiasConfig import (MbMbtsHypo,L2MbMbtsFex,L2MbSpFex,L2MbSpFex_SCTNoiseSup,L2MbSpFex_ncb,
                                                L2MbSpHypo_blayer,L2MbSpHypo_veto,L2MbSpFex_noPix,L2MbSpMhNoPixHypo_hip,
-                                               L2MbSpFex_BLayer,L2MbSpHypo_ncb,L2MbSpHypo,L2MbSpHypo_PT,
+                                               L2MbSpFex_BLayer,L2MbSpHypo_ncb,L2MbSpHypo,L2MbSpHypo_PT,L2MbSpMhNoPixHypo_veto,
                                                L2MbMbtsHypo_PT,L2MbZdcFex_LG,L2MbZdcHypo_PT,L2MbZdcFex_HG,trigT2MinBiasProperties)
 from InDetTrigRecExample.EFInDetConfig import TrigEFIDSequence
 #fexes.efid = TrigEFIDSequence("minBias","minBias","InsideOut").getSequence()
@@ -139,7 +139,9 @@ class L2EFChain_MB(L2EFChainDef):
         doVetoSp=False
         if 'vetosp' in self.chainPart['extra']:
             doVetoSp=True
-
+        doVetoSpN=False
+        if 'vetosp' in self.chainPart['hypoL2Info']:
+            doVetoSpN=True
         doSptrk=False
         if "sptrk" in self.chainPart['recoAlg']: #do EFID
             doSptrk=True
@@ -154,7 +156,7 @@ class L2EFChain_MB(L2EFChainDef):
             doMbtsVeto=True
             theL2MbtsFex=L2MbMbtsFex
             theL2MbtsHypo=MbMbtsHypo("L2MbMbtsHypo_1_1_inn_one_side_veto")
-
+        doexclusivelooseN=False
         ########## L2 algos ##################
         #if "sptrk" or "sp" in self.chainPart['recoAlg']:
         if "noisesup" in self.chainPart['extra']:
@@ -171,7 +173,8 @@ class L2EFChain_MB(L2EFChainDef):
         else:
             theL2Fex  = L2MbSpFex
             if doSptrk:
-                chainSuffix = "sptrk"
+                if not doVetoSpN: chainSuffix = "sptrk"
+                else: chainSuffix = "sptrk_"+self.chainPart['hypoL2Info']
             elif doVetoSp:
                 chainSuffix = "sp_vetosp"
             else:
@@ -194,19 +197,25 @@ class L2EFChain_MB(L2EFChainDef):
             theL2Hypo = L2MbSpHypo_veto
         else:
             theL2Hypo = L2MbSpHypo
-
+        if doVetoSpN: 
+            l2hypo2 = self.chainPart['hypoL2Info']
+            l2th=l2hypo2.lstrip('vetosp')
+            theL2Hypo2 = L2MbSpHypo_veto
+            theL2Hypo2 = L2MbSpMhNoPixHypo_veto("L2MbSpMhNoPixHypo_veto_"+l2th,float(l2th))
+            #chainSuffix = chainSuffix+'_vetosp'+l2th
         ########## EF algos ##################
         #if "sptrk" in self.chainPart['recoAlg']:
+        chainSuffixEF=chainSuffix
         if "costr" in self.chainPart['trkInfo']:
-            chainSuffix = chainSuffix+"_costr"
+            chainSuffixEF = chainSuffixEF+"_costr"
                 
             from InDetTrigRecExample.EFInDetConfig import TrigEFIDInsideOut_CosmicsN
             efid_costr=TrigEFIDInsideOut_CosmicsN()
             theEFFex1 = efid_costr.getSequence()
             from TrigMinBias.TrigMinBiasConfig import MbTrkFex_1, MbTrkHypo_1
-            theEFFex2 =  MbTrkFex_1("MbTrkFex_"+chainSuffix)
+            theEFFex2 =  MbTrkFex_1("MbTrkFex_"+chainSuffixEF)
             theEFFex2.InputTrackContainerName = "InDetTrigTrackSlimmerIOTRT_CosmicsN_EFID"
-            theEFHypo = MbTrkHypo_1("MbTrkHypo_"+chainSuffix)
+            theEFHypo = MbTrkHypo_1("MbTrkHypo_"+chainSuffixEF)
             theEFHypo.AcceptAll_EF=False
             theEFHypo.Required_ntrks=1
             theEFHypo.Max_z0=1000.0
@@ -218,6 +227,7 @@ class L2EFChain_MB(L2EFChainDef):
 
             theEFFex2 =  EFMbTrkFex
             efhypo = self.chainPart['hypoEFInfo']
+            efextra = self.chainPart['extra']
             if efhypo:
                 if "pt" in self.chainPart['hypoEFInfo']:
                     efth=efhypo.lstrip('pt')
@@ -225,22 +235,31 @@ class L2EFChain_MB(L2EFChainDef):
                     theEFHypo = MbTrkHypo('EFMbTrkHypo_pt%d'% threshold)
                     theEFHypo.Min_pt = threshold
                     theEFHypo.Max_z0 = 401.
-                    chainSuffix = chainSuffix+'_pt'+efth
+                    chainSuffixEF = chainSuffixEF+'_pt'+efth
                 elif "trk" in self.chainPart['hypoEFInfo']:
                     efth=efhypo.lstrip('trk')
                     theEFHypo = MbTrkHypo('EFMbTrkHypo_trk%i'% int(efth))
                     theEFHypo.Required_ntrks = int(efth)
                     theEFHypo.Min_pt = 0.200
                     theEFHypo.Max_z0 = 401.
-                    chainSuffix = chainSuffix+'_trk'+efth
+                    chainSuffixEF = chainSuffixEF+'_trk'+efth
             elif 'exclusiveloose' in self.chainPart['extra']:
                 efth=0.200 #default
                 theEFHypo =  EFMbTrkHypoExclusiveLoose
-                chainSuffix = chainSuffix+"_exclusiveloose"
+                efthX=efextra.lstrip('exclusiveloose')
+                chainSuffixEF = chainSuffixEF+"_exclusiveloose"
+                
+                if efthX:
+                    doexclusivelooseN=True
+                    threshold=int(efthX)
+                    theEFHypo2 = MbTrkHypo('EFMbTrkHypo2_pt1_trk%i'% threshold)
+                    theEFHypo2.Min_pt = 1.
+                    theEFHypo2.Required_ntrks = int(efthX)
+                    theEFHypo2.Max_z0 = 401.
             elif 'exclusivetight' in self.chainPart['extra']:
                 efth=0.200 #default
                 theEFHypo =  EFMbTrkHypoExclusiveTight
-                chainSuffix = chainSuffix+"_exclusivetight"
+                chainSuffixEF = chainSuffixEF+"_exclusivetight"
             else:
                 efth=0.200 #default
                 theEFHypo =  EFMbTrkHypo
@@ -265,15 +284,25 @@ class L2EFChain_MB(L2EFChainDef):
             self.L2sequenceList += [['L2_mb_dummy',
                                      efiddataprep,
                                      'L2_mb_iddataprep']] 
-
-        self.L2sequenceList += [[['L2_mb_iddataprep'],
-                                 [theL2Fex, theL2Hypo],
-                                 'L2_mb_step1']]
-
+        if doVetoSpN:
+            self.L2sequenceList += [[['L2_mb_iddataprep'],
+                                     [theL2Fex, theL2Hypo],
+                                     'L2_mb_spveto']]
+            self.L2sequenceList += [[['L2_mb_spveto'],
+                                     [theL2Hypo2],
+                                     'L2_mb_step1']]
+        else:    
+            self.L2sequenceList += [[['L2_mb_iddataprep'],
+                                     [theL2Fex, theL2Hypo],
+                                     'L2_mb_step1']]
         if doSptrk:
             self.EFsequenceList += [[['L2_mb_step1'],
                                      theEFFex1+[theEFFex2, theEFHypo],
                                      'EF_mb_step1']]
+            if doexclusivelooseN:      
+                self.EFsequenceList += [[['EF_mb_step1'],
+                                         [theEFHypo2],
+                                         'EF_mb_step2']]                         
             if 'peb' in self.chainPart['addInfo']:
                 from TrigDetCalib.TrigDetCalibConfig import TrigSubDetListWriter
                 ALFASubDetListWriter = TrigSubDetListWriter("ALFASubDetListWriter")
@@ -289,9 +318,13 @@ class L2EFChain_MB(L2EFChainDef):
         if doMbtsVeto:
             self.L2signatureList += [ [['L2_mb_mbtsveto']] ]
         self.L2signatureList += [ [['L2_mb_iddataprep']] ]
+        if doVetoSpN:
+            self.L2signatureList += [ [['L2_mb_spveto']] ]
         self.L2signatureList += [ [['L2_mb_step1']] ]
         if doSptrk:
             self.EFsignatureList += [ [['EF_mb_step1']] ]
+            if doexclusivelooseN:
+                self.EFsignatureList += [ [['EF_mb_step2']] ]
             if 'peb' in self.chainPart['addInfo']:
                 self.EFsignatureList += [ [['EF_mb_step2']] ]
 
@@ -300,12 +333,15 @@ class L2EFChain_MB(L2EFChainDef):
             'L2_mb_mbtsveto': mergeRemovingOverlap('L2_mbtsveto_', chainSuffix),        
             'L2_mb_iddataprep': mergeRemovingOverlap('L2_iddataprep_', chainSuffix),
             'L2_mb_step1': mergeRemovingOverlap('L2_', chainSuffix),
-            'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffix),
+            'EF_mb_step1': mergeRemovingOverlap('EF_', chainSuffixEF),
             }
 
+        if doVetoSpN:
+            self.TErenamingDict ['L2_mb_spveto'] = mergeRemovingOverlap('L2_', chainSuffix + '_vetosp')
         if 'peb' in self.chainPart['addInfo']:
-            self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffix+'_peb')
-
+            self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffixEF+'_peb')
+        if doexclusivelooseN:
+            self.TErenamingDict ['EF_mb_step2'] = mergeRemovingOverlap('EF_', chainSuffixEF+efthX)    
 ###########################
     def setup_mb_idperf(self):
         doHeavyIon=False
diff --git a/Trigger/TriggerCommon/TriggerMenuXML/CMakeLists.txt b/Trigger/TriggerCommon/TriggerMenuXML/CMakeLists.txt
index 32c3ba18f7a1c7ea0e0f560dbce33a83df2c0ac2..a1c268778a2009ce145a0983f7687a7768877cf4 100644
--- a/Trigger/TriggerCommon/TriggerMenuXML/CMakeLists.txt
+++ b/Trigger/TriggerCommon/TriggerMenuXML/CMakeLists.txt
@@ -117,6 +117,7 @@ atlas_build_trigger_menu( MC_pp_v7_CPSampleProd_mc_prescale )
 atlas_build_trigger_menu( MC_pp_v7_TriggerValidation_mc_prescale )
 
 atlas_build_trigger_menu( Physics_HI_v5 )
+atlas_build_trigger_menu( Physics_HI_v5_tight_physics_prescale )
 atlas_build_trigger_menu( MC_HI_v5 )
 atlas_build_trigger_menu( MC_HI_v5_tight_mc_prescale )