Developing within artdaq on novabeamlinedaq00

This page describes how to develop artdaq code for the purposes of analyzing the raw data taken with the DAQ. Since it is specifically for working on the novabeamlinedaq00 machine, I put that in the title too! But these instructions can be used if developing in other places too.

How everything works

See DAQ overview for a general overview of the full beamline DAQ system, including the structure of the software and how data are collected and saved.

In order to run art, a build of the code must be set up. This can be done by setting up the relevant ups product or, more commonly, by changing into the build directory and sourcing the setup scripts, for example:

cd <location of code base>/build_lariat_online
source ../lariat-online/ups/setup_for_development -p

In order to get a version of the software to run, you can either set up a build which is on the machine or check out your own. Instructions for checking out and building the code can be found at Building the artdaq code.

On novabeamlinedaq00, there are three setup scripts for setting up the software. For running the DAQ, sets up the stable version of the software via ups and is sourced by default when logging in to the machine. For development, and may be used, which set up the version of each of the code bases for development and creates a development environment for writing, building and testing code.

If all that is required is to run software which is established in the repository, the version of the software set up by default may be sufficient. In which go ahead and run the job you need to.

IMPORTANT: DO NOT change the software which the DAQ uses! All developments and testing should be done with YOUR OWN checkout of the software.

If you are developing and testing, feel free to make a subdirectory in the `analysis` directory and make your own checkout there. Each time you log into the machine you will need to unsetup the version of the code the DAQ is set up to use and set up your own version instead. Then you will be able to run.

unsetup lariatonline
cd <location of your build directory>
source <location of your source directory>/ups/setup_for_development -p

When you make changes, you can rebuild the code using

buildtool (-c) -j <number of cores> -i -I <location of local products>

Running art

This wiki is not an art tutorial, please refer to the extensive documentation provided by the artists in order to understand how art works and how it is used. Some good places to start:

Once you have set up the version of the software with the correct code you need in, you can just run art using

art -c <config_file>.fcl -s <source_file>.root

On the novabeamlinedaq00 machine, raw data files are saved in the