Skip to main content

Library for calibrating flavour tagging algorithms at LHCb

Project description

lhcb_ftcalib

pipeline status

LHCb Flavour Tagging calibration software

At high-energy proton-proton collider experiments, the production flavour of neutral B mesons needs to be reconstructed from particle charges from hadronisation processes in the associated event, i.e. from additional hadronisations on the signal meson side, as well as hadronisation and decays of the partner B hadron. This is commonly done with ML techniques like (recurrent) neural networks or boosted decision trees. The mistag probability estimates of these models (probability that predicted production flavour is wrong) usually need to have the property of probabilities. This calibration tool optimizes a GLM function to predict the mistag probabilities and takes into account the fact that neutral mesons can undergo oscillation before they decay. In addition, it provides helper functions to measure the performance and correlations of these models.

Documentation: Read the Docs

Installation

pip install lhcb_ftcalib

Command Line Interface Examples

Run ftcalib --help for a list of all options or read the docs

1. Calibrating opposite side taggers in a sample and saving result

ftcalib file:tree -OS VtxCh Charm OSElectronLatest OSMuonLatest OSKaonLatest \
        -mode Bd -tau B_tau -id B_ID -op calibrate -out output

2. Calibrating both tagging sides, combining them inidividually, and calibrating+saving the results

ftcalib file:tree -OS VtxCh Charm OSElectronLatest OSMuonLatest OSKaonLatest \
        -SS SSPion SSProton \
        -mode Bd -tau B_tau -id B_ID -op calibrate combine calibrate -out output

Note: The command line interface is by design not feature complete. Use the API to fine tune the calibration settings.

Requirements

  • uproot >= 4
  • iminuit >= 2.3.0
  • pandas < 1.5
  • numpy <= 1.21
  • scipy
  • matplotlib
  • numba == 0.53.1

For developers

Testing multiple python versions via tox

Click to expand

To test lhcb_ftcalib in different python environments, interpreters for each version need to be installed. Multiple python versions can be installed with pyenv:

CC=clang pyenv install 3.6.15
pyenv install 3.7.13
pyenv install 3.8.13
pyenv install 3.9.13
pyenv install 3.10.5

Whereby only missing versions need to be installed! Note that python 3.6 has issues with pip throwing segfaults if not built with clang. To make the newly installed versions globally available run

pyenv global 3.6.15 3.7.13 3.8.13 3.9.13 3.10.5

and add $HOME/.pyenv/shims to your PATH. To run the basic tests, execute

tox

in the lhcb_ftcalib directory

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

lhcb_ftcalib-1.2.9.tar.gz (122.5 kB view details)

Uploaded Source

Built Distribution

lhcb_ftcalib-1.2.9-py3-none-any.whl (69.7 kB view details)

Uploaded Python 3

File details

Details for the file lhcb_ftcalib-1.2.9.tar.gz.

File metadata

  • Download URL: lhcb_ftcalib-1.2.9.tar.gz
  • Upload date:
  • Size: 122.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.5

File hashes

Hashes for lhcb_ftcalib-1.2.9.tar.gz
Algorithm Hash digest
SHA256 2e198f5ca5bdda400d6cff600d85afcc55a00aca1648b44ed92bda181b6eed13
MD5 f5bc30e7ca3e2b56893bca433b02d2f9
BLAKE2b-256 9dd757d1054168b7264bf12f7845066f9674b8bca8f324de604a4b5fa7ade5d8

See more details on using hashes here.

File details

Details for the file lhcb_ftcalib-1.2.9-py3-none-any.whl.

File metadata

  • Download URL: lhcb_ftcalib-1.2.9-py3-none-any.whl
  • Upload date:
  • Size: 69.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.5

File hashes

Hashes for lhcb_ftcalib-1.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 9d7cf557758e63f842dcad3c6f48f6e32d515508e86ce00ddd48f4ebce436ffe
MD5 63c15a8ec53cac7aa24cf937d1b5ff55
BLAKE2b-256 e153c7bebf568a1d2dc169f27d6698e30824e75c3e3b80ca01e047cfb4765a48

See more details on using hashes here.

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