diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx
index be0fc34a324bf145e59fabf1673c30cd30170c1b..217a28293e2e6f2c4dfdd91de0ce1234d83ec8ac 100644
--- a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx
+++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTConfigSvc.cxx
@@ -268,6 +268,8 @@ HLTConfigSvc::initialize() {
       dummyChains["HLT_j260_320eta490_L1J20"] = "L1_J20";
       dummyChains["HLT_j420_L1J20"] = "L1_J20";
       dummyChains["HLT_j45_L1J15"] = "L1_J15";
+      dummyChains["HLT_j80_j60_L1J15"] = "L1_J15";
+      dummyChains["HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20"] = "L1_J20";
       dummyChains["HLT_j460_a10_lcw_subjes_L1J20"] = "L1_J20";
       dummyChains["HLT_j460_a10r_L1J20"] = "L1_J20";
       dummyChains["HLT_mu20_ivar_L1MU6"] = "L1_MU6";
diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref
index 9f871965a399544c0118730736419c3278df0a68..3d81ae49a0bd57bdbf956dc91c930887e11dc20c 100644
--- a/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref
+++ b/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref
@@ -84,6 +84,10 @@ TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_30
 TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_30smcINF_L1J100 decisions                    0         0         0         0         0         0
 TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_L1J100  4         4         0         0         0         0         0         0         0
 TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_L1J100 decisions                    0         0         0         0         0         0
+TrigSignatureMoniMT                                INFO HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J2019        19        12        0         0         0         0         0         12
+TrigSignatureMoniMT                                INFO HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20 decisions                    12        0         0         0         0         0
+TrigSignatureMoniMT                                INFO HLT_j80_j60_L1J15             20        20        14        0         0         0         0         0         14
+TrigSignatureMoniMT                                INFO HLT_j80_j60_L1J15 decisions                       14        0         0         0         0         0
 TrigSignatureMoniMT                                INFO HLT_j85_L1J20                 19        19        13        0         0         0         0         0         13
 TrigSignatureMoniMT                                INFO HLT_j85_L1J20 decisions                           13        0         0         0         0         0
 TrigSignatureMoniMT                                INFO HLT_mu10_lateMu_L1MU10        10        10        10        10        8         0         0         0         8
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py
index 3a7e9a15cc7a4e7d8d7a56f6b1d990922aa2d42d..ac537f0b74c1b85c81e2c389db8e1ea0950f6c9c 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/EmuStepProcessingConfig.py
@@ -184,17 +184,17 @@ def generateL1DecoderAndChains():
         # in symmetric chains, multiplicity=2 but only one sequence is used
         
         CombChains =[
-            makeChain(name='HLT_mu8_e8_L1MU6_EM7',  L1Thresholds=["MU6","EM7"], ChainSteps=[ ChainStep("Step1_mu_em", [mu11, el11], multiplicity=2),
-                                                             ChainStep("Step2_mu_em", [mu21, el21], multiplicity=2)] ),
-            makeChain(name='HLT_e5_e8_L1EM3_EM5',   L1Thresholds=["EM3","EM5"], ChainSteps=[ ChainStep("Step1_2em",   [el11, el11], multiplicity=2),
-                                                             ChainStep("Step2_2em",   [el21, el21], multiplicity=2) ]),
-            makeChain(name='HLT_2mu6_L12MU6',       L1Thresholds=["MU6"], ChainSteps=[ ChainStep("Step1_2mu",   [mu11], multiplicity=2),
-                                                             ChainStep("Step2_2mu",   [mu21], multiplicity=2) ]),
-            makeChain(name='HLT_2mu6Comb_L12MU6',   L1Thresholds=["MU6"], ChainSteps=[ ChainStep("Step1_2mu_empty",     multiplicity=2),
-                                                             ChainStep("Step2_2mu",   [mu21], multiplicity=2) ]),
-            makeChain(name='HLT_2mu4_bDimu_L12MU4', L1Thresholds=["MU4"], ChainSteps=[ ChainStep("Step1_2mu",   [mu11], multiplicity=2),
+            makeChain(name='HLT_mu8_e8_L1MU6_EM7',  L1Thresholds=["MU6","EM7"], ChainSteps=[ ChainStep("Step1_mu_em", [mu11, el11], multiplicity=[1,1]),
+                                                             ChainStep("Step2_mu_em", [mu21, el21], multiplicity=[1,1])] ),
+            makeChain(name='HLT_e5_e8_L1EM3_EM5',   L1Thresholds=["EM3","EM5"], ChainSteps=[ ChainStep("Step1_2em",   [el11, el11], multiplicity=[1,1]),
+                                                             ChainStep("Step2_2em",   [el21, el21], multiplicity=[1,1]) ]),
+            makeChain(name='HLT_2mu6_L12MU6',       L1Thresholds=["MU6"], ChainSteps=[ ChainStep("Step1_2mu",   [mu11], multiplicity=[2]),
+                                                             ChainStep("Step2_2mu",   [mu21], multiplicity=[2]) ]),
+            makeChain(name='HLT_2mu6Comb_L12MU6',   L1Thresholds=["MU6"], ChainSteps=[ ChainStep("Step1_2mu_empty",     multiplicity=[2]),
+                                                             ChainStep("Step2_2mu",   [mu21], multiplicity=[2]) ]),
+            makeChain(name='HLT_2mu4_bDimu_L12MU4', L1Thresholds=["MU4"], ChainSteps=[ ChainStep("Step1_2mu",   [mu11], multiplicity=[2]),
                                                                                   step_mu22,
-                                                                                  ChainStep("Step3_2mu",   [mu31], multiplicity=2)] )
+                                                                                  ChainStep("Step3_2mu",   [mu31], multiplicity=[2])] )
             ]
 
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref
index 6bb0e3179c4893c6900e5d3644b0f89f71d35369..3150341d6a9c49968b5e70c9814bfe29e6dfebd4 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref
@@ -556,6 +556,7 @@ TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_noalg_L1RD0_FIL
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_e5_etcut_L1EM3 ID#324908483
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_g5_etcut_L1EM3 ID#471243435
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_j85_L1J20 ID#510475538
+TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_j80_j60_L1J15 ID#582699527
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_e3_etcut_L1EM3 ID#683953566
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_noalg_L1RD0_EMPTY ID#914660695
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_j45_L1J15 ID#1364976160
@@ -568,6 +569,7 @@ TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_2e3_etcut_L12EM
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_g20_etcut_LArPEB_L1EM15 ID#2706532790
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_g5_etcut_LArPEB_L1EM3 ID#3486231698
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_xe30_mht_L1XE10 ID#3626903018
+TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20 ID#3634067472
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_j35_gsc45_bmv2c1070_split_L1J20 ID#3815360851
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20 ID#4034799151
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_noalg_L1EM3 ID#4169267792
@@ -680,6 +682,10 @@ TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_30
 TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_30smcINF_L1J100 decisions                    0         0         0         0         0         0         
 TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_L1J100  20        20        0         0         0         0         0         0         0         
 TrigSignatureMoniMT                                INFO HLT_j460_a10t_lcw_jes_L1J100 decisions                    0         0         0         0         0         0         
+TrigSignatureMoniMT                                INFO HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J2020        20        1         0         0         0         0         0         1         
+TrigSignatureMoniMT                                INFO HLT_j80_0eta240_2j60_320eta490_j0_dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass_L1J20 decisions                    1         0         0         0         0         0         
+TrigSignatureMoniMT                                INFO HLT_j80_j60_L1J15             20        20        1         0         0         0         0         0         1         
+TrigSignatureMoniMT                                INFO HLT_j80_j60_L1J15 decisions                       1         0         0         0         0         0         
 TrigSignatureMoniMT                                INFO HLT_j85_L1J20                 20        20        1         0         0         0         0         0         1         
 TrigSignatureMoniMT                                INFO HLT_j85_L1J20 decisions                           1         0         0         0         0         0         
 TrigSignatureMoniMT                                INFO HLT_mu10_lateMu_L1MU10        20        20        4         4         1         0         0         0         1         
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py
index 29d601ef900ac7dd4cb1065b5b5b37034aabdd76..8cb91e41bfa1d9baa025eed5b62f0ca54e942a6f 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_cf.py
@@ -100,20 +100,20 @@ if opt.doMuonSlice == True:
 
     # multi muon trigger
     # 2muons symmetric
-    step1_2mufast_sym= ChainStep("Step1_2muFast_sym", [ muFastSequence()], multiplicity=2)
-    step2_2muComb_sym= ChainStep("Step1_2muComb_sym", [ muCombSequence()], multiplicity=2)
+    step1_2mufast_sym= ChainStep("Step1_2muFast_sym", [ muFastSequence()], multiplicity=[2])
+    step2_2muComb_sym= ChainStep("Step1_2muComb_sym", [ muCombSequence()], multiplicity=[2])
     
-    step3_2muEFSA_sym= ChainStep("Step3_2muEFSA_sym", [ muEFSASequence()], multiplicity=2)
-    step4_2muEFCB_sym= ChainStep("Step4_2muEFCB_sym", [ muEFCBSequence()], multiplicity=2)
+    step3_2muEFSA_sym= ChainStep("Step3_2muEFSA_sym", [ muEFSASequence()], multiplicity=[2])
+    step4_2muEFCB_sym= ChainStep("Step4_2muEFCB_sym", [ muEFCBSequence()], multiplicity=[2])
  
     MuonChains += [ makeChain(name='HLT_2mu6Comb_L12MU6',  L1Thresholds=["MU6"], ChainSteps=[ step1_2mufast_sym, step2_2muComb_sym ])]
 
     # 2muons asymmetric (this will change): 2 sequences, 2 seeds
-    step1_2mufast_asym= ChainStep("Step1_2muFast_asym", [ muFastSequence(), muFastSequence()], multiplicity=2)
-    step2_2muComb_asym= ChainStep("Step1_2muComb_asym", [ muCombSequence(), muCombSequence()], multiplicity=2)
+    step1_2mufast_asym= ChainStep("Step1_2muFast_asym", [ muFastSequence(), muFastSequence()], multiplicity=[2])
+    step2_2muComb_asym= ChainStep("Step1_2muComb_asym", [ muCombSequence(), muCombSequence()], multiplicity=[2])
     
-    step3_2muEFSA_asym= ChainStep("Step3_2muEFSA_asym", [ muEFSASequence(), muEFSASequence()], multiplicity=2)
-    step4_2muEFCB_asym= ChainStep("Step4_2muEFCB_asym", [ muEFCBSequence(), muEFCBSequence()], multiplicity=2)
+    step3_2muEFSA_asym= ChainStep("Step3_2muEFSA_asym", [ muEFSASequence(), muEFSASequence()], multiplicity=[2])
+    step4_2muEFCB_asym= ChainStep("Step4_2muEFCB_asym", [ muEFCBSequence(), muEFCBSequence()], multiplicity=[2])
     
     
     MuonChains += [ makeChain(name='HLT_mu6_mu4_L12MU4',
@@ -219,7 +219,7 @@ if opt.doMETSlice == True:
 
     metCellStep = ChainStep("Step1_met_cell", [metCellSeq])
     metClusterPufitStep          = ChainStep("Step1_met_clusterpufit", [metClusterPufitSeq])
-    comboStep_cell_clusterpufit  = ChainStep("Step1_combo_cell_clusterpufit", [metCellSeq, metClusterPufitSeq], multiplicity=2)
+    comboStep_cell_clusterpufit  = ChainStep("Step1_combo_cell_clusterpufit", [metCellSeq, metClusterPufitSeq], multiplicity=[2])
 
     metChains = [
         makeChain(name="HLT_xe65_L1XE50",         L1Thresholds=["XE50"], ChainSteps=[metCellStep]),
@@ -272,8 +272,8 @@ if opt.doCombinedSlice == True:
 
     from TriggerMenuMT.HLTMenuConfig.Muon.MuonSequenceSetup import muFastSequence
 
-    comboStep_et_mufast           = ChainStep("Step1_et_mufast", [fastCaloSeq, muFastSequence()], multiplicity=2)
-    comboStep_mufast_etcut1_step1 = ChainStep("Step1_mufast_etcut1", [muFastSequence(), fastCaloSeq], multiplicity=2)
+    comboStep_et_mufast           = ChainStep("Step1_et_mufast", [fastCaloSeq, muFastSequence()], multiplicity=[2])
+    comboStep_mufast_etcut1_step1 = ChainStep("Step1_mufast_etcut1", [muFastSequence(), fastCaloSeq], multiplicity=[2])
 
 
     comboChains =  [ makeChain(name='HLT_e3_etcut_mu6_L1EM8I_MU10', L1Thresholds=["EM8I", "MU10"],  ChainSteps=[comboStep_et_mufast ])]
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bphysics/BphysicsDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bphysics/BphysicsDef.py
index 7db029d599a7842bf7030f0e2fb914209b717331..906e7049b349eb7c55c8d1baabaff08eb5134f7e 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bphysics/BphysicsDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Bphysics/BphysicsDef.py
@@ -94,11 +94,11 @@ class BphysicsChainConfiguration(MuonChainConfiguration):
         stepName = 'Step2_l2Dimu'
         log.debug("Configuring step " + stepName)
         bphySeq = RecoFragmentsPool.retrieve( dimuL2SequenceCfg, None)
-        return ChainStep(stepName, [bphySeq], multiplicity=1)
+        return ChainStep(stepName, [bphySeq], multiplicity=[1])
 
     def getdimuEF(self):
         stepName = 'Step5_efDimu'
         log.debug("Configuring step " + stepName)
         bphySeq = RecoFragmentsPool.retrieve( dimuEFSequenceCfg, None)
-        return ChainStep(stepName, [bphySeq], multiplicity=1)
+        return ChainStep(stepName, [bphySeq], multiplicity=[1])
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
index 766489a3b7fbe63957464eaad9b56cf9923ee162..674d0b8afc00470e5eed199c7017ba64ea3b5dc5 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
@@ -68,15 +68,15 @@ class ElectronChainConfiguration(ChainConfigurationBase):
         if stepName == "Step1_electron":
           log.debug("Configuring step " + stepName)
           fastCalo = RecoFragmentsPool.retrieve( electronFastCaloCfg, None ) # the None will be used for flags in future
-          chainStep =ChainStep(stepName, [fastCalo], self.mult)
+          chainStep =ChainStep(stepName, [fastCalo], [self.mult])
         elif stepName == "Step2_electron":
           log.debug("Configuring step " + stepName)
           electronReco = RecoFragmentsPool.retrieve( fastElectronSequenceCfg, None )
-          chainStep=ChainStep(stepName, [electronReco], self.mult)
+          chainStep=ChainStep(stepName, [electronReco], [self.mult])
         elif stepName == "Step3_electron":
           log.debug("Configuring step " + stepName)
           precisionReco = RecoFragmentsPool.retrieve( precisionCaloSequenceCfg, None )
-          chainStep=ChainStep(stepName, [precisionReco], self.mult)
+          chainStep=ChainStep(stepName, [precisionReco], [self.mult])
         else:
           raise RuntimeError("chainStepName unknown: " + stepName )
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonDef.py
index a8b453f7bc7d7e61aea1af69735338ec9d778c36..635b1b5c32cdc86ca2b8a69cda1a19ac89258d08 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonDef.py
@@ -81,26 +81,26 @@ class PhotonChainConfiguration(ChainConfigurationBase):
         stepName = "Step1_PhotonFastCalo"
         log.debug("Configuring step " + stepName)
         fastCalo = RecoFragmentsPool.retrieve( fastPhotonCaloSequenceCfg, None ) # the None will be used for flags in future
-        return ChainStep(stepName, [fastCalo], self.mult)
+        return ChainStep(stepName, [fastCalo], [self.mult])
         
     def getFastPhoton(self):
         stepName = "Step2_L2Photon"
         log.debug("Configuring step " + stepName)
         photonReco = RecoFragmentsPool.retrieve( fastPhotonSequenceCfg, None )
-        return ChainStep(stepName, [photonReco], self.mult)
+        return ChainStep(stepName, [photonReco], [self.mult])
 
     def getPrecisionCaloPhoton(self):
         stepName = "Step3_PhotonPrecisionCalo"
         log.debug("Configuring step " + stepName)
         precisionCaloPhoton = RecoFragmentsPool.retrieve( precisionPhotonCaloSequenceCfg, None )
-        return ChainStep(stepName, [precisionCaloPhoton], self.mult)
+        return ChainStep(stepName, [precisionCaloPhoton], [self.mult])
 
             
     def getPrecisionPhoton(self):
         stepName = "Step4_PhotonPrecision"
         log.debug("Configuring step " + stepName)
         precisionPhoton = RecoFragmentsPool.retrieve( precisionPhotonSequenceCfg, None )
-        return ChainStep(stepName, [precisionPhoton], self.mult)
+        return ChainStep(stepName, [precisionPhoton], [self.mult])
 
             
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py
index 6b7b665f858462c4ed431945e5521da0828e3d3e..0ac3dbaed317e590c052e9738d36000fc1d16301 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py
@@ -53,7 +53,8 @@ class JetChainConfiguration(ChainConfigurationBase):
 
         stepName = "Step1_jet_"+jetDefStr
         jetSeq1 = RecoFragmentsPool.retrieve( jetMenuSequence, None, **self.recoDict ) # the None will be used for flags in future
-        return ChainStep(stepName, [jetSeq1], self.mult)
+        return ChainStep(stepName, [jetSeq1], multiplicity=[1])
+
 
         
             
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
index 1d300d65b1cfc16914f4fdf2ad756d66a7dffc38..785ddbda6f17aff1798456a2a69f275621f6d09a 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
@@ -44,7 +44,7 @@ class ChainConfigurationBase(object):
         seqArray = []
         for sequenceCfg in sequenceCfgArray:
             seqArray.append( RecoFragmentsPool.retrieve( sequenceCfg, None))
-        return ChainStep(stepName, seqArray, self.mult)
+        return ChainStep(stepName, seqArray, [self.mult])
 
     def buildChain(self, chainSteps):
         myChain = Chain(name = self.chainName,
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py
index 6d6be3142e63a4e2c5e7f901645b8d45c145f77c..91dd26fd9762ffd1477fe821d8c78344fee79a6b 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainMerging.py
@@ -74,36 +74,36 @@ def mergeParallel(chainDefList, offset):
 def makeChainSteps(steps):
     stepName = ''
     stepSeq = []
-    stepMult = 0
+    stepMult = []
     stepNumber = ''
-    log.debug(" steps %s ", steps)
+    log.verbose(" steps %s ", steps)
     stepName = "merged"
     for step in steps:
         if step is None:
             continue
+        log.debug("  step %s, multiplicity  = %s", step.name, str(step.multiplicity))
+        log.debug("      with sequences = %s", ' '.join(map(str, [seq.name for seq in step.sequences])))
+
+         # this function only works if the input chains are single-object chains (one menu seuqnce)
         if len(step.sequences) > 1:
             log.error("More than one menu sequence found in combined chain!!")
         seq = step.sequences[0]
-        log.debug(" step type  %s", type(step.sequences))
-        log.debug(" step.name %s", step.name)
-        log.debug(" step.seq %s", step.sequences)
-        log.debug(" step.mult %s", step.multiplicity)
+
         currentStep = step.name
         stepNameParts = currentStep.split('_')
         if stepNumber == '':
             stepNumber = stepNameParts[0]
 
         # the step naming for combined chains needs to be revisted!!
-        stepName += '_' +step.name #stepNumber + '_' + stepNameParts[1]
+        stepName += '_' +step.name 
         stepSeq.append(seq)
-        stepMult += step.multiplicity
+        # set the multiplicity of all the legs 
+        stepMult.append(sum(step.multiplicity))
         
-    log.debug(" - BB stepName %s", stepName)
-    log.debug(" - BB stepSeq %s", stepSeq)
-    log.debug(" - BB stepMult %s", stepMult)
-    
-    theChainStep = ChainStep(stepName, stepSeq, stepMult)
-    log.debug(" - BBB the chain step %s", theChainStep)
+
+    theChainStep = ChainStep(stepName, stepSeq, stepMult) 
+    log.debug("Merged step: \n %s", theChainStep)
+  
     
     return theChainStep
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
index 6030f5c69e6724daa9ef6aaf4e01f004183c781d..b6421a748716e725ae4c19c39cb57a8750efc947 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
@@ -195,8 +195,7 @@ def makeHLTTree(newJO=False, triggerConfigHLT = None):
     from TriggerMenuMT.HLTMenuConfig.Menu.CFValidation import testHLTTree
     testHLTTree( topSequence )
 
-
-def matrixDisplay( allCFSeq ):
+def matrixDisplayOld( allCFSeq ):
     from collections import defaultdict
     longestName = 5
     mx = defaultdict(lambda: dict())
@@ -207,13 +206,18 @@ def matrixDisplay( allCFSeq ):
             longestName = max(longestName, len(seq.step.name) )
 
     longestName = longestName + 1
+
     def __getHyposOfStep( s ):
         if len(s.step.sequences):
-           if type(s.step.sequences[0].hypo) is list:
-              return s.step.sequences[0].hypo[0].tools
-           else:
-              return s.step.sequences[0].hypo.tools
+            if len(s.step.sequences)==1:
+                if type(s.step.sequences[0].hypo) is list:
+                    return s.step.sequences[0].hypo[0].tools
+                else:
+                    return s.step.sequences[0].hypo.tools
+            else:
+                return s.step.combo.getChains().keys()
         return []
+   
 
 
 
@@ -237,6 +241,50 @@ def matrixDisplay( allCFSeq ):
     log.debug( "" )
 
 
+    
+def matrixDisplay( allCFSeq ):
+ 
+    def __getHyposOfStep( step ):
+        if len(step.sequences):
+            if len(step.sequences)==1:
+                if type(step.sequences[0].hypo) is list:
+                    return step.sequences[0].hypo[0].tools
+                else:
+                    return step.sequences[0].hypo.tools
+            else:
+                return step.combo.getChains().keys()
+        return []
+ 
+   
+    # fill dictionary to cumulate chains on same sequences, in steps (dict with composite keys)
+    from collections import defaultdict
+    mx = defaultdict(list)
+
+    for stepNumber,cfseq_list in enumerate(allCFSeq, 1):
+        for cfseq in cfseq_list:
+            chains = __getHyposOfStep(cfseq.step)
+            for seq in cfseq.step.sequences:
+                mx[stepNumber, seq.sequence.Alg.name()].extend(chains)
+
+
+    # sort dictionary by fist key=step
+    from collections import  OrderedDict
+    sorted_mx = OrderedDict(sorted( mx.items(), key= lambda k: k[0]))
+
+    log.info( "" )
+    log.info( "="*90 )
+    log.info( "Cumulative Summary of steps")
+    log.info( "="*90 )
+    for (step, seq), chains in sorted_mx.items():
+        log.info( "(step, sequence)  ==> (%d, %s) is in chains: ",  step, seq)
+        for chain in chains:
+            log.info( "              %s",chain)
+
+    log.info( "="*90 )
+
+
+
+   
 
 def decisionTree_From_Chains(HLTNode, chains, allDicts, newJO):
     """ creates the decision tree, given the starting node and the chains containing the sequences  """
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
index 6b34b17ccdac4919c5b7b8b560f69c600c290e15..6ec57639d928fe1a1d9b1f3d7b285492d0283b21 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
@@ -117,7 +117,7 @@ def setupMenu():
 
     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),
@@ -130,7 +130,7 @@ def setupMenu():
         # 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_a10r_L1J100',  groups=SingleJetGroup),
         ChainProp(name='HLT_j460_a10_lcw_subjes_L1J100', groups=SingleJetGroup),
         ChainProp(name='HLT_j460_a10t_lcw_jes_L1J100', groups=SingleJetGroup),
 
@@ -140,6 +140,8 @@ def setupMenu():
         # 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 = [
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
index d62ab8c069e8b46b37bf200b1b5b9e2e5c0f4ed4..c877d2f56b1590cc036f6771d4fa3ee2cea2e11b 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
@@ -213,19 +213,18 @@ class InputMakerNode(AlgNode):
 
 from DecisionHandling.DecisionHandlingConf import ComboHypo
 class ComboMaker(AlgNode):
-    def __init__(self, name):
+    def __init__(self, name, multiplicity):
         Alg = ComboHypo(name)
         log.debug("Making combo Alg %s", name)
         AlgNode.__init__(self,  Alg, 'HypoInputDecisions', 'HypoOutputDecisions')
         self.prop="MultiplicitiesMap"
+        self.mult=multiplicity
 
 
     def addChain(self, chainDict):
         chainName = chainDict['chainName']
         log.debug("ComboMaker %s adding chain %s", self.Alg.name(),chainName)
-        from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import getChainMultFromDict
-        allMultis = [int(x) for x in getChainMultFromDict( chainDict )]
-
+        allMultis = self.mult
         newdict = {chainName : allMultis}
 
         cval = self.Alg.getProperties()[self.prop]  # check necessary to see if chain was added already?
@@ -271,6 +270,8 @@ def isFilterAlg(alg):
 
 class MenuSequence(object):
     """ Class to group reco sequences with the Hypo"""
+    """ By construction it has one Hypo Only; behaviour changed to support muFastOvlpRmSequence() which has two, but this will change"""
+    
     def __init__(self, Sequence, Maker,  Hypo, HypoToolGen, CA=None ):
         assert Maker.name().startswith("IM"), "The input maker {} name needs to start with letter: IM".format(Maker.name())
         self.sequence     = Node( Alg=Sequence)
@@ -282,6 +283,7 @@ class MenuSequence(object):
         self.ca = CA
 
         if type(Hypo) is list:
+           log.warning("Sequence %s has more than one Hypo; correct your sequence for next develpments")
            self.name=[]
            self.hypoToolConf=[]
            self._hypo=[]
@@ -570,15 +572,16 @@ class CFSequence(object):
 
 
 class ChainStep(object):
-    """Class to describe one step of a chain; if multiplicity is greater than 1, the step is combo/combined"""
-    def __init__(self, name,  Sequences=[], multiplicity=1):
+    """Class to describe one step of a chain; if multiplicity is greater than 1, the step is combo/combined.  Set one multiplicity value per sequence"""
+    def __init__(self, name,  Sequences=[], multiplicity=[1]):
+       
         self.name = name
         self.sequences=[]
         self.multiplicity = multiplicity
-        self.isCombo=multiplicity>1
+        self.isCombo=sum(multiplicity)>1
         self.combo=None
         if self.isCombo:
-            self.makeCombo(Sequences)
+            self.makeCombo(Sequences )
         else:
             self.sequences = Sequences
 
@@ -588,7 +591,7 @@ class ChainStep(object):
             return
 
         # For combo sequences, duplicate the sequence, the Hypo with differnt names and create the ComboHypoAlg
-        self.combo = ComboMaker(CFNaming.comboHypoName(self.name))
+        self.combo = ComboMaker(CFNaming.comboHypoName(self.name), self.multiplicity)
         duplicatedHypos = []
         for sequence in Sequences:
             if type(sequence.hypo) is list:
@@ -622,7 +625,7 @@ class ChainStep(object):
                self.sequences.append(new_sequence)
 
     def __repr__(self):
-        return "--- ChainStep %s ---\n + isCombo: %d, multiplicity= %d \n +  %s \n "%(self.name, self.isCombo,self.multiplicity, ' '.join(map(str, self.sequences) ))
+        return "--- ChainStep %s ---\n + isCombo = %d, multiplicity = %d \n + MenuSequences = %s \n "%(self.name, self.isCombo,sum(self.multiplicity), ' '.join(map(str, [seq.name for seq in self.sequences]) ))
 
 
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py
index d9ad166472d2d0f6bd629442df0f84a43ac4ee65..5f4c97d80ce71db559659a8be0579db1dbdeacfd 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py
@@ -192,7 +192,7 @@ class MuonChainConfiguration(ChainConfigurationBase):
         stepName = 'Step5_muInvM'
         log.debug("Configuring step " + stepName)
         seq = RecoFragmentsPool.retrieve( muEFCBInvMSequenceCfg, None)
-        return ChainStep(stepName, [seq], multiplicity=1)
+        return ChainStep(stepName, [seq], multiplicity=[1])
 
     #--------------------
     def getLateMu(self):