This page: hallaweb.jlab.org/software/tools
Updated Oct, 2016
The purpose of this page is to provide software tools contributed
by Hall A users, especially the
smaller lesser known tools, so others may
avoid "re-inventing the wheel".
If you have something to contribute,
please contact Bob Michaels (e-mail: firstname.lastname@example.org).
Contributing authors of smaller software
are not expected to support future data; these codes are
useful starting examples that may require modification.
- Hall A Wiki on Software.
- A simple standalone analyzer which unpacks ROCs and BANKs and fills a ROOT histogram. (Oct 2016)
- J. Singh's tool box of scripts to extract EPICS and HALOG data.
- Rikki Roche's Event Display Tool to look at VDC tracks traced to scintillators and FPP. Untar and see README.
- Bryan Moffit's online GUI for online presentation of ROOT results.
- A set of simple scripts to use batch farm for
the Podd ROOT/C++ analyzer. Untar, see README. Version from Jan 2004.
- W. Boeglin code to convert espace database into sql form and here is the README file that is also included in the tar file.
- M. Liang's deadtime calculation MC to simulate HRS DAQ deadtime.
- B. Reitz's tool list (EPICS decoder, NMR to momentum, EDT calc., etc.) See Bodo's readme file for listing and explanations.
- Bob M's C++ utilities CODA classes,
package, a standalone event decoder.
- Bob M's simple C++ examples to read a CODA file (or ET online data) and fill ntuples and histograms in ROOT. Untar these and see the README:
- Bob M's simple Fortran/Paw examples
to read a CODA file, fill histograms with
An event check code and a
helicity check code.
- Paul Ulmer's tools for halog, scalers, and VDC hits (see readme files there). E.g. you can extract variables from halog, or extract scalers from a CODA file
to put into Paw ntuple.
- Hassan Ibrahim's tools to extract stable current periods of time, used in E01020.
- M. Rvachev's R Functions to model geometric acceptance.
- Yi Qiang's detector calibration macros.
- For some of the above examples you may need the EVIO library (make 'libcoda.a'). Careful! this is a very old version of EVIO. (EVIO comes from the DAQ group, see below).
- More about EVIO, which is supported by the DAQ group.
To find the modern version of EVIO, do the following.
Go to http://coda.jlab.org.
Click on "Core Packages", then "Event IO (evio)", then, on right, look at "User's guide".
Can also look at "EVIO C++ API" on left side of page for details of API.
This is also a C and a Java lib.
To compile with EVIO you typically need to set these two environment variables:
EVIO_INCDIR and EVIO_LIBDIR must point to ./include and ./lib of the EVIO distribution
I notice a recent version is
There are subdirectories Linux-x86_64 and Linux-i686
The former is for 64-bit machines; most machines are 64-bit nowadays.
In each of these subdirectires is a ./bin, ./include and a ./lib
- Hall A Power Tools
- Hall A Software Workshops
- Jan, 2015
- Dec, 2013
- Dec, 2012
- Dec, 2010
- Dec, 2009
- Dec, 2008
- June, 2008
- Dec, 2007
- Jan, 2007
- Dec, 2003
- Dec, 2002
- Dec, 2001
World Wide Tools