A Graph Neural Network Framework for High Energy Particle Physics
Getting Started:
The framework and tutorials are outlined within read the docs.
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| analysisg-4.5.8.tar.gz | 2.1 MB | Without provenance | Details for analysisg-4.5.8.tar.gz |
Built distributions (wheels)
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
|
Security for AnalysisG 4.5.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.