Julia implementation of the amplitude model for the three-body decay
from the LHCb publication Observation of New Charmonium or Charmoniumlike States (InspireHEP:2794793).
The model is built with CascadeDecays.jl
and aligned with the TF-PWA reference implementation.
It lives in scripts/model.jl; the scripts in scripts/
and the regression checks load it with include. The serialized model
(amplitude-serialization JSON) is in data/b2dxdk_amplitude_model_{Cminus,Cplus}.json.
using Pkg
Pkg.activate(".")
Pkg.instantiate()include("scripts/model.jl")
cascade = build_all_resonance_cascade()
# optional: build_resonance_cascade("Psi(4040)") for a single resonanceCouplings are loaded from data/final_params_full.json when the model is included.
Final-state four-momenta are passed in the order
The $D^{+}$ is reconstructed as $D^0,\pi^+$ (cascade kinematics with $D^{+}$ at nominal mass).
include("scripts/model.jl")
cascade = build_all_resonance_cascade()
pD0 = FourVector(px_D0, py_D0, pz_D0; E=E_D0)
piplus = FourVector(px_pip, py_pip, pz_pip; E=E_pip)
pDminus = FourVector(px_Dm, py_Dm, pz_Dm; E=E_Dm)
pKplus = FourVector(px_Kp, py_Kp, pz_Kp; E=E_Kp)
point = KinematicPoint(kinematic_task, (pD0, piplus, pDminus, pKplus))
# amplitude for one resonance (sum over its sub-chains)
amp_psi4040 = only(amplitude(cascade[resonance_chain_names("Psi(4040)")], point))
# coherent sum over all chains (all resonances)
amp_total = only(amplitude(cascade, point))If four-momenta are stored in a table row (as in data/crosscheck.arrow), use event_point(row) instead.
julia --project=. test/runtests.jl- Internal documentation: TWiki
- Internal code: GitLab@CERN, GitLab@EP1
- Full TF2 code: fork by Alexander Kazatsky
Earlier notebooks, investigation material, and convention notes are under
archive/.
This model was developed in the context of the LHCb collaboration analysis of
The amplitude structure follows the TF-PWA framework used in that analysis. We especially thank Yi Juang for the TF-PWA reference implementation and for extensive cross-checks while building this Julia port.