Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:54

0001 // Phenix Online Monitoring System
0002 //
0003 // Macro loader for starting Online Monitoring GUI Framework
0004 //
0005 // Author:  Cody McCain (mcm99c@acu.edu)
0006 // Date:    January 2, 2003
0007 //
0008 // See run_Poms.C.README
0009 
0010 #include <onlmon/Poms.h>
0011 #include <onlmon/OnlMonClient.h>
0012 
0013 // cppcheck-suppress unknownMacro
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   // Register SubSystems
0025   //  pmf->RegisterSubSystem("EXAMPLE", "example");
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   //  subsys->AddAction("bbcDraw(\"BbcAutoUpdate\")", "MBD VTX Auto Update");
0036   //  subsys->AddAction("bbcDraw(\"BADGL1\")", "MBD TOGGLE IGNORE GL1 MISS");
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   // subsys = new SubSystem("DAQ", "daq");
0056   // subsys->AddAction("daqDraw(\"FIRST\")", "Calo-GL1 Check");
0057   // subsys->AddAction("daqDraw(\"SECOND\")", "Calo FEM Check");
0058   // subsys->AddAction("daqDraw(\"SERVERSTATS\")", "Server Stats");
0059   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0060   // pmf->RegisterSubSystem(subsys);
0061 
0062   subsys = new SubSystem("Inner HCAL", "ihcal");
0063   subsys->AddAction("ihcalDraw(\"FIRST\")", "Towers");
0064   //subsys->AddAction("ihcalDraw(\"SECOND\")", "Sector Average [Expert]");
0065   subsys->AddAction("ihcalDraw(\"THIRD\")", "Wave Form");
0066   //subsys->AddAction("ihcalDraw(\"FOURTH\")", "Packet Health [Expert]");
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   //subsys->AddAction("ohcalDraw(\"SECOND\")", "Sector Average [Expert]");
0080   subsys->AddAction("ohcalDraw(\"THIRD\")", "Wave Form");
0081   //subsys->AddAction("ohcalDraw(\"FOURTH\")", "Packet Health [Expert]");
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 //  subsys->AddAction("inttDraw(\"zoomed_fphx_bco\")", "Zoomed Fphx BCO (Streaming)");
0096   subsys->AddAction("inttDraw(\"history\")", "Decoding Rate");
0097 //  subsys->AddAction("inttDraw(\"fphx_bco\")", "Fphx BCO (Streaming) [Expert]");
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   // subsys = new SubSystem("SPIN", "spin");
0135   // subsys->AddAction("spinDraw(\"FIRST\")", "Spin");
0136   // subsys->AddAction("spinDraw(\"SECOND\")", "GL1p");
0137   // subsys->AddAction("spinDraw(\"THIRD\")", "Abort Gap");
0138   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0139   // pmf->RegisterSubSystem(subsys);
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   // subsys = new SubSystem("LOCALPOL", "localpol");
0224   // subsys->AddAction("localpolDraw(\"FIRST\")", "Asymmetries [expert]");
0225   // subsys->AddAction("localpolDraw(\"SECOND\")", "Polarisation direction [expert]");
0226   // subsys->AddAction("localpolDraw(\"THIRD\")", "Spin pattern [expert]");
0227   // subsys->AddAction("localpolDraw(\"FOURTH\")", "Trigger [expert]");
0228   // subsys->AddAction("localpolDraw(\"FIFTH\")", "SMD [expert]");
0229   // subsys->AddAction("localpolDraw(\"SIXTH\")", "waveforms [expert]");
0230   // subsys->AddAction("localpolDraw(\"SEVENTH\")", "ZDC/GL1 matching [expert]");
0231   // subsys->AddAction("localpolDraw(\"EIGHTH\")", "SMD 2D distributions [expert]");
0232   // subsys->AddAction("localpolDraw(\"NINTH\")", "SMD 2D distributions [expert]");
0233   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0234   // pmf->RegisterSubSystem(subsys);
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 }