Back to home page

sPhenix code displayed by LXR

 
 

    


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