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