Skip to content
@gnn-tracking

GNN Tracking

Tracking with Graph Neural Networks

Tracking with Graph Neural Networks

Charged particle tracking reconstructs the trajectories ("tracks") of elementary particles traveling through a detector. This task is different from many other problems that involve trajectories:

  • there are several thousand particles that need to be tracked at once,
  • there is no time information (the particles travel too fast),
  • we do not observe a continuous trajectory but instead only 5-15 points ("hits") along the way in different detector layers.

The task can be described as a combinatorically very challenging "connect-the-dots" problem, essentially turning a cloud of points (hits) in 3D space into a set of O(1000) trajectories. Expressed differently, we must identify which hits belong to the same particle.

Unlike traditional tracking algorithms that are built around Kalman filters, this project uses graph neural networks for significant increases in speed.

Turning tracking into a machine learning task (click me)

A conceptually simple way to turn tracking into a machine learning task is to create a fully connected graph of all points and then train an edge classifier to reject any edge that doesn't connect points that belong to the same particle. In this way, only the individual trajectories remain as components of the initial fully connected graph. In this project, we instead explore the idea of object condensation, where a GNN maps all hits to a latent space, learning to place hits from the same track close to each other, such that trivial clustering can recover the hits belonging to the same tracks.

Reading list (click me)
Show me the code! (click me)

Pinned Loading

  1. gnn_tracking gnn_tracking Public

    Reconstruct billions of particle trajectories with graph neural networks

    Python 34 17

  2. tutorials tutorials Public

    Tutorials for onboarding of the GNN Tracking project

    Jupyter Notebook 8 1

Repositories

Showing 10 of 15 repositories
  • paper-plots Public

    Paper for OC in mid 2023

    gnn-tracking/paper-plots’s past year of commit activity
    Jupyter Notebook 0 MIT 0 0 2 Updated Oct 29, 2024
  • gnn-tracking/hyperparameter_optimization2’s past year of commit activity
    Python 0 MIT 0 0 1 Updated Oct 29, 2024
  • lst-condensation-hackathon Public

    Let's bring object condensation into the line segment tracking pipeline!

    gnn-tracking/lst-condensation-hackathon’s past year of commit activity
    Jupyter Notebook 0 MIT 0 0 0 Updated Oct 10, 2024
  • tutorials Public

    Tutorials for onboarding of the GNN Tracking project

    gnn-tracking/tutorials’s past year of commit activity
    Jupyter Notebook 8 MIT 1 1 0 Updated Oct 10, 2024
  • .github Public

    Organization wide default settings

    gnn-tracking/.github’s past year of commit activity
    0 0 0 0 Updated Oct 10, 2024
  • klieret-gnn-tracking-experiments Public

    Kilian's experimental notebooks

    gnn-tracking/klieret-gnn-tracking-experiments’s past year of commit activity
    Jupyter Notebook 0 MIT 0 0 0 Updated Oct 10, 2024
  • gnn-tracking/model-exchange’s past year of commit activity
    Jupyter Notebook 1 0 0 0 Updated Sep 18, 2024
  • jian-gnn-tracking-experiments Public

    Jian's GNN Tracking Repository

    gnn-tracking/jian-gnn-tracking-experiments’s past year of commit activity
    Jupyter Notebook 0 MIT 0 0 1 Updated Sep 2, 2024
  • gnn_tracking Public

    Reconstruct billions of particle trajectories with graph neural networks

    gnn-tracking/gnn_tracking’s past year of commit activity
    Python 34 MIT 17 32 (6 issues need help) 1 Updated Sep 2, 2024
  • media Public

    Media files and plots

    gnn-tracking/media’s past year of commit activity
    2 MIT 0 0 0 Updated Jun 4, 2024