File indexing completed on 2026-04-05 08:16:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #include <onlmon/Poms.h>
0011 #include <onlmon/OnlMonClient.h>
0012
0013 R__LOAD_LIBRARY(libpoms.so)
0014 R__LOAD_LIBRARY(libonlmonclient.so)
0015
0016 void StartPoms()
0017 {
0018 OnlMonClient *cl = OnlMonClient::instance();
0019 cl->ReadServerHistoMap();
0020 PomsMainFrame *pmf;
0021 pmf = PomsMainFrame::Instance();
0022
0023
0024
0025 SubSystem *subsys = nullptr;
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 subsys = new SubSystem("CEMC", "cemc");
0043 subsys->AddAction("cemcDraw(\"FIRST\")", "Towers");
0044 subsys->AddAction("cemcDraw(\"SECOND\")", "Packet Decoder Status [Expert]");
0045 subsys->AddAction("cemcDraw(\"THIRD\")", "Wave Forms");
0046 subsys->AddAction("cemcDraw(\"FIFTH\")", "Trigger [Expert]");
0047 subsys->AddAction("cemcDraw(\"ALLTRIGHITS\")", "All Trigger Tower Hits");
0048 subsys->AddAction("cemcDraw(\"SEVENTH\")", "Zero-suppression info");
0049 subsys->AddAction("cemcDraw(\"ALLTRIGZS\")", "All Trigger ZS info");
0050 subsys->AddAction("cemcDraw(\"BADCHI2\")", "Bad Chi2 Towers [Expert]");
0051 subsys->AddAction("cemcDraw(\"NOISERMS\")", "tower prepost RMS");
0052 subsys->AddAction("cemcDraw(\"SERVERSTATS\")", "Server Stats");
0053 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0054 pmf->RegisterSubSystem(subsys);
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064 subsys = new SubSystem("GL1", "gl1");
0065 subsys->AddAction("gl1Draw(\"SCALED\")", "Scaled Triggers");
0066 subsys->AddAction("gl1Draw(\"LIVE\")", "Live Triggers [Expert]");
0067 subsys->AddAction("gl1Draw(\"REJECTION\")", "Rejection [Expert]");
0068 subsys->AddAction("gl1Draw(\"TIMETOLASTEVENT\")", "Time to Prev Evts [Expert]");
0069 subsys->AddAction("gl1Draw(\"SERVERSTATS\")", "Server Stats");
0070 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0071 pmf->RegisterSubSystem(subsys);
0072
0073 subsys = new SubSystem("Inner HCAL", "ihcal");
0074 subsys->AddAction("ihcalDraw(\"FIRST\")", "Towers");
0075
0076 subsys->AddAction("ihcalDraw(\"THIRD\")", "Wave Form");
0077
0078
0079 subsys->AddAction("ihcalDraw(\"FIFTH\")", "Trigger [Expert]");
0080 subsys->AddAction("ihcalDraw(\"SIXTH\")", "Tower Status [Expert]");
0081 subsys->AddAction("ihcalDraw(\"ALLTRIGHITS\")", "All Trigger Tower Hits");
0082 subsys->AddAction("ihcalDraw(\"SEVENTH\")", "Zero-suppression info");
0083 subsys->AddAction("ihcalDraw(\"ALLTRIGZS\")", "All Trigger ZS info");
0084 subsys->AddAction("ihcalDraw(\"SERVERSTATS\")", "Server Stats");
0085 subsys->AddAction("ihcalDraw(\"NOISERMS\")", "tower prepost RMS");
0086 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0087 pmf->RegisterSubSystem(subsys);
0088
0089 subsys = new SubSystem("Outer HCAL", "ohcal");
0090 subsys->AddAction("ohcalDraw(\"FIRST\")", "Towers");
0091
0092 subsys->AddAction("ohcalDraw(\"THIRD\")", "Wave Form");
0093
0094 subsys->AddAction("ohcalDraw(\"FIFTH\")", "Trigger [Expert]");
0095 subsys->AddAction("ohcalDraw(\"SIXTH\")", "Tower Status [Expert]");
0096 subsys->AddAction("ohcalDraw(\"ALLTRIGHITS\")", "All Trigger Tower Hits");
0097 subsys->AddAction("ohcalDraw(\"SEVENTH\")", "Zero-suppression info");
0098
0099 subsys->AddAction("ohcalDraw(\"ALLTRIGZS\")", "All Trigger ZS info");
0100 subsys->AddAction("ohcalDraw(\"SERVERSTATS\")", "Server Stats");
0101 subsys->AddAction("ohcalDraw(\"NOISERMS\")", "tower prepost RMS");
0102 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0103 pmf->RegisterSubSystem(subsys);
0104
0105 subsys = new SubSystem("INTT", "intt");
0106
0107 subsys->AddAction("inttDraw(\"chip_hitmap\")", "Chip Hitmap");
0108 subsys->AddAction("inttDraw(\"bco_diff\")", "BCO Diff (Triggered) [Expert]");
0109 subsys->AddAction("inttDraw(\"zoomed_fphx_bco\")", "Zoomed Fphx BCO (Streaming)");
0110
0111 subsys->AddAction("inttDraw(\"fphx_bco\")", "Fphx BCO (Streaming) [Expert]");
0112 subsys->AddAction("inttDraw(\"hitrates\")", "Hitrates [Expert]");
0113 subsys->AddAction("inttDraw(\"SERVERSTATS\")", "Server Stats");
0114 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0115 pmf->RegisterSubSystem(subsys);
0116
0117 subsys = new SubSystem("Local Level 1", "ll1");
0118 subsys->AddAction("ll1Draw(\"FIRST\")", "Hits");
0119 subsys->AddAction("ll1Draw(\"SECOND\")", "Hits Correlation");
0120 subsys->AddAction("ll1Draw(\"THIRD\")", "Hits Lineup");
0121 subsys->AddAction("ll1Draw(\"FOURTH\")", "EMCAL LL1 - Photon");
0122 subsys->AddAction("ll1Draw(\"FIFTH\")", "Jet Input - HCAL");
0123 subsys->AddAction("ll1Draw(\"SIXTH\")", "Jet LL1");
0124 subsys->AddAction("ll1Draw(\"SEVENTH\")", "EMCAL 2x2 Sums");
0125 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0126 pmf->RegisterSubSystem(subsys);
0127
0128 subsys = new SubSystem("MVTX", "mvtx");
0129 subsys->AddAction("mvtxDraw(\"GENERAL\")", "General Monitor");
0130 subsys->AddAction("mvtxDraw(\"FEE\")", "FEE");
0131 subsys->AddAction("mvtxDraw(\"FHR\")", "FHR");
0132 subsys->AddAction("mvtxDraw(\"OCC\")", "OCC");
0133 subsys->AddAction("mvtxDraw(\"SERVERSTATS\")", "Server Stats");
0134 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0135 pmf->RegisterSubSystem(subsys);
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157 subsys = new SubSystem("TPC EXPERT", "tpc");
0158 subsys->AddAction("tpcFetchHistos()", "Fetch Fresh Tpc Histos");
0159 subsys->AddAction("tpcDraw(\"TPCMODULE\")", "TPC SUM[ADC]");
0160 subsys->AddAction("tpcDraw(\"TPCSAMPLESIZE\")", "TPC Sample Size");
0161 subsys->AddAction("tpcDraw(\"TPCCHECKSUMERROR\")", "TPC Checksum Error Prob.");
0162 subsys->AddAction("tpcDraw(\"TPCPARITYERROR\")", "TPC Parity Error Prob.");
0163 subsys->AddAction("tpcDraw(\"TPCADCVSSAMPLE\")", "TPC ADC vs. Sample");
0164 subsys->AddAction("tpcDraw(\"TPCADCVSSAMPLELARGE\")", "TPC ADC vs. Large Sample");
0165 subsys->AddAction("tpcDraw(\"TPCMAXADCMODULE\")", "TPC MAX10ADC-Pedestal 1D");
0166 subsys->AddAction("tpcDraw(\"TPCRAWADC1D\")", "TPC RAW ADC 1D");
0167 subsys->AddAction("tpcDraw(\"TPCPEDESTSUBADC1D\")", "TPC RAWADC-Pedestal 1D");
0168 subsys->AddAction("tpcDraw(\"TPCMAXADC1D\")", "TPC (WindowMAX-Pedestal) ADC 1D");
0169 subsys->AddAction("tpcDraw(\"TPCCLUSTERSXYWEIGTHED\")", "TPC Cluster XY MaxADC-Pedestal,w");
0170 subsys->AddAction("tpcDraw(\"TPCCLUSTERSXYUNWEIGTHED\")", "TPC Cluster XY MaxADC-Pedestal,u");
0171 subsys->AddAction("tpcDraw(\"TPCCLUSTERSZYWEIGTHED\")", "TPC Cluster ZY MaxADC-Pedestal,w");
0172 subsys->AddAction("tpcDraw(\"TPCCLUSTERSZYUNWEIGTHED\")", "TPC Cluster ZY MaxADC-Pedestal,u");
0173 subsys->AddAction("tpcDraw(\"TPCLASERCLUSTERSXYWEIGTHED\")", "TPC DIFF. LASER Cluster XY MaxADC-Pedestal,w");
0174 subsys->AddAction("tpcDraw(\"TPCCLUSTERS5EXYUNWEIGTHED\")", "TPC Cluster XY <= 5 Events MaxADC-Pedestal,u");
0175 subsys->AddAction("tpcDraw(\"TPCCHANNELPHI_LAYER_WEIGHTED\")", "TPC ChannelPhi vs Layer vs Pedest Sub. ADC,w");
0176 subsys->AddAction("tpcDraw(\"TPCNEVENTSEBDC\")", "TPC NEvents vs EBDC");
0177 subsys->AddAction("tpcDraw(\"TPCPEDESTSUBADCVSSAMPLE\")", "TPC Pedest Sub. ADC vs Sample");
0178 subsys->AddAction("tpcDraw(\"TPCPEDESTSUBADCVSSAMPLE_R1\")", "TPC Pedest Sub. ADC vs Sample R1 ONLY");
0179 subsys->AddAction("tpcDraw(\"TPCPEDESTSUBADCVSSAMPLE_R2\")", "TPC Pedest Sub. ADC vs Sample R2 ONLY");
0180 subsys->AddAction("tpcDraw(\"TPCPEDESTSUBADCVSSAMPLE_R3\")", "TPC Pedest Sub. ADC vs Sample R3 ONLY");
0181 subsys->AddAction("tpcDraw(\"TPCNSTREAKERSVSEVENTNO\")", "TPC HORIZONTALS MONITOR ");
0182 subsys->AddAction("tpcDraw(\"TPCDRIFTWINDOW\")", "TPC DRIFT WINDOW PLOTS");
0183 subsys->AddAction("tpcDraw(\"TPCSTUCKCHANNELS\")", "TPC Stuck Channels in FEE");
0184 subsys->AddAction("tpcDraw(\"TPCCHANSINPACKETNS\")", "TPC NS Chan. Per Packet per RCDAQ EVENT");
0185 subsys->AddAction("tpcDraw(\"TPCCHANSINPACKETSS\")", "TPC SS Chan. Per Packet per RCDAQ EVENT");
0186 subsys->AddAction("tpcDraw(\"TPCNONZSCHANNELS\")", "TPC Non-ZS channels Per SAMPA chip");
0187 subsys->AddAction("tpcDraw(\"TPCZSTRIGGERADCVSSAMPLE\")", "TPC ZS trigger threshold QA");
0188 subsys->AddAction("tpcDraw(\"TPCFIRSTNONZSADCVSFIRSTNONZSSAMPLE\")", "TPC 1st nonZS ADC vs 1st nonZS Sample");
0189 subsys->AddAction("tpcDraw(\"TPCPACKETYPEFRACTION\")", "TPC PACKET TYPE WF FRACTION");
0190 subsys->AddAction("tpcDraw(\"TPCPACKETTYPEVSSAMPLEADC\")", "TPC PACKET TYPE vs SAMPLE wtd. by ADC");
0191 subsys->AddAction("tpcDraw(\"SERVERSTATS\")", "Server Stats");
0192 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0193 pmf->RegisterSubSystem(subsys);
0194
0195 subsys = new SubSystem("TPC SHIFTER", "tpc");
0196 subsys->AddAction("tpcFetchHistos()", "Fetch Fresh Tpc Histos");
0197 subsys->AddAction("tpcDraw(\"SHIFTER_DRIFT_PLOT\")", "SHIFTER TPC DRIFT");
0198 subsys->AddAction("tpcDraw(\"TPCCLUSTERSXYWEIGTHED\")", "SHIFTER TPC ACCEPTANCE");
0199 subsys->AddAction("tpcDraw(\"SHIFTER_TRANSMISSION_PLOT\")", "SHIFTER TPC TRANSMISSION");
0200 subsys->AddAction("tpcDraw(\"TPCDCVSSAMPA\")", "SHIFTER TPC DIGITAL CURRENT");
0201 subsys->AddAction("tpcDraw(\"TPCCHANSPERLVL1NS\")", "SHIFTER TPC NS OCCUP.");
0202 subsys->AddAction("tpcDraw(\"TPCCHANSPERLVL1SS\")", "SHIFTER TPC SS OCCUP.");
0203 subsys->AddAction("tpcDraw(\"SERVERSTATS\")", "Server Stats");
0204 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0205 pmf->RegisterSubSystem(subsys);
0206
0207 subsys = new SubSystem("TPC DIGITAL CURRENT", "tpc");
0208 subsys->AddAction("tpcFetchHistos()", "Fetch Fresh Tpc Histos");
0209 subsys->AddAction("tpcDraw(\"TPCDCVSSAMPA\")", "TPC DIGITAL CURRENT VS SAMPA");
0210 subsys->AddAction("tpcDraw(\"TPCDCSAMPAVSTIME\")", "TPC SAMPA VS TIME WTD. BY DC");
0211 subsys->AddAction("tpcDraw(\"SERVERSTATS\")", "Server Stats");
0212 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0213 pmf->RegisterSubSystem(subsys);
0214
0215 subsys = new SubSystem("TPOT", "tpot");
0216 subsys->AddAction("tpotDraw(\"TPOT_counts_vs_sample\")", "Counts vs Sample");
0217 subsys->AddAction("tpotDraw(\"TPOT_hit_charge\")", "Hit Charge");
0218 subsys->AddAction("tpotDraw(\"TPOT_hit_vs_channel\")", "Hit vs Strip");
0219 subsys->AddAction("tpotDraw(\"TPOT_counters\")", "Event counters [EXPERT]");
0220 subsys->AddAction("tpotDraw(\"TPOT_heartbeat_vs_channel\")", "Heartbit vs sampa [EXPERT]");
0221 subsys->AddAction("tpotDraw(\"TPOT_waveform_vs_channel\")", "Waveform vs Strip [EXPERT]");
0222 subsys->AddAction("tpotDraw(\"TPOT_detector_occupancy\")", "Detector Occupancy [EXPERT]");
0223 subsys->AddAction("tpotDraw(\"TPOT_resist_occupancy\")", "Resist Occupnacy [EXPERT]");
0224 subsys->AddAction("tpotDraw(\"TPOT_adc_vs_sample\")", "ADC vs Sample [EXPERT]");
0225 subsys->AddAction("tpotDraw(\"TPOT_sample_vs_channel\")", "Sample vs Channel [EXPERT]");
0226 subsys->AddAction("tpotDraw(\"TPOT_adc_vs_channel\")", "ADC vs Strip [EXPERT]");
0227 subsys->AddAction("tpotDraw(\"TPOT_hit_multiplicity\")", "Hit Multiplicity [EXPERT]");
0228 subsys->AddAction("tpotDraw(\"TPOT_server_stats\")", "Server Stats");
0229 subsys->AddAction(new SubSystemActionSavePlot(subsys));
0230 pmf->RegisterSubSystem(subsys);
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267 pmf->Draw();
0268 }
0269
0270 void listCanvases()
0271 {
0272 TSeqCollection* allCanvases = gROOT->GetListOfCanvases();
0273 for (int i = 0; i<allCanvases->GetEntries(); i++)
0274 {
0275 cout << allCanvases->At(i)->GetName() << endl;
0276 }
0277 }