ara-software / AraRoot

ARA data access framework
2 stars 7 forks source link

ARA ROOT-based Software

Website

http://www.hep.ucl.ac.uk/uhen/ara/araroot

Introduction

ARA ROOT based software, AraRoot, comprises several libraries and executables.

Libraries

Executables

Scripts

ROOT Macros

Prerequisites

Installation

  1. Checkout the code from the ARA Git repository, eg.: git clone https://github.com/ara-software/AraRoot.git

  2. Define the ARA_UTIL_INSTALL_DIR to point to the location you want the library installed (the library files will end up in (ARA_UTIL_INSTALL_DIR)/lib and the header files in (ARA_UTIL_INSTALL_DIR)/include and the executables in (ARA_UTIL_INSTALL_DIR)/bin). If this is not defined the installation directory will default to /usr/local (probably not ideal!).

  3. Define ARA_ROOT_DIR to point to the location where you cloned this repository into.

  4. Do bash INSTALL.sh <MODE> in the directory of the source code (i.e. in ARA_ROOT_DIR) - cmake will take care of the rest. should be one of the following:

    • 0 - re-build bins / libs that have been modified
    • 1 - re-build all
    • 99 - re-build debugging mode - this will produce more verbose output from the build process

Adding Your Own Analysis Code to the CMake build structure

Create your .cxx file in analysis and edit the analysis/CMakeLists.txt file. You will need to copy the lines that involved "exampleLoop", replacing it with the name of your executable

You should then be able to run bash INSTALL.sh 0 which will notice that there is something that it hasn't built yet and do the (hopefully) right thing and build it for you.

The executable will be created in two loactions: ${ARA_ROOT_DIR}/build/analysis and ${ARA_UTIL_INSTALL_DIR}/bin.

Troubleshooting

There are a myriad of ways that one can run into problems with the software. The most common are path problems -- the bane of poorly organised code. By far the easiest way to use the ARA root code is to just set the ARA_UTIL_INSTALL_DIR and have it point to the location you want to install all the packages. If things are set up correctly you will end up with a ARA_UTIL_INSTALL_DIR/include and ARA_UTIL_INSTALL_DIR/lib, ARA_UTIL_INSTALL_DIR/bin, ARA_UTIL_INSTALL_DIR/scripts and ARA_UTIL_INSTALL_DIR/share/araCalib all populated with essential headers, libraries and calibration constants.

Most problems are fixed by running bash INSTALL.sh 1 to re-build AraRoot from scratch. If this doesn't fix things try removing everything from the ARA_UTIL_INSTALL_DIR, re-installating libRootFftwWrapper and then re-running bash INSTALL.sh with either 1 or 99.

If problems persist, seek help!

ROOT6 Support

ROOT6 support is here!

As a friendly reminder, you need to compile AraRoot with the same C++ standard used to compile ROOT, which was likely C++11. To enable this, you should uncomment the line in the CMakeLists that goes like set(CMAKE_CXX_STANDARD 11)