PUMAS

A C99 library for the transport of high energy μ or τ

PUMAS v1.1 : checking up

2021, Sep 14    
PUMAS v1.1 : checking up

PUMAS v1.1 has been released. It includes a major update of the physics, increased numerical accuracy and quality of life improvements. These updates have been carefully checked e.g. by comparison to the PROPOSAL Monte Carlo. Yet, in case that you spot problems please consider reporting this issue on GitHub.

Warning : due to a typo in the simulation of hard elastic collisions, v1.1 has been patched since it initial release (b16e7fe). Please check your git hash in order to ensure that you are using the latest patch, i.e. b52648f . The typo resulted in too large scattering, the higher the energy of the muon. Note that it only impacts muons with kinetic energy higher than 100 GeV.

For people using PUMAS v1.0 or below we recommend migrating to PUMAS v1.1. The latter brings major improvements on the numerical accuracy of PUMAS, from ~1% to better than 0.1%. In addition, up to date physics models are used, in particular for radiative processes. Please check the release notes in order to upgrade. Note that examples of using PUMAS with Geant4 or TURTLE have been added as well.

For new users the online docs might be helpful. It contains tutorials as well as a description of the library API. The examples shipped with the PUMAS source might be a good starting point as well.


Note that work on the LuaJIT wrapper (pumas-luajit) has been discontinued. The main motivation for using LuaJIT was to get C like performances with a higher level scripting language. Yet, as increasing features have been added to the LuaJIT wrapper, I did not manage to keep up with performances. Worse, very unpredictable runtimes were observed related to the JIT compiler. Thus, this project is currently migrating to Python using cffi bindings. Under some circumstances, native C performances can be preserved with Python by using a numpy like vectorization strategy.