File indexing completed on 2026-04-05 08:16:03
0001 #include "CommonFuncs.C"
0002
0003 #include <onlmon/mvtx/MvtxMonDraw.h>
0004
0005 #include <onlmon/OnlMonClient.h>
0006
0007
0008
0009 R__LOAD_LIBRARY(libonlmvtxmon_client.so)
0010
0011 void mvtxDrawInit(const int online = 0)
0012 {
0013 OnlMonClient *cl = OnlMonClient::instance();
0014 OnlMonDraw *mvtxmon = new MvtxMonDraw("MVTXMONDRAW");
0015
0016 std::string mLaneStatusFlag[3] = {"WARNING", "ERROR", "FAULT"};
0017 const int NStaves[3] = {12, 16, 20};
0018
0019 for (int serverid = 0; serverid < 6; serverid++)
0020 {
0021 std::string servername = "MVTXMON_" + std::to_string(serverid);
0022 mvtxmon->AddServer(servername);
0023 cl->registerHisto("OCC_ChipStaveOcc", servername);
0024 cl->registerHisto("OCC_ChipStave1D", servername);
0025 cl->registerHisto("OCC_ChipFiredFLX", servername);
0026 cl->registerHisto("OCC_HitChipPerStrobe", servername);
0027 cl->registerHisto("OCC_HitFLXPerStrobe", servername);
0028 cl->registerHisto("MVTXMON_General_Occupancy", servername);
0029 cl->registerHisto("FEE_LaneStatus_Overview_FlagPROBLEM", servername);
0030 cl->registerHisto("FEE_LaneStatus_Overview_FlagWARNING", servername);
0031 cl->registerHisto("FEE_LaneStatus_Overview_FlagERROR", servername);
0032 cl->registerHisto("FEE_LaneStatus_Overview_FlagFAULT", servername);
0033
0034 cl->registerHisto("General_hChipStrobes", servername);
0035 cl->registerHisto("General_ChipL1", servername);
0036 cl->registerHisto("General_hfeeStrobes", servername);
0037 cl->registerHisto("General_feeL1", servername);
0038
0039 cl->registerHisto("hStrobesDMA", servername);
0040 cl->registerHisto("hDMAstatus", servername);
0041
0042
0043
0044 for (int i = 0; i < MvtxMonDraw::NFlags; i++)
0045 {
0046 cl->registerHisto(Form("FEE_LaneStatus_Flag_%s", mLaneStatusFlag[i].c_str()), servername);
0047 cl->registerHisto(Form("FEE_LaneStatusFromSOX_Flag_%s", mLaneStatusFlag[i].c_str()), servername);
0048 }
0049
0050
0051 cl->registerHisto("General_DecErrors", servername);
0052 cl->registerHisto("General_DecErrorsTime", servername);
0053 cl->registerHisto("General_DecErrorsEndpoint", servername);
0054
0055 for (int aLayer = 0; aLayer < 3; aLayer++)
0056 {
0057 cl->registerHisto(Form("OCC_Occupancy1D_Layer%d", aLayer), servername);
0058 cl->registerHisto(Form("OCC_OccupancyChipStave_Layer_%d", aLayer), servername);
0059 cl->registerHisto(Form("FHR_NoisyChipStave_Layer%d", aLayer), servername);
0060 }
0061
0062
0063 cl->registerHisto("FHR_ErrorVsFeeid", servername);
0064 cl->registerHisto("MVTXMON_General_Noisy_Pixel", servername);
0065 cl->registerHisto("RCDAQ_evt", servername);
0066
0067 for (int mLayer = 0; mLayer < 3; mLayer++)
0068 {
0069 cl->registerHisto(Form("MVTXMON_Occupancy_Layer%d_Layer%dDeadChipPos", mLayer, mLayer), servername);
0070 }
0071
0072 cl->registerHisto("RDHErrors_hfeeRDHErrors", servername);
0073
0074 }
0075
0076
0077 CreateSubsysHostlist("mvtx_hosts.list", online);
0078
0079 for (auto iter = mvtxmon->ServerBegin(); iter != mvtxmon->ServerEnd(); ++iter)
0080 {
0081 cl->requestHistoBySubSystem(iter->c_str(), 1);
0082 }
0083
0084 cl->registerDrawer(mvtxmon);
0085 }
0086
0087 void mvtxDraw(const char *what = "ALL")
0088 {
0089 OnlMonClient *cl = OnlMonClient::instance();
0090 OnlMonDraw *mvtxmon = cl->GetDrawer("MVTXMONDRAW");
0091 for (auto iter = mvtxmon->ServerBegin(); iter != mvtxmon->ServerEnd(); ++iter)
0092 {
0093 cl->requestHistoBySubSystem(iter->c_str(), 1);
0094 }
0095 cl->Draw("MVTXMONDRAW", what);
0096 }
0097
0098 void mvtxSavePlot()
0099 {
0100 OnlMonClient *cl = OnlMonClient::instance();
0101 cl->SavePlot("MVTXMONDRAW");
0102 return;
0103 }
0104
0105 void mvtxHtml()
0106 {
0107 OnlMonClient *cl = OnlMonClient::instance();
0108 cl->MakeHtml("MVTXMONDRAW");
0109 return;
0110 }