A physics extension library available for free and open source use.
During the reconstruction of a high energy physics data event, PXL enables storing all event information in pxl::Objects such as particles, vertices, and collisions. These objects allow users to store all analysis-specific information needed for their analysis. In addition, users can include self-defined C++ PXL classes to maintain structures of event information. Relations can be established between these objects, e.g. to build particle decay trees. At this level, PXL objects contain single aspects of an individual event.
To maintain information about the entire process, PXL provides the pxl::EventView as a generalized event container. In addition to the physics objects mentioned previously, user information can be stored in this container. PXL also enables duplication of the filled event container with all particles, relations, and user information. This enables users to create all ambiguous reconstruction versions in a reconstruction procedure of a decay tree from final state particles comfortably.
PXL ensures that CPU and memory consumption is kept low. It uses a copy-on-write (COW) mechanism, which is responsible for reconstruction performance gains of several 100% of a complex decay tree, while memory consumption is kept at the MByte level. PXL can be easily installed on any PC platform.
Furthermore, users can store and retrieve a snapshot of their physics analysis using PXL. A data compression algorithm, based on the ZLIB data compression library, is applied for data storage purposes.
Version 2.2.2: N/A