go-hep.org/x/hep@v0.38.1/README.md (about) 1 hep 2 === 3 4 [](https://codeberg.org/go-hep/hep/releases) 5 [](https://pkg.go.dev/go-hep.org/x/hep) 6 [](https://ci.codeberg.org/repos/14299) 7 [](https://codecov.io/gh/go-hep/hep) 8 [](https://goreportcard.com/report/go-hep.org/x/hep) 9 [](https://go-hep.org/license) 10 [](https://doi.org/10.5281/zenodo.597940) 11 [](http://joss.theoj.org/papers/0b007c81073186f7c61f95ea26ad7971) 12 13 `hep` is a set of libraries and tools to perform High Energy Physics analyses with ease and [Go](https://golang.org) 14 15 See [go-hep.org](https://go-hep.org) for more informations. 16 17 ## Forum 18 19 Drop an email at [~sbinet/go-hep@lists.sr.ht](mailto:~sbinet/go-hep@lists.sr.ht) or visit the web interface [lists.sr.ht/~sbinet/go-hep](https://lists.sr.ht/~sbinet/go-hep) to discuss about `Go-HEP` or ask for help. 20 21 22 ## License 23 24 `hep` is released under the `BSD-3` license. 25 26 ## Documentation 27 28 Documentation for `hep` is served by [GoDoc](https://pkg.go.dev/go-hep.org/x/hep). 29 30 ## Contributing 31 32 Guidelines for contributing to [go-hep](https://go-hep.org) are available here: 33 [go-hep.org/contributing](https://go-hep.org/contributing) 34 35 ### Contributors 36 37 This project exists thanks to all the people who contribute. 38 39 # Motivations 40 41 Writing analyses in HEP involves many steps and one needs a few tools to 42 successfully carry out such an endeavour. 43 But - at minima - one needs to be able to read (and possibly write) ROOT files 44 to be able to interoperate with the rest of the HEP community or to insert 45 one's work into an already existing analysis pipeline. 46 47 Go-HEP provides this necessary interoperability layer, in the Go programming 48 language. 49 This allows physicists to leverage the great concurrency primitives of Go, 50 together with the surrounding tooling and software engineering ecosystem of Go, 51 to implement physics analyses. 52 53 ## Content 54 55 Go-HEP currently sports the following packages: 56 57 - [go-hep.org/x/hep/brio](https://go-hep.org/x/hep/brio): a toolkit to generate serialization code 58 - [go-hep.org/x/hep/fads](https://go-hep.org/x/hep/fads): a fast detector simulation toolkit 59 - [go-hep.org/x/hep/fastjet](https://go-hep.org/x/hep/fastjet): a jet clustering algorithms package (WIP) 60 - [go-hep.org/x/hep/fit](https://go-hep.org/x/hep/fit): a fitting function toolkit (WIP) 61 - [go-hep.org/x/hep/fmom](https://go-hep.org/x/hep/fmom): a 4-vectors library 62 - [go-hep.org/x/hep/fwk](https://go-hep.org/x/hep/fwk): a concurrency-enabled framework 63 - [go-hep.org/x/hep/groot](https://go-hep.org/x/hep/groot): a pure [Go](https://golang.org) package for [ROOT](https://root.cern.ch) I/O (WIP) 64 - [go-hep.org/x/hep/hbook](https://go-hep.org/x/hep/hbook): histograms and n-tuples (WIP) 65 - [go-hep.org/x/hep/hplot](https://go-hep.org/x/hep/hplot): interactive plotting (WIP) 66 - [go-hep.org/x/hep/hepmc](https://go-hep.org/x/hep/hepmc): `HepMC` in pure [Go](https://golang.org) (EDM + I/O) 67 - [go-hep.org/x/hep/hepevt](https://go-hep.org/x/hep/hepevt): `HEPEVT` bindings 68 - [go-hep.org/x/hep/heppdt](https://go-hep.org/x/hep/heppdt): `HEP` particle data table 69 - [go-hep.org/x/hep/lcio](https://go-hep.org/x/hep/lcio): read/write support for `LCIO` event data model 70 - [go-hep.org/x/hep/lhef](https://go-hep.org/x/hep/lhef): Les Houches Event File format 71 - [go-hep.org/x/hep/rio](https://go-hep.org/x/hep/rio): `go-hep` record oriented I/O 72 - [go-hep.org/x/hep/sio](https://go-hep.org/x/hep/sio): basic, low-level, serial I/O used by `LCIO` 73 - [go-hep.org/x/hep/slha](https://go-hep.org/x/hep/slha): `SUSY` Les Houches Accord I/O 74 - [go-hep.org/x/hep/xrootd](https://go-hep.org/x/hep/xrootd): [XRootD](http://xrootd.org) client in pure [Go](https://golang.org) 75 76 ## Installation 77 78 Go-HEP packages are installable via the `go get` command: 79 80 ```sh 81 $ go get go-hep.org/x/hep/fads 82 ``` 83 84 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.