OnlineReconstruction¶
Description¶
The MICE Online Reconstruction framework provides live data reconstruction functionality, though it can also be run offline.
The framework is multi-threaded, and based on a consumer-producer model.
A C++ API package provides access to the I/O, buffering, and threading functionalities.
The reconstruction workers are plugged in through the miceOnrec package which interfaces with the MAUS libraries.
Requirements¶
- The RHEL developer toolset
devtoolset-2
is required to provide Boost & additional functionalities.wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo yum install devtoolset-2
- This usually installs in
/opt/rh/devtoolset-2
but it may be different on your system.
- This usually installs in
- The MAUS Online environment must also be built if running in ONLINE mode reading from the DAQ socket
cd /path/to/MAUS/ source env.sh bash third_party/bash/70daq.bash scons -j8
Install the API and reconstruction frameworks¶
The install requires 2 git packages
mic11apiand
miceOnrec
It will be helpful to keep both packages in the same directory.
e.g. Create a directory to hold the API and the onrec packages
mkdir OnlineReconstructionor a name of your choice
Install the API¶
cd OnlineReconstruction
- Fetch from github
git clone https://github.com/durgarajaram/mic11api.git
- Source the devtoolset-2 environment
source /opt/rh/devtoolset-2/enable
- Build the package
cd mic11api/build ./cmake_clean.sh cmake .. make
Install the Online Reconstruction package¶
cd /path/to/OnlineReconstruction
- Fetch from github
git clone https://github.com/durgarajaram/miceOnrec.git
- source the MAUS environment in order to pick up the MAUS libraries
source /path/to/MAUS/env.sh
- Source the devtoolset-2 environment
source /opt/rh/devtoolset-2/enable
- Build the Onrec package
cd miceOnrec/build ./cmake_clean.sh cmake .. make
- Load the MAUS configurations to local file -- required for running the reconstruction jobs
cd /path/to/OnlineReconstruction/miceOnrec/bin python GetJsonConfig.py
- This clones MAUS's ConfigurationDefaults.py to config.json.
- If you want to specify a different geometry, you will have to edit ConfigurationDefaults.py and then run
python GetJsonConfig.py
again
- If you want to specify a different geometry, you will have to edit ConfigurationDefaults.py and then run
Running¶
The miceOnrec package builds two binaries
bin/stexample, bin/mtexample
To run the online reconstruction
- Source the MAUS environment
source /path/to/MAUS/env.sh
- Source the DAQ mon environment
- Note: If you don't intend to run in ONLINE mode (reading data from the DAQ socket), you can skip this.
cd /path/to/OnlineReconstruction/miceOnrec source mon_env.sh
- Note: If you don't intend to run in ONLINE mode (reading data from the DAQ socket), you can skip this.
- Run in multi-threaded OFFLINE mode
bin/mtexample -d <dir-with-daq-files> -f <daq-file or run runmber>
e.g.bin/mtexample -d /data/raw -f 8161
where /data/raw contains the raw files 8161.000 etc
Outputs¶
The canvas image outputs from onrec are png files. These go to
$MAUS_WEB_MEDIA/reco
Updated by Rajaram, Durga over 6 years ago ยท 5 revisions