Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-05 08:16:03

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 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   // Register SubSystems
0024   //  pmf->RegisterSubSystem("EXAMPLE", "example");
0025   SubSystem *subsys = nullptr;
0026 
0027   // subsys = new SubSystem("MBD", "bbc");
0028   // subsys->AddAction("bbcDraw(\"FIRST\")", "MBD Vertex Monitor");
0029   // subsys->AddAction("bbcDraw(\"SECOND\")", "MBD Timing Monitor");
0030   // subsys->AddAction("bbcDraw(\"THIRD\")", "MBD Triggered Monitor");
0031   // subsys->AddAction("bbcDraw(\"BbcMon5\")", "Vertex for All Triggers");
0032   // subsys->AddAction("bbcDraw(\"MBD2MCR\")", "MBD TOGGLE VTX TO MCR");
0033   // subsys->AddAction("bbcDraw(\"MBDZRESET\")", "MBD RESET VTX");
0034   // // crashes
0035   // //  subsys->AddAction("bbcDraw(\"BbcMon6\")","Packet Decoder Status");
0036   // //  subsys->AddAction("bbcDraw(\"BbcAutoUpdate\")", "MBD VTX Auto Update");
0037   // //  subsys->AddAction("bbcDraw(\"BADGL1\")", "MBD TOGGLE IGNORE GL1 MISS");
0038   // subsys->AddAction("bbcDraw(\"BbcMonServerStats\")", "MBD Server Stats");
0039   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0040   // pmf->RegisterSubSystem(subsys);
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   // subsys = new SubSystem("DAQ", "daq");
0057   // subsys->AddAction("daqDraw(\"FIRST\")", "Calo-GL1 Check");
0058   // subsys->AddAction("daqDraw(\"SECOND\")", "Calo FEM Check");
0059   // subsys->AddAction("daqDraw(\"SERVERSTATS\")", "Server Stats");
0060   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0061   // pmf->RegisterSubSystem(subsys);
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   //subsys->AddAction("ihcalDraw(\"SECOND\")", "Sector Average [Expert]");
0076   subsys->AddAction("ihcalDraw(\"THIRD\")", "Wave Form");
0077   //subsys->AddAction("ihcalDraw(\"FOURTH\")", "Packet Health [Expert]");
0078   //subsys->AddAction("ihcalDraw(\"EIGHTH\")","Packet Decoder Status");
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   //subsys->AddAction("ohcalDraw(\"SECOND\")", "Sector Average [Expert]");
0092   subsys->AddAction("ohcalDraw(\"THIRD\")", "Wave Form");
0093   //subsys->AddAction("ohcalDraw(\"FOURTH\")", "Packet Health [Expert]");
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   //subsys->AddAction("ohcalDraw(\"EIGHTH\")","Packet Decoder Status");
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   // subsys->AddAction("inttDraw(\"timing_okay\")", "Timing (Triggered)");
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   // subsys->AddAction("inttDraw(\"history\")", "Decoding Rate");
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   // subsys = new SubSystem("SEPD", "sepd");
0138   // subsys->AddAction("sepdDraw(\"FIRST\")", "Average ADC vs Tile (Wheel Plot)");
0139   // subsys->AddAction("sepdDraw(\"SECOND\")", "ADC distributions");
0140   // subsys->AddAction("sepdDraw(\"THIRD_EXP\")", "EXPERT North vs South Correlations");
0141   // subsys->AddAction("sepdDraw(\"THIRD\")", "SHIFT CREW North vs South Correlations");
0142   // subsys->AddAction("sepdDraw(\"FOURTH\")", "Wave Forms");
0143   // subsys->AddAction("sepdDraw(\"FIFTH\")", "Packet Information");
0144   // subsys->AddAction("sepdDraw(\"SIXTH\")", "Noise RMS");
0145   // //subsys->AddAction("sepdDraw(\"SEVENTH\")", "Packet Decoder Status");
0146   // subsys->AddAction("sepdDraw(\"SERVERSTATS\")", "Server Stats");
0147   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0148   // pmf->RegisterSubSystem(subsys);
0149 
0150   // subsys = new SubSystem("SPIN", "spin");
0151   // subsys->AddAction("spinDraw(\"FIRST\")", "Spin");
0152   // subsys->AddAction("spinDraw(\"SECOND\")", "GL1p");
0153   // subsys->AddAction("spinDraw(\"THIRD\")", "Abort Gap");
0154   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0155   // pmf->RegisterSubSystem(subsys);
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   // subsys = new SubSystem("ZDC/SMD", "zdc");
0233   // subsys->AddAction("zdcDraw(\"FIRST\")", "ZDC 1st Monitor");
0234   // subsys->AddAction("zdcDraw(\"SECOND\")", "ZDC 2nd Monitor");
0235   // subsys->AddAction("zdcDraw(\"ZDC_WAVEFORM\")", "ZDC Wave form");
0236   // subsys->AddAction("zdcDraw(\"SMDVALUES\")", "SMD Values");
0237   // subsys->AddAction("zdcDraw(\"SMDN&S\")", "SMD North South");
0238   // subsys->AddAction("zdcDraw(\"SMD_N_IND\")", "SMD North Individual");
0239   // subsys->AddAction("zdcDraw(\"SMD_S_IND\")", "SMD South Individual");
0240   // subsys->AddAction("zdcDraw(\"SMD_MULTIPLICITIES\")", "SMD Multiplicities");
0241   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0242   // pmf->RegisterSubSystem(subsys);
0243 
0244   // subsys = new SubSystem("Spin", "spin");
0245   // subsys->AddAction("spinDraw(\"FIRST\")", "Spin");
0246   // subsys->AddAction("spinDraw(\"SECOND\")", "GL1p");
0247   // subsys->AddAction("spinDraw(\"THIRD\")", "Abort Gap");
0248   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0249   // pmf->RegisterSubSystem(subsys);
0250 
0251 
0252   // subsys = new SubSystem("LOCALPOL", "localpol");
0253   // subsys->AddAction("localpolDraw(\"FIRST\")", "Asymmetries [expert]");
0254   // subsys->AddAction("localpolDraw(\"SECOND\")", "Polarisation direction [expert]");
0255   // subsys->AddAction("localpolDraw(\"THIRD\")", "Spin pattern [expert]");
0256   // subsys->AddAction("localpolDraw(\"FOURTH\")", "Trigger [expert]");
0257   // subsys->AddAction("localpolDraw(\"FIFTH\")", "SMD [expert]");
0258   // subsys->AddAction("localpolDraw(\"SIXTH\")", "waveforms [expert]");
0259   // subsys->AddAction("localpolDraw(\"SEVENTH\")", "ZDC/GL1 matching [expert]");
0260   // subsys->AddAction("localpolDraw(\"EIGHTH\")", "SMD 2D distributions [expert]");
0261   // subsys->AddAction("localpolDraw(\"NINTH\")", "SMD 2D distributions [expert]");
0262   // subsys->AddAction(new SubSystemActionSavePlot(subsys));
0263   // pmf->RegisterSubSystem(subsys);
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 }