From 1b25625c4dcdb19edfb8b144a344bbf575b8afec Mon Sep 17 00:00:00 2001
From: Francesca Pastore <francesca.pastore@cern.ch>
Date: Thu, 3 Sep 2020 13:47:10 +0000
Subject: [PATCH] HLT menu/CF: Resolve ATR-21915

---
 .../DecisionHandling/python/EmuStepProcessingConfig.py        | 4 ++++
 .../DecisionHandling/share/emu_step_menu_processing.ref       | 3 +++
 .../TrigSteer/DecisionHandling/share/emu_step_processing.ref  | 3 +++
 .../python/HLTMenuConfig/Menu/ChainConfigurationBase.py       | 2 ++
 .../TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py   | 1 -
 .../TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_emu_v1.py     | 1 +
 .../TriggerMenuMT/python/HLTMenuConfig/Test/TestDef.py        | 3 +--
 7 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/Trigger/TrigSteer/DecisionHandling/python/EmuStepProcessingConfig.py b/Trigger/TrigSteer/DecisionHandling/python/EmuStepProcessingConfig.py
index 9b1168b0e8d..18af886a7d0 100644
--- a/Trigger/TrigSteer/DecisionHandling/python/EmuStepProcessingConfig.py
+++ b/Trigger/TrigSteer/DecisionHandling/python/EmuStepProcessingConfig.py
@@ -305,6 +305,10 @@ def generateChainsManually():
                 ChainStep("Step1_2mu",   [mu11], multiplicity=[2]),
                 ChainStep("Step2_2mu",   [mu21], multiplicity=[2]) ]),
 
+            makeChain(name='HLT_3TestChain6_muv1_L12MU6',       L1Thresholds=["MU6"], ChainSteps=[
+                ChainStep("Step1_2mu",   [mu11], multiplicity=[3]),
+                ChainStep("Step2_2mu",   [mu21], multiplicity=[3]) ]),
+
             makeChain(name='HLT_TestChain6_muv1_TestChain10_muv1_L12MU6',       L1Thresholds=["MU6", "MU6"], ChainSteps=[
                 ChainStep("Step1_2muAs",   [mu11,mu11], multiplicity=[1,1]),
                 ChainStep("Step2_2muAs",   [mu21,mu21], multiplicity=[1,1]) ]),
diff --git a/Trigger/TrigSteer/DecisionHandling/share/emu_step_menu_processing.ref b/Trigger/TrigSteer/DecisionHandling/share/emu_step_menu_processing.ref
index 1f92fac7f8d..15ce53a33d1 100644
--- a/Trigger/TrigSteer/DecisionHandling/share/emu_step_menu_processing.ref
+++ b/Trigger/TrigSteer/DecisionHandling/share/emu_step_menu_processing.ref
@@ -98,6 +98,9 @@ TrigSignatureMoniMT                                 INFO -- #2176116418 Features
 TrigSignatureMoniMT                                 INFO HLT_2TestChain6_muv1_L12MU6 #1408409992
 TrigSignatureMoniMT                                 INFO -- #1408409992 Events         2          2          1          1          1          1          1          
 TrigSignatureMoniMT                                 INFO -- #1408409992 Features                             6          6          6          6          
+TrigSignatureMoniMT                                 INFO HLT_3TestChain6_muv1_L12MU6 #2217088100
+TrigSignatureMoniMT                                 INFO -- #2217088100 Events         0          0          0          0          0          0          0          
+TrigSignatureMoniMT                                 INFO -- #2217088100 Features                             0          0          0          0          
 TrigSignatureMoniMT                                 INFO HLT_TestChain10_muEmpty1_TestChain6_muEmpty1_L12MU6 #2764921170
 TrigSignatureMoniMT                                 INFO -- #2764921170 Events         1          1          0          1          -          -          1          
 TrigSignatureMoniMT                                 INFO -- #2764921170 Features                             0          3          -          -          
diff --git a/Trigger/TrigSteer/DecisionHandling/share/emu_step_processing.ref b/Trigger/TrigSteer/DecisionHandling/share/emu_step_processing.ref
index a81860b7412..143c5713c64 100644
--- a/Trigger/TrigSteer/DecisionHandling/share/emu_step_processing.ref
+++ b/Trigger/TrigSteer/DecisionHandling/share/emu_step_processing.ref
@@ -99,6 +99,9 @@ TrigSignatureMoniMT                                 INFO -- #2176116418 Features
 TrigSignatureMoniMT                                 INFO HLT_2TestChain6_muv1_L12MU6 #1408409992
 TrigSignatureMoniMT                                 INFO -- #1408409992 Events         2          2          1          1          -          -          1          
 TrigSignatureMoniMT                                 INFO -- #1408409992 Features                             6          6          -          -          
+TrigSignatureMoniMT                                 INFO HLT_3TestChain6_muv1_L12MU6 #2217088100
+TrigSignatureMoniMT                                 INFO -- #2217088100 Events         0          0          0          0          -          -          0          
+TrigSignatureMoniMT                                 INFO -- #2217088100 Features                             0          0          -          -          
 TrigSignatureMoniMT                                 INFO HLT_TestChain10_muEmpty1_TestChain6_muEmpty1_L12MU6 #2764921170
 TrigSignatureMoniMT                                 INFO -- #2764921170 Events         1          1          0          1          -          -          1          
 TrigSignatureMoniMT                                 INFO -- #2764921170 Features                             0          3          -          -          
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
index e5be9d3736c..b40874b4640 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
@@ -45,6 +45,8 @@ class ChainConfigurationBase(object):
 
     def getStep(self, stepID, stepPartName, sequenceCfgArray, comboHypoCfg=ComboHypoCfg, comboTools=[]):
         stepName = 'Step%d'%stepID + '_%d'%self.mult + stepPartName
+        if self.mult >1 :
+            stepName = 'Step%d'%stepID + '_N' + stepPartName
         log.debug("Configuring step " + stepName)
         seqArray = []
         for sequenceCfg in sequenceCfgArray:
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py
index 5664e5881d4..0ae26774ca4 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py
@@ -172,7 +172,6 @@ def makeCombinedStep(steps, stepNumber, chainDefList):
             log.debug("  step %s,  empty sequence %s", currentStepName, seqName)
             emptySeq = RecoFragmentsPool.retrieve(getEmptyMenuSequence, flags=None, name=seqName)
 
-
             stepSeq.append(emptySeq)
             stepMult.append(1)
             # we need a chain dict here, use the one corresponding to this leg of the chain
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_emu_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_emu_v1.py
index 1945ec17941..fe6ee1ead21 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_emu_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_emu_v1.py
@@ -49,6 +49,7 @@ def setupMenu():
         ChainProp(name='HLT_TestChain5_ev1_TestChain8_ev1_L12EM3',      stream=['Main'], groups=['RATE:Test','BW:Other']),
 #        ChainProp(name='HLT_TestChain5_ev1_TestChain8_ev1_2TestChain6_muv1_L1EM3_L1EM5_L12MU6', stream=['Main'], groups=['RATE:Test','BW:Other']   ),
         ChainProp(name='HLT_2TestChain6_muv1_L12MU6',                   stream=['Main'], groups=['RATE:Test','BW:Other']   ),
+        ChainProp(name='HLT_3TestChain6_muv1_L12MU6',                   stream=['Main'], groups=['RATE:Test','BW:Other']   ),
         ChainProp(name='HLT_TestChain6_muv1_TestChain10_muv1_L12MU6',   stream=['Main'], groups=['RATE:Test','BW:Other']  ),        
         ChainProp(name='HLT_2TestChain6_muEmpty1_L12MU6',               stream=['Main'], groups=['RATE:Test','BW:Other']), #may differ from manual
         ChainProp(name='HLT_TestChain6_muv1_TestChain5_ev1dr_L1MU6_EM5',   stream=['Main'], groups=['RATE:Test','BW:Other'] ), 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/TestDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/TestDef.py
index 010485783f3..0fcd582641e 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/TestDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Test/TestDef.py
@@ -142,8 +142,7 @@ class TestChainConfiguration(ChainConfigurationBase):
 
     def Step_mu32(self):
         return self.getStep(3,"mu32",[ muCfg322 ])
-
-    
+   
     def Step_mu41(self):
         return self.getStep(4,"mu41",[ muCfg411 ])
 
-- 
GitLab