diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py index f42d5e734cfce1656694c4cfebf873d7d347287a..4b79098620451c4cb836cb8252a2b7e23fd9eec1 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py @@ -21,7 +21,7 @@ rec.doTrigger.set_Value_and_Lock(True) rec.doRDOTrigger.set_Value_and_Lock(True) recAlgs.doTrigger.set_Value_and_Lock(True) - +from AthenaCommon.CFElements import findAlgorithm, findOwningSequence, findSubSequence from AthenaCommon.Logging import logging recoLog = logging.getLogger('rdo_to_rdotrigger') recoLog.info( '****************** STARTING RDO->RDOTrigger MAKING *****************' ) @@ -59,7 +59,7 @@ if hasattr(runArgs,"preExec"): exec(cmd) ## Pre-include -if hasattr(runArgs,"preInclude"): +if hasattr(runArgs,"preInclude"): for fragment in runArgs.preInclude: include(fragment) @@ -69,25 +69,16 @@ topSequence = AlgSequence() from AthenaCommon.AlgSequence import AthSequencer outSequence = AthSequencer("AthOutSeq") -if TriggerFlags.doMT(): - log.info("configuring MT Trigger") - from AthenaCommon.AlgScheduler import AlgScheduler - AlgScheduler.CheckDependencies( True ) - AlgScheduler.ShowControlFlow( True ) - AlgScheduler.ShowDataDependencies( True ) - AlgScheduler.EnableVerboseViews( True ) - from TriggerJobOpts.Lvl1SimulationConfig import Lvl1SimulationSequence - topSequence += Lvl1SimulationSequence(None) -else: - +if not TriggerFlags.doMT(): + from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter from AthenaCommon.AppMgr import ServiceMgr as svcMgr # small hack, switching temporarily the ESD writing on, to allow writing of some trigger containers into the RDOTrigger file - rec.doWriteESD = True + rec.doWriteESD = True cfg = TriggerConfigGetter() rec.doWriteESD.set_Value_and_Lock( False ) - # end of hack. + # end of hack. def preplist(input): triglist = [] @@ -99,14 +90,72 @@ def preplist(input): if TriggerFlags.doMT(): TriggerFlags.doHLT.set_Value_and_Lock(False) - - + + #======================================================== # Central topOptions (this is one is a string not a list) #======================================================== if hasattr(runArgs,"topOptions"): include(runArgs.topOptions) else: include( "RecExCommon/RecExCommon_topOptions.py" ) + +if TriggerFlags.doMT(): + log.info("configuring MT Trigger") + from AthenaCommon.AlgScheduler import AlgScheduler + AlgScheduler.CheckDependencies( True ) + AlgScheduler.ShowControlFlow( True ) + AlgScheduler.ShowDataDependencies( True ) + AlgScheduler.EnableVerboseViews( True ) + recoLog.info( "Configuring LVL1 simulation (MT)" ) + from TriggerJobOpts.Lvl1SimulationConfig import Lvl1SimulationSequence + topSequence += Lvl1SimulationSequence(None) + recoLog.info( "Configuring HLT (MT)" ) + + + from TrigUpgradeTest.TestUtils import L1DecoderTest + topSequence += L1DecoderTest() + + include( "TriggerRelease/jobOfragment_TransBS_standalone.py" ) + topSequence.StreamBS.ItemList = [ x for x in topSequence.StreamBS.ItemList if 'RoIBResult' not in x ] # eliminate RoIBResult + + # add fake data dependency assuring StreaBS runs before L1 decoder of HLT + fakeTypeKey = ("FakeBSOutType","StoreGateSvc+FakeBSOutKey") + topSequence.StreamBS.ExtraOutputs += [fakeTypeKey] + findAlgorithm( topSequence, "L1Decoder" ).ExtraInputs += [fakeTypeKey] + from AthenaCommon.Configurable import Configurable + Configurable.configurableRun3Behavior=True + from TriggerJobOpts.TriggerConfig import triggerIDCCacheCreatorsCfg + from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.lock() + triggerIDCCacheCreatorsCfg(ConfigFlags).appendToGlobals() + Configurable.configurableRun3Behavior=False + + + include ("InDetRecExample/InDetRecCabling.py") + + TriggerFlags.triggerMenuSetup = "LS2_v1" + from TriggerMenuMT.HLTMenuConfig.Menu.GenerateMenuMT import GenerateMenuMT + menu = GenerateMenuMT() + def signaturesToGenerate(): + TriggerFlags.Slices_all_setOff() + TriggerFlags.EgammaSlice.setAll() + TriggerFlags.MuonSlice.setAll() + TriggerFlags.METSlice.setAll() + TriggerFlags.JetSlice.setAll() + TriggerFlags.TauSlice.setAll() + TriggerFlags.CombinedSlice.setAll() + + menu.overwriteSignaturesWith(signaturesToGenerate) + allChainConfigs = menu.generateMT() + + if not hasattr(svcMgr, 'THistSvc'): + from GaudiSvc.GaudiSvcConf import THistSvc + svcMgr += THistSvc() + + from TriggerJobOpts.HLTTriggerGetter import setTHistSvcOutput + setTHistSvcOutput(svcMgr.THistSvc.Output) + + if rec.doFileMetaData(): from RecExConfig.ObjKeyStore import objKeyStore metadataItems = [ "xAOD::TriggerMenuContainer#TriggerMenu", @@ -123,12 +172,12 @@ for i in topSequence.getAllChildren(): if not hasattr(i,'RoIBResultToxAOD'): idx += 1 topSequence.insert(idx, RoIBResultToAOD("RoIBResultToxAOD")) - + for i in outSequence.getAllChildren(): if "StreamRDO" in i.getName() and ( not TriggerFlags.doMT() ): from TrigDecisionMaker.TrigDecisionMakerConfig import TrigDecisionMaker,WritexAODTrigDecision topSequence.insert(idx, TrigDecisionMaker('TrigDecMaker')) - from AthenaCommon.Logging import logging + from AthenaCommon.Logging import logging log = logging.getLogger( 'WriteTrigDecisionToAOD' ) log.info('TrigDecision writing enabled') from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigDecisionCnvAlg @@ -143,7 +192,7 @@ for i in outSequence.getAllChildren(): from TrigEDMConfig.TriggerEDM import getTriggerEDMList _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(), TriggerFlags.EDMDecodingVersion()) ) _TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(), TriggerFlags.EDMDecodingVersion()) ) - + StreamRDO.ItemList += ["HLT::HLTResult#HLTResult_HLT"] StreamRDO.ItemList += ["TrigDec::TrigDecision#TrigDecision"] @@ -154,8 +203,8 @@ for i in outSequence.getAllChildren(): StreamRDO.ItemList += preplist(getLvl1ESDList()) from TrigEDMConfig.TriggerEDM import getLvl1AODList StreamRDO.ItemList += preplist(getLvl1AODList()) - StreamRDO.MetadataItemList += [ "xAOD::TriggerMenuContainer#*", "xAOD::TriggerMenuAuxContainer#*" ] - + StreamRDO.MetadataItemList += [ "xAOD::TriggerMenuContainer#*", "xAOD::TriggerMenuAuxContainer#*" ] + if "StreamRDO" in i.getName() and TriggerFlags.doMT(): from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTList from TrigEDMConfig.TriggerEDM import getLvl1ESDList @@ -164,8 +213,8 @@ for i in outSequence.getAllChildren(): StreamRDO.ItemList += ["TrigInDetTrackTruthMap#*"] for item in TriggerHLTList: if "ESD" in item[1] or "AOD" in item[1]: - StreamRDO.ItemList += item[0] - + StreamRDO.ItemList += [item[0]] + from AthenaCommon.AppMgr import ServiceMgr, ToolSvc from TrigDecisionTool.TrigDecisionToolConf import * @@ -205,7 +254,7 @@ StreamRDO.ItemList +=["2934#*"] rec.OutputFileNameForRecoStep="RDOtoRDO_TRIG" ## Post-include -if hasattr(runArgs,"postInclude"): +if hasattr(runArgs,"postInclude"): for fragment in runArgs.postInclude: include(fragment) @@ -216,7 +265,5 @@ if hasattr(runArgs,"postExec"): recoLog.info(cmd) exec(cmd) - -# topSequence.McAodBuilder.OutputLevel=DEBUG - -# del topSequence.McAodBuilder +ServiceMgr.MessageSvc.debugLimit=10000000 +ServiceMgr.MessageSvc.Format = "% F%40W%S%4W%e%s%7W%R%T %0W%M" diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx index 893faf804d9c112735c482a58bd749c01ca02ea9..adf9bef94ae6ea3abf2a44419cfb5a91da292d0e 100644 --- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx +++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx @@ -158,10 +158,10 @@ StatusCode TrigCaloDataAccessSvc::loadFullCollections ( const EventContext& cont } unsigned int sc = prepareLArFullCollections( context ); - if ( sc ) return StatusCode::FAILURE; + ATH_CHECK( sc == 0 ); sc = prepareTileFullCollections( context ); - if ( sc ) return StatusCode::FAILURE; + ATH_CHECK( sc == 0 ); m_hLTCaloSlot.get(context)->lastFSEvent = context.evt(); @@ -171,8 +171,8 @@ StatusCode TrigCaloDataAccessSvc::loadFullCollections ( const EventContext& cont cont.reserve( cont_to_copy->size() ); for( const CaloCell* c : *cont_to_copy ) cont.push_back( c ); - if ( sc ) return StatusCode::FAILURE; - else return StatusCode::SUCCESS; + ATH_CHECK( sc == 0 ); + return StatusCode::SUCCESS; } @@ -180,6 +180,7 @@ unsigned int TrigCaloDataAccessSvc::prepareLArFullCollections( const EventContex ATH_MSG_DEBUG( "Full Col " << " requested for event " << context ); if ( !m_lateInitDone && lateInit() ) { + ATH_MSG_ERROR("Could not execute late init"); return 0x1; // dummy code } @@ -225,6 +226,7 @@ unsigned int TrigCaloDataAccessSvc::prepareTileFullCollections( const EventConte ATH_MSG_DEBUG( "Full Col " << " requested for event " << context ); if ( !m_lateInitDone && lateInit() ) { + ATH_MSG_ERROR("Could not execute late init"); return 0x1; // dummy code } diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py index 929fca761384e9b5eb70d0176125ed3915af77eb..7295090a4c66e393651ab12d9d718964b0707e46 100644 --- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py +++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py @@ -129,7 +129,7 @@ class TriggerGetter(Configured): # StreamBS.ItemList +=["TileRawChannelContainer#*"] StreamBS.ItemList +=["2927#*"] StreamBS.ItemList +=["2934#*"] # added on request from: Arantxa Ruiz Martinez for TileRODMu - + # don't need Muons in transient BS # StreamBS.ItemList +=["MdtCsmContainer#*"] # StreamBS.ItemList +=["RpcPadContainer#*"]