Instructions to install ILCsoft in Ubuntu 16 LTS release

source /your/path/to/ILCSoftInstall/ilcsoft/init_ilcsoft.sh export LCIO_DIR=$LCIO export ILCUTIL_DIR=$ILCSOFT/ilcutil/v01-02-01/ source /your/path/to/ILCSoftInstall/ilcsoft/root/5.34.36/bin/thisroot.sh

git clone https://github.com/CALICETB/ILCSoftInstall.git
cd ILCSoftInstall
emacs CMakeLists.txt # make the change XERCES_version from 3.2.1 change to 3.2.2
mkdir build
cd build
cmake ../
make


Then put following lines to the ~/.bashrc:

source /your/path/to/ILCSoftInstall/ilcsoft/init_ilcsoft.sh
export LCIO_DIR=$LCIO export ILCUTIL_DIR=$ILCSOFT/ilcutil/v01-02-01/ 
source /your/path/to/ILCSoftInstall/ilcsoft/root/5.34.36/bin/thisroot.sh

To install DQM4HEP

First download the git-hub package:

git clone https://github.com/DQM4HEP/dqm4hep.git 
cd dqm4hep 
git checkout v01-04-04
mkdir build
cd build

#=================Give the existing path in you directory================================!!!
cmake -C /your/path/to/ILCSoftInstall/ilcsoft/ILCSoft.cmake -DBUILD_DQMVIZ=on -DBUILD_DQM4ILC=on -DFORCE_DIM_INSTALL=on -DFORCE_DIMJC_INSTALL=on -DBUILD_TESTING=off -DUSE_MASTER=off ../ make -j4


After that the DQM4ILC needs to be installed from the separate package, otherwise any make on the DQM4HEP will overwrite the modified files

git clone https://github.com/jkvas/DQM4ILC.git 
cd DQM4ILC/
git pull git checkout master (or the available branches)
mkdir build 
cd build/

#=================Give the existing path in you directory================================!!!
cmake -C /give/your/correct/path/to/ILCSoftInstall/ilcsoft/ILCSoft.cmake -DDQMCore_DIR=/your/path/to/dqm4hep/ -Dxdrlcio_DIR=/your/path/to/dqm4hep/ -DBUILD_AHCAL=on -DBUILD_EUDET=on ../ 
make install;

 If without EUDET Telescope

cmake -C /give/your/correct/path/to/ILCSoftInstall/ilcsoft/ILCSoft.cmake -DDQMCore_DIR=/your/path/to/dqm4hep/ -Dxdrlcio_DIR=/your/path/to/dqm4hep/ -DBUILD_AHCAL=on ../
make install;

And update again the .bashrc file, the DQM4HEP_PLUGIN_DLL variable should contain all used libraries:

export LD_LIBRARY_PATH=/your/path/to/dqm4hep/lib:$LD_LIBRARY_PATH 
export PATH=/your/path/to/dqm4hep/bin:$PATH export DIM_DNS_NODE=localhost 
export DQM4HEP_PLUGIN_DLL=/your/path/to/DQM4ILC/lib/libDQM4ILC.so:/your/path/to/DQM4ILC/lib/libAHCAL_15Channels.so:/your/path/to/DQM4ILC/lib/libAHCAL_15Layers.so:/your/path/to/DQM4ILC/lib/libBIF_AHCAL_Correlation.so:/your/path/to/DQM4ILC/lib/libBIF_FindOffset.so

Setting up the monitor

Environment

The first step is to set up the correct environment, since each element should be run in a separate terminal window. Add the following lines to your .bashrc, changing the directories as necessary.

export LD_LIBRARY_PATH=/your/path/to/dqm4hep/lib:$LD_LIBRARY_PATH
export PATH=/your/path/to/dqm4hep/bin:$PATH export DIM_DNS_NODE=localhost 
export DQM4HEP_PLUGIN_DLL=/your/path/to/DQM4ILC/lib/libAHCAL_15Layers.so:/your/path/to/DQM4ILC/lib/libAHCAL_40Layers.so:/your/path/to/DQM4ILC/lib/libDQM4ILC.so:/your/path/to/DQM4ILC/lib/libAHCAL_15Channels.so

DNS

In a new terminal window with init.sh already executed, enter the following in the terminal window:

dns &

Leave this terminal open for the entire duration; closing it will break the connections between all other processes.

Run Control

In a new terminal window with init.sh already executed, enter this command to start the run control:

dqm4hep_start_run_control_server -v ALL -r AHCALRunControl&

The argument after -r is the name of this process. This must be the same as in your XML file. The argument after -k is the password needed to begin or end a run.

Then you need to start the interface to the server. Enter this command:

dqm4hep_start_run_control_interface -v ALL -r AHCALRunControl&

The argument after -r is the name of this process. This must be the same as in your XML file, as well as the server above. 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 -v WARN -f your/path/to/test_canvases1.xml 

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 which plots to add using the checkboxes. Clicking "Append" adds all checked plots to the main window. There may be no options displayed if the monitor element collector is not running..

Plots will not be updated or kept unless they are subscribed. Individual plots can be subscribed to by checking the box by their names. All plots can be subscribed to by right-clicking anywhere on the list of plots and selecting "Subscribe all". Once subscribed, monitor elements are stored regardless of whether the plot is displayed. A plot can be displayed by double-clicking it. You can click "Update" to manually refresh all plots, or click "Start Update" to make them update automatically. New canvases for plots can be opened using the + sign at the top-right of the window.

Event Collector

In a new terminal window with init.sh already executed, enter this command to start the event collector:

dqm4hep_start_event_collector -v ALL -c ahcal_event_collector&

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 -v ALL -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 -v ALL -f /your/path/to/DQM4ILC/scripts/steering4dqm_tb_2018.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.

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 -c ahcal_event_collector -t 1000 -f test/180318120334_ahcalandbif_run009595.slcio&

The argument after -f is the path to the SLCIO file to read events from (separate several with a colon), 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 microsecs).



  • No labels