Back to home page

sPhenix code displayed by LXR

 
 

    


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 //const std::string DrawerName = "MVTXMONDRAW";
0008 
0009 // cppcheck-suppress unknownMacro
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");  // create Drawing Object
0016   // register histos we want with monitor name
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     // FEE
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     // raw task
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     // fhr
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   // for local host, just call mvtxDrawInit(2)
0078   CreateSubsysHostlist("mvtx_hosts.list", online);
0079   // says I know they are all on the same node
0080   for (auto iter = mvtxmon->ServerBegin(); iter != mvtxmon->ServerEnd(); ++iter)
0081   {
0082     cl->requestHistoBySubSystem(iter->c_str(), 1);
0083   }
0084 
0085   cl->registerDrawer(mvtxmon);  // register with client framework
0086 }
0087 
0088 void mvtxDraw(const char *what = "ALL")
0089 {
0090   OnlMonClient *cl = OnlMonClient::instance();         // get pointer to framewrk
0091   OnlMonDraw *mvtxmon = cl->GetDrawer("MVTXMONDRAW");  // get pointer to this drawer
0092   for (auto iter = mvtxmon->ServerBegin(); iter != mvtxmon->ServerEnd(); ++iter)
0093   {
0094     cl->requestHistoBySubSystem(iter->c_str(), 1);
0095   }
0096   cl->Draw("MVTXMONDRAW", what);  // Draw Histos of registered Drawers
0097 }
0098 
0099 void mvtxSavePlot()
0100 {
0101   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0102   cl->SavePlot("MVTXMONDRAW");                  // Save Plots
0103   return;
0104 }
0105 
0106 void mvtxHtml()
0107 {
0108   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0109   cl->MakeHtml("MVTXMONDRAW");                  // Create html output
0110   return;
0111 }