Monitoring plugins in offline environment

From GlueXWiki
Jump to: navigation, search

It is clearly convenient to develop online monitoring plugins in an offline environment at your home institution. Below I describe how to do this.

  1. Install Python and SCONS on your system.
  2. Install the standard offline analysis software, including JANA and auxiliary packages required (Xerces, ROOT, etc).
  3. Install the online SCONS-based build scripts on your system:
  4. Set some build system environment variables. On the CUE system you would:
    • $ setenv PYTHONPATH /group/halld-online/Software/builds/devel/buildScripts
  5. Check out the online monitoring package. The plugins reside in src/plugins:
  6. This installs the complete set of plugins for all detectors, delete any directory you are not interested in.
  7. Build the plugins and install the shared object files into online_monitoring/<arch>/plugins. This compiles without the "--std=c++11" compiler flag, default is to include the flag. From anywhere in the online_monitoring directory tree:
    • $ scons -D C++11=N install
  8. Add the plugin directory to the JANA plugin path. Execute something like:
    • $ setenv JANA_PLUGIN_PATH <somedir>/online_monitoring/<arch>/plugins:"$JANA_PLUGIN_PATH"
  9. Run hd_root, something like:
    • $ HALLD_HOME/bin/Linux_RHEL6-x86_64-gcc4.4.6/hd_root -PPLUGINS="BCAL_online,CDC_online,FCAL_online,FDC_online" hdgeant_smeared.hddm
  10. This creates hd_root.root, for your viewing pleasure.
  11. To uninstall the plugins:
    • $ scons -D install -c

Useful scons options:

  • To print full build details, add:
  • To compile but not install:
    • $ scons -D C++11=N
  • To compile/install including "--std=c++11":
    • $ scons -D install