Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-07 08:16:10

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