diff --git a/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py b/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py index 7819e7b010c3cbe80016fd16ee7226ef57395c89..787ace34fd868f1b00891f06b8fc919fe43505f5 100644 --- a/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py +++ b/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py @@ -181,7 +181,7 @@ def TileCellMonitoringConfig(flags, **kwargs): xvalue = 'lumiBlock', value= 'nMaskedChannelsOnFly', title = titleMaskOnFlyLB, xbins = 1000, xmin = -0.5, xmax = 999.5, type = 'TProfile', run = run, triggers = [], perPartition = True, perSample = False, perGain = False, subDirectory = False, - opt = 'kAddBinsDynamically') + opt = 'kAddBinsDynamically', allPartitions = True) # 17) Configure histograms with number of masked Tile cells on the fly vs lumi block per partition titleMaskCellLB = 'Number of masked cells on the fly' @@ -190,7 +190,7 @@ def TileCellMonitoringConfig(flags, **kwargs): xvalue = 'lumiBlock', value = 'nMaskedCells', title = titleMaskCellLB, xbins = 1000, xmin = -0.5, xmax = 999.5, type='TProfile', run = run, triggers = [], subDirectory = False, perPartition = True, perSample = False, perGain = False, - opt = 'kAddBinsDynamically') + opt = 'kAddBinsDynamically', allPartitions = True) # 18) Configure histograms with number of masked Tile channels on the fly due to bad DQ status vs lumi block per partition titleMaskDueDQ = 'Number of masked channels on the fly due to bad DQ status' @@ -199,7 +199,7 @@ def TileCellMonitoringConfig(flags, **kwargs): xvalue = 'lumiBlock', value = 'nMaskedChannelsDueDQ', title = titleMaskDueDQ, xbins = 1000, xmin = -0.5, xmax = 999.5, type='TProfile', run = run, triggers = [], subDirectory = False, perPartition = True, perSample = False, perGain = False, - opt = 'kAddBinsDynamically') + opt = 'kAddBinsDynamically', allPartitions = True) # 19) Configure histograms with number of masked Tile cells on the fly due to bad DQ status vs lumi block per partition titleMaskCellDueDQ = 'Number of masked cells on the fly due to bad DQ status' @@ -208,7 +208,7 @@ def TileCellMonitoringConfig(flags, **kwargs): xvalue = 'lumiBlock', value = 'nMaskedCellsDueDQ', title = titleMaskCellDueDQ, xbins = 1000, xmin = -0.5, xmax = 999.5, type='TProfile', run = run, triggers = [], subDirectory = False, perPartition = True, perSample = False, perGain = False, - opt = 'kAddBinsDynamically') + opt = 'kAddBinsDynamically', allPartitions = True) if kwargs['fillChannelTimeHistograms']: # Configure histograms with Tile channel time per partition and sample diff --git a/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx b/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx index 52588ca00bca3062755bccf05b5494228177d5ce..5ea606bffc17e6d95b47da02a910b8407d58c939 100644 --- a/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx +++ b/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx @@ -42,11 +42,11 @@ StatusCode TileCellMonitorAlgorithm::initialize() { m_energyBalModPartGroups = buildToolMap<int>(m_tools, "TileCellEneBalModPart", nL1Triggers); m_timeBalModPartGroups = buildToolMap<int>(m_tools, "TileCellTimeBalModPart", nL1Triggers); m_maskedOnFlyGroups = buildToolMap<int>(m_tools, "TileCellStatusOnFly", Tile::MAX_ROS - 1); - m_maskedDueDQGroups = buildToolMap<int>(m_tools, "TileMaskChannelDueDQvsLB", Tile::MAX_ROS - 1); - m_maskedCellsDueDQGroups = buildToolMap<int>(m_tools, "TileMaskedCellDueDQvsLB", Tile::MAX_ROS - 1); + m_maskedDueDQGroups = buildToolMap<int>(m_tools, "TileMaskChannelDueDQvsLB", MAX_PART); + m_maskedCellsDueDQGroups = buildToolMap<int>(m_tools, "TileMaskedCellDueDQvsLB", MAX_PART); - m_maskedOnFlyLBGroups = buildToolMap<int>(m_tools, "TileMaskChannelOnFlyLB", Tile::MAX_ROS - 1); - m_maskedCellsLBGroups = buildToolMap<int>(m_tools, "TileMaskCellLB", Tile::MAX_ROS - 1); + m_maskedOnFlyLBGroups = buildToolMap<int>(m_tools, "TileMaskChannelOnFlyLB", MAX_PART); + m_maskedCellsLBGroups = buildToolMap<int>(m_tools, "TileMaskCellLB", MAX_PART); m_maskedGroups = buildToolMap<std::vector<int>>(m_tools, "TileCellStatusInDB", Tile::MAX_ROS - 1, Tile::MAX_GAIN); @@ -721,18 +721,6 @@ StatusCode TileCellMonitorAlgorithm::fillHistograms( const EventContext& ctx ) c for (unsigned int partition = 0; partition < Tile::MAX_ROS - 1; ++partition) { - auto monMaskedDueDQ = Monitored::Scalar<int>("nMaskedChannelsDueDQ", nMaskedChannelsDueDQ[partition]); - fill(m_tools[m_maskedDueDQGroups[partition]], lumiBlock, monMaskedDueDQ); - - auto monMaskedCellsDueDQ = Monitored::Scalar<int>("nMaskedCellsDueDQ", nMaskedCellsDueDQ[partition]); - fill(m_tools[m_maskedCellsDueDQGroups[partition]], lumiBlock, monMaskedCellsDueDQ); - - auto monMaskedOnFly = Monitored::Scalar<int>("nMaskedChannelsOnFly", nBadChannelsOnFly[partition]); - fill(m_tools[m_maskedOnFlyLBGroups[partition]], lumiBlock, monMaskedOnFly); - - auto monMaskedCellsOnFly = Monitored::Scalar<int>("nMaskedCells", nBadCells[partition]); - fill(m_tools[m_maskedCellsLBGroups[partition]], lumiBlock, monMaskedCellsOnFly); - if (!maskedOnFlyDrawers[partition].empty()) { auto monModule = Monitored::Collection("module", maskedOnFlyDrawers[partition]); auto monChannel = Monitored::Collection("channel", maskedOnFlyChannel[partition]); @@ -857,6 +845,19 @@ StatusCode TileCellMonitorAlgorithm::fillHistograms( const EventContext& ctx ) c } for (int partition = 0; partition < MAX_PART; ++partition) { + auto monMaskedDueDQ = Monitored::Scalar<int>("nMaskedChannelsDueDQ", nMaskedChannelsDueDQ[partition]); + fill(m_tools[m_maskedDueDQGroups[partition]], lumiBlock, monMaskedDueDQ); + + auto monMaskedCellsDueDQ = Monitored::Scalar<int>("nMaskedCellsDueDQ", nMaskedCellsDueDQ[partition]); + fill(m_tools[m_maskedCellsDueDQGroups[partition]], lumiBlock, monMaskedCellsDueDQ); + + auto monMaskedOnFly = Monitored::Scalar<int>("nMaskedChannelsOnFly", nBadChannelsOnFly[partition]); + fill(m_tools[m_maskedOnFlyLBGroups[partition]], lumiBlock, monMaskedOnFly); + + auto monMaskedCellsOnFly = Monitored::Scalar<int>("nMaskedCells", nBadCells[partition]); + fill(m_tools[m_maskedCellsLBGroups[partition]], lumiBlock, monMaskedCellsOnFly); + + if (moduleCorr[partition].numberOfPairs() > 0) { const PairBuilder::PairVector pairs = moduleCorr[partition].pairs(); auto monModule1 = Monitored::Collection("firstModule", pairs, [] (const PairBuilder::XYPair& p) {return (double) p.first;});