Skip to content
Snippets Groups Projects
README.md 2.91 KiB
Newer Older
Jakub Skowronski's avatar
Jakub Skowronski committed
# Description

LunaDAQ is the data acquisition software used within the LUNA collaboration 
as an alternative to CoMPASS. It is able to handle both the typical CAEN 
boards and the TetrAMM module.
Jakub Skowronski's avatar
Jakub Skowronski committed
# Requirements

The following ones can be installed from package manager, eg. on Ubuntu:
Jakub Skowronski's avatar
Jakub Skowronski committed

```bash
sudo apt install cmake libboost-all-devel qt5-default mesa-common-dev libtinyxml2-dev libcurl4-openssl-dev libjsoncpp-dev
Jakub Skowronski's avatar
Jakub Skowronski committed
```

The CAEN drivers (in order of installation: CAENVMElib CAENComm CAENDigitizers) 
must be downloaded from their website and installed following their 
instructions. If the board is connect through the USB, also CAENUSBdrv is 
needed.
Jakub Skowronski's avatar
Jakub Skowronski committed

A working ROOT installation is needed. It could be required to change the 
C++ standard in the CMakeLists.txt to the one with which ROOT was compiled, 
Jakub Skowronski's avatar
Jakub Skowronski committed
otherwise compatibilty errors could arise.
Jakub Skowronski's avatar
Jakub Skowronski committed

# Build / Installation
Jakub Skowronski's avatar
Jakub Skowronski committed

To build the repository:

```bash
git clone https://baltig.infn.it/LUNA_DAQ/LunaDAQ.git
cd LunaDAQ && mkdir build && cd build
Jakub Skowronski's avatar
Jakub Skowronski committed
cmake ..
make -j6 
sudo make install
Jakub Skowronski's avatar
Jakub Skowronski committed
```
The installation will not install the binary. Please, put it wherever you 
prefer to store it. The installation, instead, will create a LunaDAQ folder 
in ```~/.config/``` where some utility files will be stored. Adittionally, 
the installation will launch two docker instances, one with a ```graphite``` 
container, which serves as a databes, and with a ```grafana``` container 
which is the frontend. In fact, to run properly the LunaDAQ, a working 
installation of docker is needed. LunaDAQ, in fact, is based on the XDAQ 
software written at LNL that is available in form of docker image.
Jakub Skowronski's avatar
Jakub Skowronski committed

# Features

The software is able both to control the XDAQ instances and communicate with 
the  CAEN boards. The predefined ```.xml``` file used by XDAQ is located in 
```~/.config/LunaDAQ/conf/``` and it is copied in each project directory. 
LunaDAQ already takes care of detecting the PC hostname, necessary to run 
XDAQ properly, thus there should be no reason to change that file.
The XDAQ instances are started in separate docker instances. While there are 
active, it is possible to list them by typing ```docker ps``.
Jakub Skowronski's avatar
Jakub Skowronski committed

Not all the boards are fully supported. Here is the list of the board families 
which are fully supported: XX730, XX725, XX720, XX724, XX781, XX782. Both the 
PHA and PSD supported. For now, there is no compatibility with the WaveCatcher 
firmware, but can be added if need.
LunaDAQ is also capable of connecting to a TetrAMM module and acquire the 
current data from it, tho have a simultaneous acquisition both of the events 
and the accumulated charge.

Finally, a prototype of the metadata for according to the FAIR rules are being 
added in order to make all the acquired data easy accessibile and comprehensible.

Jakub Skowronski's avatar
Jakub Skowronski committed
If any bug arises, pleas write to jakub.skowronski@pd.infn.it

Jakub Skowronski's avatar
Jakub Skowronski committed
- Add the ELOG interface.
Jakub Skowronski's avatar
Jakub Skowronski committed
- Add the REST interface for the accelerator.
- Test the support for the XX780 board.