diff --git a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py index 9304c87ca57ac0290bb53e9e0a54ae06391c1b3d..7cb618bcda94b909416014cc3d0096da32095b7f 100644 --- a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py +++ b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py @@ -31,7 +31,7 @@ if DQMonFlags.doMonitoring(): from LumiBlockComps.TrigLiveFractionCondAlgDefault import TrigLiveFractionCondAlgDefault TrigLiveFractionCondAlgDefault() - def doOldStylePostSetup(): + def doOldStylePostSetup(addlSequences=[]): #------------------------# # Trigger chain steering # #------------------------# @@ -59,22 +59,25 @@ if DQMonFlags.doMonitoring(): # now the DQ tools are private, extract them from the set of monitoring algorithms toolset = set() from AthenaMonitoring.AthenaMonitoringConf import AthenaMonManager - for _ in topSequence: - if isinstance(_, AthenaMonManager): - toolset.update(_.AthenaMonTools) - - # in MT the initialization can be in random order ... force all managers to have common setup - _.FileKey = DQMonFlags.monManFileKey() - _.ManualDataTypeSetup = DQMonFlags.monManManualDataTypeSetup() - _.DataType = DQMonFlags.monManDataType() - _.Environment = DQMonFlags.monManEnvironment() - _.LBsInLowStatInterval = DQMonFlags.monManLBsInLowStatInterval() - _.LBsInMediumStatInterval = DQMonFlags.monManLBsInMediumStatInterval() - _.LBsInHighStatInterval = DQMonFlags.monManLBsInHighStatInterval() - _.ManualRunLBSetup = DQMonFlags.monManManualRunLBSetup() - _.Run = DQMonFlags.monManRun() - _.LumiBlock = DQMonFlags.monManLumiBlock() - _.ROOTBackend = (jobproperties.ConcurrencyFlags.NumThreads()>0) + local_logger.info(f'Configuring LWHist ROOT backend flag to {jobproperties.ConcurrencyFlags.NumThreads()>0} because NumThreads is {jobproperties.ConcurrencyFlags.NumThreads()}') + + for sq in [topSequence] + addlSequences: + for _ in sq: + if isinstance(_, AthenaMonManager): + toolset.update(_.AthenaMonTools) + + # in MT the initialization can be in random order ... force all managers to have common setup + _.FileKey = DQMonFlags.monManFileKey() + _.ManualDataTypeSetup = DQMonFlags.monManManualDataTypeSetup() + _.DataType = DQMonFlags.monManDataType() + _.Environment = DQMonFlags.monManEnvironment() + _.LBsInLowStatInterval = DQMonFlags.monManLBsInLowStatInterval() + _.LBsInMediumStatInterval = DQMonFlags.monManLBsInMediumStatInterval() + _.LBsInHighStatInterval = DQMonFlags.monManLBsInHighStatInterval() + _.ManualRunLBSetup = DQMonFlags.monManManualRunLBSetup() + _.Run = DQMonFlags.monManRun() + _.LumiBlock = DQMonFlags.monManLumiBlock() + _.ROOTBackend = (jobproperties.ConcurrencyFlags.NumThreads()>0) for tool in toolset: # stop lumi access if we're in MC or enableLumiAccess == False @@ -388,6 +391,7 @@ if DQMonFlags.doMonitoring(): include("AthenaMonitoring/TrigDecTool_jobOptions.py") doOldStylePreSetup() + addlSequences=[] if DQMonFlags.doHLTMon(): try: include("TrigHLTMonitoring/HLTMonitoring_topOptions.py") @@ -402,9 +406,10 @@ if DQMonFlags.doMonitoring(): if DQMonFlags.doCTPMon(): try: include("TrigT1CTMonitoring/TrigT1CTMonitoringJobOptions_forRecExCommission.py") + addlSequences.append(CTPMonSeq) except Exception: treatException("DataQualitySteering_jobOptions.py: exception when setting up central trigger monitoring") - doOldStylePostSetup() + doOldStylePostSetup(addlSequences) ConfigFlags.dump() ComponentAccumulator.CAtoGlobalWrapper(AthenaMonitoringCfg, ConfigFlags) diff --git a/Control/AthenaMonitoring/src/AthenaMonManager.cxx b/Control/AthenaMonitoring/src/AthenaMonManager.cxx index 17d36df738186ececee131105100f2d3a0be0631..87831297ce79b30598b4ee1ceeb9f69d11dac0d4 100644 --- a/Control/AthenaMonitoring/src/AthenaMonManager.cxx +++ b/Control/AthenaMonitoring/src/AthenaMonManager.cxx @@ -489,6 +489,7 @@ initialize() joSvc->set( client + ".Environment", m_d->m_environmentProp ); // LWHists not thread-safe. Use alg property to use ROOT backend in MT mode. + ATH_MSG_DEBUG("Setting LWHist ROOT backend flag to " << m_d->m_rootBackend); LWHistControls::setROOTBackend(m_d->m_rootBackend); if( m_monTools.size() > 0 ) {