File indexing completed on 2026-04-05 08:16:03
0001 #include "CommonFuncs.C"
0002
0003 #include <onlmon/tpc/TpcMonDraw.h>
0004
0005 #include <onlmon/OnlMonClient.h>
0006
0007
0008
0009 R__LOAD_LIBRARY(libonltpcmon_client.so)
0010
0011 void tpcFetchHistos();
0012
0013 time_t lastupdate {0};
0014 time_t max_time_to_last_update = 5*60;
0015
0016 void tpcDrawInit(const int online = 0)
0017 {
0018 OnlMonClient *cl = OnlMonClient::instance();
0019 OnlMonDraw *tpcmon = new TpcMonDraw("TPCMONDRAW");
0020
0021
0022
0023 for (int serverid = 0; serverid < 48; serverid++)
0024 {
0025 std::string servername = "TPCMON_" + std::to_string(serverid);
0026 tpcmon->AddServer(servername);
0027
0028
0029 cl->registerHisto("NorthSideADC", servername);
0030
0031 cl->registerHisto("NorthSideADC_clusterXY_R1", servername);
0032 cl->registerHisto("NorthSideADC_clusterXY_R2", servername);
0033 cl->registerHisto("NorthSideADC_clusterXY_R3", servername);
0034
0035 cl->registerHisto("NorthSideADC_clusterXY_R1_LASER", servername);
0036 cl->registerHisto("NorthSideADC_clusterXY_R2_LASER", servername);
0037 cl->registerHisto("NorthSideADC_clusterXY_R3_LASER", servername);
0038
0039 cl->registerHisto("NorthSideADC_clusterXY_R1_u5", servername);
0040 cl->registerHisto("NorthSideADC_clusterXY_R2_u5", servername);
0041 cl->registerHisto("NorthSideADC_clusterXY_R3_u5", servername);
0042
0043 cl->registerHisto("NorthSideADC_clusterXY_R1_unw", servername);
0044 cl->registerHisto("NorthSideADC_clusterXY_R2_unw", servername);
0045 cl->registerHisto("NorthSideADC_clusterXY_R3_unw", servername);
0046
0047 cl->registerHisto("SouthSideADC", servername);
0048
0049 cl->registerHisto("SouthSideADC_clusterXY_R1", servername);
0050 cl->registerHisto("SouthSideADC_clusterXY_R2", servername);
0051 cl->registerHisto("SouthSideADC_clusterXY_R3", servername);
0052
0053 cl->registerHisto("SouthSideADC_clusterXY_R1_LASER", servername);
0054 cl->registerHisto("SouthSideADC_clusterXY_R2_LASER", servername);
0055 cl->registerHisto("SouthSideADC_clusterXY_R3_LASER", servername);
0056
0057 cl->registerHisto("SouthSideADC_clusterXY_R1_u5", servername);
0058 cl->registerHisto("SouthSideADC_clusterXY_R2_u5", servername);
0059 cl->registerHisto("SouthSideADC_clusterXY_R3_u5", servername);
0060
0061 cl->registerHisto("SouthSideADC_clusterXY_R1_unw", servername);
0062 cl->registerHisto("SouthSideADC_clusterXY_R2_unw", servername);
0063 cl->registerHisto("SouthSideADC_clusterXY_R3_unw", servername);
0064
0065 cl->registerHisto("sample_size_hist",servername);
0066 cl->registerHisto("Check_Sum_Error",servername);
0067 cl->registerHisto("Parity_Error",servername);
0068 cl->registerHisto("Check_Sums",servername);
0069 cl->registerHisto("Stuck_Channels",servername);
0070 cl->registerHisto("Channels_in_Packet",servername);
0071 cl->registerHisto("Channels_Always",servername);
0072 cl->registerHisto("LVL_1_TAGGER_per_EBDC",servername);
0073 cl->registerHisto("Num_non_ZS_channels_vs_SAMPA",servername);
0074 cl->registerHisto("First_ADC_vs_First_Time_Bin",servername);
0075 cl->registerHisto("ZS_Trigger_ADC_vs_Sample",servername);
0076 cl->registerHisto("ADC_vs_SAMPLE",servername);
0077 cl->registerHisto("ADC_vs_SAMPLE_large",servername);
0078 cl->registerHisto("PEDEST_SUB_ADC_vs_SAMPLE",servername);
0079 cl->registerHisto("PEDEST_SUB_ADC_vs_SAMPLE_R1",servername);
0080 cl->registerHisto("PEDEST_SUB_ADC_vs_SAMPLE_R2",servername);
0081 cl->registerHisto("PEDEST_SUB_ADC_vs_SAMPLE_R3",servername);
0082 cl->registerHisto("MAXADC",servername);
0083
0084 cl->registerHisto("RAWADC_1D_R1",servername);
0085 cl->registerHisto("MAXADC_1D_R1",servername);
0086 cl->registerHisto("PEDEST_SUB_1D_R1",servername);
0087 cl->registerHisto("COUNTS_vs_SAMPLE_1D_R1",servername);
0088 cl->registerHisto("RAWADC_1D_R2",servername);
0089 cl->registerHisto("MAXADC_1D_R2",servername);
0090 cl->registerHisto("PEDEST_SUB_1D_R2",servername);
0091 cl->registerHisto("COUNTS_vs_SAMPLE_1D_R2",servername);
0092 cl->registerHisto("RAWADC_1D_R3",servername);
0093 cl->registerHisto("MAXADC_1D_R3",servername);
0094 cl->registerHisto("PEDEST_SUB_1D_R3",servername);
0095 cl->registerHisto("COUNTS_vs_SAMPLE_1D_R3",servername);
0096
0097 cl->registerHisto("NorthSideADC_clusterZY", servername);
0098 cl->registerHisto("SouthSideADC_clusterZY", servername);
0099
0100 cl->registerHisto("NorthSideADC_clusterZY_unw",servername);
0101 cl->registerHisto("SouthSideADC_clusterZY_unw",servername);
0102
0103 cl->registerHisto("Layer_ChannelPhi_ADC_weighted",servername);
0104 cl->registerHisto("NEvents_vs_EBDC",servername);
0105 cl->registerHisto("NStreaks_vs_EventNo",servername);
0106
0107 cl->registerHisto("Packet_Type_Fraction_HB",servername);
0108 cl->registerHisto("Packet_Type_Fraction_NORM",servername);
0109 cl->registerHisto("Packet_Type_Fraction_ELSE",servername);
0110 cl->registerHisto("Packet_Type_vs_sample_ADC",servername);
0111
0112 cl->registerHisto("Noise_Channel_Plots",servername);
0113
0114 cl->registerHisto("DC_vs_SAMPA",servername);
0115 cl->registerHisto("DC_SAMPA_vs_TIME",servername);
0116 }
0117
0118
0119
0120
0121 CreateSubsysHostlist("tpc_hosts.list", online);
0122
0123 cl->registerDrawer(tpcmon);
0124 }
0125
0126 void tpcDraw(const char *what = "ALL")
0127 {
0128 OnlMonClient *cl = OnlMonClient::instance();
0129 if (std::time(nullptr) - lastupdate > max_time_to_last_update)
0130 {
0131 OnlMonDraw *tpcmon = cl->GetDrawer("TPCMONDRAW");
0132 for (auto iter = tpcmon->ServerBegin(); iter != tpcmon->ServerEnd(); ++iter)
0133 {
0134 cl->requestHistoBySubSystem(iter->c_str(), 1);
0135 }
0136 lastupdate = std::time(nullptr);
0137 }
0138 cl->Draw("TPCMONDRAW", what);
0139 }
0140
0141 void tpcSavePlot()
0142 {
0143 OnlMonClient *cl = OnlMonClient::instance();
0144 cl->SavePlot("TPCMONDRAW");
0145 return;
0146 }
0147
0148 void tpcHtml()
0149 {
0150 OnlMonClient *cl = OnlMonClient::instance();
0151 cl->MakeHtml("TPCMONDRAW");
0152 return;
0153 }
0154
0155 void tpcFetchHistos()
0156 {
0157 lastupdate = 0;
0158 return;
0159 }