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