Skip to main content

No project description provided

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

AnalysisG-4.4.8.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

AnalysisG-4.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (35.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

AnalysisG-4.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

AnalysisG-4.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

AnalysisG-4.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (35.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

AnalysisG-4.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file AnalysisG-4.4.8.tar.gz.

File metadata

  • Download URL: AnalysisG-4.4.8.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for AnalysisG-4.4.8.tar.gz
Algorithm Hash digest
SHA256 e615c2ced993956f3c26643edea743f0d8880c0fc368b7823c3469223552de60
MD5 e736e8699106ef1e3134382af4841f38
BLAKE2b-256 e35fa272d202384c31f3d5a105abcc4887763186b3271658aed84df39a171d8d

See more details on using hashes here.

Provenance

File details

Details for the file AnalysisG-4.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for AnalysisG-4.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b9010f47c2695f16242d68cd70693e2047a19c9d88b97cdfb9053a6134e9cc9
MD5 d431367f3cdee7ccce88dd054c5772e0
BLAKE2b-256 c47123b256c753627338a81dccd60c870802dfc4782d14619af969f9528bd268

See more details on using hashes here.

Provenance

File details

Details for the file AnalysisG-4.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for AnalysisG-4.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df2a0c4a2ef67d36694db16fc4900aacfcf6835f3ade40fd35dfe597352bd8b7
MD5 d964ed0ea32078ea800e5ec09e82a997
BLAKE2b-256 95358520dd6e58ec18e1545cf123170a4f3a2fe96b7a7ede8820866140cb8dee

See more details on using hashes here.

Provenance

File details

Details for the file AnalysisG-4.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for AnalysisG-4.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c477d042ecd92aa697d2bf294b4c122d6af939efb1649ad53944377129dff24
MD5 80b46c07a2cbbfec1da77655bc5accb1
BLAKE2b-256 8bc9993cf4f9f95477cc32e4ff106f1323371f45b6b02dfe48d407e9f3d56cb3

See more details on using hashes here.

Provenance

File details

Details for the file AnalysisG-4.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for AnalysisG-4.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc3f0e6654c064dd69a7ba332246f74626009a4a310b6898b95b72d33d379b7c
MD5 0f426051c877ac7bd9de85d072b069db
BLAKE2b-256 bfeb8e46311544e5c2f14176b9e306f069a9b2a69843d046fc25c2a89c072234

See more details on using hashes here.

Provenance

File details

Details for the file AnalysisG-4.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for AnalysisG-4.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1132947334e2132b2c33849281683c985202684a3756723637dc893776fb1e80
MD5 af4ac8b0295bc55650c17e620d0f62ca
BLAKE2b-256 3c226923de43f0ed9f920def3bf4aa9a24a09f5f1175ecfe76a0f9bccebbaa66

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page