Ara ROOT v3.3 Software
Introduction
Here is some Doxygen generated documentation for the ARA ROOT v3.3 software which is based on the ANITA software.Prerequisites
- ROOT
- FFTW 3 -- Fastest Fourier Transform in the West
- libRootFftwWrapper -- a ROOT wrapper for FFTW 3
- GNU Scientific Library -- library used by ROOT's MathMore library
- Sqlite3 -- Library for simple SQL database management and transactions
- CMAKE -- cross-platform, open-source build system. Generates Makefiles for the user's system
Components
- ARA Event Library, ROOT classes for storing ARA data in ROOT files
- ARA Display, the display program based on the Marvellous ANITA Graphical Interface and Classy Display (Magic Display).
- ARA Web Plotter, the library and code which produces the dynamically updating webpages
- Utilities, programs for converting raw ARA data into ROOT-ified versions
- ARA Vertex - This is the vertex reconstuction code implemented in the production of L2 data NB this does not have Doxygen documentation
Executables
- makeIcrrEventTree -- Program to convert the raw ARA TestBed / Station One data into a ROOT format
- makeAtriEventTree -- Program to convert the raw ARA Atri electronics type station data into a ROOT format
- AraWebRootFileMaker -- Program to make ROOT files for the webplotter
- AraWebPlotter -- Program that reads these files and plots stuff
- exampleLoop -- An example of analysis code that illustrates to the user how to load AraRoot files, loop through them, create "Useful" objects and perform some sort of analysis
- exampleLoopL2 -- An example of analysis code that illustrates to the user how to process L0 or L1 (RawEvent or UsefulEvent) ROOT files and produce L2 files
Scripts
- runAraTestBedEventFileMaker.sh -- Script for calling makeAraEventTree to create TestBed root files
- runAraOneEventFileMaker.sh -- Script for calling makeAraEventTree to create Station One root files
- runAtriEventFileMaker.sh -- Script for calling makeAraEventTree to create ATRI station root files
- runAtriEventFileMakerForcedStationId.sh -- Script for calling makeAraEventTree to create ATRI station root files, but forcing a particular stationId into the event objects
Installation
The user must first specify the following two environmental variables:ARA_UTIL_INSTALL_DIR = {The install destination choosen by the user}
ARA_ROOT_DIR = {Location of the source code of AraRoot}Once these are set correctly the user needs to run Do
bash INSTALL.sh MODEin the directory of the source code (i.e. in ARA_ROOT_DIR) - cmake will take care of the rest.
MODE 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
Making ROOT files
The makeAtriEventTree and makeIcrrEventTree executables are used to convert raw ARA data into a ROOT format. The easiest way to do this is through the runAraOneEventFileMaker.sh, runTestBedEventFileMaker.sh or runAtriEventFileMaker.sh scripts. The user must edit the following two variables in the scripts:RAW_BASE_DIR={base directory in which run_XXXXXX directories are kept}
ROOT_BASE_DIR={base directiry in which to write output root files}
Running AraDisplay
The easiest way to get AraDisplay running is to use the runAraDisplay.C macro (it is in AraDisplay/macros). You can either edit the macro to point to a ROOT event file (created as above) or you can pass the ROOT file name from the command line as inroot 'macros/runAraDisplay.C("/Users/rjn/ara/data/root/event_200MHz_DISC01.root")'note the use of signal and double quotations so that the shell passes the argument to ROOT correctly.
Installation Issues
This section will detail know issues with the installation of the software and is intended to provide a reference for anyone installing the softwareAdding Analysis Code to CMake Build List
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 executableYou should then be able to run 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
UW Systems
There is a common installation of AraRoot on the UW systems, an example analysis area and setup scripts for users The installation files are in /home/jdavies/repositories/install/AraRoot/branches/3.3/ The setup scripts are in /home/jdavies/repositories/setupScripts The example analysis area is in /home/jdavies/analysis/AraRoot/branches/3.3
Steps to build your own analysis
-Copy the analysis area to your own user area
cp /home/jdavies/analysis/AraRoot/branches/3.3 ~/analysis/AraRoot/branches/3.3
-Copy accross the AraRoot 3.3 setup script
cp /home/jdavies/repositories/setupScripts/AraRoot_v3.3.sh ~/setupScripts/
-Edit the CMakeLists.txt file in ~/analysis/AraRoot/branches/3.3 -Ammend the lines building exampleLoop to your own analysis code name
add_executable(exampleLoop exampleLoop.cxx)
target_link_libraries(exampleLoop ${ARAEVENT_LIBRARIES} ${ROOT_LIBRARIES} ${ZLIB_LIBRARIES})
-Source the setup script
source ~/setupScripts/AraRoot_v3.3.sh
-Build the binary using the INSTALL.sh script
bash INSTALL.sh < 0 for re-build or 1 for force rebuild>-The binary will be in /analysis/AraRoot/branches/3.3/bin
Troubleshooting
There are a myriad of ways that one can run into problems with the software 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- ARA_UTIL_INSTALL_DIR/include
- ARA_UTIL_INSTALL_DIR/lib
- ARA_UTIL_INSTALL_DIR/bin
- ARA_UTIL_INSTALL_DIR/scripts
- ARA_UTIL_INSTALL_DIR/share/araCalib all populated with essential headers, libraries and calibration constants.
Most problems are fixed by running 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 INSTALL.sh with either 1 or 99.
If problems persist please contact Jonathan Davies
Generated on Tue Sep 11 19:51:09 2012 for ARA ROOT v3.3 Software by
