Size: 10264
Comment:
|
Size: 10425
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 223: | Line 223: |
=== DQM Monitor GUI === In a new terminal window with init.sh already executed, enter this command to start the monitor GUI: {{{ dqm4hep_start_dqm_monitor_gui }}} This will open a GUI for viewing plots and histograms. To see your histograms, click "Browse", then choose the name of your monitor element collector from the drop-down list. You can select your plots from the list using the checkboxes. Clicking "Append" adds all checked plots to the main window. You click "Update" to manually refresh the plots, or click "Start Update" to make them update automatically. |
|
Line 225: | Line 235: |
In a new terminal window with init.sh already executed, enter this command to start the LCIO file service: | This should be the last thing to be run, as when the LCIO file service is started the run will begin and data will start being processed by the analysis module. In a new terminal window with init.sh already executed, enter this command to start the LCIO file service: |
Line 232: | Line 242: |
=== DQM Monitor GUI === In a new terminal window with init.sh already executed, enter this command to start the monitor GUI: {{{ dqm4hep_start_dqm_monitor_gui }}} This will open a GUI for viewing plots and histograms. To see your histograms, click "Browse", then choose the name of your monitor element collector from the drop-down list. You can select your plots from the list using the checkboxes. Clicking "Append" adds all checked plots to the main window. You click "Update" to manually refresh the plots, or click "Start Update" to make them update automatically. |
AHCALMonitoring within the DQM4HEP framework
DQMHEP
Installation (Ubuntu 14)
ILCSOFT prerequisites
Instructions to install ILCsoft in Ubuntu 14 LTS release.
We want to install the v01-17-09 ILCsoft release, for that we want to use c++11, and therefore some packages need to be installed previously.
Boost 1.58 (installation script in the link)
Other requirements (from http://www.desy.de/~rosem/howtos/howto_install_ilcsoft_on_ubuntu.txt)
########################### # (1) System preparation: # ########################### In order to be able to build and use ilcsoft at all; vanilla Ubuntu needs several packages. #--- mysql includes etc. sudo apt-get install libmysqlclient-dev #--- create a links for mysql (if missing): sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64 sudo ln -s /usr/lib64/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so #--- install code mgmt and build tools: sudo apt-get install subversion sudo apt-get install cvs sudo apt-get install cmake sudo apt-get install cmake-curses-gui #ccmake sudo apt-get install doxygen sudo apt-get install latex2html #--- graphics stuff (X and OpenGL): sudo apt-get install libxext-dev sudo apt-get install freeglut3-dev sudo apt-get install libxmu-dev libxi-dev #--- ROOT stuff sudo apt-get install dpkg-dev sudo apt-get install libxpm-dev sudo apt-get install libxft-dev sudo apt-get install python2.7-dev #--- javac: sudo apt-get install default-jdk #--- if needed/wanted: cernlib and gfortran sudo apt-get install cernlib sudo apt-get install gfortran OR: in single line: sudo apt-get install libmysqlclient-dev subversion cvs cmake cmake-curses-gui doxygen latex2html libxext-dev freeglut3-dev libxmu-dev libxi-dev dpkg-dev libxpm-dev libxft-dev python2.7-dev default-jdk cernlib gfortran && sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64 && sudo ln -s /usr/lib64/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so
It might be also a good idea to install all root requirements:
sudo apt-get install git dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev \ libxft-dev libxext-dev sudo apt-get install gfortran libssl-dev libpcre3-dev \ xlibmesa-glu-dev libglew1.5-dev libftgl-dev \ libmysqlclient-dev libfftw3-dev cfitsio-dev \ graphviz-dev libavahi-compat-libdnssd-dev \ libldap2-dev python-dev libxml2-dev libkrb5-dev \ libgsl0-dev libqt4-dev
Installation of ILCSOFT
The first is to download the code.
svn co https://svnsrv.desy.de/svn/ilctools/ilcinstall/tags/v01-17-09 ilcinstall-v01-17-09
To install it, you will need to make few changes in the release-ilcsoft.cfg and release-versions.py files in
lcinstall-v01-17-09/releases/v01-17-09/
Also the ilcsoft/qt.py and ilcsoft/root.py need some changes:
- to find the proper link to download the versions (qt and root)
- to install root with all needed dependencies, specifically with enable-qt which is not the usual but is required by DQM4HEP.
Here you can find those files.
To install ilcsoft with all needed packages for DQM4HEP, just go to the folder and write:
./ilcsoft-install releases/v01-17-09/release-ilcsoft.cfg
releases/v01-17-09/release-ilcsoft.cfg
releases/v01-17-09/release-ilcsoft.cfg
!! the ilcsoft/root.py is not modified to find the right root version (is in the to-do-list, sorry): I downloaded manuallly so the python script only makes the compilation.
DQMHEP
To install DQM4HEP:
- First download the git-hub package:
git clone https://github.com/AHCALMonitoring/DQM4HEP DQM4HEP-AHCAL cd DQM4HEP-AHCAL
- Then modify the CMakeLists.txt file to point to the AHCALMonitoring git-hub repository
change
SET( xdrstream_repository "https://github.com/DQM4HEP/xdrstream.git" ) SET( xdrlcio_repository "https://github.com/DQM4HEP/xdrlcio.git" ) SET( DQMCore_repository "https://github.com/DQM4HEP/DQMCore.git" ) SET( DQMViz_repository "https://github.com/DQM4HEP/DQMViz.git" ) SET( DQM4ILC_repository "https://github.com/AHCALMonitoring/DQM4ILC.git" ) SET( JsonCpp_repository "https://github.com/DQM4HEP/jsoncpp.git" ) SET( DIM_repository "https://github.com/DQM4HEP/dim.git" ) SET( DIMJC_repository "https://github.com/DQM4HEP/dimjc.git" ) SET( levbdim_repository "https://github.com/DQM4HEP/levbdim.git" )
by
SET( xdrstream_repository "https://github.com/AHCALMonitoring/xdrstream.git" ) SET( xdrlcio_repository "https://github.com/AHCALMonitoring/xdrlcio.git" ) SET( DQMCore_repository "https://github.com/AHCALMonitoring/DQMCore.git" ) SET( DQMViz_repository "https://github.com/AHCALMonitoring/DQMViz.git" ) SET( DQM4ILC_repository "https://github.com/AHCALMonitoring/DQM4ILC.git" ) SET( JsonCpp_repository "https://github.com/AHCALMonitoring/jsoncpp.git" ) SET( DIM_repository "https://github.com/AHCALMonitoring/dim.git" ) SET( DIMJC_repository "https://github.com/AHCALMonitoring/dimjc.git" ) SET( levbdim_repository "https://github.com/AHCALMonitoring/levbdim.git" )
- Finally, modify the paths of following script and install all the packages by running it in the folder that is your DQM4HEP-AHCAL
export LCIO_DIR=/home/calice/Programs/ilcinstall-v01-17-09/v01-17-09/lcio/v02-05 export ILCUTIL_DIR=/home/calice/Programs/ilcinstall-v01-17-09/v01-17-09/ilcutil/v01-02-01 source /home/calice/Programs/ilcinstall-v01-17-09/v01-17-09/root/5.34.30/bin/thisroot.sh source /home/calice/Programs/ilcinstall-v01-17-09/v01-17-09/init_ilcsoft.sh mkdir build cd build cmake -DBUILD_DQMVIZ=ON -DBUILD_DQM4ILC=ON -DBUILD_EXAMPLES=ON -DINSTALL_DOC=ON -DDIM_GUI=ON .. make install
Quasi online AHCAL Raw Monitoring
Setting up the monitor
Environment
The first step is to create a bash script to automate setting up the correct environment, since each element should be run in a separate terminal window. Save this script as init.sh
source /home/calice/Programs/ilcinstall-v01-17-09/v01-17-09/init_ilcsoft.sh export LD_LIBRARY_PATH=/home/calice/Programs/DQM4HEP-AHCAL/lib:$LD_LIBRARY_PATH export PATH=/home/calice/Programs/DQM4HEP-AHCAL/bin:$PATH export DIM_DNS_NODE=localhost export DQM4HEP_PLUGIN_DLL=/home/calice/Programs/DQM4HEP-AHCAL/lib/libDQM4ILC.so:/home/calice/Programs/DQM4HEP-AHCAL/lib/libAHCALRawModule.so
Make edits to the directories depending on your set up.
DNS and DIMJC Daemon
In a new terminal window with init.sh already executed, enter the following in the terminal window:
dns & dimjc_daemon
Leave this terminal open for the entire duration; closing it will break the connections between all other processes.
Event Collector
In a new terminal window with init.sh already executed, enter this command to start the event collector:
dqm4hep_start_event_collector -c ahcal_event_collector -s LCIOStreamer
The argument after -c is the name of this process, the name after -s is the name of the file streamer to save events from. These must be the same as in your XML file.
Monitor Element Collector
In a new terminal window with init.sh already executed, enter this command to start the monitor element collector:
dqm4hep_start_monitor_element_collector -c ahcal_me_collector
The argument after -c is the name of this process. This must be the same as in your XML file.
Analysis Module
In a new terminal window with init.sh already executed, enter this command to start the analysis module:
dqm4hep_start_analysis_module -f /home/calice/Programs/DQM4HEP-AHCAL/DQM4ILC/source/examples/AHCALRawModule/lcioAHCALTests.xml
The argument after -f is the path to the XML file used to define your histograms and other processes. 'IMPORTANT:' Make sure that all the process names in the XML file are the same as the ones you use at runtime. Ensure that you are using the same type of histogram in the XML file as your module file, otherwise the analysis module will throw segmentation faults as soon as it tries to push data into histograms.
Run Control
In a new terminal window with init.sh already executed, enter this command to start the run control:
dqm4hep_start_run_control -r AHCALRunControl
The argument after -r is the name of this process. This must be the same as in your XML file. A window with a GUI will open. As far as I know, all that is necessary for online monitoring is to press the START RUN button, which ensures that the event collector and analysis module work correctly.
DQM Monitor GUI
In a new terminal window with init.sh already executed, enter this command to start the monitor GUI:
dqm4hep_start_dqm_monitor_gui
This will open a GUI for viewing plots and histograms. To see your histograms, click "Browse", then choose the name of your monitor element collector from the drop-down list. You can select your plots from the list using the checkboxes. Clicking "Append" adds all checked plots to the main window. You click "Update" to manually refresh the plots, or click "Start Update" to make them update automatically.
LCIO File Service
This should be the last thing to be run, as when the LCIO file service is started the run will begin and data will start being processed by the analysis module. In a new terminal window with init.sh already executed, enter this command to start the LCIO file service:
dqm4hep_start_lcio_file_service -f /home/calice/TestFile_ChannelbyChannel.slcio -c ahcal_event_collector -r -t 10
The argument after -f is the SLCIO file to read events from, the argument after -c is the name of the event collector to send events to, and the argument after -t is the time interval between reading events and sending them to the event collector (in usec). -r ensures that the SLCIO file is rewound after each use.