Skip to content

ENH: support PDG resonance conventions - #521

Open
redeboer wants to merge 13 commits into
issue-524from
unity-bw
Open

redeboer wants to merge 13 commits into
issue-524from
unity-bw

Conversation

@redeboer

@redeboer redeboer commented Sep 15, 2026 •

Copy link
Copy Markdown
Member

Note

See preview of the pages here.

⚙️ Enhancements

  • SimpleBreitWigner and BreitWigner now take a keyword-only numerator: Literal["mass-width", "unity"] argument. The default "mass-width" keeps the current output, while "unity" gives the dressed propagator of PDG2026, Eq. (50.31), which is the convention that MultichannelBreitWigner already uses:
$$\hat{\mathcal{R}}^\mathrm{BW}(s) = \frac{m_0\Gamma_0}{m_0^2 - s - i m_0 \Gamma(s)} \qquad\text{versus}\qquad \mathcal{R}^\mathrm{BW}(s) = \frac{1}{m_0^2 - s - i m_0 \Gamma(s)}$$

Since $\Gamma(m_0^2) = \Gamma_0$, the $m_0\Gamma_0$ factor normalizes the propagator at the pole, $\left|\hat{\mathcal{R}}^\mathrm{BW}(m_0^2)\right| = 1$. That factor is not an overall constant when $m_0$ and $\Gamma_0$ are fit parameters, so it changes what the couplings mean. The argument does not affect the FormFactor inside EnergyDependentWidth, where its normalization cancels, and any other value raises a ValueError.

  • BlattWeisskopfSquared and FormFactor now take a keyword-only normalize: bool = True argument. The default keeps AmpForm's normalized function $\hat{B}_L^2$, with $\hat{B}_L^2(1)=1$, while normalize=False omits the constant $\left|h_L^{(1)}(1)\right|^2$, which is $1$, $2$, and $13$ for $L=0,1,2$:
$$\hat{B}_L^2(z) = \left|h_L^{(1)}(1)\right|^2 B_L^2(z), \qquad B_0^2(z) = 1, \quad B_1^2(z) = \frac{z}{1+z}, \quad B_2^2(z) = \frac{z^2}{9+3z+z^2}$$

With $z = (qd)^2$ and $d = 1/q_0$, the non-normalized $\sqrt{B_L^2}$ is exactly the vertex factor $n_L = (q/q_0)^L F_L(q/q_0)$ of PDG2026, Eqs. (50.33) and (50.34). The constant cancels in the ratio inside EnergyDependentWidth, but not when a form factor is used as a production or decay vertex factor, where it rescales the couplings for $L>0$ (see #261).

❗ Behavioral changes

  • The normalized, default variants now render with a hat in LaTeX, so that the two conventions can be told apart: $\hat{\mathcal{R}}^\mathrm{BW}$, $\hat{B}_L^2$, and $\hat{\mathcal{F}}_L$ for the normalized functions, versus $\mathcal{R}^\mathrm{BW}$, $B_L^2$, and $\mathcal{F}_L$ for the new non-normalized ones. Numerical output of the defaults is unchanged.

📝 Documentation

  • PDG references are updated to the 2026 review and point at specific equation and section numbers. The pdg-review role is replaced with hardcoded links, so the sphinx-hep-pdgref documentation dependency is no longer needed.
  • Docstrings now warn where the 2026 review no longer contains the formula that AmpForm implements: Equation (50.28) behind EnergyDependentWidth, which the PDG now derives from bare couplings and only justifies for narrow resonances, and the equal-mass analytic continuation of EqualMassPhaseSpaceFactor. ChewMandelstamSWave documents why it follows the 2021 version: Equation (50.46) of the 2026 review contains two apparent typos.

Squash commit messages

* BEHAVIOR: mark normalized functions with a hat in LaTeX
* DOC: link PDG 2026 equations and drop sphinx-hep-pdgref
* ENH: add normalize argument to Blatt-Weisskopf factors
* ENH: add numerator argument to Breit-Wigner classes

@redeboer redeboer self-assigned this Sep 15, 2026
@redeboer redeboer added the ⚙️ Enhancement Improvements and optimizations of existing features label Sep 15, 2026
@redeboer
redeboer marked this pull request as ready for review September 15, 2026 10:32
@redeboer redeboer added this to the 0.16.2 milestone Sep 15, 2026
@redeboer
redeboer requested a review from Zeyna777 September 15, 2026 10:37
@redeboer redeboer changed the title ENH: support unity-numerator Breit-Wigner expressions ENH: support PDG resonance conventions Sep 15, 2026
@redeboer redeboer added ❗ Behavior Changes that may affect the framework output 📝 Docs Improvements or additions to documentation labels Sep 15, 2026
@redeboer
redeboer changed the base branch from main to issue-524 September 15, 2026 18:09
@redeboer
redeboer added this pull request to stack #526 September 15, 2026 18:10

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

❗ Behavior Changes that may affect the framework output 📝 Docs Improvements or additions to documentation ⚙️ Enhancement Improvements and optimizations of existing features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option for non-normalized Blatt–Weisskopf form factors Support unity-numerator Breit–Wigner propagators

2 participants