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/cemc/CemcMonDraw.h>
0004 
0005 #include <onlmon/OnlMonClient.h>
0006 
0007 // cppcheck-suppress unknownMacro
0008 R__LOAD_LIBRARY(libonlcemcmon_client.so)
0009 const int nServers = 16;
0010   //call with online > 1 if you want to just use the localhost
0011 void cemcDrawInit(const int online = 0)
0012 {
0013   OnlMonClient *cl = OnlMonClient::instance();
0014   cl->Verbosity(0);
0015   CemcMonDraw *cemcmon = new CemcMonDraw("CEMCMONDRAW");  // create Drawing Object
0016   cemcmon->setSave(0);
0017   // register histos we want with monitor name
0018   
0019   for(int serverid = 0; serverid < nServers; serverid++)
0020     {
0021       std::string servername = "CEMCMON_" + std::to_string(serverid);
0022       cemcmon->AddServer(servername);
0023       cl->registerHisto("h2_cemc_hits", servername.c_str());
0024       for(int itrig = 0; itrig < 64; itrig++)
0025       {
0026         cl->registerHisto(Form("h2_cemc_hits_trig_bit_%d", itrig), servername.c_str());
0027       }
0028       cl->registerHisto("p2_zsFrac_etaphi"  , servername.c_str());
0029       cl->registerHisto("p2_zsFrac_etaphi_all", servername.c_str());
0030       cl->registerHisto("p2_bad_chi2", servername.c_str());
0031       cl->registerHisto("h1_cemc_trig", servername.c_str());
0032       cl->registerHisto("h_evtRec", servername.c_str());
0033       cl->registerHisto("h2_cemc_rm", servername.c_str());
0034       cl->registerHisto("h2_cemc_rmhits", servername.c_str());
0035       cl->registerHisto("h2_cemc_rmhits_alltrig", servername.c_str());
0036       cl->registerHisto("h2_cemc_mean", servername.c_str());
0037       cl->registerHisto("h1_event", servername.c_str());
0038       cl->registerHisto("h2_waveform_twrAvg", servername.c_str());
0039       cl->registerHisto("h1_waveform_time", servername.c_str());
0040       cl->registerHisto("h1_waveform_pedestal", servername.c_str());
0041       cl->registerHisto("h1_fitting_sigDiff",servername.c_str());
0042       cl->registerHisto("h1_fitting_pedDiff",servername.c_str());
0043       cl->registerHisto("h1_fitting_timeDiff",servername.c_str());
0044       cl->registerHisto("h1_packet_number",servername.c_str());
0045       cl->registerHisto("h1_packet_length",servername.c_str());
0046       cl->registerHisto("h1_packet_chans",servername.c_str());
0047       cl->registerHisto("h1_cemc_adc",servername.c_str());
0048       cl->registerHisto("p2_pre_post",servername.c_str());
0049     }
0050   CreateSubsysHostlist("cemc_hosts.list", online);
0051   //  get my histos from server, the second parameter = 1
0052   //  says I know they are all on the same node
0053   for (auto iter = cemcmon->ServerBegin(); iter != cemcmon->ServerEnd(); ++iter)
0054   {
0055     cl->requestHistoBySubSystem(iter->c_str(), 1);
0056   }
0057   cl->registerDrawer(cemcmon);  // register with client framework
0058 }
0059 
0060 void cemcDraw(const char *what = "ALL")
0061 {
0062   OnlMonClient *cl = OnlMonClient::instance();         // get pointer to framewrk
0063   OnlMonDraw *cemcmon = cl->GetDrawer("CEMCMONDRAW");  // get pointer to this drawer
0064   for (auto iter = cemcmon->ServerBegin(); iter != cemcmon->ServerEnd(); ++iter)
0065   {
0066     cl->requestHistoBySubSystem(iter->c_str(), 1);
0067   }
0068   cl->Draw("CEMCMONDRAW", what);  // Draw Histos of registered Drawers
0069 }
0070 
0071 void cemcSavePlot()
0072 {
0073   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0074   cl->SavePlot("CEMCMONDRAW");                  // Save Plots
0075   return;
0076 }
0077 
0078 void cemcHtml()
0079 {
0080   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0081   cl->MakeHtml("CEMCMONDRAW");                  // Create html output
0082   return;
0083 }