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