File indexing completed on 2026-04-07 08:16:10
0001 #define ONLINE
0002 #include <onlmon/bbc/BbcMonDraw.h>
0003 #include <onlmon/cemc/CemcMonDraw.h>
0004
0005 #include <onlmon/gl1/GL1MonDraw.h>
0006 #include <onlmon/hcal/HcalMonDraw.h>
0007 #include <onlmon/intt/InttMonDraw.h>
0008 #include <onlmon/ll1/LL1MonDraw.h>
0009
0010 #include <onlmon/mvtx/MvtxMonDraw.h>
0011 #include <onlmon/sepd/SepdMonDraw.h>
0012 #include <onlmon/spin/SpinMonDraw.h>
0013 #include <onlmon/tpc/TpcMonDraw.h>
0014 #include <onlmon/tpot/TpotMonDraw.h>
0015 #include <onlmon/zdc/ZdcMonDraw.h>
0016
0017 #include <onlmon/OnlMonClient.h>
0018
0019
0020 R__LOAD_LIBRARY(libonlbbcmon_client.so)
0021
0022 R__LOAD_LIBRARY(libonlcemcmon_client.so)
0023
0024
0025
0026 R__LOAD_LIBRARY(libonlgl1mon_client.so)
0027 R__LOAD_LIBRARY(libonlhcalmon_client.so)
0028
0029 R__LOAD_LIBRARY(libonlinttmon_client.so)
0030
0031 R__LOAD_LIBRARY(libonlll1mon_client.so)
0032
0033
0034
0035 R__LOAD_LIBRARY(libonlmvtxmon_client.so)
0036
0037 R__LOAD_LIBRARY(libonlsepdmon_client.so)
0038
0039 R__LOAD_LIBRARY(libonlspinmon_client.so)
0040
0041 R__LOAD_LIBRARY(libonltpcmon_client.so)
0042
0043 R__LOAD_LIBRARY(libonltpotmon_client.so)
0044
0045 R__LOAD_LIBRARY(libonlzdcmon_client.so)
0046
0047 void makehtml(const std::string &filelist, const std::string &subsystem, int test = 0)
0048 {
0049 OnlMonClient *cl = OnlMonClient::instance();
0050 OnlMonDraw *drawer = nullptr;
0051 std::cout << "If used with root.exe, use root.exe -q makehtml.C" << endl;
0052 std::cout << "If you use -q it is batch which does not have an Xserver"
0053 << " to create gifs/png and this macro will fail miserably" << std::endl;
0054 if (subsystem == "BBCMON")
0055 {
0056 drawer = new BbcMonDraw("BBCMONDRAW");
0057 }
0058 else if (subsystem == "CEMCMON")
0059 {
0060 drawer = new CemcMonDraw("CEMCMONDRAW");
0061 }
0062
0063
0064
0065
0066 else if (subsystem == "GL1MON")
0067 {
0068 drawer = new GL1MonDraw("GL1MONDRAW");
0069 }
0070 else if (subsystem == "IHCALMON")
0071 {
0072 drawer = new HcalMonDraw("IHCALMONDRAW");
0073 }
0074 else if (subsystem == "INTTMON")
0075 {
0076 drawer = new InttMonDraw("INTTMONDRAW");
0077 }
0078 else if (subsystem == "LL1MON")
0079 {
0080 drawer = new LL1MonDraw("LL1MONDRAW");
0081 }
0082
0083
0084
0085
0086 else if (subsystem == "MVTXMON")
0087 {
0088 drawer = new MvtxMonDraw("MVTXMONDRAW");
0089 }
0090 else if (subsystem == "OHCALMON")
0091 {
0092 drawer = new HcalMonDraw("OHCALMONDRAW");
0093 }
0094 else if (subsystem == "SEPDMON")
0095 {
0096 drawer = new SepdMonDraw("SEPDMONDRAW");
0097 }
0098 else if (subsystem == "SPINMON")
0099 {
0100 drawer = new SpinMonDraw("SPINMONDRAW");
0101 }
0102 else if (subsystem == "TPCMON")
0103 {
0104 drawer = new TpcMonDraw("TPCMONDRAW");
0105 }
0106 else if (subsystem == "TPOTMON")
0107 {
0108 auto tpotmon = new TpotMonDraw("TPOTMONDRAW");
0109
0110
0111 const std::string local_calibration_filename( "TPOT_Pedestal-000.root" );
0112 if( std::ifstream( local_calibration_filename ).good() )
0113 { tpotmon->set_calibration_file( local_calibration_filename ); }
0114
0115
0116 tpotmon->set_sample_window( {0, 50} );
0117 tpotmon->set_sample_window_signal( {3, 18} );
0118
0119
0120 drawer = tpotmon;
0121 }
0122 else if (subsystem == "ZDCMON")
0123 {
0124 drawer = new ZdcMonDraw("ZdcMONDRAW");
0125 }
0126 else
0127 {
0128 std::cout << "Invalid Subsystem " << subsystem << std::endl;
0129 gSystem->Exit(1);
0130 }
0131 cl->registerDrawer(drawer);
0132 ifstream listfile(filelist);
0133 if (listfile.is_open())
0134 {
0135 std::string line;
0136 while (std::getline(listfile, line))
0137 {
0138 cl->ReadHistogramsFromFile(line, drawer);
0139 }
0140 listfile.close();
0141 }
0142 else
0143 {
0144 std::cout << "Could not open " << filelist << std::endl;
0145 gSystem->Exit(1);
0146 }
0147 cl->Verbosity(1);
0148 cl->MakeHtml();
0149 if (test == 0)
0150 {
0151 delete cl;
0152 gSystem->Exit(0);
0153 }
0154 }