Every oscillation measurement needs to know what the particle was at birth, and at a hadron collider almost nothing tells you.
🎯 Why this matters
That makes tagging power the limiting quantity rather than luminosity. Collisions are cheap here and knowing what you made is not, so the useful sample is a small fraction of the recorded one.The (, mass 5366.92 MeV) is the heaviest neutral meson that oscillates, and the last of the four to be caught. Its physics is identical to the ‘s — Eq. (8.61) is Eq. (8.21) with new labels — but one number is different by a factor of 35, and that number changes what kind of machine you need.
The fastest oscillation there is
against ps⁻¹. The period is 0.354 ps where the ‘s is 12.4 ps, and since the two lifetimes are almost the same, the ratio that §8.1 identified as the organising number of the chapter flips from 8 to 0.24:
Survival and appearance — one equation, four systems
- survival — still B_s⁰
- appearance — now B_s⁰-bar
- P₊ + P₋ — decay alone, no mixing
B_s⁰. Thirty-five times faster than the B⁰. Roughly four oscillations fit inside one lifetime and 13 within three, so the frequency is measurable to five significant figures — but resolving them needs timing far better than the 0.35 ps period, which is why this waited for the LHC.
The dashed curve is pure exponential decay — what would happen with no mixing at all. The two solid curves always sum to it: mixing redistributes the survivors between the two flavours, it does not change how many there are.
| system↕ | ↕ | cycles within ↕ | relative precision on ↕ |
|---|---|---|---|
| 13.3 | 0.23 | ||
| 8.2 | 0.37 | ||
| 0.24 | 12.7 | **** |
💡 What this really says — precision on a frequency is bought with cycles, not with events
Look at the last column. is known to 0.034 %, eleven times better in relative terms than at 0.38 % — and it is measured on a meson that is harder to produce, harder to tag and reconstructed in a channel with a branching ratio of .
The reason is not statistics. It is that a frequency measured over cycles inherits a fractional error that falls roughly as : each additional cycle adds a full period of lever arm against which the phase can be compared. Thirteen cycles against a third of one is the whole difference.
This is why the measurement had to be done as a time-dependent fit over a range spanning one period — from to ps — rather than by counting oscillations. There were no oscillations to count. And it is why , once LHCb could resolve it at all, immediately became the most precise number of its kind.
The same trade appears wherever a frequency is measured: a longer baseline is worth more than a bigger sample. It is why a frequency counter gates for a second rather than a millisecond, why VLBI puts telescopes on different continents, and why the case for a long-baseline neutrino experiment (ch. 10) is made in kilometres rather than in detector mass.
Why 44 femtoseconds
The catch is that you cannot count cycles you cannot resolve. A Gaussian timing resolution does not blur the oscillation symmetrically — it damps its amplitude, by a factor that is the Fourier transform of the resolution function:
The dilution factor: what a finite timing resolution does to an oscillation. It does not blur the signal symmetrically — it multiplies its amplitude by a number less than one, and that number falls off a cliff.
Every symbol, one at a time
Hover or tap a symbol above — it lights up in the equation and its meaning, units and type appear here.
LHCb achieves fs. Put the numbers in:
the resolution requirement, and why it is not a luxury
import numpy as np
dms, dmB = 17.7683, 0.5065 # ps^-1
print("a Gaussian time resolution sigma damps the oscillation amplitude by")
print("exp(-(Delta m sigma)^2 / 2) -- the Fourier transform of the resolution.\n")
print(f"for the Bs (Delta m = {dms} ps^-1, period {2*np.pi/dms*1000:.0f} fs):")
for sig, tag in ((0.044, ' (LHCb)'), (0.100, ''), (0.200, ''), (1.000, '')):
D = np.exp(-(dms*sig)**2/2)
d = f"{D:.3f}" if D > 1e-3 else f"{D:.1e}"
print(f" sigma = {sig*1000:4.0f} fs{tag:8s} Delta m sigma = {dms*sig:6.3f} -> amplitude x {d}")
print(f"\nfor the B0 (Delta m = {dmB} ps^-1, period {2*np.pi/dmB:.1f} ps):")
for sig in (0.044, 1.000):
print(f" sigma = {sig*1000:4.0f} fs Delta m sigma = {dmB*sig:6.3f} -> amplitude x {np.exp(-(dmB*sig)**2/2):.3f}")
print("\nso the beauty factories' 1-1.5 ps timing, which costs the B0 only 12%,")
print("would have erased the Bs signal completely -- by 69 orders of magnitude.")
print("at 200 fs it is already gone. 44 fs is not a refinement, it is the")
print("threshold at which the measurement exists at all.") a Gaussian time resolution sigma damps the oscillation amplitude by exp(-(Delta m sigma)^2 / 2) -- the Fourier transform of the resolution. for the Bs (Delta m = 17.7683 ps^-1, period 354 fs): sigma = 44 fs (LHCb) Delta m sigma = 0.782 -> amplitude x 0.737 sigma = 100 fs Delta m sigma = 1.777 -> amplitude x 0.206 sigma = 200 fs Delta m sigma = 3.554 -> amplitude x 0.002 sigma = 1000 fs Delta m sigma = 17.768 -> amplitude x 2.8e-69 for the B0 (Delta m = 0.5065 ps^-1, period 12.4 ps): sigma = 44 fs Delta m sigma = 0.022 -> amplitude x 1.000 sigma = 1000 fs Delta m sigma = 0.506 -> amplitude x 0.880 so the beauty factories' 1-1.5 ps timing, which costs the B0 only 12%, would have erased the Bs signal completely -- by 69 orders of magnitude. at 200 fs it is already gone. 44 fs is not a refinement, it is the threshold at which the measurement exists at all.
⚙️ Engineer’s bridge — your instrument’s resolution is a low-pass filter, and you can compute its cutoff
The damping factor above is not an empirical fudge. It is exactly what happens when a signal is convolved with the instrument’s response, viewed in the frequency domain.
Convolution in time is multiplication in frequency. An oscillation at angular frequency , smeared by a Gaussian of width , comes out with its amplitude multiplied by the Fourier transform of that Gaussian evaluated at — which is . The measurement is a low-pass filter and is its cutoff.
Everything follows from reading that as a transfer function:
- The damping is exponential in , not linear. Doubling the resolution from 100 to 200 fs does not halve the signal — it takes it from 21 % to 0.2 %. There is a cliff, and you are either on the right side of it or you have no experiment.
- The requirement is set by the frequency, not by the particle. LHCb’s vertex detector is not better than BaBar’s because mesons are smaller. It is better because is 35 times larger, so the same physics sits 35 times higher up the frequency axis.
- And the damping does not shift the phase, only the amplitude — which is why the fitted is unbiased even though the plotted asymmetry is visibly shrunk.
An engineer meets this as the modulation transfer function of a lens, the aperture effect of a sample-and-hold, the roll-off of a scope probe, or the envelope that flattens a spectrum near Nyquist. In every case the question is the same one asked here: where does my instrument’s transfer function put the frequency I care about? Answer it before building anything, because the answer is exponential and it does not negotiate.
Where it breaks: a filter can be characterised by feeding it a known input, and that is what makes deconvolution trustworthy. You cannot inject a B_s of known decay time. The resolution function is calibrated from prompt decays — tracks that should have zero lifetime — and then assumed to apply to the signal, so the correction is only as good as that transfer.
It also matters that the damping is exponential in σ²: a resolution function with a small non-Gaussian tail behaves nothing like a Gaussian of the same RMS, because the tail’s larger σ is squared in the exponent and dominates. A 10 % tail component at twice the core width costs far more amplitude than a 10 % error in the core width does. Where an engineer would characterise, here you must model — and the model is the dominant systematic.
Tagging at a hadron collider
At a beauty factory the two Bs come from a single in a known correlated state, and one tags the other (§8.6). At the LHC there is no such luxury: the pair is produced in a collision full of other hadrons, and the two b hadrons are not in a definite two-particle state. LHCb therefore uses two independent tagging algorithms:
| which end↕ | how↕ | note↕ |
|---|---|---|
| at decay | the sign of the pion in or | unambiguous — the rule again. The is reconstructed in and , giving nearly 400 000 events |
| at production, opposite side | the other b hadron in the event — the charge of its lepton, or of the K from | b quarks are always made in pairs, so the partner carries the complementary flavour. Diluted whenever the partner is itself a neutral meson that has oscillated |
| at production, same side | the charge of the hadronization products accompanying the itself | an meson tends to be born beside a hadron carrying the compensating , so nearby kaon charges correlate with the flavour |
The rest is geometry. mesons at LHC energies travel about 1 cm before decaying — μm times a Lorentz factor of order 20 — and because they are heavy, their decay products come off at larger angles to the beam and larger impact parameters than the rest of the collision debris. Those two features are what make a clean sample selectable at all.
the geometry that makes an LHC B_s measurement possible
tBs, c, mBs = 1.497, 299.792458, 5.36692 # ps, um/ps, GeV
dms = 17.7683
ctau = tBs*c
print(f"c tau(Bs) = {tBs} ps x {c:.2f} um/ps = {ctau:.0f} um\n")
bg = 1e4/ctau
print("to fly the ~1 cm the book quotes:")
print(f" beta.gamma = 10000 / {ctau:.0f} = {bg:.1f} -> p = {bg*mBs:.0f} GeV")
print("so a typical selected Bs carries of order 100 GeV, well above the")
print("soft debris of the collision -- which is the point.\n")
import numpy as np
T = 2*np.pi/dms
print("within one flight of 1 cm, the number of oscillations is")
print(f" 1 cm / (beta.gamma c T) = 10000 um / ({bg:.1f} x {c*T:.1f} um) = {1e4/(bg*c*T):.1f}")
print("i.e. the meson oscillates four times while crossing the vertex detector.\n")
print("the CP measurement, for contrast, uses a much rarer channel:")
print(" BR(Bs -> K+ K-) = 2.66e-05, giving 70310 +- 320 events")
print(f" a_CP = 0.236 +- 0.013 -> {0.236/0.013:.0f} sigma") c tau(Bs) = 1.497 ps x 299.79 um/ps = 449 um to fly the ~1 cm the book quotes: beta.gamma = 10000 / 449 = 22.3 -> p = 120 GeV so a typical selected Bs carries of order 100 GeV, well above the soft debris of the collision -- which is the point. within one flight of 1 cm, the number of oscillations is 1 cm / (beta.gamma c T) = 10000 um / (22.3 x 106.0 um) = 4.2 i.e. the meson oscillates four times while crossing the vertex detector. the CP measurement, for contrast, uses a much rarer channel: BR(Bs -> K+ K-) = 2.66e-05, giving 70310 +- 320 events a_CP = 0.236 +- 0.013 -> 18 sigma
- surviving — decays as produced
- oscillated — flavour has flipped
Two features of that plot are instrumental rather than physical, and both are worth naming because they look like signal:
- The rise at small . At the production and decay vertices coincide, so no detector can separate them. Efficiency climbs with decay distance and reaches a plateau by about 2 ps. Everything below that is acceptance, not physics.
- The amplitude of the wiggles. They are damped by the factor 0.74 computed above. The true oscillation goes all the way from zero to twice the mean.
CP violation in the B_s
The Standard Model expects negligible CP violation in the mixing mixing for a neutral meson, the statement that the propagating states are superpositions of the flavour states. Mixing is the cause; oscillation is what you observe. Distinct from [[quark mixing]], which is the CKM rotation that makes it possible. defined in §8.1-8.2 — open in glossary (, as for the ), and previous experiments confirmed it. What LHCb sees instead is violation in the decay and in the interference.
The example the book gives is — a CP eigenstate reachable from both flavours, so the two paths (decay directly, or oscillate first) interfere exactly as in §8.6. The measured time-dependent asymmetry is
an 18σ observation, and a much larger effect than anything in the kaon system. Note the price: , so 70 310 events required the full LHC luminosity.
- a_CP folded into one mixing period
Aside — folding is stacking, and it is the same trick as an oscilloscope’s average mode
Fig. 8.13(b) does something worth noticing. Rather than plotting the asymmetry against decay time and looking at thirteen small wiggles, LHCb plots it against modulo one period, stacking every cycle on top of every other.
That is only legitimate because the fit has already determined two things: the period and the time origin . Get either wrong and the stacking smears the signal to nothing — which makes the sharpness of the folded plot a check on both.
It is exactly what a scope does in averaging mode, or a lock-in with a reference, or epoch-folding a pulsar light curve: use a known period to co-add many cycles, trading time resolution you no longer need for signal-to-noise you do. The improvement is free once the period is known — and completely unavailable before.
🔑 If you remember only three things
-
Twenty-six cycles per lifetime is what makes it measurable. Fewer and there is nothing to fit; many more and the instrument averages them into a flat line.
-
What the detector returns is a damping factor. The resolution enters as a known multiplier on the amplitude, so the fit is to how much survived rather than to the wiggle itself.
-
Its physics is no harder than the others’; only following it is. The B_s came last for reasons that live in the detector rather than in the theory.
Where this goes next
Three of the four neutral meson systems are now done, and each contributed a different kind of CP violation: the kaon gave violation in the mixing, the gave violation in the interference with a theoretically clean prediction, and the gives both, at the largest asymmetry yet.
§8.8 takes on the one that has been deferred throughout: violation in the decay — where the amplitudes themselves differ between a process and its conjugate. It is the hardest of the three to observe, it requires two interfering weak amplitudes and a strong phase difference, and in the kaon system the answer is , smaller than by another factor of a thousand and extractable only from a double ratio.
✅ Check yourself — the B_s⁰
0/6 answered · 0 correct
1.Δm_s is measured to 0.034 %, eleven times better in relative terms than Δm_B — on a meson that is harder to produce and reconstructed in a channel with BR = 2.7 × 10⁻⁵. Why?
2.A Gaussian timing resolution σ damps the oscillation amplitude by exp(−Δm²σ²/2). Why is that the right form?
3.LHCb's 44 fs timing resolution: refinement or requirement?
4.How is the production flavour tagged at the LHC, and why can't LHCb use the beauty factories' method?
5.In Fig. 8.12 the yield rises from zero, peaks, then falls. Which part is physics?
6.Fig. 8.13(b) plots the asymmetry against (t − t₀) modulo one period. What does that buy, and what does it require?