Skip to content

Julia package implementing the Supersymmetry Les Houches Accord

License

Notifications You must be signed in to change notification settings

freeboson/SLHA.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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.

Installation

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.

Features

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.

About

Julia package implementing the Supersymmetry Les Houches Accord

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages