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
0010 void cemcDrawInit(const int online = 0)
0011 {
0012 OnlMonClient *cl = OnlMonClient::instance();
0013 cl->Verbosity(0);
0014 CemcMonDraw *cemcmon = new CemcMonDraw("CEMCMONDRAW");
0015 cemcmon->setSave(0);
0016
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
0053
0054 for (auto iter = cemcmon->ServerBegin(); iter != cemcmon->ServerEnd(); ++iter)
0055 {
0056 cl->requestHistoBySubSystem(iter->c_str(), 1);
0057 }
0058 cl->registerDrawer(cemcmon);
0059 }
0060
0061 void cemcDraw(const char *what = "ALL")
0062 {
0063 OnlMonClient *cl = OnlMonClient::instance();
0064 OnlMonDraw *cemcmon = cl->GetDrawer("CEMCMONDRAW");
0065 for (auto iter = cemcmon->ServerBegin(); iter != cemcmon->ServerEnd(); ++iter)
0066 {
0067 cl->requestHistoBySubSystem(iter->c_str(), 1);
0068 }
0069 cl->Draw("CEMCMONDRAW", what);
0070 }
0071
0072 void cemcSavePlot()
0073 {
0074 OnlMonClient *cl = OnlMonClient::instance();
0075 cl->SavePlot("CEMCMONDRAW");
0076 return;
0077 }
0078
0079 void cemcHtml()
0080 {
0081 OnlMonClient *cl = OnlMonClient::instance();
0082 cl->MakeHtml("CEMCMONDRAW");
0083 return;
0084 }