📚 go-hep - Awesome Go Library for Science and Data Analysis

Go Gopher mascot for go-hep

A set of libraries and tools for performing High Energy Physics analyses with ease.

🏷️ Science and Data Analysis
📂 Libraries for scientific computing and data analyzing.
231 stars
View on GitHub 🔗

Detailed Description of go-hep

hep

GitHub release go.dev reference CI codecov Go Report Card License DOI JOSS Paper Binder TODOs

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.

Forum

Drop an email at ~sbinet/[email protected] or visit the web interface lists.sr.ht/~sbinet/go-hep to discuss about Go-HEP or ask for help.

License

hep is released under the BSD-3 license.

Documentation

Documentation for hep is served by GoDoc.

Contributing

Guidelines for contributing to go-hep are available here: go-hep.org/contributing

Contributors

This project exists thanks to all the people who contribute.

Motivations

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.

Content

Go-HEP currently sports the following packages:

Installation

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.