HallA C++ Analyzer
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
DB Modified TriggerTime class to support common-stop mode Jun 27, 2018
HallA
Podd SCons: extensive bug fixes and updates Oct 26, 2018
SDK
apps SCons: extensive bug fixes and updates Oct 26, 2018
cmake Merge branch 'libsplit'. New directory layout. Oct 26, 2018
docs Update date in Release Notes Mar 14, 2018
evio Ensure that make and SCons download the same EVIO tarball from GitHub Mar 9, 2018
examples Split project into two separate libraries: Podd and HallA Oct 26, 2018
hana_decode Numerous trivial decoder code mods to address warnings Oct 26, 2018
plugins Fix OldVDCPlane.cxx, regression from Eclipse cleanup (Aug 23) Oct 26, 2018
scripts Split project into two separate libraries: Podd and HallA Oct 26, 2018
site_scons SCons: Correctly specify octal constant for directory mode Nov 14, 2018
tests Name header include guard variables consistently Podd_(Classname)_h_ Apr 21, 2018
utils Split project into two separate libraries: Podd and HallA Oct 26, 2018
.exclude Add SCons temporary files and rdict.pcm files to srcdist exclude list Jun 19, 2018
.gitignore Merge branch 'libsplit'. New directory layout. Oct 26, 2018
.travis.yml Travis: Correct analyzer executable path (in build location) Oct 26, 2018
CMakeLists.txt
LICENSE.md Create LICENSE.md Nov 17, 2018
Makefile Add experimental CMake build support Jul 16, 2018
README.md Add experimental CMake build support Jul 16, 2018
README_Eclipse_Linux.md Add README files and modify .gitignore for Eclipse Jan 29, 2014
README_Eclipse_MacOSX.md Add README files and modify .gitignore for Eclipse Jan 29, 2014
SConstruct SCons: extensive bug fixes and updates Oct 26, 2018

README.md

Hall A C++ Analyzer

This is the standard data analysis software for Hall A at Jefferson Lab. The current stable version is 1.6.3.

Overview

The analyzer is an object-oriented, highly modular and extensible framework built on top of the ROOT framework from CERN. Classes are available for the most common analysis tasks involving data from the standard Hall A experimental equipment, in particular the HRS spectrometers and detectors. Standard physics calculations for single arm (e,e'), conincidence (e,e'X) and photoproduction reactions are available, as well as for auxiliary tasks such as energy loss corrections, vertex position calculations, etc.

A Software Development Kit (SDK) is included that provides users with a rapid development environment for building experiment-specific extension libraries. One can quickly implement new detectors, physics computation modules and even entire spectrometers.

Currently, major efforts are underway (1) to develop an improved analysis framework jointly with Hall C which will be based on the current Hall A software, and (2) to update the analyzer for the more demanding analysis requirements of 12 GeV experiments.

For more information, please see the Wiki.

Compiling

The analyzer may be compiled with either make or SCons (recommended). The following are the main prerequisites for analyzer 1.6:

  • ROOT version 5 or higher. The latest version (currently 6.12/06) is strongly recommended. root-config must be in your PATH.

  • EVIO version 4.0 or higher. CODA must be set to point to the top of the installation location.

Compiling with scons

Ensure that you have SCons version is 2.1.0 or higher. Then simply do

scons

Additional SCons features

To do the equivalent of "make clean", do scons -c To compile with debug capabilities, do scons debug=1

Compiling with CMake (experimental)

Do the usual CMake setup

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/local/analyzer ..
make -jN install

Here $HOME/local/analyzer is an example installation destination; modify as appropriate. You will need to add the bin and lib sub-directories under the installation prefix to your environment:

export PATH=$HOME/local/analyzer/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/analyzer/lib:$LD_LIBRARY_PATH

On 64-bit Linux, the library directory is usually lib64 instead of lib.

Compiling with make (deprecated)

make

Contributing

To participate in development, please contact the developers

Bug reports and other issues may be submitted to the Redmine issue tracker by anyone. You are strongly encouraged to use the issue tracker system. In this way, all active developers are notified and able to respond quickly.