From 13ebe611fabf75df3c579d7fa85d174f20ae349e Mon Sep 17 00:00:00 2001
From: Iskander Ibragimov <iskander.ibragimov@cern.ch>
Date: Thu, 22 Jul 2021 08:45:24 +0000
Subject: [PATCH] few additional pixel monitoring histograms

---
 .../python/PixelAthClusterMonAlgCfg.py            | 15 ++++++++++++++-
 .../python/PixelAthHitMonAlgCfg.py                | 12 +++++++++---
 .../PixelMonitoring/src/PixelAthClusterMonAlg.cxx | 11 ++++++++---
 3 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py
index 6011099b331b..590e16d82ac8 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthClusterMonAlgCfg.py
@@ -243,7 +243,20 @@ def PixelAthClusterMonAlgCfg(helper, alg, **kwargs):
 ###
         pathGroup = addOnTrackToPath(path, ontrack)
 
-        varName = 'pixclusmontool_lb,ncls_per_event'
+        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
+        clusterGroup[ontrack].defineHistogram(varName,
+                                              type='TH1I', path=pathGroup, title=title,
+                                              xbins=1000, 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])
+
+        varName = 'pixclusmontool_lb,' + addOnTrackTxt('ClustersPerEvent', ontrack) + '_val'
         title = fullDressTitle('Average number of pixel clusters per event per LB', ontrack, ';lumi block', ';# clusters/event')
         varName += ';'+ addOnTrackTxt('ClustersPerLumi', ontrack)
         clusterGroup[ontrack].defineHistogram(varName,
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthHitMonAlgCfg.py b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthHitMonAlgCfg.py
index c7f9d749e477..039213157253 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthHitMonAlgCfg.py
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/python/PixelAthHitMonAlgCfg.py
@@ -37,13 +37,19 @@ def PixelAthHitMonAlgCfg(helper, alg, **kwargs):
     hitGroup = helper.addGroup(alg, 'Hit')
 
     varName = 'hitdataread_err;ReadingHitDataErr'
-    title = 'Number of Hit data reading errors;error type;# events'
+    title   = 'Number of Hit data reading errors;error type;# events'
     hitGroup.defineHistogram(varName,
                              type='TH1I', path=pathGroup, title=title,
                              xbins=len(ReadingDataErrLabels), xmin=-0.5, xmax=-0.5+len(ReadingDataErrLabels), xlabels=ReadingDataErrLabels)
 
-    varName = 'pixhitsmontool_lb,nhits_per_event'
-    title = fullDressTitle('Average number of pixel hits per event per LB', ontrack, ';lumi block', ';# hits/event')
+    varName = 'pixhitsmontool_lb;EventsPerLumi'
+    title   = 'nEvents per LB;lumi block;# events'
+    hitGroup.defineHistogram(varName,
+                             type='TH1I', path=pathGroup, title=title,
+                             xbins=lumibinsx, xmin=-0.5, xmax=-0.5+lumibinsx)
+
+    varName  = 'pixhitsmontool_lb,nhits_per_event'
+    title    = fullDressTitle('Average number of pixel hits per event per LB', ontrack, ';lumi block', ';# hits/event')
     varName += ';'+ addOnTrackTxt('HitsPerLumi', ontrack)
     hitGroup.defineHistogram(varName,
                              type='TProfile', path=pathGroup, title=title,
diff --git a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelAthClusterMonAlg.cxx b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelAthClusterMonAlg.cxx
index a5f748130ad4..ce35aa868ad1 100644
--- a/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelAthClusterMonAlg.cxx
+++ b/InnerDetector/InDetMonitoring/PixelMonitoring/src/PixelAthClusterMonAlg.cxx
@@ -521,10 +521,15 @@ StatusCode PixelAthClusterMonAlg::fillHistograms( const EventContext& ctx ) cons
   }
   // begin cluster rates
   //
-  auto nCls   = Monitored::Scalar<int>( "ncls_per_event", nclusters );
+  auto nCls           = Monitored::Scalar<int>( "ClustersPerEvent_val", nclusters );
   fill( clusterGroup, lbval, nCls);
-  nCls = nclusters_ontrack;
-  fill( clusterGroup_OnTrack, lbval, nCls);
+  auto nClsOnTrk      = Monitored::Scalar<int>( "ClustersPerEventOnTrack_val", nclusters_ontrack );
+  fill( clusterGroup_OnTrack, lbval, nClsOnTrk);
+  for (unsigned int ii=0; ii<PixLayers::COUNT; ii++) {
+    auto vals         = Monitored::Scalar<float>( "ClustersPerEvent_val", nclusters_mod[ii] );
+    auto vals_ontrack = Monitored::Scalar<float>( "ClustersPerEventOnTrack_val", nclusters_ontrack_mod[ii] );
+    fill( pixLayersLabel[ii], vals, vals_ontrack);
+  }
 
   if (nclusters>0) {
     auto clsFracOnTrack = Monitored::Scalar<float>( "cls_frac_ontrack", (float)nclusters_ontrack / nclusters );
-- 
GitLab