Back to home page

sPhenix code displayed by LXR

 
 

    


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 //const std::string DrawerName = "TPCMONDRAW";
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; // 5 minutes
0015 
0016 void tpcDrawInit(const int online = 0)
0017 {
0018   OnlMonClient *cl = OnlMonClient::instance();
0019   OnlMonDraw *tpcmon = new TpcMonDraw("TPCMONDRAW");  // create Drawing Object
0020   // register histos we want with monitor name
0021 
0022   // TPC ADC pie chart
0023   for (int serverid = 0; serverid < 48; serverid++)
0024   {
0025     std::string servername = "TPCMON_" + std::to_string(serverid);
0026     tpcmon->AddServer(servername);
0027     //std::cout<<"You registered the NSIDEADC/SSIDEADC "<<i<<" histo"<<std::endl;
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   // for local host, just call tpcDrawInit(2)
0121   CreateSubsysHostlist("tpc_hosts.list", online);
0122 
0123   cl->registerDrawer(tpcmon);             // register with client framework
0124 }
0125 
0126 void tpcDraw(const char *what = "ALL")
0127 {
0128   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0129   if (std::time(nullptr) - lastupdate > max_time_to_last_update)
0130     {
0131       OnlMonDraw *tpcmon = cl->GetDrawer("TPCMONDRAW");  // get pointer to this drawer
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);                     // Draw Histos of registered Drawers
0139 }
0140 
0141 void tpcSavePlot()
0142 {
0143   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0144   cl->SavePlot("TPCMONDRAW");                         // Save Plots
0145   return;
0146 }
0147 
0148 void tpcHtml()
0149 {
0150   OnlMonClient *cl = OnlMonClient::instance();  // get pointer to framewrk
0151   cl->MakeHtml("TPCMONDRAW");                       // Create html output
0152   return;
0153 }
0154 
0155 void tpcFetchHistos()
0156 {
0157   lastupdate = 0;
0158   return;
0159 }