From baea16e036c2c426fa4484453a1114a2c1be6268 Mon Sep 17 00:00:00 2001
From: Rafal Bielski <rafal.bielski@cern.ch>
Date: Thu, 5 Nov 2020 21:03:32 +0100
Subject: [PATCH] HLT framework timing histograms with extended range and
 kCanRebin option

---
 .../python/TrigByteStreamCnvSvcConfig.py         |  4 ++--
 .../TrigServices/python/TrigServicesConfig.py    | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/HLT/Event/TrigByteStreamCnvSvc/python/TrigByteStreamCnvSvcConfig.py b/HLT/Event/TrigByteStreamCnvSvc/python/TrigByteStreamCnvSvcConfig.py
index 2c0213946f8..5e0dbf0ad70 100644
--- a/HLT/Event/TrigByteStreamCnvSvc/python/TrigByteStreamCnvSvcConfig.py
+++ b/HLT/Event/TrigByteStreamCnvSvc/python/TrigByteStreamCnvSvcConfig.py
@@ -24,7 +24,7 @@ class TrigByteStreamInputSvc(_TrigByteStreamInputSvc):
                                      xbins=400, xmin=0, xmax=200)
         self.MonTool.defineHistogram('TIME_getNext;TIME_getNext_extRange', path='EXPERT', type='TH1F',
                                      title='Time of DataCollector::getNext() calls;Time [ms];Calls',
-                                     xbins=400, xmin=0, xmax=2000)
+                                     xbins=400, xmin=0, xmax=2000, opt='kCanRebin')
         self.MonTool.defineHistogram('getNext_LBN,getNext_noEvent;NoEventFraction', path='EXPERT', type='TProfile',
                                      title='Fraction of getNext calls returning NO_EVENT;Lumi Block;Event fraction',
                                      xbins=100, xmin=0, xmax=100, opt='kCanRebin')
@@ -38,7 +38,7 @@ class TrigByteStreamCnvSvc(_TrigByteStreamCnvSvc):
                                      xbins=400, xmin=0, xmax=2)
         self.MonTool.defineHistogram('TIME_eventDone;TIME_eventDone_extRange', path='EXPERT', type='TH1F',
                                      title='Time of DataCollector::eventDone() calls;Time [ms];Calls',
-                                     xbins=400, xmin=0, xmax=200)
+                                     xbins=400, xmin=0, xmax=200, opt='kCanRebin')
         self.MonTool.defineHistogram('StreamTags', path='EXPERT', type='TH1F',
                                      title='Stream Tags produced by HLT;;Events',
                                      xbins=1, xmin=0, xmax=1)
diff --git a/HLT/Trigger/TrigControl/TrigServices/python/TrigServicesConfig.py b/HLT/Trigger/TrigControl/TrigServices/python/TrigServicesConfig.py
index 068d32ec5d9..d6c2cb8f545 100644
--- a/HLT/Trigger/TrigControl/TrigServices/python/TrigServicesConfig.py
+++ b/HLT/Trigger/TrigControl/TrigServices/python/TrigServicesConfig.py
@@ -127,18 +127,34 @@ class HltEventLoopMgr(_HltEventLoopMgr):
       super(HltEventLoopMgr, self).__init__(name)
       from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
       self.MonTool = GenericMonitoringTool('MonTool', HistPath='HLTFramework/'+name)
+
       self.MonTool.defineHistogram('TotalTime', path='EXPERT', type='TH1F',
                                    title='Total event processing time (all events);Time [ms];Events',
                                    xbins=200, xmin=0, xmax=10000)
+      self.MonTool.defineHistogram('TotalTime;TotalTime_extRange', path='EXPERT', type='TH1F',
+                                   title='Total event processing time (all events);Time [ms];Events',
+                                   xbins=200, xmin=0, xmax=20000, opt='kCanRebin')
+
       self.MonTool.defineHistogram('TotalTimeAccepted', path='EXPERT', type='TH1F',
                                    title='Total event processing time (accepted events);Time [ms];Events',
                                    xbins=200, xmin=0, xmax=10000)
+      self.MonTool.defineHistogram('TotalTimeAccepted;TotalTimeAccepted_extRange', path='EXPERT', type='TH1F',
+                                   title='Total event processing time (accepted events);Time [ms];Events',
+                                   xbins=200, xmin=0, xmax=20000, opt='kCanRebin')
+
       self.MonTool.defineHistogram('TotalTimeRejected', path='EXPERT', type='TH1F',
                                    title='Total event processing time (rejected events);Time [ms];Events',
                                    xbins=200, xmin=0, xmax=10000)
+      self.MonTool.defineHistogram('TotalTimeRejected;TotalTimeRejected_extRange', path='EXPERT', type='TH1F',
+                                   title='Total event processing time (rejected events);Time [ms];Events',
+                                   xbins=200, xmin=0, xmax=20000, opt='kCanRebin')
+
       self.MonTool.defineHistogram('SlotIdleTime', path='EXPERT', type='TH1F',
                                    title='Time between freeing and assigning a scheduler slot;Time [ms];Events',
                                    xbins=400, xmin=0, xmax=400)
+      self.MonTool.defineHistogram('SlotIdleTime;SlotIdleTime_extRange', path='EXPERT', type='TH1F',
+                                   title='Time between freeing and assigning a scheduler slot;Time [ms];Events',
+                                   xbins=400, xmin=0, xmax=800, opt='kCanRebin')
 
       from TrigSteerMonitor.TrigSteerMonitorConfig import getTrigErrorMonTool
       self.TrigErrorMonTool = getTrigErrorMonTool()
-- 
GitLab