1269 std::string sFolder =
"eTofMoni";
1271 LOG(info) <<
"create Histos for eTOF monitoring ";
1274 uint32_t iNbBinsLog = 0;
1277 double* dBinsLog = dBinsLogVector.data();
1299 fhGet4MessType =
new TH2I(
"hGet4MessType",
"Nb of message for each type per GET4; GET4 chip # ; Type",
fuNrOfGet4, 0.,
1308 fhGet4ChanScm =
new TH2I(
"hGet4ChanScm",
"SC messages per GET4 channel; GET4 channel # ; SC type",
1316 fhGet4ChanErrors =
new TH2I(
"hGet4ChanErrors",
"Error messages per GET4 channel; GET4 channel # ; Error",
1341 new TH2I(
"hGet4EpochFlags",
"Epoch flags per GET4; GET4 chip # ; Type",
fuNrOfGet4, 0.,
fuNrOfGet4, 4, 0., 4.);
1347 Double_t dGdpbMin = -0.5;
1350 new TH2I(
"hGdpbAsicSpiCounts",
"SPI messages count per gDPB and ASIC; ASIC Idx []; gDPB []; SPI msg[]",
1366 new TH2I(
"hGdpbSysMessType",
"Nb of system message for each type per gDPB; System Type; gDPB []",
1374 new TH2I(
"hGdpbSysMessPattType",
"Nb of pattern message for each type per gDPB; Pattern Type; gDPB []",
1381 new TH2I(
"hGdpbEpochFlags",
"Epoch flags per gDPB; gDPB # ; Type",
fuNrOfGdpbs, dGdpbMin, dGdpbMax, 4, 0., 4.);
1387 fhGdpbEpochSyncEvo =
new TH2D(
"hGdpbEpochSyncEvo",
"Epoch SYNC per second and gDPB; Time[s]; gDPB #; SYNC Nb",
1391 new TH2D(
"hGdpbEpochMissEvo",
"Epoch Missmatch per second and gDPB; Time[s]; gDPB #; Missmatch Nb",
1395 new TH1D(
"hGdpbEndMsBufferNotEmpty",
"MS where buffer is not empty at end, per gDPB; gDPB #; Bad MS",
fuNrOfGdpbs,
1396 dGdpbMin, dGdpbMax);
1399 "Amount of lost data when buffer not empty at end, per MS and "
1400 "gDPB; gDPB #; Lost Data per bad MS []; Bad MS",
1401 fuNrOfGdpbs, dGdpbMin, dGdpbMax, iNbBinsLog, dBinsLog);
1403 fhGdpbHitRate =
new TH2D(
"fhGdpbHitRate",
"Hit rate per second and gDPB; Time[s]; gDPB #; HITS Nb",
1408 "Nb of missmatch pattern per MS for each gDPB; Number of "
1409 "pattern messages []; gDPB []; MS",
1410 1000, -0.5, 999.5,
fuNrOfGdpbs, dGdpbMin, dGdpbMax);
1412 fhPatternMissmatch =
new TH2I(
"hPatternMissmatch",
"Missmatch pattern integral per gDPB; ASIC Pattern []; gDPB []",
1415 fhPatternEnable =
new TH2I(
"hPatternEnable",
"Enable pattern integral per gDPB; ASIC Pattern []; gDPB []",
1418 fhPatternResync =
new TH2I(
"hPatternResync",
"Resync pattern integral per gDPB; ASIC Pattern []; gDPB []",
1451 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1452 UInt_t uGdpbIndex = uGdpb;
1455 std::string sFolderGdpb = Form(
"gdpb%02u", uGdpbIndex);
1456 std::string sFolderGdpbPatt = Form(
"gdpb%02u/Pattern", uGdpbIndex);
1457 std::string sFolderGdpbTrig = Form(
"gdpb%02u/Trigger", uGdpbIndex);
1460 new TH2I(Form(
"hGdpbGet4MessType_%02u", uGdpb),
1461 Form(
"Nb of message for each type per GET4 in Gdpb %02u; GET4 chip # ; Type", uGdpbIndex),
1469 new TH2I(Form(
"hGdpbGet4ChanScm_%02u", uGdpb),
1470 Form(
"SC messages per GET4 channel in Gdpb %02u; GET4 channel # ; SC type", uGdpbIndex),
1479 new TH2I(Form(
"hGdpbGet4ChanErrors_%02u", uGdpb),
1480 Form(
"Error messages per GET4 channel in Gdpb %02u; GET4 channel # ; Error", uGdpbIndex),
1507 fvhRawFt_gDPB.push_back(
new TH2I(Form(
"RawFt_gDPB_%02u", uGdpbIndex),
1508 Form(
"Raw FineTime gDPB %02u Plot 0; channel; FineTime [bin]", uGdpbIndex),
1511 fvhRawCt_gDPB.push_back(
new TH2I(Form(
"RawCt_gDPB_%02u", uGdpbIndex),
1512 Form(
"Raw CoarseTime gDPB %02u Plot 0; channel; CoarseTime [bin]", uGdpbIndex),
1516 fvhRemapTot_gDPB.push_back(
new TH2I(Form(
"RemapTot_gDPB_%02u", uGdpbIndex),
1517 Form(
"Raw TOT gDPB %02u remapped; PADI channel; TOT [bin]", uGdpbIndex),
1521 Form(
"Channel counts gDPB %02u remapped; PADI channel; Hits", uGdpbIndex),
1526 Form(
"PADI channel rate gDPB %02u; Time in run [s]; PADI "
1527 "channel; Rate [1/s]",
1535 Form(
"PADI channel error fraction gDPB %02u; Time in "
1536 "run [s]; PADI channel; Fraction []",
1544 new TH2I(Form(
"hGdpbPatternMissmatchEvo_%02u", uGdpbIndex),
1545 Form(
"Missmatch pattern vs TS index in gDPB %02u; TS # ; ASIC Pattern []", uGdpbIndex), 10000, 0.,
1549 new TH2I(Form(
"hGdpbPatternEnableEvo_%02u", uGdpbIndex),
1550 Form(
"Enable pattern vs TS index in gDPB %02u; TS # ; ASIC Pattern []", uGdpbIndex), 10000, 0., 100000,
1554 new TH2I(Form(
"hGdpbPatternResyncEvo%02u", uGdpbIndex),
1555 Form(
"Resync pattern vs TS index in gDPB %02u; TS # ; ASIC Pattern []", uGdpbIndex), 10000, 0., 100000,
1559 new TH2I(Form(
"hGdpbMissmatchEvoPerTs%02u", uGdpbIndex),
1560 Form(
"Missmatch vs TS index in gDPB %02u; TS # ; Asic []; Missmatch? []", uGdpbIndex), 10000, 0.,
1564 Form(
"Enable+Missmatch vs TS index in gDPB %02u; TS # ; Asic "
1565 "[]; Enabled & Missmatch? []",
1570 new TH2I(Form(
"hGdpbEnableEvoPerTs%02u", uGdpbIndex),
1571 Form(
"Enable vs TS index in gDPB %02u; TS # ; Asic []; Enabled? []", uGdpbIndex), 100000, 0., 100000,
1575 new TH2I(Form(
"hGdpbResyncEvoPerTs%02u", uGdpbIndex),
1576 Form(
"Resync vs TS index in gDPB %02u; TS # ; Asic []; Resync? []", uGdpbIndex), 10000, 0., 100000,
1580 Form(
"Enable+Resync vs TS index in gDPB %02u; TS # ; Asic []; "
1581 "Enabled & Resync? []",
1586 Form(
"ASIC State vs TS index in gDPB %02u; TS # ; Asic []; 0 = Off, 1 "
1587 "= OK, 2 = Miss, 3 = Resync, 4 = Miss + Resync []",
1594 fvhTokenMsgType.push_back(
new TH1F(Form(
"hTokenMsgType_gDPB_%02u", uGdpbIndex),
1595 Form(
"STAR trigger Messages type gDPB %02u; Type ; Counts", uGdpbIndex), 4, 0,
1602 fvhTriggerRate.push_back(
new TH1F(Form(
"hTriggerRate_gDPB_%02u", uGdpbIndex),
1603 Form(
"STAR trigger signals per second gDPB %02u; Time[s] ; Counts", uGdpbIndex),
1607 Form(
"hCmdDaqVsTrig_gDPB_%02u", uGdpbIndex),
1608 Form(
"STAR daq command VS STAR trigger command gDPB %02u; DAQ ; TRIGGER", uGdpbIndex), 16, 0, 16, 16, 0, 16));
1615 5,
"0x4: trigg. 0");
1646 fvhStarTokenEvo.push_back(
new TH2I(Form(
"hStarTokenEvo_gDPB_%02u", uGdpbIndex),
1647 Form(
"STAR token value VS time gDPB %02u; Time in Run [s] ; "
1648 "STAR Token; Counts",
1653 Form(
"gDPB TS in STAR triger tokens for gDPB %02u; Time in "
1654 "Run [s] ; gDPB TS;",
1659 Form(
"STAR TS in STAR triger tokens for gDPB %02u; Time in "
1660 "Run [s] ; STAR TS;",
1703 "Evolution of Hit & error msgs counts vs time in run; "
1704 "Time in run [s]; Msgs Count []",
1706 fhHitCntEvo =
new TH1I(
"hHitCntEvo",
"Evolution of Hit counts vs time in run; Time in run [s]; Hits Count []",
1708 fhErrorCntEvo =
new TH1I(
"hErrorCntEvo",
"Evolution of Error counts vs time in run; Time in run [s]; Error Count []",
1711 "Evolution of LostEvent counts vs time in run; "
1712 "Time in run [s]; LostEvent Count []",
1716 "Evolution of Error Fraction vs time in run; "
1717 "Time in run [s]; Error Fract []",
1720 "Evolution of LostEvent Fraction vs time in "
1721 "run; Time in run [s]; LostEvent Fract []",
1725 "Evolution of Hit & error msgs counts, per MS vs time in run; "
1726 "Time in run [s]; Hits Count/MS []; MS",
1729 "Evolution of Hit counts, per MS vs time in run; "
1730 "Time in run [s]; Hits Count/MS []; MS",
1733 "Evolution of Error counts, per MS vs time in "
1734 "run; Time in run [s]; Error Count/MS []; MS",
1737 "Evolution of LostEvent, per MS counts vs time in run; Time in "
1738 "run [s]; LostEvent Count/MS []; MS",
1742 "Evolution of Error Fraction, per MS vs time in run; Time in run "
1743 "[s]; Error Fract/MS []; MS",
1746 "Evolution of LostEvent Fraction, per MS vs time in run; Time in "
1747 "run [s]; LostEvent Fract/MS []; MS",
1773 fcSummary =
new TCanvas(
"cSummary",
"gDPB Monitoring Summary");
1817 fcSummaryGdpb =
new TCanvas(
"cSummaryGdpb",
"gDPB Monitoring Summary");
1857 fcStarTrigTokenType =
new TCanvas(
"cStarTrigTokenType",
"STAR trigger token message type per gDPB");
1858 fcStarTriggerRate =
new TCanvas(
"cStarTriggerRate",
"STAR trigger rate per gDPB");
1861 fcStarTrigGdpbTsEvo =
new TCanvas(
"cStarTrigGdpbTsEvo",
"STAR trigger gDPB TS evo per gDPB");
1862 fcStarTrigStarTsEvo =
new TCanvas(
"cStarTrigStarTsEvo",
"STAR trigger STAR TS evo per gDPB");
1878 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1879 UInt_t uGdpbIndex = uGdpb;
1883 new TCanvas(Form(
"cSumGdpb%02u", uGdpbIndex), Form(
"Summary per GET4 or channel for gDPB %02u", uGdpbIndex)));