From b47fc6dc28e8c9c0fd8f38c5fe2d1ad2d7cfe258 Mon Sep 17 00:00:00 2001 From: Peter Onyisi <ponyisi@utexas.edu> Date: Tue, 3 Nov 2015 15:34:50 +0100 Subject: [PATCH] HI monitoring scheduling, fcn to switch off all monitoring (AthenaMonitoring-02-01-25) * Activate HI monitoring if doHIMon=True * Add command to switch off all monitoring (can then be reenabled as desired) * tag AthenaMonitoring-02-01-25 2015-10-23 Peter Onyisi <ponyisi AT cern.ch> * Includes Walter Lampl's fix for collision time monitoring * Doesn't count HVRAMPUP defects for LAr defect filtering obo B. Trocme * tag AthenaMonitoring-02-01-24 2015-08-18 Peter Onyisi <ponyisi AT cern.ch> * Fix Coverity 30958 * set AtlasReady filter to run by default on express --- .../python/BadLBFilterTool.py | 2 +- Control/AthenaMonitoring/python/DQMonFlags.py | 11 ++++++++++ .../share/DQMonFlagsConfig_jobOptions.py | 4 +++- .../share/DataQualitySteering_jobOptions.py | 20 +++++++++++++++++-- .../src/ManagedMonitorToolBase.cxx | 2 +- 5 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Control/AthenaMonitoring/python/BadLBFilterTool.py b/Control/AthenaMonitoring/python/BadLBFilterTool.py index ddb290c79e6..e9ecbf49d80 100644 --- a/Control/AthenaMonitoring/python/BadLBFilterTool.py +++ b/Control/AthenaMonitoring/python/BadLBFilterTool.py @@ -126,7 +126,7 @@ def GetLArBadLBFilterTool(origDbTag=None): lar_defects = set(defect for defect in lar_defects if ('LAR' in defect and (('HVTRIP' in defect) or ('SEV' in defect) or - ('CORRUPT' in defect) or ('HVRAMPUP' in defect)))) + ('CORRUPT' in defect)))) return GetBadLBFilterTool('LArBadLBFilterTool', tuple(lar_defects), origDbTag=origDbTag) diff --git a/Control/AthenaMonitoring/python/DQMonFlags.py b/Control/AthenaMonitoring/python/DQMonFlags.py index 914b99d1b2b..161a246c517 100644 --- a/Control/AthenaMonitoring/python/DQMonFlags.py +++ b/Control/AthenaMonitoring/python/DQMonFlags.py @@ -223,6 +223,13 @@ class doLucidMon(JobProperty): StoredValue=True list+=[doLucidMon] +class doHIMon(JobProperty): + """ Switch for dedicated Heavy Ion monitoring """ + statusOn=True + allowedTypes=['bool'] + StoredValue=False +list+=[doHIMon] + class doStreamAwareMon(JobProperty): """ Switch for stream-aware monitoring """ statusOn=True @@ -390,6 +397,10 @@ list+=[enableLumiAccess] class DQMonFlagsCont(JobPropertyContainer): """Container for Data Quality Monitoring flags """ + def set_All_Off(self): + for j in list: + if j.__name__.startswith('do') and j.__name__.endswith('Mon'): + j.StoredValue = False pass ##----------------------------------------------------------------------------- diff --git a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py index 621a2a9d003..6e0258c0d3c 100644 --- a/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py +++ b/Control/AthenaMonitoring/share/DQMonFlagsConfig_jobOptions.py @@ -25,6 +25,7 @@ if globalflags.DataSource.get_Value() == 'geant4': DQMonFlags.monManDataType = 'monteCarlo' elif rec.doHeavyIon(): DQMonFlags.monManDataType = 'heavyioncollisions' + DQMonFlags.doHIMon = True elif jobproperties.Beam.beamType() == 'cosmics': DQMonFlags.monManDataType = 'cosmics' elif jobproperties.Beam.beamType() == 'collisions': @@ -96,9 +97,10 @@ if not DQMonFlags.doMonitoring(): DQMonFlags.doMuonTrkPhysMon=False DQMonFlags.doMuonCombinedMon=False DQMonFlags.doLucidMon=False + DQMonFlags.doHIMon=False else: local_logger.info("monitoring environment set to %s", DQMonFlags.monManEnvironment()) - + # AOD monitoring if DQMonFlags.monManEnvironment == 'AOD': DQMonFlags.histogramFile='MonitorAOD.root' diff --git a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py index 5499101d87b..1f80b7d5685 100644 --- a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py +++ b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py @@ -132,6 +132,7 @@ if DQMonFlags.doMonitoring(): doLArCollisionTimeMon=True if doLArCollisionTimeMon: include ("LArCellRec/LArCollisionTime_jobOptions.py") + include("LArClusterRec/LArClusterCollisionTime_jobOptions.py") try: LArMon = AthenaMonManager(name="LArMonManager", FileKey = DQMonFlags.monManFileKey(), @@ -217,6 +218,14 @@ if DQMonFlags.doMonitoring(): except Exception: treatException("DataQualitySteering_jobOptions.py: exception when setting up LUCID monitoring") + #---------------------# + # HeavyIon monitoring # + #---------------------# + if DQMonFlags.doHIMon(): + try: + include("HIMonitoring/HIMonitoringSteering_jo.py") + except Exception: + treatException("DataQualitySteering_jobOptions.py: exception when setting up HI monitoring") #------------------------# # Trigger chain steering # @@ -233,16 +242,23 @@ if DQMonFlags.doMonitoring(): #--------------------------# # Post-setup configuration # #--------------------------# + if rec.triggerStream()=='express': + include("AthenaMonitoring/AtlasReadyFilterTool_jobOptions.py") monToolSet_after = set(ToolSvc.getChildren()) local_logger.debug('DQ Post-Setup Configuration') for tool in monToolSet_after-monToolSet_before: - # if we have the FilterTools attribute, assume this is in fact a - # monitoring tool # stop lumi access if we're in MC or enableLumiAccess == False if globalflags.DataSource.get_Value() == 'geant4' or not DQMonFlags.enableLumiAccess(): if 'EnableLumi' in dir(tool): tool.EnableLumi = False + # if we have the FilterTools attribute, assume this is in fact a + # monitoring tool if hasattr(tool, 'FilterTools'): + # if express: use ATLAS Ready filter + local_logger.warning('Processing for tool %s', tool) + if rec.triggerStream()=='express': + local_logger.warning('Stream is express and we will add ready tool') + tool.FilterTools += [monAtlasReadyFilterTool] # give all the tools the trigger translator if DQMonFlags.useTrigger(): tool.TriggerTranslatorTool = monTrigTransTool diff --git a/Control/AthenaMonitoring/src/ManagedMonitorToolBase.cxx b/Control/AthenaMonitoring/src/ManagedMonitorToolBase.cxx index 735ec29367b..a45881df8c3 100755 --- a/Control/AthenaMonitoring/src/ManagedMonitorToolBase.cxx +++ b/Control/AthenaMonitoring/src/ManagedMonitorToolBase.cxx @@ -707,7 +707,7 @@ initialize() m_vTrigGroupNames.clear(); } if (!m_trigTranslator.empty()) { - updateTriggersForGroups(m_vTrigChainNames); + updateTriggersForGroups(m_vTrigGroupNames); } } else { -- GitLab