diff --git a/LumiBlock/LumiBlockComps/python/LumiBlockMuWriterDefault.py b/LumiBlock/LumiBlockComps/python/LumiBlockMuWriterDefault.py index 2dc94cbb4084be178ca2541608236490c045203e..a288a0b163876872be49f6d4d0cd06598507bd65 100644 --- a/LumiBlock/LumiBlockComps/python/LumiBlockMuWriterDefault.py +++ b/LumiBlock/LumiBlockComps/python/LumiBlockMuWriterDefault.py @@ -10,13 +10,13 @@ from AthenaConfiguration.ComponentFactory import CompFactory from AthenaCommon.BeamFlags import jobproperties -def LumiBlockMuWriterDefault (name = 'LumiBlockMuWriter'): +def LumiBlockMuWriterDefault (name = 'LumiBlockMuWriter', sequence = None): from AthenaCommon.AlgSequence import AthSequencer from AthenaCommon.AlgSequence import AlgSequence condSeq = AthSequencer ('AthCondSeq') topSequence = AlgSequence() - if hasattr (condSeq, name) or hasattr (topSequence, name): + if (sequence and hasattr (sequence, name)) or hasattr (condSeq, name) or hasattr (topSequence, name): return LumiBlockMuWriter = CompFactory.LumiBlockMuWriter # LumiBlockComps @@ -40,10 +40,13 @@ def LumiBlockMuWriterDefault (name = 'LumiBlockMuWriter'): # FIXME: If EventInfoCnvAlg is in topSequence, then this needs to come # after it. Otherwise, schedule to condSeq so we'll be run early. - if cnvalg and cnvseq is topSequence: - topSequence += alg + if sequence: + sequence += alg else: - condSeq += alg + if cnvalg and cnvseq is topSequence: + topSequence += alg + else: + condSeq += alg from AthenaCommon.GlobalFlags import globalflags from RecExConfig.ObjKeyStore import objKeyStore diff --git a/LumiBlock/LumiBlockComps/python/LuminosityCondAlgDefault.py b/LumiBlock/LumiBlockComps/python/LuminosityCondAlgDefault.py index c7c87b4684bcd84a19e744f1bc5c061eb8a170aa..61d09e6cdba97ef294932e4ad8457ae0cf3eef65 100644 --- a/LumiBlock/LumiBlockComps/python/LuminosityCondAlgDefault.py +++ b/LumiBlock/LumiBlockComps/python/LuminosityCondAlgDefault.py @@ -7,6 +7,7 @@ from AthenaCommon.Logging import logging from AthenaCommon.AlgSequence import AthSequencer +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags _isOnline = False @@ -14,7 +15,7 @@ _isOnline = False def LuminosityCondAlgDefault (name = 'LuminosityCondAlg', suffix = '', - isOnline = None): + isOnline = athenaCommonFlags.isOnline()): if name is None: name = 'LuminosityCondAlg' + suffix diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaFastCaloHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaFastCaloHypoTool.py index 1e6cc0ea7fc7fdc1c83b993fe9bb7e0e9303f898..e79e14e6ce19aac36a3fd37e83631332e58fc89c 100644 --- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaFastCaloHypoTool.py +++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigEgammaFastCaloHypoTool.py @@ -172,8 +172,8 @@ def TrigEgammaFastCaloHypoToolFromDict( d ): """ Use menu decoded chain dictionary to configure the tool """ cparts = [i for i in d['chainParts'] if ((i['signature']=='Electron') or (i['signature']=='Photon'))] - from LumiBlockComps.LuminosityCondAlgDefault import LuminosityCondAlgOnlineDefault - LuminosityCondAlgOnlineDefault() + from LumiBlockComps.LuminosityCondAlgDefault import LuminosityCondAlgDefault + LuminosityCondAlgDefault() #def __mult(cpart): # return int( cpart['multiplicity'] ) diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py index 5b5c3d7e80507ef0cba506185cb61d2378e9df51..ca391ea9b078acf96d6bd388f00dd28e6be9a9ef 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py @@ -182,6 +182,7 @@ if not ConfigFlags.Input.isMC: globalflags.DatabaseInstance='CONDBR2' if opt.useCONDBR2 else 'COMP200' ConfigFlags.IOVDb.DatabaseInstance=globalflags.DatabaseInstance() athenaCommonFlags.isOnline.set_Value_and_Lock(opt.isOnline) +ConfigFlags.Common.isOnline = athenaCommonFlags.isOnline() log.info('Configured the following global flags:') globalflags.print_JobProperties() @@ -349,26 +350,6 @@ if not hasattr(topSequence,"SGInputLoader"): theApp.exit(1) topSequence.SGInputLoader.FailIfNoProxy = opt.failIfNoProxy - -#-------------------------------------------------------------- -# Event Info setup -#-------------------------------------------------------------- -# If no xAOD::EventInfo is found in a POOL file, schedule conversion from old EventInfo -if ConfigFlags.Input.Format == 'POOL': - from RecExConfig.ObjKeyStore import objKeyStore - from PyUtils.MetaReaderPeeker import convert_itemList - objKeyStore.addManyTypesInputFile(convert_itemList(layout='#join')) - if objKeyStore.isInInput("xAOD::EventInfo"): - topSequence.SGInputLoader.Load += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )] - else: - from AthenaCommon.AlgSequence import AthSequencer - condSeq = AthSequencer("AthCondSeq") - if not hasattr(condSeq, "xAODMaker::EventInfoCnvAlg"): - from xAODEventInfoCnv.xAODEventInfoCnvAlgDefault import xAODEventInfoCnvAlgDefault - xAODEventInfoCnvAlgDefault(sequence=condSeq) -else: - topSequence.SGInputLoader.Load += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )] - # ---------------------------------------------------------------- # Detector geometry # ---------------------------------------------------------------- @@ -442,16 +423,40 @@ from TrigConfigSvc.TrigConfigSvcCfg import L1ConfigSvcCfg CAtoGlobalWrapper(L1ConfigSvcCfg,ConfigFlags) # --------------------------------------------------------------- -# HLT prep: RoIBResult and L1Decoder +# Create main sequences # --------------------------------------------------------------- - -# main HLT top sequence from AthenaCommon.CFElements import seqOR,parOR hltTop = seqOR("HLTTop") hltBeginSeq = parOR("HLTBeginSeq") hltTop += hltBeginSeq topSequence += hltTop +# --------------------------------------------------------------- +# Event Info setup +# --------------------------------------------------------------- +# If no xAOD::EventInfo is found in a POOL file, schedule conversion from old EventInfo +if ConfigFlags.Input.Format == 'POOL': + from RecExConfig.ObjKeyStore import objKeyStore + from PyUtils.MetaReaderPeeker import convert_itemList + objKeyStore.addManyTypesInputFile(convert_itemList(layout='#join')) + if objKeyStore.isInInput("xAOD::EventInfo"): + topSequence.SGInputLoader.Load += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )] + else: + if not hasattr(hltBeginSeq, "xAODMaker::EventInfoCnvAlg"): + from xAODEventInfoCnv.xAODEventInfoCnvAlgDefault import xAODEventInfoCnvAlgDefault + xAODEventInfoCnvAlgDefault(sequence=hltBeginSeq) +else: + topSequence.SGInputLoader.Load += [( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' )] + +# --------------------------------------------------------------- +# Add LumiBlockMuWriter creating xAOD::EventInfo decorations for pileup values +# --------------------------------------------------------------- +from LumiBlockComps.LumiBlockMuWriterDefault import LumiBlockMuWriterDefault +LumiBlockMuWriterDefault(sequence=hltBeginSeq) + +# --------------------------------------------------------------- +# Add L1Decoder providing inputs to HLT +# --------------------------------------------------------------- if opt.doL1Unpacking: if ConfigFlags.Input.Format == 'BS' or opt.doL1Sim: ConfigFlags.Trigger.L1Decoder.forceEnableAllChains = opt.forceEnableAllChains @@ -628,11 +633,6 @@ include("TriggerTest/disableChronoStatSvcPrintout.py") if ConfigFlags.Input.isMC: svcMgr.MessageSvc.setError += ['HepMcParticleLink'] -#------------------------------------------------------------- -# Enable xAOD::EventInfo decorations for pileup values -#------------------------------------------------------------- -include ("LumiBlockComps/LumiBlockMuWriter_jobOptions.py") - #------------------------------------------------------------- # Apply modifiers #-------------------------------------------------------------