Back to home page

sPhenix code displayed by LXR

 
 

    


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 //#include <onlmon/daq/DaqMonDraw.h>
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 //#include <onlmon/localpol/LocalPolMonDraw.h>
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 // cppcheck-suppress unknownMacro
0020 R__LOAD_LIBRARY(libonlbbcmon_client.so)
0021 // cppcheck-suppress unknownMacro
0022 R__LOAD_LIBRARY(libonlcemcmon_client.so)
0023 // cppcheck-suppress unknownMacro
0024 //R__LOAD_LIBRARY(libonldaqmon_client.so)
0025 // cppcheck-suppress unknownMacro
0026 R__LOAD_LIBRARY(libonlgl1mon_client.so)
0027 R__LOAD_LIBRARY(libonlhcalmon_client.so)
0028 // cppcheck-suppress unknownMacro
0029 R__LOAD_LIBRARY(libonlinttmon_client.so)
0030 // cppcheck-suppress unknownMacro
0031 R__LOAD_LIBRARY(libonlll1mon_client.so)
0032 // cppcheck-suppress unknownMacro
0033 //R__LOAD_LIBRARY(libonllocalpolmon_client.so)
0034 // cppcheck-suppress unknownMacro
0035 R__LOAD_LIBRARY(libonlmvtxmon_client.so)
0036 // cppcheck-suppress unknownMacro
0037 R__LOAD_LIBRARY(libonlsepdmon_client.so)
0038 // cppcheck-suppress unknownMacro
0039 R__LOAD_LIBRARY(libonlspinmon_client.so)
0040 // cppcheck-suppress unknownMacro
0041 R__LOAD_LIBRARY(libonltpcmon_client.so)
0042 // cppcheck-suppress unknownMacro
0043 R__LOAD_LIBRARY(libonltpotmon_client.so)
0044 // cppcheck-suppress unknownMacro
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   // else if (subsystem == "DAQMON")
0063   // {
0064   //   drawer = new DaqMonDraw("DAQMONDRAW");
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   // else if (subsystem == "LOCALPOLMON")
0083   // {
0084   //   drawer = new LocalPolMonDraw("LOCALPOLMONDRAW");
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     // prefer local calibration filename if exists
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     // adjust sample and signal windows
0116     tpotmon->set_sample_window( {0, 50} );
0117     tpotmon->set_sample_window_signal( {3, 18} );
0118 
0119     // assign
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 }