From 1cb490a2404b188ece24e380a050baa5b9b7cac5 Mon Sep 17 00:00:00 2001 From: Iskander Ibragimov <iskander.ibragimov@cern.ch> Date: Mon, 25 Oct 2021 18:25:29 +0200 Subject: [PATCH 1/4] optimization of occupancy jo flags --- .../share/InDetMonitoringPixel.py | 9 +++----- .../python/PixelMonitoringConfig.py | 22 +++++++------------ 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py index 5f265c7eedc9..4cdf9a169ea0 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py @@ -27,8 +27,7 @@ from InDetRecExample import TrackingCommon if forceOnline : athenaCommonFlags.isOnline = True kwargsHitMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (athenaPT) running 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions + 'doLowOccupancy' : InDetFlags.doCosmics(), #Turn on/off histograms with binning for cosmics 'doHeavyIonMon' : InDetFlags.doHeavyIon(), # Histogram modification for heavy ion monitoring 'doFEPlots' : True, #Turn on/off histograms with FE Status information 'RDOName' : InDetKeys.PixelRDOs() @@ -36,8 +35,7 @@ kwargsHitMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() els kwargsClusMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (athenaPT) running 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions + 'doLowOccupancy' : InDetFlags.doCosmics(), #Turn on/off histograms with binning for cosmics 'doHeavyIonMon' : InDetFlags.doHeavyIon(), # Histogram modification for heavy ion monitoring 'doFEPlots' : True, #Turn on/off histograms with FE Status information 'ClusterName' : InDetKeys.PixelClusters(), @@ -46,8 +44,7 @@ kwargsClusMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() el kwargsErrMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (athenaPT) running 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions + 'doLowOccupancy' : InDetFlags.doCosmics(), #Turn on/off histograms with binning for cosmics 'doHeavyIonMon' : InDetFlags.doHeavyIon() } if forceOnline : athenaCommonFlags.isOnline = False diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py index 27a707725e40..b31881f45b02 100644 --- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py +++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py @@ -11,34 +11,28 @@ def PixelMonitoringConfig(flags): if forceOnline : flags.Common.isOnline = True kwargsHitMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (athenaPT) running 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions - #'doHeavyIonMon' : InDetFlags.doHeavyIon(), # Histogram modification for heavy ion monitoring + 'doLowOccupancy' : flags.Beam.Type=='cosmics', #Turn on/off histograms with binning for cosmics + 'doHeavyIonMon' : flags.InDet.doHeavyIon, # Histogram modification for heavy ion monitoring #'RDOName' : InDetKeys.PixelRDOs() - 'doHeavyIonMon' : False, #Until new config ready 'doFEPlots' : True, #Turn on/off histograms with FE Status information - 'RDOName' : 'PixelRDOs',#Until new config ready + 'RDOName' : 'PixelRDOs' #Until new config ready } kwargsClusMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (athenaPT) running 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions - #'doHeavyIonMon' : InDetFlags.doHeavyIon(), # Histogram modification for heavy ion monitoring - 'doHeavyIonMon' : False, #Until new config ready + 'doLowOccupancy' : flags.Beam.Type=='cosmics', #Turn on/off histograms with binning for cosmics + 'doHeavyIonMon' : flags.InDet.doHeavyIon, # Histogram modification for heavy ion monitoring 'doFEPlots' : True, #Turn on/off histograms with FE Status information #'ClusterName' : InDetKeys.PixelClusters(), 'ClusterName' : 'PixelClusters', #Until new config ready #'TrackName' : InDetKeys.Tracks() - 'TrackName' : 'Tracks', #Until new config ready + 'TrackName' : 'Tracks' #Until new config ready } kwargsErrMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (athenaPT) running 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions - #'doHeavyIonMon' : InDetFlags.doHeavyIon() - 'doHeavyIonMon' : False, #Until new config is ready + 'doLowOccupancy' : flags.Beam.Type=='cosmics', #Turn on/off histograms with binning for cosmics + 'doHeavyIonMon' : flags.InDet.doHeavyIon } if forceOnline : flags.Common.isOnline = False from AthenaMonitoring import AthMonitorCfgHelper -- GitLab From 97ada7e0487df48abc4e48af3ffb126f51000412 Mon Sep 17 00:00:00 2001 From: Iskander Ibragimov <iskander.ibragimov@cern.ch> Date: Tue, 26 Oct 2021 17:46:34 +0200 Subject: [PATCH 2/4] physics-mode-dependent ranges for 1D cluster plots --- .../python/PixelAthClusterMonAlgCfg.py | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py index c22695e6e997..dab6103f7594 100644 --- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py +++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py @@ -19,6 +19,8 @@ def PixelAthClusterMonAlgCfg(helper, alg, **kwargs): doOnline = kwargs.get('doOnline', False) doLumiBlock = kwargs.get('doLumiBlock', False) + doLowOccupancy = kwargs.get('doLowOccupancy', False) + doHeavyIonMon = kwargs.get('doHeavyIonMon', False) doFEPlots = kwargs.get('doFEPlots', False) forceOnline = doOnline and not athenaCommonFlags.isOnline @@ -258,15 +260,31 @@ def PixelAthClusterMonAlgCfg(helper, alg, **kwargs): varName = addOnTrackTxt('ClustersPerEvent', ontrack) + '_val' title = fullDressTitle('Number of pixel clusters in an event', ontrack, ';# pixel clusters', ';# events') varName += ';'+ addOnTrackTxt('ClustersPerEvent', ontrack) - xmax1D = 10000 if ontrack else 40000 + if doHeavyIonMon: + xmax1D = 20000 if ontrack else 80000 + xbins1D = 2000 + elif doLowOccupancy: + xmax1D = 50 if ontrack else 200 + xbins1D = 200 + else: + xmax1D = 10000 if ontrack else 40000 + xbins1D = 1000 clusterGroup[ontrack].defineHistogram(varName, type='TH1I', path=pathGroup, title=title, - xbins=1000, xmin=0, xmax=xmax1D) + xbins=xbins1D, xmin=0, xmax=xmax1D) histoGroupName = addOnTrackTxt('ClustersPerEvent', ontrack) title = addOnTrackTxt('Number of pixel clusters in an event', ontrack, True) - binsizes1D = 10 if ontrack else 40 - define1DLayers(helper, alg, histoGroupName, title, pathGroup, ';# pixel clusters', ';# events', xbins=[200], xmins=[0], binsizes=[binsizes1D]) + if doHeavyIonMon: + xbins1D = 200 + binsizes1D = 25 if ontrack else 100 + elif doLowOccupancy: + xbins1D = 20 if ontrack else 50 + binsizes1D = 1 + else: + xbins1D = 200 + binsizes1D = 10 if ontrack else 40 + define1DLayers(helper, alg, histoGroupName, title, pathGroup, ';# pixel clusters', ';# events', xbins=[xbins1D], xmins=[0], binsizes=[binsizes1D]) varName = 'pixclusmontool_lb,' + addOnTrackTxt('ClustersPerEvent', ontrack) + '_val' title = fullDressTitle('Average number of pixel clusters per event per LB', ontrack, ';lumi block', ';# clusters/event') -- GitLab From 675d0ca6d8bda0a39d991774db9e9e61e902c282 Mon Sep 17 00:00:00 2001 From: Iskander Ibragimov <iskander.ibragimov@cern.ch> Date: Tue, 26 Oct 2021 17:48:28 +0200 Subject: [PATCH 3/4] tuning and clean-up of job options --- .../share/InDetMonitoringPixel.py | 24 +++++------- .../python/PixelMonitoringConfig.py | 38 +++++++++---------- 2 files changed, 28 insertions(+), 34 deletions(-) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py index 4cdf9a169ea0..b19c9d90f8dc 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py @@ -25,27 +25,23 @@ from InDetRecExample.InDetKeys import InDetKeys from InDetRecExample import TrackingCommon if forceOnline : athenaCommonFlags.isOnline = True -kwargsHitMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (athenaPT) running - 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : InDetFlags.doCosmics(), #Turn on/off histograms with binning for cosmics - 'doHeavyIonMon' : InDetFlags.doHeavyIon(), # Histogram modification for heavy ion monitoring - 'doFEPlots' : True, #Turn on/off histograms with FE Status information +kwargsHitMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (GlobalMonitoring) running + 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored every 1(20) lumi block(s) + 'doFEPlots' : True, #Turn on/off per FE-I3 histograms 'RDOName' : InDetKeys.PixelRDOs() } -kwargsClusMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (athenaPT) running - 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : InDetFlags.doCosmics(), #Turn on/off histograms with binning for cosmics - 'doHeavyIonMon' : InDetFlags.doHeavyIon(), # Histogram modification for heavy ion monitoring - 'doFEPlots' : True, #Turn on/off histograms with FE Status information +kwargsClusMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (GlobalMonitoring) running + 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored every 1(20) lumi block(s) + 'doLowOccupancy' : InDetFlags.doCosmics(), #Setting up 1D histogram ranges and binnings, if False, high occupancy i.e. collisions settings will be used + 'doHeavyIonMon' : InDetFlags.doHeavyIon(), #Setting up 1D histogram ranges and binnings for heavy ions + 'doFEPlots' : True, #Turn on/off per FE-I3 histograms 'ClusterName' : InDetKeys.PixelClusters(), 'TrackName' : InDetKeys.Tracks() } -kwargsErrMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (athenaPT) running - 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : InDetFlags.doCosmics(), #Turn on/off histograms with binning for cosmics - 'doHeavyIonMon' : InDetFlags.doHeavyIon() +kwargsErrMonAlg = { 'doOnline' : True if athenaCommonFlags.isOnline() else False, #Histograms for online (GlobalMonitoring) running + 'doLumiBlock' : False if athenaCommonFlags.isOnline() else True #Turn on/off histograms stored every 1(20) lumi block(s) } if forceOnline : athenaCommonFlags.isOnline = False diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py index b31881f45b02..f7809f96feb4 100644 --- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py +++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py @@ -6,33 +6,31 @@ def PixelMonitoringConfig(flags): from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator acc = ComponentAccumulator() forceOnline = False # for testing of online monitoring and 100LB histograms + from InDetRecExample.InDetKeys import InDetKeys + from InDetRecExample.InDetJobProperties import InDetFlags # run on RAW only if flags.DQ.Environment in ('online', 'tier0', 'tier0Raw'): if forceOnline : flags.Common.isOnline = True - kwargsHitMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (athenaPT) running - 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : flags.Beam.Type=='cosmics', #Turn on/off histograms with binning for cosmics - 'doHeavyIonMon' : flags.InDet.doHeavyIon, # Histogram modification for heavy ion monitoring - #'RDOName' : InDetKeys.PixelRDOs() - 'doFEPlots' : True, #Turn on/off histograms with FE Status information - 'RDOName' : 'PixelRDOs' #Until new config ready + kwargsHitMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (GlobalMonitoring) running + 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored every 1(20) lumi block(s) + 'doFEPlots' : True, #Turn on/off per FE-I3 histograms + 'RDOName' : InDetKeys.PixelRDOs() +# 'RDOName' : 'PixelRDOs' #Until new config ready } - kwargsClusMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (athenaPT) running - 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : flags.Beam.Type=='cosmics', #Turn on/off histograms with binning for cosmics - 'doHeavyIonMon' : flags.InDet.doHeavyIon, # Histogram modification for heavy ion monitoring - 'doFEPlots' : True, #Turn on/off histograms with FE Status information - #'ClusterName' : InDetKeys.PixelClusters(), - 'ClusterName' : 'PixelClusters', #Until new config ready - #'TrackName' : InDetKeys.Tracks() - 'TrackName' : 'Tracks' #Until new config ready + kwargsClusMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (GlobalMonitoring) running + 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored every 1(20) lumi block(s) + 'doLowOccupancy' : InDetFlags.doCosmics(), #Setting up 1D histogram ranges and binnings, if False, high occupancy i.e. collisions settings will be used + 'doHeavyIonMon' : InDetFlags.doHeavyIon(), #Setting up 1D histogram ranges and binnings for heavy ions + 'doFEPlots' : True, #Turn on/off per FE-I3 histograms + 'ClusterName' : InDetKeys.PixelClusters(), + #'ClusterName' : 'PixelClusters', #Until new config ready + 'TrackName' : InDetKeys.Tracks() + #'TrackName' : 'Tracks' #Until new config ready } - kwargsErrMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (athenaPT) running - 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored for each lumi block - 'doLowOccupancy' : flags.Beam.Type=='cosmics', #Turn on/off histograms with binning for cosmics - 'doHeavyIonMon' : flags.InDet.doHeavyIon + kwargsErrMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (GlobalMonitoring) running + 'doLumiBlock' : not flags.Common.isOnline #Turn on/off histograms stored every 1(20) lumi block(s) } if forceOnline : flags.Common.isOnline = False from AthenaMonitoring import AthMonitorCfgHelper -- GitLab From 53b746fe9f42c7484fb3f92402e3ebc93a7a9778 Mon Sep 17 00:00:00 2001 From: Iskander Ibragimov <iskander.ibragimov@cern.ch> Date: Wed, 27 Oct 2021 13:44:06 +0200 Subject: [PATCH 4/4] little cleanup --- .../PixelMonitoring/python/PixelMonitoringConfig.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py index f7809f96feb4..38d5df82fea8 100644 --- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py +++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py @@ -14,8 +14,7 @@ def PixelMonitoringConfig(flags): kwargsHitMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (GlobalMonitoring) running 'doLumiBlock' : not flags.Common.isOnline, #Turn on/off histograms stored every 1(20) lumi block(s) 'doFEPlots' : True, #Turn on/off per FE-I3 histograms - 'RDOName' : InDetKeys.PixelRDOs() -# 'RDOName' : 'PixelRDOs' #Until new config ready + 'RDOName' : InDetKeys.PixelRDOs() #'PixelRDOs' } kwargsClusMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (GlobalMonitoring) running @@ -23,10 +22,8 @@ def PixelMonitoringConfig(flags): 'doLowOccupancy' : InDetFlags.doCosmics(), #Setting up 1D histogram ranges and binnings, if False, high occupancy i.e. collisions settings will be used 'doHeavyIonMon' : InDetFlags.doHeavyIon(), #Setting up 1D histogram ranges and binnings for heavy ions 'doFEPlots' : True, #Turn on/off per FE-I3 histograms - 'ClusterName' : InDetKeys.PixelClusters(), - #'ClusterName' : 'PixelClusters', #Until new config ready - 'TrackName' : InDetKeys.Tracks() - #'TrackName' : 'Tracks' #Until new config ready + 'ClusterName' : InDetKeys.PixelClusters(), #'PixelClusters' + 'TrackName' : InDetKeys.Tracks() #'Tracks' } kwargsErrMonAlg = { 'doOnline' : flags.Common.isOnline, #Histograms for online (GlobalMonitoring) running -- GitLab