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