Skip to main content

A Graph Neural Network Framework for High Energy Particle Physics

AnalysisG-Coverage-Action building-analysisG building-pyc Publish to PyPI tox-testing-analysisG

Getting Started:

The framework and tutorials are outlined within read the docs. Documentation Status

Introduction:

The aim of this package is to provide Particle Physicists with an intuitive interface to Graph Neural Networks, whilst remaining Analysis agnostic. Following a similar spirit to AnalysisTop, the physicist defines a custom event class and matches variables within ROOT files to objects that they are a representation of. A simple example of this would be a particle, since these generally have some defining properties such as the four vector, mass, type, etc.

From a technical point of view, the particle would be represented by some Python object, where attributes are matched to the ROOT leaf strings, such that framework can identify how variables are matched. A similar approach can be taken to construct event objects, where particle objects live within the event and are matched accordingly to any other particles e.g. particle truth matching. This hierarchical architecture allows for complex event definitions, first basic building blocks are defined and then matched according to some rule (see tutorial below).

To streamline the transition between ROOT and PyTorch Geometric (a Deep Learning framework for Graph Neural Networks), the framework utilizes event graph definitions. These simply define which particles should be used to construct nodes on a PyTorch Geometric (PyG) Data object. Edge, Node and Graph features can be added separately as simple python functions (see tutorial below). Post event graph construction, events are delegated to an optimization step, which trains a specified model with those graphs.

To avoid having to deal with additional boiler plate book keeping code, the framework tracks the event to the originating ROOT file using a hashing algorithm. The hash is constructed by concatenating the directory, ROOT filename and event number into a single string and computing the associated hash. This ensures each event can be easily traced back to its original ROOT file.

Or naviate to the tutorial folder, which outlines a few core concepts of this framework.

Metadata

Release files for AnalysisG 4.5.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for AnalysisG 4.5.8
File Size Uploaded
analysisg-4.5.8.tar.gz 2.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for AnalysisG 4.5.8
File
AnalysisG-4.5.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
AnalysisG-4.5.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
AnalysisG-4.5.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
AnalysisG-4.5.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
AnalysisG-4.5.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 178.8 MB

Release files / analysisg-4.5.8.tar.gz

Download URL analysisg-4.5.8.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
2226abd2a666be4653656eb3301adf0f9d683a6bc1ae6e2e06d2e9544241bc97
BLAKE2b-256 checksum
How to use checksums
bcc2b22b70b07d0cfeac16c84b06b97657335a2482ebd91d9e7c4fa68c1d1d32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / AnalysisG-4.5.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL AnalysisG-4.5.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 35.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
df9aaac45d7636c4c91eb894f276c4f5dcb06a1380f1a5213cc35f8de4894d60
BLAKE2b-256 checksum
How to use checksums
9d73c1fffb11ed903f9253988d3ba143f2997464a3f6cb1b0998524bfa176906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / AnalysisG-4.5.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL AnalysisG-4.5.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 35.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
76716b0a386492918f8c451642d770461ee03a22246242f0f32df719aa591dfe
BLAKE2b-256 checksum
How to use checksums
e77d6ced368831f9108d445c275f4a9bb026e4611a6d47be1d50cc07c72cd234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / AnalysisG-4.5.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL AnalysisG-4.5.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 35.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
025b24a75eda5006395bc7b5f73d59d9927ab3c10ddf15f97138f04f907ce0cc
BLAKE2b-256 checksum
How to use checksums
be9ba53548e4cf214f9a96bed406e49d803212b700bb3ec851b5ec64ca3a53b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / AnalysisG-4.5.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL AnalysisG-4.5.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 35.7 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
30e3817c5dc06688dafd1a861c2842d043ba2da7ed61f426d5f1ff75103f02e1
BLAKE2b-256 checksum
How to use checksums
fa6b6ae5a99e088b4d20f7f0ecf72ca4e12e425df82ac58c409f5015b4528abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / AnalysisG-4.5.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL AnalysisG-4.5.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 34.8 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5755991b9e1e72b67622f8f66cfb6d8e952a55ab14766d41619df5a48123b9d4
BLAKE2b-256 checksum
How to use checksums
c05773cbfa3210cee7e10d6ac029f0769069e4f42b23d68a3e02f936d300a010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

4.5.8 This release

6 release files

4.5.7

6 release files

4.5.6

6 release files

4.5.5

6 release files

4.5.4

6 release files

4.5.2

6 release files

4.5.1

6 release files

4.5.0

6 release files

4.4.9

6 release files

4.4.8

6 release files

4.4.7

6 release files

4.4.6

6 release files

4.4.4

6 release files

4.4.3

6 release files

4.4.2

6 release files

4.4.1

6 release files

4.4.0

6 release files

4.3.9

6 release files

4.3.8

6 release files

4.3.7

6 release files

4.3.6

6 release files

4.3.5

6 release files

4.3.4

6 release files

4.3.3

6 release files

4.3.2

6 release files

4.3.1

6 release files

4.3.0

6 release files

4.2.9

6 release files

4.2.8

6 release files

4.2.7

6 release files

4.2.6

6 release files

4.2.5

6 release files

4.2.3

6 release files

4.2.2

6 release files

4.2.1

6 release files

4.2.0

6 release files

4.1.9

6 release files

4.1.8

6 release files

4.1.7

6 release files

4.1.6

6 release files

4.1.5

6 release files

4.1.4

6 release files

4.1.3

6 release files

4.1.2

6 release files

4.0.0

6 release files

3.3.0

6 release files

0.0.0

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page