Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 3.12 KB

README.md

File metadata and controls

31 lines (21 loc) · 3.12 KB

Quantum Machine Learning for jet tagging at LHCb - PyHEP 2021

Binder DOI

This repository contains an example code for PyHEP 2021. Presentation slides are here.

At LHCb, b-jets are tagged using several methods, some of them with high efficiency but low purity or high purity and low efficiency. Particularly our aim is to identify jets produced by and quarks, which is fundamental to perform important physics searches, e.g. the measurement of the charge asymmetry, which could be sensitive to New Physics processes.

Since this is a classification task, Machine Learning (ML) algorithms can be used to achieve a good separation between - and -jets: classical ML algorithms such as Deep Neural Networks have been proved to be far more efficient than standard methods since they rely on the whole jet substructure. In this work, we present a new approach to -tagging based on Quantum Machine Learning (QML) which makes use of the QML Python library Pennylane integrated with the classical ML frameworks PyTorch and Tensorflow. Official LHCb simulated events of di-jets are studied and different quantum circuit geometries are considered. Performances of QML algorithms are compared with standard tagging methods and classical ML algorithms, preliminarily showing that QML algorithms perform almost as good as classical ML algorithms, despite using fewer events due to time and computational constraints.

This exercise is based on official LHCb Open Data.

How to run the exercise

Option 1 - Run it remotely with Binder

Just click here Binder and wait for a Jupyter Notebook to show up and open the qml4jets.ipynb notebook.

This option is recommended for a quick evaluation of the code, however, if you want to feed the QML model with more events, you have to run it locally.

Option 2 - Run it locally building a Conda environment

  1. Clone the repository. (This repository makes use of GitHub Large File Storage, you will probably need to install the git-lfs extention to properly download the datasets)
  2. Build a new conda environment using the provided yml file conda env create -f binder/environment.yml.
  3. Activate the environment, spawn a Jupyter Lab/Notebook
conda activate pyhepqml
jupyter-lab
  1. Finally, open the qml4jets.ipynb notebook.