The Physics eXtension Library (PXL) is a class collection for advanced level analysis in a high energy physics experiment. PXL classes are based on the ANSI C++ language standard together with the Standard Template Library (STL). The user command syntax of PXL is designed to support experienced users as well as newcomers in developing their own analysis, reaching from simple selection algorithms to most complex multi-process analyses involving the reconstruction of ambiguous decay trees from the final state objects measured in a detector.

During the reconstruction of a high energy physics data event, PXL enables storing all event information in objects (pxl::Object) such as particles (pxl::Particle), vertices (pxl::Vertex) and collisions (pxl::Collision). Each of them allows information to be stored and retrieved which is typically needed for an analysis. In addition, PXL allows user information (pxl::UserRecords) to be stored and retrieved that users need for their analysis beyond the expected values. Also relations (pxl::Relative) can be established, e.g. between mother and daughter particles to build particle decay trees.

At this level, the aforementioned physics objects contain single aspects of an individual event. For maintaining information about a whole event, PXL provides the generalized event container pxl::EventView where user information can be stored as well.


  • C++ library for event-based high-energy physics data analysis
  • Provides container classes: Event, EventView
  • Physics object classes: Particle, Vertex
  • IO system with binary data format optimized for serial event processing
  • Module system provides event loop: Steering via XML files, command line interface or VISPA
  • Full python-bindings

Technical Documentation and API Reference

For further information and a detailed documentation of PXL, please visit the PXL API reference.


Some simple examples can be seen here: /vispa-desktop-examples



Please select the latest binary version for your operating system from the table or install VISPA from the source code. You can also clone the latest tip out of our repository: hg clone ssh://forge.physik.rwth-aachen.de/hg/pxl

Latest Downloads
Source PXL 3.5.1
Debian GNU/Linux
Squeeze (stable), 64-bit PXL 3.5
Wheezy (testing), 32-bit PXL 3.5
Wheezy (testing), 64-bit PXL 3.5
Ubuntu Linux
Trusty Tahr (14.04), 32-bit PXL 3.5
Trusty Tahr (14.04), 64-bit PXL 3.5
Saucy Salamander (13.10), 32-bit PXL 3.5
Saucy Salamander (13.10), 64-bit PXL 3.5
Precise Pangolin (12.04), 32-bit PXL 3.5
Precise Pangolin (12.04), 64-bit PXL 3.5
Apple Macintosh
Mac OS X bundle PXL 3.2 & VISPA 0.6
Mac OS X including ROOT PXL 3.2 & VISPA 0.6
Microsoft Windows
Windows (python 2.6) PXL 3.1
Windows (python 2.7) PXL 3.1

For older PXL versions, please visit https://forge.physik.rwth-aachen.de/projects/pxl/files


PXL depends on the following third party software. These dependencies are automatically resolved by the binary installer for the individual operating systems and only needed for compilation of the programs from source.

  • Python 2.7 from here.
  • To compile PXL from source you need:
    • CMake
    • SWIG (Version 2.0.9 is recommended)
    • The Python developer headers