gnn-tracking / gnn_tracking

Reconstruct billions of particle trajectories with graph neural networks
https://gnn-tracking.rtfd.io/
MIT License
31 stars 17 forks source link
ai clustering gnn gnn-model hep hep-ex ml tracking tracking-algorithm trackml
# GNNs for Charged Particle Tracking [![DOI](https://zenodo.org/badge/516883615.svg)](https://zenodo.org/badge/latestdoi/516883615) [![CalVer YY.0M.MICRO](https://img.shields.io/badge/calver-YY.0M.MICRO-22bfda.svg)][calver] [![Documentation Status](https://readthedocs.org/projects/gnn-tracking/badge/?version=latest)](https://gnn-tracking.readthedocs.io/en/latest/?badge=latest) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/gnn-tracking/gnn_tracking/main.svg)](https://results.pre-commit.ci/latest/github/gnn-tracking/gnn_tracking/main) [![gh actions](https://github.com/gnn-tracking/gnn_tracking/actions/workflows/test.yaml/badge.svg)](https://github.com/gnn-tracking/gnn_tracking/actions) [![Check Markdown links](https://github.com/gnn-tracking/gnn_tracking/actions/workflows/check-links.yaml/badge.svg)](https://github.com/gnn-tracking/gnn_tracking/actions/workflows/check-links.yaml) [![codecov](https://codecov.io/gh/gnn-tracking/gnn_tracking/branch/main/graph/badge.svg?token=3MKA387NOH)](https://codecov.io/gh/gnn-tracking/gnn_tracking) ![](readme_assets/banner.jpg)

This repository holds the main python package for the GNN Tracking project. See the readme of the organization for an overview of the task. Detailed write-ups of our progress are available in arXiv:2309.16754 and arXiv:2312.03823. More resources are provided in the reading list here.

🔥 Installation

  1. Install micromamba (installation instructions). Conda works as well, but will be slow to solve the environment, so it's not recommended.
  2. Set up your environment with one of the environment/*.yml files (see the readme in that folder)
  3. Run pip3 install -e '.[testing,dev]' from this directory.
  4. Run pytest from this directory to check if everything worked
  5. For development: Install pre-commit hooks: pre-commit install (from this directory)

A good place to get started are the demo notebooks. This package is versioned as CalVer YY.0M.MICRO.

🧰 Development guidelines

If you open a PR and pre-commit fails for formatting, commentpre-commit.ci autofix to trigger a fixup commit from pre-commit.

To skip the slowest tests with pytest, run pytest --no-slow.

💚 Contributing, contact, citation

You can reach us per mail. You can cite this software with the zenodo DOI. Please also cite our [latest preprint][preprint].

A good place to start contributing are the issues marked with 'good first issue'. It is always best to have the issue assigned to you before starting to work on it.

Core developers (emoji key):

Gage DeZoort
Gage DeZoort

💻 🤔
Kilian Lieret
Kilian Lieret

💻 ⚠️

Thanks also goes to these wonderful people:

Shubhanshu Saxena
Shubhanshu Saxena

💻
Geo Jolly
Geo Jolly

⚠️
Jian Park
Jian Park

💻 🤔
Devdoot Chatterjee
Devdoot Chatterjee

💻 🔬
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!