mt2
Stransverse mass computation as a numpy ufunc.
Decision gist · record as of 2026-08-14
Yes, if you work in particle physics and need MT2 calculations. The package is actively maintained, has no known vulnerabilities, supports modern Python versions (3.9–3.14), and offers significant performance gains over reference implementations. Install friction is moderate due to C++ compilation, but precompiled wheels mitigate this for most platforms. MIT licensing poses no restrictions.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires numpy as a runtime dependency; C++ compilation may be needed if building from source rather than using precompiled wheels.
- Medium install friction due to compiled C++ components, but precompiled wheels cover Python 3.9–3.14 across macOS, Linux, and Windows.
- Repository is actively maintained with a recent commit on 2026-08-10 and stable release status.
License · maintenance · safety
MIT (permissive) — Released under MIT (permissive), allowing use in commercial and academic projects with minimal restrictions. Citation of the underlying papers (arXiv:hep-ph/9906349 and arXiv:1411.4312) is requested but not legally required.
last release 2025-10-09 (309 days) · last repo commit 2026-08-10 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 430,029 downloads/mo, #6,732 on PyPI
Alternatives
Verify before relying
pip install mt2
from mt2 import mt2
val = mt2(
100, 410, 20, # Visible 1: mass, px, py
150, -210, -300, # Visible 2: mass, px, py
-200, 280, # Missing transverse momentum: x, y
100, 100) # Invisible 1 mass, invisible 2 mass
print(val)- Whether the 3x to 4x speedup over the arXiv reference implementation holds across all input ranges and precisions.
- Scale-invariance claims and their practical implications for very large or very small input magnitudes.
What it is and what it does
mt2 is a specialized physics library that computes the stransverse mass (MT2), a kinematic variable used in high-energy particle physics to infer properties of invisible particles in collision events. It wraps an optimized C++ implementation of the Lester-Nachman bisection algorithm, providing both a standard function and a raw numpy ufunc for flexibility.
The package is designed for high-throughput calculations in particle physics analyses. It supports vectorization over numpy arrays, allowing efficient batch computation across grids of parameters—useful for Monte Carlo simulations and parameter scans. The implementation is scale-invariant and reportedly 3x to 4x faster than the original arXiv reference code, with a fallback to the legacy arxiv implementation available for independent verification.
Use it for
- Compute MT2 for individual particle collision events in high-energy physics data analysis.
- Scan parameter grids of invisible particle masses using vectorized numpy arrays for efficiency.
- Cross-check results against the legacy arXiv implementation using mt2_arxiv for validation.
- Integrate MT2 calculations into Monte Carlo simulations for physics phenomenology studies.
- Use as a numpy ufunc with advanced features like conditional computation via the where argument.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work in particle physics and need MT2 calculations.
The package is actively maintained, has no known vulnerabilities, supports modern Python versions (3.9–3.14), and offers significant performance gains over reference implementations. Install friction is moderate due to C++ compilation, but precompiled wheels mitigate this for most platforms. MIT licensing poses no restrictions.
Install
mt2 on PyPI
Before you install
Medium install friction due to compiled C++ components, but precompiled wheels cover Python 3.9–3.14 across macOS, Linux, and Windows. Repository is actively maintained with a recent commit on 2026-08-10 and stable release status.
Requires numpy as a runtime dependency; C++ compilation may be needed if building from source rather than using precompiled wheels.
License in practice
Released under MIT (permissive), allowing use in commercial and academic projects with minimal restrictions. Citation of the underlying papers (arXiv:hep-ph/9906349 and arXiv:1411.4312) is requested but not legally required.
Quickstart
pip install mt2
from mt2 import mt2
val = mt2(
100, 410, 20, # Visible 1: mass, px, py
150, -210, -300, # Visible 2: mass, px, py
-200, 280, # Missing transverse momentum: x, y
100, 100) # Invisible 1 mass, invisible 2 mass
print(val)
Verify before relying
- Whether the 3x to 4x speedup over the arXiv reference implementation holds across all input ranges and precisions.
- Scale-invariance claims and their practical implications for very large or very small input magnitudes.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 309 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 430,029 / month, #6,732 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: mt2-1.3.1-cp310-cp310-macosx_10_9_universal2.whl; mt2-1.3.1-cp310-cp310-macosx_11_0_arm64.whl; mt2-1.3.1-cp310-cp310-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl; mt2-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl; mt2-1.3.1-cp310-cp310-win_amd64.whl; mt2-1.3.1-cp311-cp311-macosx_10_9_universal2.whl; mt2-1.3.1-cp311-cp311-macosx_11_0_arm64.whl; mt2-1.3.1-cp311-cp311-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl; mt2-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl; mt2-1.3.1-cp311-cp311-win_amd64.whl; mt2-1.3.1-cp311-cp311-win_arm64.whl; mt2-1.3.1-cp312-cp312-macosx_10_13_universal2.whl; mt2-1.3.1-cp312-cp312-macosx_11_0_arm64.whl; mt2-1.3.1-cp312-cp312-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl; mt2-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl; mt2-1.3.1-cp312-cp312-win_amd64.whl; mt2-1.3.1-cp312-cp312-win_arm64.whl; mt2-1.3.1-cp313-cp313-macosx_10_13_universal2.whl; mt2-1.3.1-cp313-cp313-macosx_11_0_arm64.whl; mt2-1.3.1-cp313-cp313-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “stransverse mass calculation”
- mt2Computes stransverse mass (MT2) for particle physics calculations,…
- pyteomicsPyteomics provides Python tools for proteomics data analysis,…
- mendeleevProvides a Python API to query properties of chemical elements, ions,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also tesseract · fastjet · hepunits · uproot3-methods · pymzml · vector · newton · mplhep · quimb