diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref
index 2806dc723a2715248fb1610ddd459a8ac9a9e3dc..d035d57c6ac8ace07ab5fc2a3e383e6570020236 100644
--- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref
+++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref
@@ -8977,10 +8977,14 @@ HLT_tau160_mediumRNN_tracktwoMVABDT_L1TAU100:
   eventCount: 0
 HLT_tau160_mediumRNN_tracktwoMVABDT_L1eTAU100:
   eventCount: 0
+HLT_tau160_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau160_mediumRNN_tracktwoMVATest_L1TAU100:
   eventCount: 0
 HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100:
   eventCount: 0
+HLT_tau160_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau160_perf_tracktwoMVABDT_L1TAU100:
   eventCount: 0
 HLT_tau160_perf_tracktwoMVATest_L1TAU100:
@@ -8993,6 +8997,8 @@ HLT_tau160_ptonly_L1TAU100:
   eventCount: 0
 HLT_tau180_mediumRNN_tracktwoLLP_L1TAU100:
   eventCount: 0
+HLT_tau180_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau180_tightRNN_tracktwoLLP_L1TAU100:
   eventCount: 0
 HLT_tau200_medium1_tracktwo_L1TAU100:
@@ -9007,6 +9013,10 @@ HLT_tau200_ptonly_L1TAU100:
   eventCount: 0
 HLT_tau200_tightRNN_tracktwoLLP_L1TAU100:
   eventCount: 0
+HLT_tau20_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
+HLT_tau20_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau25_idperf_tracktwoMVABDT_L1TAU12IM:
   eventCount: 13
   stepCounts:
@@ -9109,6 +9119,8 @@ HLT_tau25_medium1_tracktwo_L1TAU12IM:
     3: 9
     4: 9
     5: 5
+HLT_tau25_medium1_tracktwo_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau25_mediumRNN_tracktwoLLP_L1TAU12IM:
   eventCount: 5
   stepCounts:
@@ -9141,6 +9153,8 @@ HLT_tau25_mediumRNN_tracktwoMVABDT_L1eTAU12:
   eventCount: 0
 HLT_tau25_mediumRNN_tracktwoMVABDT_L1eTAU12M:
   eventCount: 0
+HLT_tau25_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 ? HLT_tau25_mediumRNN_tracktwoMVABDT_tau20_mediumRNN_tracktwoMVABDT_03dRAB_j70_0eta320_j50_0eta490_j0_DJMASS900j50_L1MJJ-500-NFF
 : eventCount: 0
   stepCounts:
@@ -9168,6 +9182,8 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1TAU12IM:
     2: 22
     3: 22
     4: 5
+HLT_tau25_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau25_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_j70_0eta320_j50_0eta490_j0_DJMASS900j50_L1MJJ-500-NFF:
   eventCount: 0
   stepCounts:
@@ -9393,6 +9409,8 @@ HLT_tau35_mediumRNN_tracktwoMVABDT_L1eTAU20:
   eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVABDT_L1eTAU20M:
   eventCount: 0
+HLT_tau35_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVABDT_tau25_mediumRNN_tracktwoMVABDT_03dRAB30_L1DR-TAU20ITAU12I-J25:
   eventCount: 1
   stepCounts:
@@ -9435,6 +9453,8 @@ HLT_tau35_mediumRNN_tracktwoMVA_L1TAU20IM:
     2: 17
     3: 17
     4: 5
+HLT_tau35_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1DR-TAU20ITAU12I-J25:
   eventCount: 1
   stepCounts:
@@ -9552,6 +9572,8 @@ HLT_tau40_medium1_tracktwo_tau35_medium1_tracktwo_03dRAB_L1TAU25IM_2TAU20IM_2J25
     1: 19
     2: 19
     3: 9
+HLT_tau40_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau40_mediumRNN_tracktwoMVABDT_tau35_mediumRNN_tracktwoMVABDT_03dRAB_L1TAU25IM_2TAU20IM_2J25_3J20:
   eventCount: 0
   stepCounts:
@@ -9565,6 +9587,8 @@ HLT_tau40_mediumRNN_tracktwoMVABDT_tau35_mediumRNN_tracktwoMVABDT_03dRAB_L1TAU25
     2: 19
     3: 19
     4: 4
+HLT_tau40_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1TAU25IM_2TAU20IM_2J25_3J20:
   eventCount: 0
   stepCounts:
@@ -9638,6 +9662,10 @@ HLT_tau50_mediumRNN_tracktwoMVA_xe80_tcpufit_xe50_cell_L1XE50:
     3: 7
     4: 1
     5: 1
+HLT_tau60_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
+HLT_tau60_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau60_mediumRNN_tracktwoMVABDT_tau25_mediumRNN_tracktwoMVABDT_xe50_cell_03dRAB_L1TAU40_2TAU12IM_XE40:
   eventCount: 0
   stepCounts:
@@ -9651,6 +9679,8 @@ HLT_tau60_mediumRNN_tracktwoMVABDT_tau25_mediumRNN_tracktwoMVABDT_xe50_cell_03dR
     2: 12
     3: 12
     4: 2
+HLT_tau60_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau60_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_xe50_cell_03dRAB_L1TAU40_2TAU12IM_XE40:
   eventCount: 0
   stepCounts:
@@ -9686,6 +9716,8 @@ HLT_tau80_medium1_tracktwo_tau60_medium1_tracktwo_03dRAB_L1TAU60_2TAU40:
     1: 7
     2: 7
     3: 1
+HLT_tau80_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau80_mediumRNN_tracktwoLLP_tau60_mediumRNN_tracktwoLLP_03dRAB_L1TAU60_2TAU40:
   eventCount: 0
   stepCounts:
@@ -9712,6 +9744,8 @@ HLT_tau80_mediumRNN_tracktwoLLP_tau60_tightRNN_tracktwoLLP_03dRAB_L1TAU60_2TAU40
     2: 8
     3: 8
     4: 2
+HLT_tau80_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau80_mediumRNN_tracktwoMVABDT_tau35_mediumRNN_tracktwoMVABDT_03dRAB30_L1TAU60_DR-TAU20ITAU12I:
   eventCount: 0
   stepCounts:
@@ -9738,6 +9772,8 @@ HLT_tau80_mediumRNN_tracktwoMVABDT_tau60_mediumRNN_tracktwoMVABDT_03dRAB_L1TAU60
     2: 8
     3: 8
     4: 2
+HLT_tau80_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau80_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB30_L1TAU60_DR-TAU20ITAU12I:
   eventCount: 0
   stepCounts:
diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref
index a54265ebcd09449d346a90a4b484684b31380db1..8c2809b16d6e8d8baccda3af0ac12cf380b17246 100644
--- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref
+++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref
@@ -3607,10 +3607,14 @@ HLT_tau160_mediumRNN_tracktwoMVABDT_L1TAU100:
   eventCount: 0
 HLT_tau160_mediumRNN_tracktwoMVABDT_L1eTAU100:
   eventCount: 0
+HLT_tau160_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau160_mediumRNN_tracktwoMVATest_L1TAU100:
   eventCount: 0
 HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100:
   eventCount: 0
+HLT_tau160_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau160_perf_tracktwoMVABDT_L1TAU100:
   eventCount: 0
 HLT_tau160_perf_tracktwoMVATest_L1TAU100:
@@ -3623,6 +3627,8 @@ HLT_tau160_ptonly_L1TAU100:
   eventCount: 0
 HLT_tau180_mediumRNN_tracktwoLLP_L1TAU100:
   eventCount: 0
+HLT_tau180_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau180_tightRNN_tracktwoLLP_L1TAU100:
   eventCount: 0
 HLT_tau200_medium1_tracktwo_L1TAU100:
@@ -3637,6 +3643,10 @@ HLT_tau200_ptonly_L1TAU100:
   eventCount: 0
 HLT_tau200_tightRNN_tracktwoLLP_L1TAU100:
   eventCount: 0
+HLT_tau20_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
+HLT_tau20_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau25_idperf_tracktwoMVABDT_L1TAU12IM:
   eventCount: 3
   stepCounts:
@@ -3739,6 +3749,8 @@ HLT_tau25_medium1_tracktwo_L1TAU12IM:
     3: 2
     4: 2
     5: 1
+HLT_tau25_medium1_tracktwo_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau25_mediumRNN_tracktwoLLP_L1TAU12IM:
   eventCount: 2
   stepCounts:
@@ -3769,6 +3781,8 @@ HLT_tau25_mediumRNN_tracktwoMVABDT_L1eTAU12:
   eventCount: 0
 HLT_tau25_mediumRNN_tracktwoMVABDT_L1eTAU12M:
   eventCount: 0
+HLT_tau25_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 ? HLT_tau25_mediumRNN_tracktwoMVABDT_tau20_mediumRNN_tracktwoMVABDT_03dRAB_j70_0eta320_j50_0eta490_j0_DJMASS900j50_L1MJJ-500-NFF
 : eventCount: 0
   stepFeatures:
@@ -3785,6 +3799,8 @@ HLT_tau25_mediumRNN_tracktwoMVA_L1TAU12IM:
     1: 3
     2: 3
     3: 3
+HLT_tau25_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau25_mediumRNN_tracktwoMVA_tau20_mediumRNN_tracktwoMVA_03dRAB_j70_0eta320_j50_0eta490_j0_DJMASS900j50_L1MJJ-500-NFF:
   eventCount: 0
   stepFeatures:
@@ -3969,6 +3985,8 @@ HLT_tau35_mediumRNN_tracktwoMVABDT_L1eTAU20:
   eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVABDT_L1eTAU20M:
   eventCount: 0
+HLT_tau35_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVABDT_tau25_mediumRNN_tracktwoMVABDT_03dRAB30_L1DR-TAU20ITAU12I-J25:
   eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVABDT_tau25_mediumRNN_tracktwoMVABDT_03dRAB_L1TAU20IM_2TAU12IM_4J12p0ETA25:
@@ -3985,6 +4003,8 @@ HLT_tau35_mediumRNN_tracktwoMVA_L1TAU20IM:
     1: 3
     2: 3
     3: 3
+HLT_tau35_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB30_L1DR-TAU20ITAU12I-J25:
   eventCount: 0
 HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_03dRAB_L1TAU20IM_2TAU12IM_4J12p0ETA25:
@@ -4065,8 +4085,12 @@ HLT_tau35_tightRNN_tracktwoMVA_L1TAU20IM:
     3: 3
 HLT_tau40_medium1_tracktwo_tau35_medium1_tracktwo_03dRAB_L1TAU25IM_2TAU20IM_2J25_3J20:
   eventCount: 0
+HLT_tau40_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau40_mediumRNN_tracktwoMVABDT_tau35_mediumRNN_tracktwoMVABDT_03dRAB_L1TAU25IM_2TAU20IM_2J25_3J20:
   eventCount: 0
+HLT_tau40_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau40_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB_L1TAU25IM_2TAU20IM_2J25_3J20:
   eventCount: 0
 HLT_tau50_mediumRNN_tracktwoMVABDT_xe80_pfopufit_xe50_cell_L1XE50:
@@ -4077,22 +4101,34 @@ HLT_tau50_mediumRNN_tracktwoMVA_xe80_pfopufit_xe50_cell_L1XE50:
   eventCount: 0
 HLT_tau50_mediumRNN_tracktwoMVA_xe80_tcpufit_xe50_cell_L1XE50:
   eventCount: 0
+HLT_tau60_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
+HLT_tau60_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau60_mediumRNN_tracktwoMVABDT_tau25_mediumRNN_tracktwoMVABDT_xe50_cell_03dRAB_L1TAU40_2TAU12IM_XE40:
   eventCount: 0
+HLT_tau60_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau60_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_xe50_cell_03dRAB_L1TAU40_2TAU12IM_XE40:
   eventCount: 0
 HLT_tau80_medium1_tracktwo_tau35_medium1_tracktwo_03dRAB30_L1TAU60_DR-TAU20ITAU12I:
   eventCount: 0
 HLT_tau80_medium1_tracktwo_tau60_medium1_tracktwo_03dRAB_L1TAU60_2TAU40:
   eventCount: 0
+HLT_tau80_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau80_mediumRNN_tracktwoLLP_tau60_mediumRNN_tracktwoLLP_03dRAB_L1TAU60_2TAU40:
   eventCount: 0
 HLT_tau80_mediumRNN_tracktwoLLP_tau60_tightRNN_tracktwoLLP_03dRAB_L1TAU60_2TAU40:
   eventCount: 0
+HLT_tau80_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau80_mediumRNN_tracktwoMVABDT_tau35_mediumRNN_tracktwoMVABDT_03dRAB30_L1TAU60_DR-TAU20ITAU12I:
   eventCount: 0
 HLT_tau80_mediumRNN_tracktwoMVABDT_tau60_mediumRNN_tracktwoMVABDT_03dRAB_L1TAU60_2TAU40:
   eventCount: 0
+HLT_tau80_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50:
+  eventCount: 0
 HLT_tau80_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_03dRAB30_L1TAU60_DR-TAU20ITAU12I:
   eventCount: 0
 HLT_tau80_mediumRNN_tracktwoMVA_tau60_mediumRNN_tracktwoMVA_03dRAB_L1TAU60_2TAU40:
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
index 11bcc1205f48126e811fdd490c9c5eff818916b8..69a46c10ac2e62ec37fcb0dcfdba24c24f81ef1c 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
@@ -967,6 +967,8 @@ def setupMenu():
     ]
 
     TriggerFlags.CombinedSlice.signatures = TriggerFlags.CombinedSlice.signatures() + [
+
+
         # Primary e-mu chains
         ChainProp(name='HLT_e17_lhloose_mu14_L1EM15VH_MU10', l1SeedThresholds=['EM15VH','MU10'], stream=[PhysicsStream], groups=PrimaryLegGroup+EgammaMuonGroup),
         ChainProp(name='HLT_e7_lhmedium_mu24_L1MU20',l1SeedThresholds=['EM3','MU20'],  stream=[PhysicsStream], groups=PrimaryLegGroup+EgammaMuonGroup),
@@ -1005,6 +1007,26 @@ def setupMenu():
         ChainProp(name='HLT_mu26_ivarmedium_tau100_mediumRNN_tracktwoLLP_03dRAB_L1MU20', l1SeedThresholds=['MU20','TAU60'], stream=[PhysicsStream], groups=TauJetGroup),
         ChainProp(name='HLT_e26_lhtight_ivarloose_tau100_mediumRNN_tracktwoLLP_03dRAB_L1EM22VHI', l1SeedThresholds=['EM22VHI','TAU60'], stream=[PhysicsStream], groups=TauJetGroup),
 
+        # MET + tau tag and probe chains (ATR-23507)
+        ChainProp(name='HLT_tau25_medium1_tracktwo_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU12IM','FSNOSEED'], groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU8','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU8','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU12IM','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU12IM','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau35_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU20IM','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau35_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU20IM','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau40_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU25IM','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau40_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU25IM','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau60_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU40','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau60_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU40','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau80_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU60','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau80_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU60','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau160_mediumRNN_tracktwoMVA_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU100','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau160_mediumRNN_tracktwoMVABDT_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU100','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau60_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU40','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau80_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU60','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+        ChainProp(name='HLT_tau180_mediumRNN_tracktwoLLP_probe_xe110_pfsum_vssk_L1XE50', l1SeedThresholds=['PROBETAU100','FSNOSEED'],  groups=TagAndProbeLegGroup+TauMETGroup),
+ 
         
         # photon + multijets (ATR-22594)
         ChainProp(name='HLT_g85_tight_3j50_L1EM22VHI',l1SeedThresholds=['EM22VHI','FSNOSEED'],stream=[PhysicsStream], groups=PrimaryLegGroup+EgammaJetGroup),
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuAlignmentTools.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuAlignmentTools.py
index fd107dde764d9060d602b384d4aa8d38a4a1fce1..515cd4db019d3a0cb576b7c7521bc36e173fffc0 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuAlignmentTools.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuAlignmentTools.py
@@ -27,6 +27,7 @@ the_signature_grouping = OrderedDict([
     ('MuonnoL1', 'MuonnoL1'),
     ('Electronprobe', 'EgammaProbe'),
     ('Photonprobe' , 'EgammaProbe'),
+    ('Tauprobe', 'TauProbe'),
     ('Muonprobe' , 'MuonProbe'),
     ])
     
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
index 51611e330760ae9c86dc6baf44a5141d5af43c81..276d6094306418fd71716cea18fa357b9427ea9d 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
@@ -388,7 +388,7 @@ TauChainParts = {
     'multiplicity'  : '',
     'trigType'      : ['tau'],
     'trkInfo'       : '',
-    'extra'         : '',
+    'extra'         : ['probe'],
     'recoAlg'       : '',
     'calib'         : '',
     'addInfo'       : ['IdTest'],
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py
index e5da8780b58462323fd28d342aa1cba9b9e8676c..c1733989c55e0470e224bc1d8cb9c22cd9ee4b28 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py
@@ -16,38 +16,38 @@ from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import tauCaloMenuSeq, tau
 #--------------------------------------------------------
 # fragments generating config will be functions in new JO
 #--------------------------------------------------------
-def getTauCaloCfg(flags):
-    return tauCaloMenuSeq("Tau")
+def getTauCaloCfg(flags, is_probe_leg=False):
+    return tauCaloMenuSeq("Tau", is_probe_leg=is_probe_leg)
 
-def getTauCaloMVACfg(flags):
-    return tauCaloMVAMenuSeq("Tau")
+def getTauCaloMVACfg(flags, is_probe_leg=False):
+    return tauCaloMVAMenuSeq("Tau", is_probe_leg=is_probe_leg)
 
-def getFTFCoreCfg(flags):
-    return tauFTFTauCoreSeq()
+def getFTFCoreCfg(flags, is_probe_leg=False):
+    return tauFTFTauCoreSeq(is_probe_leg=is_probe_leg)
 
-def getFTFIsoCfg(flags):
-    return tauFTFTauIsoSeq()
+def getFTFIsoCfg(flags, is_probe_leg=False):
+    return tauFTFTauIsoSeq(is_probe_leg=is_probe_leg)
 
-def getFTFIsoBDTCfg(flags):
-    return tauFTFTauIsoBDTSeq()
+def getFTFIsoBDTCfg(flags, is_probe_leg=False):
+    return tauFTFTauIsoBDTSeq(is_probe_leg=is_probe_leg)
 
-def getTrackTwoPrecCfg(flags):
-    return tauTrackTwoPrecSeq()
+def getTrackTwoPrecCfg(flags, is_probe_leg=False):
+    return tauTrackTwoPrecSeq(is_probe_leg=is_probe_leg)
 
-def getTrackTwoMVACfg(flags):
-    return tauTrackTwoMVASeq()
+def getTrackTwoMVACfg(flags, is_probe_leg=False):
+    return tauTrackTwoMVASeq(is_probe_leg=is_probe_leg)
 
-def getTrackTwoMVATestCfg(flags):
-    return tauTrackTwoMVATestSeq()
+def getTrackTwoMVATestCfg(flags, is_probe_leg=False):
+    return tauTrackTwoMVATestSeq(is_probe_leg=is_probe_leg)
 
-def getTrackTwoLLPCfg(flags):
-    return tauTrackTwoLLPSeq()
+def getTrackTwoLLPCfg(flags, is_probe_leg=False):
+    return tauTrackTwoLLPSeq(is_probe_leg=is_probe_leg)
 
-def getPreSelTTCfg(flags):
-    return tauPreSelTTSeq()
+def getPreSelTTCfg(flags, is_probe_leg=False):
+    return tauPreSelTTSeq(is_probe_leg=is_probe_leg)
 
-def getPrecTrackIsoCfg(flags):
-    return tauPrecTrackIsoSeq()
+def getPrecTrackIsoCfg(flags, is_probe_leg=False):
+    return tauPrecTrackIsoSeq(is_probe_leg=is_probe_leg)
 
 ############################################# 
 ###  Class/function to configure muon chains 
@@ -81,7 +81,11 @@ class TauChainConfiguration(ChainConfigurationBase):
         key = self.chainPart['preselection']
         steps=stepDictionary[key]
         for step in steps:
-            chainstep = getattr(self, step)()
+            is_probe_leg = self.chainPart['extra']=='probe'
+            if 'Empty' in step:
+                chainstep = getattr(self, step)()
+            else:
+                chainstep = getattr(self, step)(is_probe_leg=is_probe_leg)
             chainSteps+=[chainstep]
     
         myChain = self.buildChain(chainSteps)
@@ -89,19 +93,19 @@ class TauChainConfiguration(ChainConfigurationBase):
 
 
     # --------------------
-    def getCaloSeq(self):
+    def getCaloSeq(self, is_probe_leg=False):
         stepName = 'tau'
-        return self.getStep(1,stepName, [getTauCaloCfg])
+        return self.getStep(1,stepName, [getTauCaloCfg], is_probe_leg=is_probe_leg)
 
     # --------------------
-    def getCaloMVASeq(self):
+    def getCaloMVASeq(self, is_probe_leg=False):
         stepName = 'MVA_tau'
-        return self.getStep(1,stepName, [getTauCaloMVACfg])
+        return self.getStep(1,stepName, [getTauCaloMVACfg], is_probe_leg=is_probe_leg)
         
     # --------------------
-    def getFTFCore(self):
+    def getFTFCore(self, is_probe_leg=False):
         stepName = 'FTFCore_tau'
-        return self.getStep(2,stepName, [getFTFCoreCfg])
+        return self.getStep(2,stepName, [getFTFCoreCfg], is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                                                   
     def getFTFEmpty(self):
@@ -109,14 +113,14 @@ class TauChainConfiguration(ChainConfigurationBase):
         return self.getEmptyStep(2,stepName)
 
     # --------------------                                                                                                      
-    def getFTFIso(self):
+    def getFTFIso(self, is_probe_leg=False):
         stepName = 'FTFIso_tau'
-        return self.getStep(3,stepName, [getFTFIsoCfg])
+        return self.getStep(3,stepName, [getFTFIsoCfg], is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                                                                                         
-    def getFTFIsoBDT(self):
+    def getFTFIsoBDT(self, is_probe_leg=False):
         stepName = 'FTFIsoBDT_tau'
-        return self.getStep(3,stepName, [getFTFIsoBDTCfg])
+        return self.getStep(3,stepName, [getFTFIsoBDTCfg], is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                                                   
     def getTrkEmpty(self):
@@ -124,9 +128,9 @@ class TauChainConfiguration(ChainConfigurationBase):
         return self.getEmptyStep(3,stepName)
 
     # --------------------                                                                                                                                   
-    def getPreSelTT(self):
+    def getPreSelTT(self, is_probe_leg=False):
         stepName = 'PreSelTT_tau'
-        return self.getStep(4,stepName, [getPreSelTTCfg])
+        return self.getStep(4,stepName, [getPreSelTTCfg], is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                                                   
     def getTauEmpty(self):
@@ -134,9 +138,9 @@ class TauChainConfiguration(ChainConfigurationBase):
         return self.getEmptyStep(4,stepName)
 
     # --------------------                                                                                                                                   
-    def getPrecTrackIso(self):
+    def getPrecTrackIso(self, is_probe_leg=False):
         stepName = 'PrecTrkIso_tau'
-        return self.getStep(5,stepName,[getPrecTrackIsoCfg])
+        return self.getStep(5,stepName,[getPrecTrackIsoCfg],is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                                                   
     def getPTEmpty(self):
@@ -144,24 +148,24 @@ class TauChainConfiguration(ChainConfigurationBase):
         return self.getEmptyStep(5,stepName)
 
     # --------------------                                                                                                     
-    def getTrackTwoPrec(self):
+    def getTrackTwoPrec(self, is_probe_leg=False):
         stepName = 'TrkTwo_tau'
-        return self.getStep(6,stepName, [getTrackTwoPrecCfg])
+        return self.getStep(6,stepName, [getTrackTwoPrecCfg],is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                      
-    def getTrackTwoMVA(self):
+    def getTrackTwoMVA(self, is_probe_leg=False):
         stepName = "TrkTwoMVA_tau"
-        return self.getStep(6,stepName,[getTrackTwoMVACfg])
+        return self.getStep(6,stepName,[getTrackTwoMVACfg],is_probe_leg=is_probe_leg)
 
-    # --------------------                                                                                                                                                                                                            
-    def getTrackTwoMVATest(self):
+    # --------------------                                                                                                                                                                                  
+    def getTrackTwoMVATest(self, is_probe_leg=False):
         stepName = "TrkTwoMVATest_tau"
-        return self.getStep(6,stepName,[getTrackTwoMVATestCfg])
+        return self.getStep(6,stepName,[getTrackTwoMVATestCfg],is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                      
-    def getTrackTwoLLP(self):
+    def getTrackTwoLLP(self, is_probe_leg=False):
         stepName = "TrkTwoLLP_tau"
-        return self.getStep(6,stepName,[getTrackTwoLLPCfg])
+        return self.getStep(6,stepName,[getTrackTwoLLPCfg],is_probe_leg=is_probe_leg)
 
     # --------------------                                                                                                                                   
     def getIDEmpty(self):
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py
index 1b3a5ce1073e2e1968110b3bd69604391289613b..8abf81cd9782fe80b46acc9d04a9e08c05ee7516 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py
@@ -13,7 +13,7 @@ from TriggerMenuMT.HLTMenuConfig.Tau.TauRecoSequences import tauCaloSequence, ta
 #      Calo step
 # ===============================================================================================
 
-def tauCaloMenuSeq(name):
+def tauCaloMenuSeq(name, is_probe_leg=False):
     (sequence, tauCaloViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauCaloSequence,ConfigFlags)
 
     # hypo
@@ -26,13 +26,14 @@ def tauCaloMenuSeq(name):
     return  MenuSequence( Sequence    = sequence,
                           Maker       = tauCaloViewsMaker,
                           Hypo        = theTauCaloHypo,
-                          HypoToolGen = TrigL2TauHypoToolFromDict )
+                          HypoToolGen = TrigL2TauHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================
 #      Calo MVA step
 # ===============================================================================================
 
-def tauCaloMVAMenuSeq(name):
+def tauCaloMVAMenuSeq(name, is_probe_leg=False):
     (sequence, tauCaloMVAViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauCaloMVASequence,ConfigFlags)
 
     # hypo
@@ -45,13 +46,14 @@ def tauCaloMVAMenuSeq(name):
     return  MenuSequence( Sequence    = sequence,
                           Maker       = tauCaloMVAViewsMaker,
                           Hypo        = theTauCaloMVAHypo,
-                          HypoToolGen = TrigL2TauHypoToolFromDict )
+                          HypoToolGen = TrigL2TauHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================                                
 #    Fast track finder (core) + TrackRoI Updater + RejectEmpty Hypo step (tracktwo, tracktwoMVA)                                             
 # ===============================================================================================                                                   
 
-def tauFTFTauCoreSeq():
+def tauFTFTauCoreSeq(is_probe_leg=False):
     (sequence, ftfCoreViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFCoreSequence,ConfigFlags)
 
     from TrigTauHypo.TrigTauHypoConf import  TrigTrackPreSelHypoAlg
@@ -63,13 +65,14 @@ def tauFTFTauCoreSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = ftfCoreViewsMaker,
                           Hypo        = fastTrkHypo,
-                          HypoToolGen = TrigTauTrackHypoToolFromDict )
+                          HypoToolGen = TrigTauTrackHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================                                                           
 #   Fast track finder (iso) + Dummy Hypo step (tracktwo, tracktwoMVA)                                                     
 # ===============================================================================================                                                            
 
-def tauFTFTauIsoSeq():
+def tauFTFTauIsoSeq(is_probe_leg=False):
     (sequence, ftfIsoViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFIsoSequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigTrackPreSelHypoAlg
@@ -81,13 +84,14 @@ def tauFTFTauIsoSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = ftfIsoViewsMaker,
                           Hypo        = fastTrkHypo,
-                          HypoToolGen = TrigTauTrackHypoToolFromDict )
+                          HypoToolGen = TrigTauTrackHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================                                                            
 #   Fast track finder (iso bdt) + Dummy Hypo step (tracktwoMVABDT)                                                                                           
 # ===============================================================================================                                 
 
-def tauFTFTauIsoBDTSeq():
+def tauFTFTauIsoBDTSeq(is_probe_leg=False):
     (sequence, ftfIsoBDTViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFIsoBDTSequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigTrackPreSelHypoAlg
@@ -100,13 +104,14 @@ def tauFTFTauIsoBDTSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = ftfIsoBDTViewsMaker,
                           Hypo        = fastTrkHypo,
-                          HypoToolGen = TrigTauTrackHypoToolFromDict )
+                          HypoToolGen = TrigTauTrackHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================                                            
 #     Tau Precision Alg + EFMVHypo step   (tracktwo)
 # ===============================================================================================                                              
 
-def tauTrackTwoPrecSeq():
+def tauTrackTwoPrecSeq(is_probe_leg=False):
     (sequence, trackTwoViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauTrackTwoSequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigEFTauMVHypoAlg
@@ -118,13 +123,14 @@ def tauTrackTwoPrecSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = trackTwoViewsMaker,
                           Hypo        = precisionHypo,
-                          HypoToolGen = TrigEFTauMVHypoToolFromDict )
+                          HypoToolGen = TrigEFTauMVHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================
 #     Tau Precision MVA Alg + EFMVHypo step   (tracktwoMVA)
 # ===============================================================================================
 
-def tauTrackTwoMVASeq():
+def tauTrackTwoMVASeq(is_probe_leg=False):
     (sequence, mvaViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauMVASequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigEFTauMVHypoAlg
@@ -136,13 +142,14 @@ def tauTrackTwoMVASeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = mvaViewsMaker,
                           Hypo        = precisionHypo,
-                          HypoToolGen = TrigEFTauMVHypoToolFromDict )
+                          HypoToolGen = TrigEFTauMVHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================                                                                                                                                     
 #     Tau Precision MVA Alg + EFMVHypo test step   (tracktwoMVATest)                                                                                                                                                                  
 # ===============================================================================================                                                                                                                                     
 
-def tauTrackTwoMVATestSeq():
+def tauTrackTwoMVATestSeq(is_probe_leg=False):
     (sequence, mvaViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauMVASequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigEFTauMVHypoAlg
@@ -154,13 +161,14 @@ def tauTrackTwoMVATestSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = mvaViewsMaker,
                           Hypo        = precisionHypo,
-                          HypoToolGen = TrigEFTauMVHypoToolFromDict )
+                          HypoToolGen = TrigEFTauMVHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================
 #     Tau Precision LLP Alg + EFMVHypo step   (tracktwoLLP)
 # ===============================================================================================
 
-def tauTrackTwoLLPSeq():
+def tauTrackTwoLLPSeq(is_probe_leg=False):
     (sequence, mvaViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauLLPSequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigEFTauMVHypoAlg
@@ -172,13 +180,14 @@ def tauTrackTwoLLPSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = mvaViewsMaker,
                           Hypo        = precisionHypo,
-                          HypoToolGen = TrigEFTauMVHypoToolFromDict )
+                          HypoToolGen = TrigEFTauMVHypoToolFromDict,
+                          IsProbe     = is_probe_leg )
 
 # ===============================================================================================                                                            
 #     Tau Preselection + EFMVHypo step   (tracktwo)                                                                                                   
 # ===============================================================================================                                                            
 
-def tauPreSelTTSeq():
+def tauPreSelTTSeq(is_probe_leg=False):
     (sequence, preSelViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauPreSelTTSequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigEFTauMVHypoAlg
@@ -190,13 +199,14 @@ def tauPreSelTTSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = preSelViewsMaker,
                           Hypo        = preSelHypo,
-                          HypoToolGen = TrigPresTauMVHypoToolFromDict )
+                          HypoToolGen = TrigPresTauMVHypoToolFromDict,
+                          IsProbe     = is_probe_leg)
 
 # ===============================================================================================                                                            
 #     Precision Tracking + TrkPrecHypo step   (tracktwo, tracktwoEF, tracktwoMVA, tracktwoMVABDT)                                                                                               
 # ===============================================================================================                                                           
 
-def tauPrecTrackIsoSeq():
+def tauPrecTrackIsoSeq(is_probe_leg=False):
     (sequence, precTrackViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauPrecIsoTrackSequence,ConfigFlags )
 
     from TrigTauHypo.TrigTauHypoConf import  TrigTrkPrecHypoAlg
@@ -209,4 +219,5 @@ def tauPrecTrackIsoSeq():
     return  MenuSequence( Sequence    = sequence,
                           Maker       = precTrackViewsMaker,
                           Hypo        = precTrkHypo,
-                          HypoToolGen = TrigTrkPrecHypoToolFromDict )
+                          HypoToolGen = TrigTrkPrecHypoToolFromDict,
+                          IsProbe     = is_probe_leg )