diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py index 5f265c7eedc93bf0a20b8c813679b8d20db92573..b19c9d90f8dc5c5f494dc75f669dfa244ed902bf 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringPixel.py @@ -25,30 +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' : 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 - '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' : 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 - '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' : False, #Turn on/off histograms with binning for cosmics/single beam - 'doHighOccupancy' : True, #Turn on/off histograms with binning for collisions - '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/PixelAthClusterMonAlgCfg.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py index c22695e6e997683128fd6daf11134e4b51024ea4..dab6103f7594231a440148e51c7210f853921e4c 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') diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py index 27a707725e40c3f7ea7a5e763bb4507b8db6797f..38d5df82fea85dfa0a82cfe590c55fd2808db790 100644 --- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py +++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelMonitoringConfig.py @@ -6,39 +6,28 @@ 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' : 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 - #'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 + 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() #'PixelRDOs' } - 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 - '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(), #'PixelClusters' + 'TrackName' : InDetKeys.Tracks() #'Tracks' } - 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 + 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