From 018145faa987caa41b390ea940465239d2e70830 Mon Sep 17 00:00:00 2001
From: Joerg Stelzer <joerg.stelzer@cern.ch>
Date: Sun, 8 Nov 2015 13:46:44 +0100
Subject: [PATCH] python/TriggerConfigGetter.py: write TriggerThreshold
 metadata to aod files (TriggerJobOpts-00-05-06)

2015-11-08 Joerg Stelzer <stelzer@cern>
	* python/TriggerConfigGetter.py: write TriggerThreshold metadata to aod files
	* TriggerJobOpts-00-05-06

2015-11-05  Oleg Kuprash  <oleg.kuprash@cern.ch>
	* python/HLTTriggerResultGetter.py: make Run 1 BS -> xAOD conversion of HLT containers scheduled (ATR-12135)
	* python/HLTTriggerResultGetter.py: update _TriggerESDList: AOD containers replaced by their xAOD equivalents
	* TriggerJobOpts-00-05-05

2015-10-29  Frank Winklmeier  <fwinkl@cern>
	* Remove support for obsolete TriggerMenuPython
	* Delete obsolete TriggerOnlineGetter.py, GenerateOnlineMenu.py
	* TriggerJobOpts-00-05-04
---
 .../python/GenerateOnlineMenu.py              | 330 ------------------
 .../python/HLTTriggerResultGetter.py          |  23 +-
 .../TriggerJobOpts/python/T0TriggerGetter.py  |  15 +-
 .../TriggerJobOpts/python/TriggerFlags.py     |  60 +---
 .../TriggerJobOpts/python/TriggerGetter.py    |  91 ++---
 .../python/TriggerOnlineGetter.py             |  64 ----
 .../TriggerJobOpts/python/__init__.py         |   2 +-
 7 files changed, 59 insertions(+), 526 deletions(-)
 delete mode 100644 Trigger/TriggerCommon/TriggerJobOpts/python/GenerateOnlineMenu.py
 delete mode 100644 Trigger/TriggerCommon/TriggerJobOpts/python/TriggerOnlineGetter.py

diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/GenerateOnlineMenu.py b/Trigger/TriggerCommon/TriggerJobOpts/python/GenerateOnlineMenu.py
deleted file mode 100644
index c4ad6c68966..00000000000
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/GenerateOnlineMenu.py
+++ /dev/null
@@ -1,330 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-from AthenaCommon.Logging import logging
-
-# flags
-from TriggerJobOpts.TriggerFlags            import TriggerFlags
-from TriggerMenuPython.EgammaSliceFlags     import EgammaSliceFlags
-from TriggerMenuPython.TauSliceFlags        import TauSliceFlags
-from TriggerMenuPython.JetSliceFlags        import JetSliceFlags
-from TriggerMenuPython.METSliceFlags        import METSliceFlags
-from TriggerMenuPython.MuonSliceFlags       import MuonSliceFlags
-from TriggerMenuPython.BphysicsSliceFlags   import BphysicsSliceFlags
-from TriggerMenuPython.BjetSliceFlags       import BjetSliceFlags
-from TriggerMenuPython.CombinedSliceFlags   import CombinedSliceFlags
-from TriggerMenuPython.MinBiasSliceFlags    import MinBiasSliceFlags
-from TriggerMenuPython.CosmicSliceFlags     import CosmicSliceFlags
-from TriggerMenuPython.Lvl1Flags            import Lvl1Flags
-from TriggerMenuPython.CosmicSliceFlags     import CosmicSliceFlags
-from TriggerMenuPython.GenericSliceFlags    import GenericSliceFlags
-from TriggerMenuPython.MonitorSliceFlags    import MonitorSliceFlags
-
-# lvl1
-from TriggerMenuPython.Lvl1                 import Lvl1
-from TriggerMenuPython.Egamma_Lvl1          import Egamma_Lvl1
-from TriggerMenuPython.Bphysics_Lvl1        import Bphysics_Lvl1
-
-# hlt
-from TriggerMenuPython.TriggerPythonConfig  import TriggerPythonConfig
-from TriggerMenuPython.Express              import addExpressStream
-from TriggerMenuPython.Lumi                 import lumi
-
-def reportSliceImportError(flags):
-    log = logging.getLogger( 'GenerateOnlineMenu.py' )
-    if flags.signatures() == None or len(flags.signatures()) == 0:
-        log.warning("Error in configuration of "+flags.__class__.__name__+" but it is not required so we can continue")
-    else:
-        log.error("Error in configuration of "+flags.__class__.__name__)
-        raise
-
-
-class GenerateOnlineMenu:
-    def __init__(self):
-
-        log = logging.getLogger( 'GenerateOnlineMenu.py' )
-        log.info('Including lvl1 configurations')
-        # if TrigT1ConfigVersion:
-
-        #self.egamma_lvl1 = Egamma_Lvl1()
-        #self.bphysics_lvl1 = Bphysics_Lvl1()
-
-        log.info('Including HLT configurations')
-        self.chains = []
-
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.EgammaSlice.signatures():
-            try:
-                current = TriggerFlags.EgammaSlice.signatures.get_Value()
-                hasPhoton =  [ True for x in current if "g" == x[0] or "g" == x[1] ]
-                hasElectron =  [ True for x in current if not ("g" == x[0] or "g" == x[1]) ]
-
-                if hasElectron:
-                    from TriggerMenuPython.EMObject           import EMObjects
-                    from TriggerMenuPython.Electron           import Electrons
-                    from TriggerMenuPython.MultiElectron      import MultiElectrons
-                    self.chains += EMObjects
-                    self.chains += Electrons
-                    self.chains += MultiElectrons
-
-                if hasPhoton:
-                    from TriggerMenuPython.Photon             import Photons
-                    from TriggerMenuPython.MultiPhoton        import MultiPhotons
-                    self.chains += Photons
-                    self.chains += MultiPhotons
-            except:
-                reportSliceImportError(EgammaSliceFlags)
-
-        #-----------------------------------------------------------------------------            
-        if TriggerFlags.MuonSlice.signatures():
-            try:
-                from TriggerMenuPython.Muon               import Muons
-                from TriggerMenuPython.MultiMuon          import MultiMuons            
-                self.chains += Muons
-                self.chains += MultiMuons
-            except:
-                reportSliceImportError(MuonSliceFlags)
-
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.TauSlice.signatures():
-            try:
-                from TriggerMenuPython.Tau                import Taus
-                from TriggerMenuPython.MultiTau           import MultiTaus
-                self.chains += Taus
-                self.chains += MultiTaus
-            except:
-                reportSliceImportError(TauSliceFlags)
-
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.METSlice.signatures():
-            try:
-                from TriggerMenuPython.MissingET          import MissingETs
-
-                self.chains += MissingETs            
-            except:
-                reportSliceImportError(METSliceFlags) 
-
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.JetSlice.signatures():
-            try:
-                from TriggerMenuPython.JetSequence        import JetSequences
-                from TriggerMenuPython.Jet                import Jets
-            
-                self.chains += JetSequences
-                self.chains += Jets
-            except:
-                reportSliceImportError(JetSliceFlags)
-            
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.BjetSlice.signatures():
-            try:
-                from TriggerMenuPython.Bjet               import Bjets
-                from TriggerMenuPython.MultiBjet          import MultiBjets
-            
-                self.chains += Bjets
-                self.chains += MultiBjets
-            except:
-                reportSliceImportError(BjetSliceFlags)
-
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.BphysicsSlice.signatures():
-            try:
-                from TriggerMenuPython.Bphysics           import Bphysics
-                self.chains += Bphysics
-            except:
-                reportSliceImportError(BphysicsSliceFlags)
-            
-        #-----------------------------------------------------------------------------            
-        if TriggerFlags.MinBiasSlice.signatures():
-            try:
-                from TriggerMenuPython.MinBias import MinBias
-                self.chains += MinBias
-            except:
-                reportSliceImportError(MinBiasSliceFlags) 
-
-        #-----------------------------------------------------------------------------            
-        #if TriggerFlags.CosmicSlice.signatures():
-        try:
-            from TriggerMenuPython.Cosmic import Cosmics
-            self.chains += Cosmics
-        except:
-            reportSliceImportError(CosmicSliceFlags) 
-
-        #-----------------------------------------------------------------------------
-        if TriggerFlags.CombinedSlice.signatures():
-            try:
-                from TriggerMenuPython.Combined           import TauElectrons, TauMuons, TauMETs, JetMETs, ElectronMETs
-                from TriggerMenuPython.Combined           import MuonMETs, MuonMETs, ElectronJets, MuonJets, ElectronMuons
-                from TriggerMenuPython.Combined           import PhotonMETs, PhotonElectrons, PhotonMuons, TauJets, TauBjets, TripleSignatures
-                self.chains += TauElectrons
-                self.chains += TauMuons
-                self.chains += TauMETs
-                self.chains += JetMETs
-                self.chains += ElectronMETs
-                self.chains += MuonMETs
-                self.chains += ElectronJets
-                self.chains += MuonJets
-                self.chains += ElectronMuons
-                self.chains += PhotonMETs
-                self.chains += PhotonElectrons
-                self.chains += PhotonMuons
-                self.chains += TauJets
-                self.chains += TauBjets
-                self.chains += TripleSignatures
-            except:
-                reportSliceImportError(CombinedSliceFlags)
-                
-        #-----------------------------------------------------------------------------            
-        if TriggerFlags.GenericSlice.signatures():
-            try:
-                from TriggerMenuPython.GenericDef import Generic
-                self.chains += Generic
-            except:
-                reportSliceImportError(GenericSliceFlags)
-                
-        #-----------------------------------------------------------------------------            
-        if TriggerFlags.MonitorSlice.signatures():
-            try:
-                from TriggerMenuPython.MonitorDef import MonitorChainList
-                self.chains += MonitorChainList
-            except:
-                reportSliceImportError(MonitorSliceFlags)                
-        
-    def generate(self):
-        log = logging.getLogger( 'GenerateOnlineMenu.py' )
-
-        if TriggerFlags.readHLTconfigFromXML() and TriggerFlags.readLVL1configFromXML():
-            log.info('XML files generation not requested')
-            return
-
-        log.info('Doing consistency checks between defined slice signatures flags and accessible HLT configurations')
-        log.info('Creating list of all available slice signatures flags')
-        slice_signatures = []
-        if TriggerFlags.EgammaSlice.signatures():
-       	    slice_signatures.extend(EgammaSliceFlags.signatures.allowedValues())
-        if TriggerFlags.TauSlice.signatures():
-            slice_signatures.extend(TauSliceFlags.signatures.allowedValues())
-        if TriggerFlags.JetSlice.signatures():
-            slice_signatures.extend(JetSliceFlags.signatures.allowedValues())
-        if TriggerFlags.METSlice.signatures():
-            slice_signatures.extend(METSliceFlags.signatures.allowedValues())
-        if TriggerFlags.MuonSlice.signatures():
-            slice_signatures.extend(MuonSliceFlags.signatures.allowedValues())
-        if TriggerFlags.BphysicsSlice.signatures():
-            slice_signatures.extend(BphysicsSliceFlags.signatures.allowedValues())
-        if TriggerFlags.BjetSlice.signatures():
-            slice_signatures.extend(BjetSliceFlags.signatures.allowedValues())
-        if TriggerFlags.CombinedSlice.signatures():
-            slice_signatures.extend(CombinedSliceFlags.signatures.allowedValues())
-        if TriggerFlags.MinBiasSlice.signatures():
-            slice_signatures.extend(MinBiasSliceFlags.signatures.allowedValues())
-        #if TriggerFlags.CosmicSlice.signatures():
-        slice_signatures.extend(CosmicSliceFlags.signatures.allowedValues())
-        log.info('All possible slice signatures flags: '+str(slice_signatures))
-
-        log.debug('Creating list of available configurations')
-        configs = [ x.sig_id for x in self.chains ]
-        log.info('All possible configurations: '+str(configs))
-
-        for i in slice_signatures:
-            if i not in configs:
-                log.warning('Slice signature flag: '+i+' defined but no corresponding configuration exists')
-
-            
-        log.info('generating XML configuration files')
-        log.info('LVL1: '+str(TriggerFlags.inputLVL1configFile()))
-        log.info('HLT : '+str(TriggerFlags.inputHLTconfigFile()))
-
-        triggerPythonConfig = TriggerPythonConfig(TriggerFlags.outputHLTconfigFile(),
-                                                  TriggerFlags.outputLVL1configFile())
-
-        # global triggerPythonConfig
-
-        lvl1_items = []
-        lvl1_items.extend(Lvl1Flags.items())
-        lvl1_thresholds = []
-        lvl1_thresholds.extend(Lvl1Flags.thresholds())
-        Lvl1.registerItems(triggerPythonConfig)
-        log.info('N L1 items     : %s (/256)' % len(lvl1_items) )
-        log.info('N L1 thresholds: %s (/54)' % len(lvl1_thresholds) )
-
-        # pregenerate chains
-        for chaindef in self.chains:
-            log.info("generating: %s" % chaindef.sig_id )
-            chaindef.generateMenu(triggerPythonConfig)
-
-        # go over the slices and put together big list of signatures requested
-        sigs = []
-        log.info('modifying menu according to the luminosity and prescaling setup')
-        lumi(triggerPythonConfig)
-        addExpressStream(triggerPythonConfig)
-        # lumi_old_20071003(triggerPythonConfig)
-
-        # make one big list of enabled signatures
-        if EgammaSliceFlags.signatures():   # this protection for None rather than some list --- it can happen if slice is disabled
-            sigs += EgammaSliceFlags.signatures()
-
-        if MuonSliceFlags.signatures():
-            sigs += MuonSliceFlags.signatures()
-
-        if TauSliceFlags.signatures():
-            sigs += TauSliceFlags.signatures()
-
-        if JetSliceFlags.signatures():
-            sigs += JetSliceFlags.signatures()
-
-        if BjetSliceFlags.signatures():
-            sigs += BjetSliceFlags.signatures()
-
-        if BphysicsSliceFlags.signatures():
-            sigs += BphysicsSliceFlags.signatures()
-
-        if METSliceFlags.signatures():
-            sigs += METSliceFlags.signatures()
-
-        if CombinedSliceFlags.signatures():
-            sigs += CombinedSliceFlags.signatures()
-
-        if MinBiasSliceFlags.signatures():
-            sigs += MinBiasSliceFlags.signatures()
-
-        if CosmicSliceFlags.signatures():
-            sigs += CosmicSliceFlags.signatures()
-
-        log.info( 'Enabled signatures: '+str(sigs) )
-
-
-        # note only this chains enter current config
-        # print triggerPythonConfig.allChains
-
-##         log.info('modifying menu according to the luminosity and prescaling setup')
-##         lumi(triggerPythonConfig)
-        if not TriggerFlags.readLVL1configFromXML:
-            Lvl1.generateMenu(triggerPythonConfig, \
-                              Lvl1Flags.items(), Lvl1Flags.thresholds())
-        for name, chains in triggerPythonConfig.allChains.iteritems():
-            if name in sigs:
-                log.info("placing in the configuration chains for: %s" % name )
-                [triggerPythonConfig.addHLTChain(c) for c in chains]
-
-        # dump configuration files
-        triggerPythonConfig.writeConfigFiles()
-        triggerPythonConfig.dot(algs=True)
-
-        # suggest counters for new chains
-        countersL2 = []
-        countersEF = []
-        for name, chains in triggerPythonConfig.allChains.iteritems():
-            for c in chains:
-
-                if c.isL2():
-                    countersL2.append(int(c.chain_counter))
-                if c.isEF():
-                    countersEF.append(int(c.chain_counter))
-        countersL2.sort()
-        countersEF.sort()
-        maxL2 = max(countersL2)
-        maxEF = max(countersEF)
-
-        log.info("L2 available chain counters:" +str([x for x in range(0, 1023) if x not in countersL2]))
-        log.info("EF available chain counters:" +str([x for x in range(0, 1023) if x not in countersEF]))
-
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
index 2024cea30e9..d7165b8ad3d 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
@@ -118,6 +118,12 @@ class xAODConversionGetter(Configured):
         xaodconverter.HLTResultKey="HLTResult_EF"
         topSequence += xaodconverter
 
+        # define list of HLT xAOD containers to be written to the output root file
+        # (previously this was defined in HLTTriggerResultGetter def configure)
+        from TrigEDMConfig.TriggerEDM import getTriggerEDMList
+        self.xaodlist = {}
+        self.xaodlist.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(), 2 ))
+
         return True
     
         
@@ -297,10 +303,11 @@ class HLTTriggerResultGetter(Configured):
         if TriggerFlags.readBS():
             bs = ByteStreamUnpackGetter()
 
-        if not recAlgs.doTrigger():
-            #only convert when running on old data
-            if TriggerFlags.EDMDecodingVersion()==1:
-                xaodcnvrt = xAODConversionGetter()
+        xAODContainers = {}
+#        if not recAlgs.doTrigger():      #only convert when running on old data
+        if TriggerFlags.EDMDecodingVersion()==1:
+            xaodcnvrt = xAODConversionGetter()
+            xAODContainers = xaodcnvrt.xaodlist
 
         if recAlgs.doTrigger() or TriggerFlags.doTriggerConfigOnly():
             tdt = TrigDecisionGetter()
@@ -342,7 +349,13 @@ class HLTTriggerResultGetter(Configured):
         _TriggerESDList = {}
 
         from TrigEDMConfig.TriggerEDM import getTriggerEDMList 
-        _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  TriggerFlags.EDMDecodingVersion()) ) 
+        # we have to store xAOD containers in the root file, NOT AOD,
+        # if the xAOD container list is not empty
+        if(xAODContainers):
+            _TriggerESDList.update( xAODContainers )
+        else:
+            _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  TriggerFlags.EDMDecodingVersion()) ) 
+        
         log.info("ESD content set according to the ESDEDMSet flag: %s and EDM version %d" % (TriggerFlags.ESDEDMSet() ,TriggerFlags.EDMDecodingVersion()) )
 
         # AOD objects choice
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py
index 84741f62fab..59229bc29f2 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/T0TriggerGetter.py
@@ -11,20 +11,7 @@ from AthenaCommon.AppMgr import ServiceMgr
 
 log = logging.getLogger( "T0TriggerGetter.py" )
 
-try:
-    from TriggerMenu import useNewTriggerMenu
-    useNewTM = useNewTriggerMenu()
-    log.info("Using new TriggerMenu: %r" % useNewTM)
-except:
-    useNewTM = False
-    log.info("Using old TriggerMenuPython since TriggerMenu.useNewTriggerMenu can't be imported")
-
-if useNewTM:
-    from TriggerMenu.menu.GenerateMenu import GenerateMenu
-else:
-    from TriggerMenuPython.GenerateMenu import GenerateMenu
-
-
+from TriggerMenu.menu.GenerateMenu import GenerateMenu
 from RecExConfig.Configured import Configured 
 
 def withLVL1():
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index 6d3e1787863..791a26609fe 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -17,22 +17,8 @@ log.setLevel(logging.DEBUG)
 #stack = traceback.extract_stack()
 #log.info( "Imported TriggerFlags from %s, line %i" % (stack[-2][0], stack[-2][1]) )
 
-try:
-    from TriggerMenu import useNewTriggerMenu
-    useNewTM = useNewTriggerMenu()
-    log.info("Using new TriggerMenu: %r" % useNewTM)
-except:
-    useNewTM = False
-    log.info("Using old TriggerMenuPython since TriggerMenu.useNewTriggerMenu can't be imported")
-
-
 from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties
-
-if useNewTM:
-    from TriggerMenu.menu.CommonSliceHelper import AllowedList
-else:
-    from TriggerMenuPython.CommonSliceHelper import AllowedList
-
+from TriggerMenu.menu.CommonSliceHelper import AllowedList
 from TrigConfigSvc.TrigConfigSvcUtils import getKeysFromNameRelease, getMenuNameFromDB
 
 
@@ -1256,49 +1242,7 @@ from TriggerJobOpts.TriggerOnlineFlags      import OnlineFlags
 
 ## add slices generation flags
 
-if useNewTM:
-
-    try:
-        from TriggerMenu.menu.SliceFlags import *
-    except ImportError:
-        import TriggerMenu.egamma.EgammaSliceFlags
-        import TriggerMenu.jet.JetSliceFlags
-        import TriggerMenu.bjet.BjetSliceFlags
-        import TriggerMenu.muon.MuonSliceFlags
-        import TriggerMenu.met.METSliceFlags
-        import TriggerMenu.tau.TauSliceFlags
-        import TriggerMenu.bphysics.BphysicsSliceFlags
-        import TriggerMenu.minbias.MinBiasSliceFlags
-        import TriggerMenu.combined.CombinedSliceFlags
-        import TriggerMenu.calibcosmicmon.CosmicSliceFlags
-        import TriggerMenu.calibcosmicmon.CalibSliceFlags
-        import TriggerMenu.calibcosmicmon.StreamingSliceFlags
-        import TriggerMenu.calibcosmicmon.MonitorSliceFlags
-        import TriggerMenu.calibcosmicmon.EnhancedBiasSliceFlags
-
-else:
-    from TriggerMenuPython.Lvl1Flags            import Lvl1Flags
-    from TriggerMenuPython.EgammaSliceFlags     import EgammaSliceFlags
-    from TriggerMenuPython.TauSliceFlags        import TauSliceFlags
-    from TriggerMenuPython.JetSliceFlags        import JetSliceFlags
-    from TriggerMenuPython.MuonSliceFlags       import MuonSliceFlags
-    from TriggerMenuPython.METSliceFlags        import METSliceFlags
-    from TriggerMenuPython.BphysicsSliceFlags   import BphysicsSliceFlags
-    from TriggerMenuPython.BjetSliceFlags       import BjetSliceFlags
-    from TriggerMenuPython.CombinedSliceFlags   import CombinedSliceFlags
-    from TriggerMenuPython.MinBiasSliceFlags    import MinBiasSliceFlags
-    from TriggerMenuPython.CosmicSliceFlags     import CosmicSliceFlags
-    from TriggerMenuPython.HeavyIonSliceFlags   import HeavyIonSliceFlags
-    from TriggerMenuPython.CalibSliceFlags      import CalibSliceFlags
-    from TriggerMenuPython.L1CaloSliceFlags     import L1CaloSliceFlags
-    from TriggerMenuPython.BeamSpotSliceFlags   import BeamSpotSliceFlags
-    from TriggerMenuPython.GenericSliceFlags    import GenericSliceFlags
-    from TriggerMenuPython.MonitorSliceFlags    import MonitorSliceFlags
-    from TriggerMenuPython.StreamingSliceFlags  import StreamingSliceFlags
-
-
-
-
+from TriggerMenu.menu.SliceFlags import *
 from TriggerJobOpts.Tier0TriggerFlags       import Tier0TriggerFlags
 from TrigTier0.NtupleProdFlags              import NtupleProductionFlags
 
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py
index cfa2973a440..5ec4ce63bb3 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py
@@ -1,46 +1,29 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.GlobalFlags import jobproperties
-#from AthenaCommon.GlobalFlags import GlobalFlags
 from AthenaCommon.AthenaCommonFlags import jobproperties
-from RecExConfig.RecFlags  import jobproperties
+from AthenaCommon.GlobalFlags import globalflags
+from AthenaCommon.AppMgr import ServiceMgr,ToolSvc
+from AthenaCommon.Logging import logging
 
-from TriggerJobOpts.TriggerFlags import TriggerFlags
-TF = TriggerFlags
+from RecExConfig.RecFlags  import jobproperties
 from RecExConfig.RecFlags import rec
 from RecExConfig.RecAlgsFlags import recAlgs
-from AthenaCommon.GlobalFlags  import globalflags
-from AthenaCommon.Logging import logging
-log = logging.getLogger( "TriggerGetter.py" )
-
-
-from AthenaCommon.AppMgr import ServiceMgr,ToolSvc
-
-
-try:
-    from TriggerMenu import useNewTriggerMenu
-    useNewTM = useNewTriggerMenu()
-    log.info("Using new TriggerMenu: %r" % useNewTM)
-except:
-    useNewTM = False
-    log.info("Using old TriggerMenuPython since TriggerMenu.useNewTriggerMenu can't be imported")
+from RecExConfig.Configured import Configured 
 
-if useNewTM:
-    from TriggerMenu.menu.GenerateMenu import GenerateMenu
-else:
-    from TriggerMenuPython.GenerateMenu import GenerateMenu
+from TriggerJobOpts.TriggerFlags import TriggerFlags as TF
+from TriggerMenu.menu.GenerateMenu import GenerateMenu
 
-from RecExConfig.Configured import Configured 
+log = logging.getLogger( "TriggerGetter.py" )
 
 # this is to limit messags when running with -s
 from AthenaCommon.Include import excludeTracePattern
 excludeTracePattern.append("*/TriggerPythonConfig.py")
 excludeTracePattern.append("*/TrigMonitorBase/TrigGenericMonitoringToolConfig.py")
-excludeTracePattern.append ("*/TriggerMenuPython/*")
+excludeTracePattern.append ("*/TriggerMenu/*")
 excludeTracePattern.append("*/TrigSteering/TrigSteeringConfig.py")
 
 
-
 class TriggerGetter(Configured):
     #    _output = {"HLT::HLTResult" : ["HLTResult_L2", "HLTResult_EF"] }
     _configured=True
@@ -48,7 +31,7 @@ class TriggerGetter(Configured):
 
     def __init__(self):
         # tell the Configured machinery that we do not care about the objects already there
-        if not TriggerFlags.doFEX() and TriggerFlags.doHypo():
+        if not TF.doFEX() and TF.doHypo():
             Configured.__init__(self, ignoreExistingDataObject=True)
         else:
             Configured.__init__(self, ignoreExistingDataObject=False)
@@ -62,12 +45,12 @@ class TriggerGetter(Configured):
         self._done=True
 
         # start with print some information what this will do
-        log.info("Basic configuration flags RecAlgsFlag.doTrigger: %d   RecFlags.doTrigger: %d TriggerFlags.doTriggerConfigOnly %d" % (recAlgs.doTrigger(), rec.doTrigger(), TriggerFlags.doTriggerConfigOnly()) )
-        log.info("TriggerFlags: doL1Topo: %s, doLVL1: %s, doLVL2: %s, doEF: %s, doHLT: %s" % (TriggerFlags.doL1Topo(), TriggerFlags.doLVL1(), TriggerFlags.doLVL2(), TriggerFlags.doEF(), TriggerFlags.doHLT() ) )
+        log.info("Basic configuration flags RecAlgsFlag.doTrigger: %d   RecFlags.doTrigger: %d TriggerFlags.doTriggerConfigOnly %d" % (recAlgs.doTrigger(), rec.doTrigger(), TF.doTriggerConfigOnly()) )
+        log.info("TriggerFlags: doL1Topo: %s, doLVL1: %s, doLVL2: %s, doEF: %s, doHLT: %s" % (TF.doL1Topo(), TF.doLVL1(), TF.doLVL2(), TF.doEF(), TF.doHLT() ) )
 
         willGenerateMenu = recAlgs.doTrigger() and (TF.doLVL1() or TF.doLVL2() or TF.doEF() or TF.doHLT()) and not TF.doTriggerConfigOnly()
         willRunTriggerConfigGetter = recAlgs.doTrigger() or rec.doTrigger() or TF.doTriggerConfigOnly()
-        willRunLVL1SimulationGetter = recAlgs.doTrigger() and not TriggerFlags.doTriggerConfigOnly()
+        willRunLVL1SimulationGetter = recAlgs.doTrigger() and not TF.doTriggerConfigOnly()
         willRunHLTSimulationGetter = willRunLVL1SimulationGetter and (TF.doLVL2() or TF.doEF() or TF.doHLT())
 
         log.info("Will run: %s%s%s%s" % ("GenerateMenu " if willGenerateMenu else "",
@@ -84,11 +67,11 @@ class TriggerGetter(Configured):
         if recAlgs.doTrigger():
 
             # setup the trigger from the DB
-            if TriggerFlags.readConfigFromTriggerDb():
+            if TF.readConfigFromTriggerDb():
                 return self.configureTriggerFromDB()
 
         
-            if ((TriggerFlags.doLVL1()==True or TriggerFlags.doLVL2()==True or TriggerFlags.doEF()==True or TriggerFlags.doHLT()==True) and TriggerFlags.doTriggerConfigOnly()==False):
+            if ((TF.doLVL1()==True or TF.doLVL2()==True or TF.doEF()==True or TF.doHLT()==True) and TF.doTriggerConfigOnly()==False):
                 log.info("generating menu")
                 # trigger menu files generation
                 g = GenerateMenu()
@@ -100,7 +83,7 @@ class TriggerGetter(Configured):
                 
 
 
-        if recAlgs.doTrigger() or rec.doTrigger() or TriggerFlags.doTriggerConfigOnly():
+        if recAlgs.doTrigger() or rec.doTrigger() or TF.doTriggerConfigOnly():
             # setup configuration services
             from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
             cfg =  TriggerConfigGetter()
@@ -120,7 +103,7 @@ class TriggerGetter(Configured):
 
             
         # actuall trigger simulation running
-        if recAlgs.doTrigger() and not TriggerFlags.doTriggerConfigOnly():
+        if recAlgs.doTrigger() and not TF.doTriggerConfigOnly():
             # setup Lvl1
             # initialize LVL1ConfigSvc
             log.info("configuring lvl1")
@@ -128,7 +111,7 @@ class TriggerGetter(Configured):
             lvl1 = Lvl1SimulationGetter()
             
 
-            if jobproperties.Global.InputFormat()  != 'bytestream' and (TriggerFlags.doLVL2==True or TriggerFlags.doEF==True or TriggerFlags.doHLT==True):
+            if jobproperties.Global.InputFormat()  != 'bytestream' and (TF.doLVL2==True or TF.doEF==True or TF.doHLT==True):
                 # Transient BS construction and intialization
                 from ByteStreamCnvSvc import WriteByteStream
                 StreamBS = WriteByteStream.getStream("Transient","StreamBS")
@@ -156,10 +139,10 @@ class TriggerGetter(Configured):
 
             # setup HLT
             # initialize HLT config svc
-            log.info("TriggerFlags: doLVL2 %r" % TriggerFlags.doLVL2())
-            log.info("TriggerFlags: doEF   %r" % TriggerFlags.doEF())
-            log.info("TriggerFlags: doHLT  %r" % TriggerFlags.doHLT())
-            if TriggerFlags.doLVL2()==True or TriggerFlags.doEF()==True or TriggerFlags.doHLT()==True:
+            log.info("TriggerFlags: doLVL2 %r" % TF.doLVL2())
+            log.info("TriggerFlags: doEF   %r" % TF.doEF())
+            log.info("TriggerFlags: doHLT  %r" % TF.doHLT())
+            if TF.doLVL2()==True or TF.doEF()==True or TF.doHLT()==True:
                 log.info("configuring hlt")
                 from TriggerJobOpts.HLTTriggerGetter import HLTSimulationGetter
                 hlt = HLTSimulationGetter(g)
@@ -175,7 +158,7 @@ class TriggerGetter(Configured):
         hltouput = Lvl1ResultBuilderGetter()
 
         # prepare result making of HLT
-        if TriggerFlags.doLVL2()==True or TriggerFlags.doEF()==True or TriggerFlags.doHLT() or (recAlgs.doTrigger() and TriggerFlags.readBS()):
+        if TF.doLVL2()==True or TF.doEF()==True or TF.doHLT() or (recAlgs.doTrigger() and TF.readBS()):
             from TriggerJobOpts.HLTTriggerResultGetter import HLTTriggerResultGetter
             hltouput = HLTTriggerResultGetter()
       
@@ -191,33 +174,33 @@ class TriggerGetter(Configured):
         hltConfOffline.setupSource = 'db'
         hltConfOffline.OutputLevel = 1
         # Set the connection to the DB
-        if TriggerFlags.triggerDbConnection.statusOn :
-            hltConfOffline.dbType = TriggerFlags.triggerDbConnection()['dbType']
-            hltConfOffline.dbHost = TriggerFlags.triggerDbConnection()['dbServer']
-            hltConfOffline.dbUser = TriggerFlags.triggerDbConnection()['dbUser']
-            hltConfOffline.dbName = TriggerFlags.triggerDbConnection()['dbName']
-            hltConfOffline.dbPasswd = TriggerFlags.triggerDbConnection()['dbPasswd']
+        if TF.triggerDbConnection.statusOn :
+            hltConfOffline.dbType = TF.triggerDbConnection()['dbType']
+            hltConfOffline.dbHost = TF.triggerDbConnection()['dbServer']
+            hltConfOffline.dbUser = TF.triggerDbConnection()['dbUser']
+            hltConfOffline.dbName = TF.triggerDbConnection()['dbName']
+            hltConfOffline.dbPasswd = TF.triggerDbConnection()['dbPasswd']
         else:
             # try to get connection parameters from authentication files
             if not hltConfOffline.setDbConnectionFromAuthFile() :
                 log.error('failed to set HLTConfOffline service')
                 return False
             
-        if TriggerFlags.triggerDbKeys.statusOn :
-            hltConfOffline.SMKey = TriggerFlags.triggerDbKeys()[0]
-            hltConfOffline.LVL1PrescaleKey = TriggerFlags.triggerDbKeys()[1]
-            hltConfOffline.HLTPrescaleKey = TriggerFlags.triggerDbKeys()[2]
+        if TF.triggerDbKeys.statusOn :
+            hltConfOffline.SMKey = TF.triggerDbKeys()[0]
+            hltConfOffline.LVL1PrescaleKey = TF.triggerDbKeys()[1]
+            hltConfOffline.HLTPrescaleKey = TF.triggerDbKeys()[2]
         else:
             log.error( 'missing DB keys, set the TriggerFlags.triggerDBKeys flag')
             return False
       
-        if TriggerFlags.doLVL2() and TriggerFlags.doEF() :
+        if TF.doLVL2() and TF.doEF() :
             hltConfOffline.Level = 'BOTH'
-        elif TriggerFlags.doLVL2() :
+        elif TF.doLVL2() :
             hltConfOffline.Level = 'L2'
-        elif TriggerFlags.doEF() :
+        elif TF.doEF() :
             hltConfOffline.Level = 'EF'
-        elif TriggerFlags.doHLT() :
+        elif TF.doHLT() :
             hltConfOffline.Level = 'HLT'
         else:
             hltConfOffline.Level = None
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerOnlineGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerOnlineGetter.py
deleted file mode 100644
index 75bb05631a5..00000000000
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerOnlineGetter.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-from AthenaCommon.GlobalFlags  import globalflags
-from AthenaCommon.GlobalFlags import jobproperties
-from AthenaCommon.AthenaCommonFlags import jobproperties
-from RecExConfig.RecFlags  import jobproperties
-
-from TriggerJobOpts.TriggerFlags import TriggerFlags
-
-
-from AthenaCommon.Logging import logging  # loads logger
-
-from AthenaCommon.Include import include  # to include old style job options
-
-from AthenaCommon.AppMgr import ServiceMgr
-from TriggerMenuPython.GenerateMenu import GenerateMenu
-
-
-from RecExConfig.Configured import Configured 
-
-
-class TriggerOnlineGetter(Configured):
-    _output = {"HLT::HLTResult" : "HLTResult_L2", "HLT::HLTResult" : "HLTResult_EF" }
-    _configured=True
-    _done=False
-    def configure(self):
-        log = logging.getLogger( "TriggerOnlineGetter.py" )
-        if self._done:
-            log.info("configuration already done, who is calling it again?")
-            return True
-        self._done=True
-        
-        # this is to limit messags when running with -s
-        from AthenaCommon.Include import excludeTracePattern
-        excludeTracePattern.append("*/TriggerMenuPython/TriggerPythonConfig.py")
-        excludeTracePattern.append("*/TrigConfigSvc/TrigConfigSvcConfig.py")
-
-        log.info("generating menu")
-        # trigger menu files generation
-        g = GenerateMenu()
-        g.generate()
-
-
-        # setup Lvl1
-        # initialize LVL1ConfigSvc
-        log.info("configuring LVL1")
-        # Xin
-        from TriggerJobOpts.Lvl1TriggerOnlineGetter import Lvl1SimulationGetter
-        lvl1 = Lvl1SimulationGetter()
-
-        if globalflags.InputFormat()=='pool':
-            log.info("setting up transient BS")
-            include( "TriggerRelease/jobOfragment_TransBS_Modern.py" )
-
-        # setup HLT
-        # initialize HLT config svc
-        log.info("configuring hlt")
-        from TriggerJobOpts.HLTTriggerGetter import HLTSimulationGetter
-        hlt = HLTSimulationGetter(g)
-        
-        return True
-
-
- 
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/__init__.py b/Trigger/TriggerCommon/TriggerJobOpts/python/__init__.py
index be4e706b0c4..74662511fad 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/__init__.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/__init__.py
@@ -2,7 +2,7 @@
 
 __version__ = '1.0.0'
 __author__  = 'Xin.Wu@cern.ch, Tomasz.Bold@cern.ch'
-__all__ = [ 'TriggerOnlineGetter', 'Lvl1TriggerOnlineGetter', 'TriggerFlags', 'TriggerGetter' , 'T0TriggerGetter' ]
+__all__ = [ 'Lvl1TriggerOnlineGetter', 'TriggerFlags', 'TriggerGetter' , 'T0TriggerGetter' ]
 
 from TrigEDMConfig.TriggerEDM import * 
 
-- 
GitLab