xboa
XBOA: A multiparticle tracking postprocessor library for accelerator physicsists

You've got your favourite tracking code running, what now? This package is a post-processor for taking beam data to calculate beam emittance, Twiss functions, etc. Also includes bindings to plotting packages ROOT and matplotlib, and a whole lot more!

Download and Installation
You can download the latest version from the code repository hosted on sourceforge. This is mirrored on launchpad.
Installation instructions are in the README file, but you probably have to do something like:
tar -xzf xboa-<version>.tar.gz
cd xboa-<version>
python setup.py build
sudo python setup.py install
At the moment only Linux is supported, but windows support would be pretty easy to implement if there was demand.
Running
When doing any physics analysis beyond the most basic, one really wants to be able to manipulate the analysis in various ways. For any detailed analysis, physicists will want to make cuts and calculate different variables in different ways. For this reason x-boa really provides just a library of physics analysis functions. Examples of how to use it are provided, but once physicists get going they can really push the analysis however they like.
Examples
There are several example scripts in the xboa/examples directory that are good to start with:
They take you through the steps required to load particle tracking data, access it, make plots and manipulate it in various ways. There is also a script that almost clones the functionality of the ecalc9f code developed by Greg Penn and Rick Fernow, XBOA9f.py
Modules
Three modules are available
  • common contains some useful general purpose routines including general plotting routines
  • hit module provides the Hit class and other interfaces to individual monte carlo Hits (e.g. particles traversing some output plane)
  • bunch module provides the Bunch class and other interfaces to operations on groups of particles (e.g. moment and Twiss parameter calculation)
  • tracking provides an interface to tracking for use by the algorithms module
  • algorithms provides a library many for common accelerator physics functions such as finding closed orbits
Additionally, there is some C code hiding "under the bonnet"
Authors
Chris Rogers chris.nosp@m..rog.nosp@m.ers@s.nosp@m.tfc..nosp@m.ac.uk