Back to home page

sPhenix code displayed by LXR

 
 

    


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 //#include <onlmon/daq/DaqMonDraw.h>
0005 #include <onlmon/hcal/HcalMonDraw.h>
0006 #include <onlmon/intt/InttMonDraw.h>
0007 #include <onlmon/ll1/LL1MonDraw.h>
0008 //#include <onlmon/localpol/LocalPolMonDraw.h>
0009 #include <onlmon/mvtx/MvtxMonDraw.h>
0010 #include <onlmon/sepd/SepdMonDraw.h>
0011 //#include <onlmon/spin/SpinMonDraw.h>
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 // cppcheck-suppress unknownMacro
0019 R__LOAD_LIBRARY(libonlbbcmon_client.so)
0020 // cppcheck-suppress unknownMacro
0021 R__LOAD_LIBRARY(libonlcemcmon_client.so)
0022 // cppcheck-suppress unknownMacro
0023 //R__LOAD_LIBRARY(libonldaqmon_client.so)
0024 // cppcheck-suppress unknownMacro
0025 R__LOAD_LIBRARY(libonlhcalmon_client.so)
0026 // cppcheck-suppress unknownMacro
0027 R__LOAD_LIBRARY(libonlinttmon_client.so)
0028 // cppcheck-suppress unknownMacro
0029 R__LOAD_LIBRARY(libonlll1mon_client.so)
0030 // cppcheck-suppress unknownMacro
0031 //R__LOAD_LIBRARY(libonllocalpolmon_client.so)
0032 // cppcheck-suppress unknownMacro
0033 R__LOAD_LIBRARY(libonlmvtxmon_client.so)
0034 // cppcheck-suppress unknownMacro
0035 R__LOAD_LIBRARY(libonlsepdmon_client.so)
0036 // cppcheck-suppress unknownMacro
0037 //R__LOAD_LIBRARY(libonlspinmon_client.so)
0038 // cppcheck-suppress unknownMacro
0039 R__LOAD_LIBRARY(libonltpcmon_client.so)
0040 // cppcheck-suppress unknownMacro
0041 R__LOAD_LIBRARY(libonltpotmon_client.so)
0042 // cppcheck-suppress unknownMacro
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   // else if (subsystem == "DAQMON")
0061   // {
0062   //   drawer = new DaqMonDraw("DAQMONDRAW");
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   // else if (subsystem == "LOCALPOLMON")
0077   // {
0078   //   drawer = new LocalPolMonDraw("LOCALPOLMONDRAW");
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   // else if (subsystem == "SPINMON")
0093   // {
0094   //   drawer = new SpinMonDraw("SPINMONDRAW");
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     // prefer local calibration filename if exists
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     // adjust sample and signal windows
0110     tpotmon->set_sample_window( {0, 50} );
0111     tpotmon->set_sample_window_signal( {3, 18} );
0112 
0113     // assign
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 }