Introduction
Overview
Teaching: 15 min
Exercises: 0 minQuestions
What is the physics motivation for measuring $B_s^0 \to \mu^+\mu^-$?
What is the overall analysis strategy?
Objectives
Understand why $B_s^0 \to \mu^+\mu^-$ is a sensitive probe of new physics.
Know the key ingredients of the branching fraction measurement.
Understand the role of the normalization channel.
Physics motivation
The decay $B_s^0 \to \mu^+\mu^-$ is a Flavour-Changing Neutral Current (FCNC) process. In the Standard Model it is loop- and helicity-suppressed, giving a branching fraction of:
$\text{BF}(B_s^0 \to \mu^+\mu^-) \approx 3.66 \times 10^{-9}$
Many beyond-SM scenarios (SUSY, leptoquarks, extra dimensions) predict significant deviations from this value, making it one of the most sensitive indirect probes of new physics at the LHC.
Analysis strategy
The measurement follows the strategy of the CMS Run-2 paper BPH-21-006:
- Select $B_s \to \mu\mu$ candidates and classify them into 8 BDT categories based on signal/background discrimination.
- Model the signal PDF using a double Gaussian + Crystal Ball shape fitted to MC.
- Model background PDFs: combinatorial (Bernstein), peaking (KDE from MC), semileptonic (KDE from MC).
- Fit the normalization channel $B^+ \to J/\psi K^+$ in data to extract the observed yield and efficiency.
- Perform a simultaneous unbinned maximum likelihood fit across all 8 categories to extract BF($B_s \to \mu\mu$).
Branching fraction formula
The branching fraction is extracted via:
[\text{BF}(B_s \to \mu\mu) = \frac{N_{B_s}}{N_{B^+}} \cdot \frac{\varepsilon_{B^+}}{\varepsilon_{B_s}} \cdot \frac{f_u}{f_s} \cdot \text{BF}(B^+ \to J/\psi K^+)]
where $f_u/f_s$ is the ratio of $B^+$ to $B_s^0$ production fractions.
Key Points
$B_s^0 \to \mu^+\mu^-$ is a FCNC decay heavily suppressed in the SM — new physics can enhance it.
The branching fraction is extracted from a simultaneous fit across BDT categories.
$B^+ \to J/\psi K^+$ serves as the normalization channel to cancel many systematic uncertainties.
Signal MC Fit
Overview
Teaching: 10 min
Exercises: 40 minQuestions
How do we model the $B^+ \to J/\psi K^+$ signal peak?
How do we apply MC-derived shape parameters to data?
Objectives
Fit a double Gaussian model to $B^+ \to J/\psi K^+$ MC.
Understand mean shift and resolution scale corrections.
Fit the full signal+background model to data.
Task 2.1 — Double Gaussian fit to MC (category 0)
Fit a double Gaussian model to the $B^+ \to J/\psi K^+$ MC in category 0. The invariant mass range is 5.0–5.8 GeV.
Task 2.1
Open
task_2_1.py(ortask_2_1.C) and run the double Gaussian fit to MC. Record the fitted parameters — you will use them as starting values in later tasks.python task_2_1.py
Task 2.2 — Fit data with fixed signal shape
Use the MC-derived signal shape (fixed parameters) and fit the $B^+ \to J/\psi K^+$ data with a signal + combinatorial + $J/\psi^+X$ background model.
Task 2.2
Run
task_2_2.py. The signal PDF parameters are hard-coded from the Task 2.1 MC fit result. Observe the fit quality and check the yield.
Task 2.3 — Fit data with mean shift and resolution scale corrections
Introduce two free parameters:
sig_shift: a common mean shift applied to both Gaussianssig_scale: a common resolution scale factor applied to both sigmas
These correct for known data/MC differences.
Task 2.3
Run
task_2_3.py. Compare the fittedsig_shiftandsig_scaleto unity/zero. Are the data/MC corrections significant?
Task 2.4 — Repeat for category 1
Repeat Tasks 2.1–2.3 for BDT category 1: fit the MC first, then fit the data with corrections.
Task 2.4
Run
task_2_4.py. Note that the MC parameters are different for category 1.
Task 2.5 — $B_s \to J/\psi\phi$ signal fit
Repeat the MC+data fit for the $B_s \to J/\psi\phi$ channel (mass peak near 5.37 GeV).
Task 2.5
Run
task_2_5.py. Note the different mass peak position and the simpler background (no $J/\psi^+X$ tail needed for the $B_s \to J/\psi\phi$ channel).
Key Points
The signal shape is fixed from MC, with a floating mean shift and resolution scale fitted in data.
The combinatorial background uses an exponential; the $J/\psi^+X$ tail uses an error function.
Normalization Channel
Overview
Teaching: 10 min
Exercises: 30 minQuestions
How do we fit the normalization channel $B^+ \to J/\psi K^+$?
How do we extract the $B^+ \to J/\psi K^+$ yield and efficiency?
How do we compute the fs/fu production fraction ratio?
Objectives
Fit the $B^+ \to J/\psi K^+$ data and MC to extract signal yield and shape parameters.
Fit the $B_s \to J/\psi\phi$ channel to extract the Bs yield.
Compute fs/fu from the ratio of the two channel yields.
Task 3.1 — $B^+ \to J/\psi K^+$ normalization fit
Task 3.1
Run
task_3_1.pyto fit the $B^+ \to J/\psi K^+$ invariant mass distribution in data. Record the signal yield and efficiency for each category.python task_3_1.py
Task 3.2 — $B_s \to J/\psi\phi$ yield fit
Task 3.2
Run
task_3_2.pyto fit the $B_s \to J/\psi\phi$ invariant mass distribution. This gives the Bs yield needed to compute the fs/fu ratio.
Task 3.3 — Computing fs/fu
Task 3.3
Run
task_3_3.py. This script does pure arithmetic — no ROOT needed. It uses the yields from Tasks 3.1 and 3.2 to compute fs/fu with propagated uncertainty.
Key Points
The normalization channel $B^+ \to J/\psi K^+$ cancels many systematic uncertainties.
fs/fu is measured from data using $B_s \to J/\psi\phi$ and $B^+ \to J/\psi K^+$.