230 LOG(info) <<
"ReInit parameter containers for " << GetName();
260 LOG(info) <<
"GDPB Id of TOF " << i <<
" : " << std::hex <<
fUnpackPar->GetGdpbId(i) << std::dec;
273 for (UInt_t uGbtx = 0; uGbtx <
fuNrOfGbtx; ++uGbtx) {
280 LOG(info) <<
"Nr. of RPCs per GBTx: ";
281 std::stringstream ss;
282 for (UInt_t uGbtx = 0; uGbtx <
fuNrOfGbtx; ++uGbtx)
284 LOG(info) << ss.str();
286 LOG(info) <<
"RPC type per GBTx: ";
287 std::stringstream ss;
288 for (UInt_t uGbtx = 0; uGbtx <
fuNrOfGbtx; ++uGbtx)
290 LOG(info) << ss.str();
292 LOG(info) <<
"RPC side per GBTx: ";
293 std::stringstream ss;
294 for (UInt_t uGbtx = 0; uGbtx <
fuNrOfGbtx; ++uGbtx)
296 LOG(info) << ss.str();
298 LOG(info) <<
"Module ID per GBTx: ";
299 std::stringstream ss;
300 for (UInt_t uGbtx = 0; uGbtx <
fuNrOfGbtx; ++uGbtx)
302 LOG(info) << ss.str();
322 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
346 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
367 UInt_t uGet4topadi[32] = {4, 3, 2, 1,
368 8, 7, 6, 5, 12, 11, 10, 9, 16, 15, 14, 13, 20, 19,
369 18, 17, 24, 23, 22, 21, 28, 27, 26, 25, 32, 31, 30, 29};
371 UInt_t uPaditoget4[32] = {4, 3, 2, 1,
372 12, 11, 10, 9, 20, 19, 18, 17, 28, 27, 26, 25, 32, 31,
373 30, 29, 8, 7, 6, 5, 16, 15, 14, 13, 24, 23, 22, 21};
384 UInt_t kuElinkToGet4[
kuNbGet4PerGbtx] = {27, 2, 7, 3, 31, 26, 30, 1, 33, 37, 32, 13, 9, 14,
385 10, 15, 17, 21, 16, 35, 34, 38, 25, 24, 0, 6, 20, 23,
386 18, 22, 28, 4, 29, 5, 19, 36, 39, 8, 12, 11};
387 UInt_t kuGet4ToElink[
kuNbGet4PerGbtx] = {24, 7, 1, 3, 31, 33, 25, 2, 37, 12, 14, 39, 38, 11,
388 13, 15, 18, 16, 28, 34, 26, 17, 29, 27, 23, 22, 5, 0,
389 30, 32, 6, 4, 10, 8, 20, 19, 35, 9, 21, 36};
442 LOG(info) <<
"create Histos for " <<
fuNrOfGdpbs <<
" gDPBs ";
444 THttpServer* server = FairRunOnline::Instance()->GetHttpServer();
453 Double_t dBinSzG4v2 = (6250. / 112.);
458 name =
"hMessageType";
459 title =
"Nb of message for each type; Type";
472 name =
"hSysMessType";
473 title =
"Nb of system message for each type; System Type";
481 name =
"hGet4MessType";
482 title =
"Nb of message for each type per GET4; GET4 chip # ; Type";
492 name =
"hGet4ChanScm";
493 title =
"SC messages per GET4 channel; GET4 channel # ; SC type";
503 name =
"hGet4ChanErrors";
504 title =
"Error messages per GET4 channel; GET4 channel # ; Error";
530 name =
"hGet4EpochFlags";
531 title =
"Epoch flags per GET4; GET4 chip # ; Type";
539 name =
"hGdpbMessageType";
540 title =
"Nb of message for each type per Gdpb; Type; Gdpb Idx []";
554 name =
"hGdpbSysMessType";
555 title =
"Nb of system message for each type per Gdpb; System Type; Gdpb Idx []";
564 name =
"hGdpbSysMessPattType";
565 title =
"Nb of pattern message for each type per Gdpb; Pattern Type; Gdpb Idx []";
573 name =
"hGdpbEpochFlags";
574 title =
"Epoch flags per gDPB; gDPB # ; Type";
582 name = Form(
"hGdpbEpochSyncEvo");
583 title = Form(
"Epoch SYNC per second and gDPB; Time[s]; gDPB #; SYNC Nb");
588 name = Form(
"hGdpbEpochMissEvo");
589 title = Form(
"Epoch Missmatch per second and gDPB; Time[s]; gDPB #; Missmatch Nb");
595 name =
"hScmScalerCounters";
596 title =
"Content of Scaler counter SC messages; Scaler counter [hit]; Channel []";
600 name =
"hScmDeadtimeCounters";
601 title =
"Content of Deadtime counter SC messages; Deadtime [Clk Cycles]; "
606 name =
"hScmSeuCounters";
607 title =
"Content of SEU counter SC messages; SEU []; Channel []";
611 name =
"hScmSeuCountersEvo";
612 title =
"SEU counter rate from SC messages; Time in Run [s]; Channel []; SEU []";
617 name =
"hPatternMissmatch";
618 title =
"Missmatch pattern integral per Gdpb; ASIC Pattern []; Gdpb Idx []";
621 name =
"hPatternEnable";
622 title =
"Enable pattern integral per Gdpb; ASIC Pattern []; Gdpb Idx []";
625 name =
"hPatternResync";
626 title =
"Resync pattern integral per Gdpb; ASIC Pattern []; Gdpb Idx []";
632 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
635 name = Form(
"hGdpbGet4MessType_%02u", uGdpb);
636 title = Form(
"Nb of message for each type per GET4 in gDPB %02u; GET4 chip # ; Type", uGdpb);
644 name = Form(
"hGdpbGet4ChanScm_%02u", uGdpb);
645 title = Form(
"SC messages per GET4 channel in gDPB %02u; GET4 channel # ; SC type", uGdpb);
655 name = Form(
"hGdpbGet4ChanErrors_%02u", uGdpb);
656 title = Form(
"Error messages per GET4 channel in gDPB %02u; GET4 channel # ; Error", uGdpb);
683 name = Form(
"hGdpbPatternMissmatchEvo_%02u", uGdpb);
684 title = Form(
"Missmatch pattern vs TS index in gDPB %02u; TS # ; ASIC Pattern []", uGdpb);
688 name = Form(
"hGdpbPatternEnableEvo_%02u", uGdpb);
689 title = Form(
"Enable pattern vs TS index in gDPB %02u; TS # ; ASIC Pattern []", uGdpb);
693 name = Form(
"hGdpbPatternResyncEvo%02u", uGdpb);
694 title = Form(
"Resync pattern vs TS index in gDPB %02u; TS # ; ASIC Pattern []", uGdpb);
699 name = Form(
"RawFt_gDPB_%02u", uGdpb);
700 title = Form(
"Raw FineTime gDPB %02u Plot 0; channel; FineTime [bin]", uGdpb);
705 name = Form(
"RawTot_gDPB_%02u", uGdpb);
706 title = Form(
"Raw TOT gDPB %02u; channel; TOT [bin]", uGdpb);
711 name = Form(
"ChCount_gDPB_%02u", uGdpb);
712 title = Form(
"Channel counts gDPB %02u; channel; Hits", uGdpb);
717 name = Form(
"ChRate_gDPB_%02u", uGdpb);
718 title = Form(
"Channel rate gDPB %02u; Time in run [s]; channel; Rate [1/s]", uGdpb);
724 name = Form(
"RemapTot_gDPB_%02u", uGdpb);
725 title = Form(
"Raw TOT gDPB %02u remapped; PADI channel; TOT [bin]", uGdpb);
730 name = Form(
"RemapChCount_gDPB_%02u", uGdpb);
731 title = Form(
"Channel counts gDPB %02u remapped; PADI channel; Hits", uGdpb);
736 name = Form(
"RemapChRate_gDPB_%02u", uGdpb);
737 title = Form(
"PADI channel rate gDPB %02u; Time in run [s]; PADI channel; Rate [1/s]", uGdpb);
744 name = Form(
"FeeRate_gDPB_g%02u_f%1u", uGdpb, uFee);
745 title = Form(
"Counts per second in Fee %1u of gDPB %02u; Time[s] ; Counts", uFee, uGdpb);
748 name = Form(
"FeeErrorRate_gDPB_g%02u_f%1u", uGdpb, uFee);
749 title = Form(
"Error Counts per second in Fee %1u of gDPB %02u; Time[s] ; "
754 name = Form(
"FeeErrorRatio_gDPB_g%02u_f%1u", uGdpb, uFee);
755 title = Form(
"Error to data ratio per second in Fee %1u of gDPB %02u; "
756 "Time[s] ; Error ratio[]",
761 name = Form(
"FeeRateLong_gDPB_g%02u_f%1u", uGdpb, uFee);
762 title = Form(
"Counts per minutes in Fee %1u of gDPB %02u; Time[min] ; Counts", uFee, uGdpb);
766 name = Form(
"FeeErrorRateLong_gDPB_g%02u_f%1u", uGdpb, uFee);
767 title = Form(
"Error Counts per minutes in Fee %1u of gDPB %02u; "
768 "Time[min] ; Error Counts",
773 name = Form(
"FeeErrorRatioLong_gDPB_g%02u_f%1u", uGdpb, uFee);
774 title = Form(
"Error to data ratio per minutes in Fee %1u of gDPB %02u; "
775 "Time[min] ; Error ratio[]",
783 name = Form(
"hTokenMsgType_gDPB_%02u", uGdpb);
784 title = Form(
"STAR trigger Messages type gDPB %02u; Type ; Counts", uGdpb);
792 name = Form(
"hTriggerRate_gDPB_%02u", uGdpb);
793 title = Form(
"STAR trigger signals per second gDPB %02u; Time[s] ; Counts", uGdpb);
797 name = Form(
"hCmdDaqVsTrig_gDPB_%02u", uGdpb);
798 title = Form(
"STAR daq command VS STAR trigger command gDPB %02u; DAQ ; TRIGGER", uGdpb);
799 fvhCmdDaqVsTrig.push_back(
new TH2I(name, title, 16, 0, 16, 16, 0, 16));
838 name = Form(
"hStarTokenEvo_gDPB_%02u", uGdpb);
839 title = Form(
"STAR token value VS time gDPB %02u; Time in Run [s] ; STAR "
845 name = Form(
"hStarTrigGdpbTsEvo_gDPB_%02u", uGdpb);
846 title = Form(
"gDPB TS in STAR triger tokens for gDPB %02u; Time in Run [s] ; gDPB TS;", uGdpb);
849 name = Form(
"hStarTrigStarTsEvo_gDPB_%02u", uGdpb);
850 title = Form(
"STAR TS in STAR triger tokens for gDPB %02u; Time in Run [s] ; STAR TS;", uGdpb);
857 name = Form(
"RemapTotSideA_mod_%02u", uMod);
858 title = Form(
"Raw TOT module %02u Side A; PADI channel; TOT [bin]", uMod);
861 name = Form(
"RemapTotSideB_mod_%02u", uMod);
862 title = Form(
"Raw TOT module %02u Side B; PADI channel; TOT [bin]", uMod);
866 name = Form(
"ModRate_gDPB_m%02u", uMod);
867 title = Form(
"Counts per second in Module %02u; Time[s] ; Counts", uMod);
870 name = Form(
"ModErrorRate_m%02u", uMod);
871 title = Form(
"Error Counts per second in Module %02u; Time[s] ; Error Counts", uMod);
874 name = Form(
"ModErrorRatio_m%02u", uMod);
875 title = Form(
"Error to data ratio per second in Module %02u; Time[s] ; Error ratio[]", uMod);
892 new TH1I(Form(
"hTimeDiffPulser_g%02u_f%1u_g%02u_f%1u", uGdpbA, uFeeIdA, uGdpbB, uFeeIdB),
893 Form(
"Time difference for pulser on gDPB %02u FEE %1u and "
894 "gDPB %02u FEE %1u; DeltaT [ps]; Counts",
895 uGdpbA, uFeeIdA, uGdpbB, uFeeIdB),
903 name =
"hTimeMeanPulser";
904 fhTimeMeanPulser =
new TH2D(name.Data(),
"Time difference Mean for each FEE pairs; FEE A; FEE B ; Mean [ps]",
908 name =
"hTimeRmsPulser";
909 fhTimeRmsPulser =
new TH2D(name.Data(),
"Time difference RMS for each FEE pairs; FEE A; FEE B ; RMS [ps]",
913 name =
"hTimeRmsZoomFitPuls";
915 "Time difference RMS after zoom for each "
916 "FEE pairs; FEE A; FEE B ; RMS [ps]",
920 name =
"hTimeResFitPuls";
922 "Time difference Res from fit for each FEE "
923 "pairs; FEE A; FEE B ; Sigma [ps]",
929 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
931 name = Form(
"hPulserTimeDiffEvoGdpb%02uGbtx00Gbtx%02u", uGdpb, uGbtx + 1);
933 new TProfile(name.Data(),
934 Form(
"Time difference of the 1st FEE in the 1st GBTx of gDPB %02u "
935 "vs GBTx %02u; time in run [min]; dt [ps]",
941 for (UInt_t uGdpbB = uGdpb + 1; uGdpbB <
fuNrOfGdpbs; ++uGdpbB) {
942 name = Form(
"hPulserTimeDiffEvoGdpb%02uGdpb%02u", uGdpb, uGdpbB);
944 new TProfile(name.Data(),
945 Form(
"Time difference of the 1st FEE in the 1st GBTx of "
946 "gDPB %02u vs %02u; time in run [min]; dt [ps]",
955 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
956 name = Form(
"hCoincMapAllChanGdpb%02u", uGdpb);
958 Form(
"Coincidence map of all channels of gDPB %02u; Chan A "
959 "[]; Chan B[]; Coinc. []",
964 name = Form(
"hCoincMeanAllChanGdpb%02u", uGdpb);
966 Form(
"Coincidence mean of all channels of gDPB %02u; "
967 "Chan A []; Chan B[]; Mean dt [ps]",
998 for (UInt_t uTotPlot = 0; uTotPlot <
fvhRawTot_gDPB.size(); ++uTotPlot)
1007 server->Register(
"/TofMod",
fvhModRate[uMod]);
1012 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1054 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1059 for (UInt_t uGdpbB = uGdpb + 1; uGdpbB <
fuNrOfGdpbs; ++uGdpbB)
1065 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1071 server->RegisterCommand(
"/Reset_All_eTOF",
"bMcbmMoniTofResetHistos=kTRUE");
1072 server->RegisterCommand(
"/Save_All_eTof",
"bMcbmMoniTofSaveHistos=kTRUE");
1073 server->RegisterCommand(
"/Update_PulsFit",
"bMcbmMoniTofUpdateZoomedFit=kTRUE");
1074 server->RegisterCommand(
"/Print_Raw_Data",
"bMcbmMoniTofRawDataPrint=kTRUE");
1075 server->RegisterCommand(
"/Print_AllHits",
"bMcbmMoniTofPrintAllHitsEna=kTRUE");
1076 server->RegisterCommand(
"/Print_AllEps",
"bMcbmMoniTofPrintAllEpochsEna=kTRUE");
1078 server->Restrict(
"/Reset_All_eTof",
"allow=admin");
1079 server->Restrict(
"/Save_All_eTof",
"allow=admin");
1080 server->Restrict(
"/Update_PulsFit",
"allow=admin");
1081 server->Restrict(
"/Print_Raw_Data",
"allow=admin");
1082 server->Restrict(
"/Print_AllHits",
"allow=admin");
1083 server->Restrict(
"/Print_AllEps",
"allow=admin");
1089 TCanvas* cSummary =
new TCanvas(
"cSummary",
"gDPB Monitoring Summary", w,
h);
1090 cSummary->Divide(2, 3);
1119 TCanvas* cSummaryGdpb =
new TCanvas(
"cSummaryGdpb",
"gDPB Monitoring Summary", w,
h);
1120 cSummaryGdpb->Divide(2, 3);
1122 cSummaryGdpb->cd(1);
1126 cSummaryGdpb->cd(3);
1130 cSummaryGdpb->cd(5);
1134 cSummaryGdpb->cd(4);
1137 cSummaryGdpb->cd(6);
1143 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1144 TCanvas* cSumGdpbGet4 =
1145 new TCanvas(Form(
"cSumGdpbGet4_g%02u", uGdpb), Form(
"Summary per GET4 or channel for gDPB %02u", uGdpb), w,
h);
1146 cSumGdpbGet4->Divide(2, 2);
1148 cSumGdpbGet4->cd(1);
1152 cSumGdpbGet4->cd(2);
1156 cSumGdpbGet4->cd(3);
1163 TCanvas* cFeeRates =
new TCanvas(
"cFeeRates",
"gDPB Monitoring FEE rates", w,
h);
1166 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1179 TCanvas* cFeeErrRatio =
new TCanvas(
"cFeeErrRatio",
"gDPB Monitoring FEE error ratios", w,
h);
1182 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1193 TCanvas* cFeeRatesLong =
new TCanvas(
"cFeeRatesLong",
"gDPB Monitoring FEE rates", w,
h);
1196 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1209 TCanvas* cFeeErrRatioLong =
new TCanvas(
"cFeeErrRatioLong",
"gDPB Monitoring FEE error ratios", w,
h);
1212 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1222 TCanvas* cGdpbChannelCount =
new TCanvas(
"cGdpbChannelCount",
"Integrated Get4 channel counts per gDPB", w,
h);
1224 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1225 cGdpbChannelCount->cd(1 + uGdpb);
1234 TCanvas* cGdpbRemapChCount =
new TCanvas(
"cGdpbRemapChCount",
"Integrated PADI channel counts per gDPB", w,
h);
1236 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1237 cGdpbRemapChCount->cd(1 + uGdpb);
1246 TCanvas* cGdpbChannelRate =
new TCanvas(
"cGdpbChannelRate",
"Get4 channel rate per gDPB", w,
h);
1248 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1249 cGdpbChannelRate->cd(1 + uGdpb);
1258 TCanvas* cGdpbRemapChRate =
new TCanvas(
"cGdpbRemapChRate",
"PADI channel rate per gDPB", w,
h);
1260 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1261 cGdpbRemapChRate->cd(1 + uGdpb);
1270 TCanvas* cTotPnt = NULL;
1271 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1272 cTotPnt =
new TCanvas(Form(
"cTot_g%02u", uGdpb), Form(
"gDPB %02u TOT distributions", uGdpb), w,
h);
1281 cTotPnt =
new TCanvas(
"cTot_all",
"TOT distributions", w,
h);
1283 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1284 cTotPnt->cd(1 + uGdpb);
1296 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1297 cTotPnt =
new TCanvas(Form(
"cTotRemap_g%02u", uGdpb), Form(
"PADI ch gDPB %02u TOT distributions", uGdpb), w,
h);
1306 cTotPnt =
new TCanvas(
"cTotRemap_all",
"TOT distributions", w,
h);
1308 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; ++uGdpb) {
1309 cTotPnt->cd(1 + uGdpb);
1323 new TCanvas(Form(
"cTotRemapSides_m%02u", uMod), Form(
"Sides ch module %02u TOT distributions", uMod), w,
h);
1324 cTotPnt->Divide(1, 2);
1343 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; uGdpb++) {
1344 TCanvas* cStarToken =
1345 new TCanvas(Form(
"cStarToken_g%02u", uGdpb), Form(
"STAR token detection info for gDPB %02u", uGdpb), w,
h);
1346 cStarToken->Divide(2, 2);
1367 new TCanvas(
"cPulser",
"Time difference RMS for pulser channels when FEE pulser mode is ON", w,
h);
1368 cPulser->Divide(2, 2);
1392 TCanvas* cPulserEvo =
1393 new TCanvas(
"cPulserEvo",
"Time difference evolution between 1st FEE of 1st GBTx of gDPB pairs", w,
h);
1395 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs - 1; uGdpb++) {
1396 cPulserEvo->cd(1 + uGdpb);
1405 for (UInt_t uGdpb = 0; uGdpb <
fuNrOfGdpbs; uGdpb++) {
1406 TCanvas* cPulserEvoGbtx =
new TCanvas(Form(
"cPulserEvoGbtx%02u", uGdpb),
1407 Form(
"Time difference evolution between 1st FEE of GBTx "
1408 "pairs in gDPB %02u",
1414 cPulserEvoGbtx->cd(1 + uGbtx);
1427 TCanvas* cModRates =
1428 new TCanvas(Form(
"cModRate_m%02u", uMod), Form(
"Hit and error Rates for module %02u", uMod), w,
h);
1441 fcMsSizeAll =
dynamic_cast<TCanvas*
>(gROOT->FindObject(
"cMsSizeAll"));
1443 fcMsSizeAll =
new TCanvas(
"cMsSizeAll",
"Evolution of MS size in last 300 s", w,
h);
1445 LOG(info) <<
"Created MS size canvas in TOF monitor";
1448 LOG(info) <<
"Recovered MS size canvas in TOF monitor";
1450 LOG(info) <<
"Leaving CreateHistograms";
1985 if (0 < ulCurEpochGdpbGet4) ulCurEpochGdpbGet4--;
2061 for( UInt_t uFeeB = 0; uFeeB < uFeeNrInSys; uFeeB++)
2062 if( NULL != fvhTimeDiffPulser[uFeeB][uFeeNrInSys] )
2064 Double_t dTimeDiff = 1e3 * ( fdTsLastPulserHit[ uFeeNrInSys ] - fdTsLastPulserHit[ uFeeB ] );
2065 if( TMath::Abs( dTimeDiff ) < kdMaxDtPulserPs )
2067 fvhTimeDiffPulser[uFeeB][uFeeNrInSys]->Fill( dTimeDiff );
2070 if( 0 == uFeeInGbtx && 0 == uFeeB % kuNbFeePerGbtx )
2073 if( fuGdpbNr == uFeeB / fuNrOfFeePerGdpb )
2075 if( 0 == uFeeB / kuNbFeePerGbtx )
2077 UInt_t uPlotIdx = fuGdpbNr * ( kuNbGbtxPerGdpb - 1) + uGbtxNr - 1;
2078 fvhPulserTimeDiffEvoGbtxGbtx[ uPlotIdx ]->Fill( 1e-9 / 60.0 * (dHitTime - fdStartTime), dTimeDiff );
2080 } // if( fuGdpbNr == uFeeB / fuNrOfFeePerGdpb )
2081 else // if( NULL != fvvhPulserTimeDiffEvoGdpbGdpb[ uFeeB / fuNrOfFeePerGdpb ][ fuGdpbNr ] )
2084 if( 0 == uGbtxNr && 0 == uFeeB / kuNbFeePerGbtx )
2085 fvvhPulserTimeDiffEvoGdpbGdpb[ uFeeB / fuNrOfFeePerGdpb ][ fuGdpbNr ]->Fill(
2086 1e-9 / 60.0 * (dHitTime - fdStartTime), dTimeDiff );
2087 } // else of if( fuGdpbNr == uFeeB / fuNrOfFeePerGdpb )
2088 } // if( 0 == uFeeInGbtx && 0 == uFeeB % kuNbFeePerGbtx )
2089 } // if( TMath::Abs( dTimeDiff ) < kdMaxDtPulserPs )
2090 // else if( 10 == uFeeB && 20 == uFeeNrInSys )
2091 // LOG(info) << "new in 20 " << dTimeDiff;
2092 } // if( NULL != fvhTimeDiffPulser[uFeeB][uFeeB] )
2095 for( UInt_t uFeeB = uFeeNrInSys + 1; uFeeB < fuNrOfFeePerGdpb * fuNrOfGdpbs; uFeeB++)
2096 if( NULL != fvhTimeDiffPulser[uFeeNrInSys][uFeeB] )
2098 Double_t dTimeDiff = 1e3 * ( fdTsLastPulserHit[ uFeeB ] - fdTsLastPulserHit[ uFeeNrInSys ] );
2099 if( TMath::Abs( dTimeDiff ) < kdMaxDtPulserPs )
2101 fvhTimeDiffPulser[uFeeNrInSys][uFeeB]->Fill( dTimeDiff );
2104 if( 0 == uFeeInGbtx && 0 == uFeeB % kuNbFeePerGbtx )
2107 if( fuGdpbNr == uFeeB / fuNrOfFeePerGdpb )
2111 UInt_t uPlotIdx = fuGdpbNr * ( kuNbGbtxPerGdpb - 1)
2112 + ( uFeeB - fuGdpbNr * fuNrOfFeePerGdpb) / kuNbFeePerGbtx - 1;
2113 fvhPulserTimeDiffEvoGbtxGbtx[ uPlotIdx ]->Fill( 1e-9 / 60.0 * (dHitTime - fdStartTime), dTimeDiff );
2114 } // if( 0 == uGbtxNr )
2115 } // if( fuGdpbNr == uFeeB / fuNrOfFeePerGdpb )
2116 else // if( NULL != fvvhPulserTimeDiffEvoGdpbGdpb[ uFeeB / fuNrOfFeePerGdpb ][ fuGdpbNr ] )
2119 if( 0 == uGbtxNr && 0 == uFeeB / kuNbFeePerGbtx )
2120 fvvhPulserTimeDiffEvoGdpbGdpb[ fuGdpbNr ][ uFeeB / fuNrOfFeePerGdpb ]->Fill(
2121 1e-9 / 60.0 * (dHitTime - fdStartTime), dTimeDiff );
2122 } // else of if( fuGdpbNr == uFeeB / fuNrOfFeePerGdpb )
2123 } // if( 0 == uFeeInGbtx && 0 == uFeeB % kuNbFeePerGbtx )
2124 } // if( TMath::Abs( dTimeDiff ) < kdMaxDtPulserPs )
2125 // else if( 10 == uFeeNrInSys && 20 == uFeeB )
2126 // LOG(info) << "new in 10 " << dTimeDiff;
2127 } // if( NULL != fvhTimeDiffPulser[uFeeNrInSys][uFeeB] )
2131 else if (
fuGdpbNr == fuDiamondDpbIdx && 0 == uChannelNrInFee) {
2161 LOG(info) <<
"Hit: " << Form(
"0x%08x ",
fuGdpbId) <<
", " << std::setw(2) <<
fuGet4Nr <<
", " << std::setw(3)
2162 << uChannel <<
", " << std::setw(3) << uTot <<
", epoch " << std::setw(3) << ulCurEpochGdpbGet4
2163 <<
", FullTime Clk " << Form(
"%12lu ", ulHitTime) <<
", FullTime s " << Form(
"%12.9f ", dHitTime / 1e9)
2164 <<
", FineTime " << uFts;