From c23a448b8a5eba821db973675f11c48734261ced Mon Sep 17 00:00:00 2001
From: Francesca Pastore <francesca.pastore@cern.ch>
Date: Mon, 28 Jan 2019 18:48:59 +0100
Subject: [PATCH] duplicated Hypos to merge electron and photon in the fullmenu
 test; factorized the calocluster code to be used in the jets

---
 .../TrigT2CaloCommon/python/CaloDef.py        |  28 +++-
 .../TrigUpgradeTest/python/CaloMenuDefs.py    |   8 +-
 .../python/electronMenuDefs.py                |   1 +
 .../TrigUpgradeTest/python/jetDefs.py         | 124 ++++++++++--------
 .../TrigUpgradeTest/python/photonMenuDefs.py  |   2 +
 .../TrigUpgradeTest/share/electron.menu.py    |   2 +-
 .../TrigUpgradeTest/share/fullMenu.py         |   6 +-
 .../TrigUpgradeTest/share/fullMenu.ref        |  36 +++++
 .../TrigUpgradeTest/share/photon.menu.py      |   2 +-
 .../HLTMenuConfig/Egamma/ElectronDef.py       |   2 +-
 .../HLTMenuConfig/Menu/MenuComponents.py      |   3 +
 11 files changed, 143 insertions(+), 71 deletions(-)

diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py
index ef8fdaf83915..230638ee652e 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py
@@ -1,9 +1,8 @@
 from AthenaCommon.Constants import ERROR, DEBUG
-from AthenaCommon.CFElements import seqAND
+from AthenaCommon.CFElements import seqAND, parOR
 from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm
 
 def setMinimalCaloSetup() :
-
   from AthenaCommon.AppMgr import ServiceMgr as svcMgr
   if not hasattr(svcMgr,'TrigCaloDataAccessSvc'):
     from TrigT2CaloCommon.TrigT2CaloCommonConf import TrigCaloDataAccessSvc
@@ -11,6 +10,10 @@ def setMinimalCaloSetup() :
     svcMgr.TrigCaloDataAccessSvc.OutputLevel=ERROR
 
 
+########################
+## ALGORITHMS
+########################
+
 def algoHLTCaloCell(inputEDM='FSRoI', outputEDM='CellsClusters', RoIMode=True, OutputLevel=ERROR) :
    setMinimalCaloSetup();
    from AthenaCommon.AppMgr import ServiceMgr as svcMgr
@@ -38,6 +41,10 @@ def algoL2Egamma(inputEDM="EMRoIs",OutputLevel=ERROR):
     return algo
 
 
+####################################
+##### SEQUENCES
+####################################
+
 def fastCaloRecoSequence(InViewRoIs):
     from TrigT2CaloCommon.CaloDef import algoL2Egamma
     fastCaloAlg = algoL2Egamma(OutputLevel=DEBUG,inputEDM=InViewRoIs)
@@ -47,7 +54,6 @@ def fastCaloRecoSequence(InViewRoIs):
 
 
 def fastCaloEVCreator():
-
     InViewRoIs="EMCaloRoIs"     
     fastCaloViewsMaker = EventViewCreatorAlgorithm( "fastCaloViewsMaker", OutputLevel=DEBUG)
     fastCaloViewsMaker.ViewFallThrough = True
@@ -56,11 +62,11 @@ def fastCaloEVCreator():
     fastCaloViewsMaker.Views = "EMCaloViews"
     fastCaloViewsMaker.ViewNodeName = "fastCaloInViewSequence"
     return (fastCaloViewsMaker, InViewRoIs)
-    
-def createFastCaloSequence(EMRoIDecisions):
 
+
+def createFastCaloSequence(EMRoIDecisions):
     (fastCaloViewsMaker, InViewRoIs) = fastCaloEVCreator()
-    # connect 
+    # connect to RoIs
     fastCaloViewsMaker.InputMakerInputDecisions =  [ EMRoIDecisions ]         
     fastCaloViewsMaker.InputMakerOutputDecisions = [ EMRoIDecisions + "IMOUTPUT"]
 
@@ -71,3 +77,13 @@ def createFastCaloSequence(EMRoIDecisions):
 
 
  
+def HLTCaloCellRecoSequence(RoIs):
+    CellsClusters = 'CellsClusters'
+    algo1= algoHLTCaloCell(RoIs, outputEDM=CellsClusters, RoIMode=True, OutputLevel=DEBUG)
+    algo2= algoHLTTopoCluster(inputEDM=CellsClusters, OutputLevel=DEBUG) 
+    RecoSequence = parOR("ClusterRecoSequence", [algo1, algo2])
+    print algo2
+    for tool in algo2.ClusterMakerTools:
+        print tool
+
+    return RecoSequence
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/CaloMenuDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/CaloMenuDefs.py
index d4c628d9a8e2..a53c608660cb 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/CaloMenuDefs.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/CaloMenuDefs.py
@@ -25,13 +25,15 @@ def fastCaloSequence(ConfigFlags):
     return (fastCaloSequence, fastCaloViewsMaker, sequenceOut)
 
 
-def fastCaloMenuSequence():
-    """ Creates L2 Fast Calo  MENU sequence"""
+def fastCaloMenuSequence(name):
+    """ Creates L2 Fast Calo  MENU sequence
+    The Hypo name changes depending on name, so for different implementations (Electron, Gamma,....)
+    """
     (sequence, fastCaloViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(fastCaloSequence, ConfigFlags)
 
     # hypo    
     from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2CaloHypoAlgMT
-    theFastCaloHypo = TrigL2CaloHypoAlgMT("L2CaloHypo", OutputLevel = DEBUG)
+    theFastCaloHypo = TrigL2CaloHypoAlgMT(name+"L2CaloHypo", OutputLevel = DEBUG)
     theFastCaloHypo.CaloClusters = sequenceOut
     CaloMenuDefs.L2CaloClusters = sequenceOut
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/electronMenuDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/electronMenuDefs.py
index 97186c5115b4..30d223d857ad 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/electronMenuDefs.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/electronMenuDefs.py
@@ -99,6 +99,7 @@ def electronMenuSequence():
     from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2ElectronHypoAlgMT
     theElectronHypo = TrigL2ElectronHypoAlgMT()
     theElectronHypo.Electrons = sequenceOut
+
     theElectronHypo.RunInView=True
     theElectronHypo.OutputLevel = VERBOSE
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py
index 8b465c1e96cd..4cb74c33fcbc 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py
@@ -9,66 +9,78 @@ def jetRecoSequence(RoIs):
     from AthenaCommon.Constants import VERBOSE,DEBUG,INFO
 
     from AthenaCommon.CFElements import parOR, seqAND, seqOR, stepSeq
-    #jetRecoSequence = seqAND("jetRecoSequence")
-    jetRecoSequence = parOR("jetRecoSequence")
-
-
-
-  # jets reco
-    from AthenaMonitoring.GenericMonitoringTool import (GenericMonitoringTool,
-                                                        defineHistogram)
-
-    from TrigT2CaloCommon.TrigT2CaloCommonConf import TrigCaloDataAccessSvc
-    import math
-    mon = GenericMonitoringTool("CaloDataAccessSvcMon")
-    mon.Histograms += [
-        defineHistogram("TIME_locking_LAr_RoI",
-                        path="EXPERT",
-                        title="Time spent in unlocking the LAr collection",
-                        xbins=100, xmin=0, xmax=100 ),
-        defineHistogram("roiROBs_LAr",
-                        path="EXPERT",
-                        title="Number of ROBs unpacked in RoI requests",
-                        xbins=20, xmin=0, xmax=20 ),
-        defineHistogram("TIME_locking_LAr_FullDet",
-                        path="EXPERT",
-                        title="Time spent in unlocking the LAr collection",
-                        xbins=100, xmin=0, xmax=100 ),
-        defineHistogram("roiEta_LAr,roiPhi_LAr",
-                        type="TH2F",
-                        path="EXPERT",
-                        title="Geometric usage",
-                        xbins=50, xmin=-5, xmax=5,
-                        ybins=64, ymin=-math.pi, ymax=math.pi )]
-
-    svcMgr += TrigCaloDataAccessSvc()
-    svcMgr.TrigCaloDataAccessSvc.OutputLevel=INFO
-    svcMgr.TrigCaloDataAccessSvc.MonTool = mon
+ 
+
+
+    # calo Cluster reco
+
+    if False:
+        from AthenaMonitoring.GenericMonitoringTool import (GenericMonitoringTool,
+                                                            defineHistogram)
+
+        from TrigT2CaloCommon.TrigT2CaloCommonConf import TrigCaloDataAccessSvc
+        import math
+        mon = GenericMonitoringTool("CaloDataAccessSvcMon")
+        mon.Histograms += [
+            defineHistogram("TIME_locking_LAr_RoI",
+                            path="EXPERT",
+                            title="Time spent in unlocking the LAr collection",
+                            xbins=100, xmin=0, xmax=100 ),
+            defineHistogram("roiROBs_LAr",
+                            path="EXPERT",
+                            title="Number of ROBs unpacked in RoI requests",
+                            xbins=20, xmin=0, xmax=20 ),
+            defineHistogram("TIME_locking_LAr_FullDet",
+                            path="EXPERT",
+                            title="Time spent in unlocking the LAr collection",
+                            xbins=100, xmin=0, xmax=100 ),
+            defineHistogram("roiEta_LAr,roiPhi_LAr",
+                            type="TH2F",
+                            path="EXPERT",
+                            title="Geometric usage",
+                            xbins=50, xmin=-5, xmax=5,
+                            ybins=64, ymin=-math.pi, ymax=math.pi )]
+
 
 
     
+        #jetRecoSequence = seqAND("jetRecoSequence")
+        jetRecoSequence = parOR("jetRecoSequence")
+
+        svcMgr += TrigCaloDataAccessSvc()
+        svcMgr.TrigCaloDataAccessSvc.OutputLevel=INFO
+        svcMgr.TrigCaloDataAccessSvc.MonTool = mon
+
+        from TrigCaloRec.TrigCaloRecConfig import HLTCaloCellMaker
+        from TrigCaloRec.TrigCaloRecConf import HLTCaloCellSumMaker
+        algo1=HLTCaloCellMaker("HLTCaloCellMaker")
+        algo1.RoIs=RoIs
+        #     algo1.RoIs="StoreGateSvc+FSJETRoIs"
+        algo1.TrigDataAccessMT=svcMgr.TrigCaloDataAccessSvc
+        algo1.roiMode = True
+        algo1.CellsName="CellsClusters"
+    #    algo1.OutputLevel=VERBOSE
+        jetRecoSequence += algo1
+
+
+
+        from TrigCaloRec.TrigCaloRecConfig import TrigCaloClusterMakerMT_topo
+        algo2 = TrigCaloClusterMakerMT_topo(doMoments=True, doLC=False, cells="CellsClusters")
+    #    algo2.Cells = "CellsClusters"
+    #    algo2.OutputLevel = VERBOSE
+        jetRecoSequence += algo2
+        print algo2
+        for tool in algo2.ClusterMakerTools:
+            print tool
+
+
+    else:
+        from TrigT2CaloCommon.CaloDef import HLTCaloCellRecoSequence
+        jetRecoSequence = HLTCaloCellRecoSequence(RoIs)
+
+
 
-    from TrigCaloRec.TrigCaloRecConfig import HLTCaloCellMaker
-    from TrigCaloRec.TrigCaloRecConf import HLTCaloCellSumMaker
-    algo1=HLTCaloCellMaker("HLTCaloCellMaker")
-    algo1.RoIs=RoIs
-    #     algo1.RoIs="StoreGateSvc+FSJETRoIs"
-    algo1.TrigDataAccessMT=svcMgr.TrigCaloDataAccessSvc
-    algo1.roiMode = True
-    algo1.CellsName="CellsClusters"
-#    algo1.OutputLevel=VERBOSE
-    jetRecoSequence += algo1
-
-
-
-    from TrigCaloRec.TrigCaloRecConfig import TrigCaloClusterMakerMT_topo
-    algo2 = TrigCaloClusterMakerMT_topo(doMoments=True, doLC=False, cells="CellsClusters")
-#    algo2.Cells = "CellsClusters"
-#    algo2.OutputLevel = VERBOSE
-    jetRecoSequence += algo2
-    print algo2
-    for tool in algo2.ClusterMakerTools:
-        print tool
+    # Jet Reco:
 
     # PseudoJetAlgorithm uses a tool to convert IParticles (eg CaloClusters)
     # to PseudoJets, which are the input to FastJet. The PseudoJets are
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/photonMenuDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/photonMenuDefs.py
index d040970ebaee..2c2629dc1446 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/photonMenuDefs.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/photonMenuDefs.py
@@ -13,6 +13,8 @@ from AthenaCommon.CFElements import parOR, seqOR, seqAND, stepSeq
 from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm
 
 
+
+
 def photonMenuSequence():
     """ Creates secpond step photon sequence"""
     
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/electron.menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/electron.menu.py
index 16b036025671..03e5111f2f53 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/electron.menu.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/electron.menu.py
@@ -15,7 +15,7 @@ from TrigUpgradeTest.electronMenuDefs import electronMenuSequence
 
 
 
-fastCaloStep= fastCaloMenuSequence()
+fastCaloStep= fastCaloMenuSequence("Ele")
 electronStep= electronMenuSequence()
 
 step1=ChainStep("Step1_etcut", [fastCaloStep])
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.py
index b0154c927615..d2fc0ab4cd97 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.py
@@ -16,7 +16,7 @@ include("TrigUpgradeTest/testHLT_MT.py")
 ##########################################
 
 doElectron = True
-doPhoton = False
+doPhoton = True
 doMuon   = True
 doJet    = False
 doCombo  = True
@@ -38,7 +38,7 @@ testChains = []
 if (doElectron):
     from TrigUpgradeTest.CaloMenuDefs import fastCaloMenuSequence
     from TrigUpgradeTest.electronMenuDefs import electronMenuSequence
-    fastCaloStep=fastCaloMenuSequence()
+    fastCaloStep=fastCaloMenuSequence("Ele")
     electronStep=electronMenuSequence()
 
     step1=ChainStep("Step1_etcut", [fastCaloStep])
@@ -59,7 +59,7 @@ if (doPhoton):
     from TrigUpgradeTest.CaloMenuDefs import fastCaloMenuSequence
     from TrigUpgradeTest.photonMenuDefs import photonMenuSequence
 
-    fastCaloStep=fastCaloMenuSequence()
+    fastCaloStep=fastCaloMenuSequence("Gamma")
     photonstep= photonMenuSequence()
 
     photonChains = [
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.ref
index b9b48953fdd8..c3bc1b25545a 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.ref
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/fullMenu.ref
@@ -1,40 +1,51 @@
 TriggerSummaryStep1                     0   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     0   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     0   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     0   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     0   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     0   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     0   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     0   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     0   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     1   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     1   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     1   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     1   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     1   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     1   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     1   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     1   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     1   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     2   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     2   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     2   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     2   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     2   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     2   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     2   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     2   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     2   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     3   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     3   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     3   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     3   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     3   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     3   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     3   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     3   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     3   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     4   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     4   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     4   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     4   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     4   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     4   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     4   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     4   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     4   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_mu6Comb ID#393364983
 TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_mu6 ID#1672162766
 TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
@@ -42,62 +53,79 @@ TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_e3_etcut ID#271
 TriggerSummaryStep1                     5   0     DEBUG  +++ HLT_e3_etcut_mu6 ID#3189262314
 TriggerSummaryStep2                     5   0     DEBUG  +++ HLT_mu6Comb ID#393364983
 TriggerSummaryStep2                     5   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     5   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     5   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     5   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_mu6Comb ID#393364983
 TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_mu6 ID#1672162766
 TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     6   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     6   0     DEBUG  +++ HLT_mu6Comb ID#393364983
 TriggerSummaryStep2                     6   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     6   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     6   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     6   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     7   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     7   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     7   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     7   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     7   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     7   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     7   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     7   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     7   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     8   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     8   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     8   0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     8   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     8   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     8   0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     8   0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     8   0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     8   0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     10  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     10  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     10  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     10  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     10  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     10  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     10  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     10  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     10  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     11  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     11  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     11  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     11  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     11  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     11  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     11  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     12  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     12  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     12  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     12  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     12  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     12  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     12  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     12  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     12  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     13  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     13  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     13  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     13  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     13  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     13  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     13  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     13  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     13  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     14  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     14  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     14  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     14  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     14  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     14  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     14  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     15  0     DEBUG  +++ HLT_mu6Comb ID#393364983
 TriggerSummaryStep1                     15  0     DEBUG  +++ HLT_mu6 ID#1672162766
@@ -105,21 +133,27 @@ TriggerSummaryStep1                     16  0     DEBUG  +++ HLT_e3_etcut1step I
 TriggerSummaryStep1                     16  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     16  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     17  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     17  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     17  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     17  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     17  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     17  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     17  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     17  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     17  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep1                     18  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     18  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     18  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     18  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     18  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
+TriggerSummaryStep2                     18  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_e3_etcut1step ID#1509456583
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep1                     19  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TriggerSummaryStep2                     19  0     DEBUG  +++ HLT_e5_etcut ID#607406625
+TriggerSummaryStep2                     19  0     DEBUG  +++ HLT_g5_etcut ID#1407390618
 TriggerSummaryStep2                     19  0     DEBUG  +++ HLT_e7_etcut ID#2430733989
 TriggerSummaryStep2                     19  0     DEBUG  +++ HLT_e3_etcut ID#2711808158
 TrigSignatureMoniMT                                INFO HLT_2mu6                      20        20        0         0         0         
@@ -136,6 +170,8 @@ TrigSignatureMoniMT                                INFO HLT_e5_etcut
 TrigSignatureMoniMT                                INFO HLT_e5_etcut decisions                            50        251       
 TrigSignatureMoniMT                                INFO HLT_e7_etcut                  20        20        15        14        14        
 TrigSignatureMoniMT                                INFO HLT_e7_etcut decisions                            36        205       
+TrigSignatureMoniMT                                INFO HLT_g5_etcut                  20        20        17        17        17        
+TrigSignatureMoniMT                                INFO HLT_g5_etcut decisions                            50        50        
 TrigSignatureMoniMT                                INFO HLT_mu6                       20        20        3         0         3         
 TrigSignatureMoniMT                                INFO HLT_mu6 decisions                                 3         0         
 TrigSignatureMoniMT                                INFO HLT_mu6Comb                   20        20        3         2         2         
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/photon.menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/photon.menu.py
index 747cad9b8aef..e16ea3c8628d 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/photon.menu.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/photon.menu.py
@@ -12,7 +12,7 @@ from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import Chain, ChainStep
 from TrigUpgradeTest.CaloMenuDefs import fastCaloMenuSequence
 from TrigUpgradeTest.photonMenuDefs import photonMenuSequence
 
-calostep=fastCaloMenuSequence()
+calostep=fastCaloMenuSequence("Gamma")
 photonstep= photonMenuSequence()
 
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
index 4c6b5285e473..d0bbca932da1 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
@@ -13,7 +13,7 @@ from TriggerMenuMT.HLTMenuConfig.Menu.TriggerConfigHLT import TriggerConfigHLT
 # fragments generating configuration will be functions in New JO, so let's make them functions already now
 def fastCaloSequenceCfg( flags ):
     from TrigUpgradeTest.CaloMenuDefs import fastCaloMenuSequence
-    return fastCaloMenuSequence()
+    return fastCaloMenuSequence("Electron")
 
     
 def electronSequenceCfg( flags ):
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
index ab6fbb444d47..afd007762c54 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
@@ -313,6 +313,9 @@ class MenuSequence():
         #### Add input/output Decision to Hypo
         self.hypo.setPreviousDecision( input_maker_output)
         hypo_output = CFNaming.hypoAlgOutName(self.hypo.Alg.name(), input_maker_output)
+        if len(self.hypo.getOutputList()):
+            log.error("Hypo %s has already an output configured: you may want to duplicate the Hypo!")
+            sys.exit("ERROR, in chain configuration") 
         self.hypo.addOutput(hypo_output)
 
         # needed for drawing
-- 
GitLab