Julia package implementing the Supersymmetry Les Houches Accord
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


 ____  _     _   _    _       _ _
/ ___|| |   | | | |  / \     (_) |
\___ \| |   | |_| | / _ \    | | |
 ___) | |___|  _  |/ ___ \ _ | | |
|____/|_____|_| |_/_/   \_(_)/ |_|

Build Status AppVeyor codecov.io

This is a package written in Julia to parse, serialize, and perform calculations with the Supersymmetry Les Houches Accord (SLHA) file format, codified by this paper and updated in this paper. As the SLHA format is pervasive in the particle physics, especially beyond the Standard Model (BSM) physics, an agile and robust SLHA library for Julia should establish a foundation for new tools to be developed in Julia, for high energy physics.


You can get started very simply using Julia's package manager. Start Julia's CLI and do the following:

julia> Pkg.add("SLHA")

julia> using SLHA

At this point, you have already downloaded and installed the SLHA.jl package and have loaded its symbols.


One of the unique characteristics of this library is that different SLHA blocks, identified by name have their own type. Using Julia's parametric types which can be identified by a Symbol, it is easy to create a large number of subtypes. The idea is that this might be useful if one wishes to dispatch on a block, instead of using an associative map. (I'm not sure if this is a useful feature yet :) .)

There is a large degree of arbitrariness in the types of block that can be contained by SLHA.jl. You can have ordinary arrays of arbitrary dimensions, which can be easily traversed thanks to Julia's @generated metaprogramming facilities. And, the multiple/external dispatch of Julia allows you to easily extend the format to SLHA blocks as you wish. It is my hope that the rich programming environment will lead to innovative BSM tool development with clever meta-programming and staged programming techniques.