Skip to content

FEAT: implement final-state polarization - #200

Draft
redeboer wants to merge 3 commits into
mainfrom
FEAT/final-state-polarization
Draft

FEAT: implement final-state polarization#200
redeboer wants to merge 3 commits into
mainfrom
FEAT/final-state-polarization

Conversation

@redeboer

Copy link
Copy Markdown
Member

No description provided.

@redeboer redeboer added the ✨ Feature New feature added to the package label Jul 29, 2026
@redeboer
redeboer force-pushed the FEAT/final-state-polarization branch 4 times, most recently from d6d12d4 to 6703753 Compare July 31, 2026 08:11
redeboer added 3 commits July 31, 2026 10:12
Add a polarized_final_states argument to
DalitzPlotDecompositionBuilder.formulate() that attaches one additional
Wigner-D function per amplitude for each selected final-state particle,
connecting its helicity (summed coherently) to the helicity of its decay
product (summed incoherently), weighted by final-state decay couplings
H^fs. With the default couplings of 1, the intensity is identical to the
model without the additional Wigner-D functions; for weak decays such as
Sigma+ -> p pi0, the couplings follow from the decay-asymmetry parameter
via the new formulate_weak_decay_couplings() helper. This makes
production-coupling phases visible that are flat directions in a
Dalitz-plot-only fit.

The new polarization example notebook demonstrates this on
J/psi -> K0 Sigma+ pbar: the proton direction in the Sigma+ rest frame
becomes sensitive to the Sigma+ polarization, while the Dalitz
distribution is unchanged.
The decay angles (phi_k, theta_k) of a polarized final-state particle
cannot be computed from the Mandelstam variables, since the decay
product lies outside the three-body decay plane. Formulate them with
AmpForm's compute_helicity_angles() over an extended four-body topology
in which final-state particle k decays further, and include the
resulting boost-chain expressions in AmplitudeModel.variables. The
expressions take four-momentum arrays p1, p2, p3 and q<k> (the analyzed
decay product) in the center-of-momentum frame as input, following the
boost chain of the reference subsystem.
@redeboer
redeboer force-pushed the FEAT/final-state-polarization branch from ea66d3b to cee6354 Compare July 31, 2026 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature New feature added to the package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants