From eac784fa787e0966a01e90846de41a7cb7f0fe66 Mon Sep 17 00:00:00 2001 From: "P.-A. Loizeau" <p.-a.loizeau@gsi.de> Date: Tue, 1 Jun 2021 17:52:59 +0200 Subject: [PATCH] Fixes to T0 and TOF monitors algos found during high-rate beamtime - Properly resets the T0 mapped channel rate evolution plot - In TOF, mask the Error messages and SPI messages when Ignore Critical flag set --- .../monitor/CbmMcbm2018MonitorAlgoT0.cxx | 1 + .../monitor/CbmMcbm2018MonitorAlgoTof.cxx | 25 +++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx index 43a222fc8c..75d7b909b1 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoT0.cxx @@ -1232,6 +1232,7 @@ Bool_t CbmMcbm2018MonitorAlgoT0::ResetHistograms(Bool_t bResetTime) fhDpbMap->Reset(); fhChannelMap->Reset(); + fhChanHitMapEvo->Reset(); fhHitMapEvo->Reset(); for (UInt_t uSpill = 0; uSpill < kuNbSpillPlots; uSpill++) { fvhDpbMapSpill[uSpill]->Reset(); diff --git a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoTof.cxx b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoTof.cxx index a01bbaaa70..27d593400e 100644 --- a/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoTof.cxx +++ b/fles/mcbm2018/monitor/CbmMcbm2018MonitorAlgoTof.cxx @@ -802,10 +802,12 @@ void CbmMcbm2018MonitorAlgoTof::ProcessSysMess(gdpbv100::FullMessage mess) break; } // case gdpbv100::SYS_GDPB_UNKWN: case gdpbv100::SYS_GET4_SYNC_MISS: { - if (mess.getGdpbSysFwErrResync()) - LOG(info) << Form("GET4 Resynchronization: Get4:0x%04x ", mess.getGdpbGenChipId()) << fuCurrDpbIdx; - else - LOG(info) << "GET4 synchronization pulse missing in gDPB " << fuCurrDpbIdx; + if (kFALSE == fbIgnoreCriticalErrors) { + if (mess.getGdpbSysFwErrResync()) + LOG(info) << Form("GET4 Resynchronization: Get4:0x%04x ", mess.getGdpbGenChipId()) << fuCurrDpbIdx; + else + LOG(info) << "GET4 synchronization pulse missing in gDPB " << fuCurrDpbIdx; + } // if (kFALSE == fbIgnoreCriticalErrors) break; } // case gdpbv100::SYS_GET4_SYNC_MISS: case gdpbv100::SYS_PATTERN: { @@ -1156,13 +1158,14 @@ void CbmMcbm2018MonitorAlgoTof::ProcessSlowCtrl(gdpbv100::Message mess) /// Printout if SPI message! fhGdpbAsicSpiCounts->Fill(fuGet4Id, fuCurrDpbIdx); - LOG(info) << "GET4 Slow Control SPI message, time " << Form("%3.3f", dMessTime) << " s " - << " for board ID " << std::hex << std::setw(4) << fuCurrDpbIdx << std::dec << "\n" - << " +++++++ > Chip = " << std::setw(3) << fuGet4Id << ", Chan = " << std::setw(1) << uChan - << ", Edge = " << std::setw(1) << uEdge << ", Type = " << std::setw(1) << mess.getGdpbSlcType() << ", " - << Form("channel %1u,", (uData >> 10) & 0xF) << Form("value 0x%03x ", uData & 0x3FF) - << Form("level %4.1f ", fUnpackPar->GetPadiThresholdVal(uData & 0x3FF)) - << Form("(Data = 0x%06x) ", uData); + if (kFALSE == fbIgnoreCriticalErrors) + LOG(info) << "GET4 Slow Control SPI message, time " << Form("%3.3f", dMessTime) << " s " + << " for board ID " << std::hex << std::setw(4) << fuCurrDpbIdx << std::dec << "\n" + << " +++++++ > Chip = " << std::setw(3) << fuGet4Id << ", Chan = " << std::setw(1) << uChan + << ", Edge = " << std::setw(1) << uEdge << ", Type = " << std::setw(1) << mess.getGdpbSlcType() + << ", " << Form("channel %1u,", (uData >> 10) & 0xF) << Form("value 0x%03x ", uData & 0x3FF) + << Form("level %4.1f ", fUnpackPar->GetPadiThresholdVal(uData & 0x3FF)) + << Form("(Data = 0x%06x) ", uData); break; } // if( gdpbv100::GET4_32B_SLC_SPIREAD == uType ) case gdpbv100::GET4_32B_SLC_START_SEU: { -- GitLab