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