open-physics / jet-physics-and-machine-learning

0 stars 0 forks source link

jet-physics-and-machine-learning

Python Matplotlib CHROMO Fastjet Machine Learning Code style: black scikit-learn pdbpp pylint

A. Dev Environment

Set up your dev environment by following instructions here.

B. Physics Environment

For your physics environment, you need

  1. PYTHIA: You can interact with this and other models by using CHROMO: A Hadronic Interaction Model interaface in Python.
  2. FastJet: You need this for its algorithms to cluster jets.
  3. Uproot: You need this for reading and writing ROOT files in pure Python and NumPy.

All the above packages are available at PyPI and are pip-installed via pyproject.toml at dev environment.

C. Physics Workflow in brief

  1. Generate pp collision events from Pythia.
  2. Reconstruct jets using anti-kt algorithm from fastjet and tag them with necessary heavy flavours.
  3. Apply different ML algorithms to classify the reconstructed jets.
  4. Find the best ML model with accuracy score, confusion matrix, f1 score etc.
  5. Optimize the model by varying different parameters.