hep is a set of libraries and tools to perform High Energy Physics analyses with ease and Go
See go-hep.org for more informations.
hep is released under the
hep is served by GoDoc.
Writing analyses in HEP involves many steps and one needs a few tools to successfully carry out such an endeavour. But - at minima - one needs to be able to read (and possibly write) ROOT files to be able to interoperate with the rest of the HEP community or to insert one's work into an already existing analysis pipeline.
Go-HEP provides this necessary interoperability layer, in the Go programming language. This allows physicists to leverage the great concurrency primitives of Go, together with the surrounding tooling and software engineering ecosystem of Go, to implement physics analyses.
Go-HEP currently sports the following packages:
- go-hep.org/x/hep/brio: a toolkit to generate serialization code
- go-hep.org/x/hep/fads: a fast detector simulation toolkit
- go-hep.org/x/hep/fastjet: a jet clustering algorithms package (WIP)
- go-hep.org/x/hep/fit: a fitting function toolkit (WIP)
- go-hep.org/x/hep/fmom: a 4-vectors library
- go-hep.org/x/hep/fwk: a concurrency-enabled framework
- go-hep.org/x/hep/hbook: histograms and n-tuples (WIP)
- go-hep.org/x/hep/hplot: interactive plotting (WIP)
HepMCin pure Go (EDM + I/O)
HEPparticle data table
- go-hep.org/x/hep/lcio: read/write support for
LCIOevent data model
- go-hep.org/x/hep/lhef: Les Houches Event File format
go-heprecord oriented I/O
- go-hep.org/x/hep/groot: a pure Go package to for ROOT I/O (WIP)
- go-hep.org/x/hep/sio: basic, low-level, serial I/O used by
SUSYLes Houches Accord I/O
- go-hep.org/x/hep/xrootd: XRootD client in pure Go
Go-HEP packages are installable via the
go get command:
$ go get go-hep.org/x/hep/fads
Just select the package you are interested in and
go get will take care of fetching, building and installing it, as well as its dependencies, recursively.
If you need help with Go-HEP or want to contribute to Go-HEP, feel free to join the
go-hep mailing list:
or send a mail with the subject
email@example.com like so: click.