Podd version 1.6-alpha1
16 December 2015
The Hall A software team is pleased to present the first alpha release
of version 1.6 of the C++ analysis software Podd. This version
contains many significant improvements motivated by the long
experience with version 1.5. This is still an alpha release, i.e. not
all features have yet been frozen. The first beta release will follow
within the next few weeks.
Version 1.6 is not binary compatible nor fully source-compatible with
the previous release 1.5. Several parts of the programming interface
have changed. As a result, libraries and plug-ins for version 1.5
will have to be recompiled and, in some cases, minor source code
changes may be necessary.
As much as possible, the bug fixes as well as some of the additional
functionality of this release will be) backported to version 1.5. We
plan to support version 1.5 for several years into the future because
many earlier Hall A experiments have spent considerable effort on
developing complex libraries for this release. They should not be
forced to upgrade. For new development, however, version 1.6 is
strongly recommended.
The main improvements in this release are the modular decoder, the
unbundled EVIO library, and a rewrite of the VDC reconstruction code.
Additionally, we plan to switch all analysis classes to the a
database API (introduced in version 1.5 and generalized since then),
but this part is not yet included in this alpha version.
What's new
Compared to Release 1.5,
the following features have been added:
- The EVIO subsystem
is loaded from an external shared library. This brings support for the latest
version of EVIO (currently 4.4.6) and permits updating of EVIO without having to
rebuild the core analyzer. If EVIO is not installed on the user's system, the
analyzer build system will attempt to download and install it automatically.
- The decoder has been rewritten to support drivers for front-end hardware as
plug-ins. New decoding routines for new hardware can be added easily via user-written
shared libraries. Documentation can be found
here
- The new decoder makes the processing of different event or trigger types
configurable via "event type handler" plug-ins.
- Preliminary support is available for JLab 12 GeV pipelined electronics
(FADC250, F1TDC, etc.)
- The generic hardware channel decoder, THaDecData has been completely
rewritten, using an object-oriented design.
- The track reconstruction of the VDCs of the Hall A HRS spectrometers has been
rewritten. Known bugs have been fixed. The reconstruction of multi-cluster
events should be greatly improved.
- The VDC efficiency calculation code has been moved from THaDecData
into a standalone physics module, VDCeff.
- Many limitations of the formula and test package have been removed.
It is now possible to define formulas and tests on variable-sized arrays,
including std::vector global variables.
- Explicit support for simulation input data has been added, simplifying the
handling of Monte Carlo truth data (base class Podd::SimDecoder).
- There is experimental support for building the analyzer with the scons
build system. Users will have to install scons version 2.1 or greater themselves.
- Support for the most recent version 5 of ROOT and current versions of gcc/g++.
- Miscellaneous minor bug fixes.
Compatibility
Version 1.6 is neither source-compatible nor binary-compatible with version 1.5 and
prior releases. Plug-ins and user libraries will need to be recompiled and possibly
changed. Please contact the developers if you need to do this and run into problems.
System requirements
- Linux with gcc/g++ 4 or higher; or Mac OS X 10.6 or higher with gcc/g++ 4 or higher
- ROOT 5.10 or higher. Version 5.34 stongly recommended.
- GNU make
- Reasonably powerful hardware (2GHz CPU, 1GB RAM). Less will work, but it won't be fun.
The following platforms have been explicitly tested:
- RedHat Enterprise Linux 5, 6 and 7 with default compilers (gcc/g++ 4.1.2, 4.4.7 and 4.8.5)
and ROOT 5.30 and 5.34.
- Fedora 14 and up with default compilers and ROOT 5.28 and 5.34.
- Mac OS X 10.6 through 10.11 with the default command-line development tools.
Most other recent Unix-like installations should work as well.
Building and installing the software
Please see docs/install.html
Running the program / How to analyze data
Please see docs/quickstart.html and
the main documentation page.
Example Scripts
Example scripts can be found in the "examples" and "examples/BPM" subdirectories.
Documentation
Further documentation is available in the "docs" subdirectory and
at the project home page.
Credits
Special thanks to Robert Michaels, Steve Wood and Ed Brash, who made valuable contributions
to this version.
Contact: Ole Hansen <ole@jlab.org>
Last modified: Wed Dec 16 13:15 EST 2015