ThreeBodyDecays v0.13.0
Highlights
- Add energy-dependent vertex functions for modeling amplitude energy behavior.
- New Dalitz plot capabilities:
- 1D Dalitz plot projections recipe (
dalitzprojection) with x/y binning and auto limits. - User plot recipe
dalitzplotwith configurablexbins,ybins, and:autoranges.
- 1D Dalitz plot projections recipe (
- New integrand for cosθ projection,
project_cosθij_intergandin three-body decay analysis. - Documentation overhaul: reorganized tutorials/canonical sections; new energy-dependence and visualization pages.
Breaking changes
- new struct for
DecayVertexthat hold the helicity couplings, and also energy-dependent form-factor.
It used to be that one creates a decay chain withHRk = RecouplingLS((two_L,two_S)), andHij = RecouplingLS((two_l,two_s)), now one should specify to create aDecayVertexif no form-factor is provided,NoFormFactor()is used
Hij = RecouplingLS((two_l,two_s)) |> DecayVertex
HRk = RecouplingLS((two_L,two_S)) |> DecayVertex
or DecayVertex(RecouplingLS((two_l,two_s)) , BlattWeisskopf{l}(1.5))
- Large file/module restructuring and renames:
- Core modules split into clearer typed components:
mass_types.jl,parity_types.jl,spin_types.jl,system_types.jl,phase_space.jl,mandelstam.jl,recouplings.jl. coupling_scheme.jl→coupling_schemes.jl.cross_channel_relations.jl→cross_channel.jl.model.jl→decay_model.jl.wignerd_matrix.jl→wigner_d_matrix.jl.- Removed:
kinematics.jl,tbs_struct.jl,dalitz_plot_recipe.jl.
- Core modules split into clearer typed components:
New features
- Energy-dependent vertex functions to parameterize couplings versus energy.
- Dalitz plotting:
dalitzprojectionrecipe for 1D projections withxbins,ybins, and automatic limit selection.dalitzplotuser plot recipe with improved configuration.
- cosθ projection integrand for analysis workflows.
Improvements
- Documentation site updates:
- New pages:
10-energy-dependence.md,32-visualization.jl. - Tutorial/canonical pages reorganized:
10-tutorial.jl→30-tutorial.jl,11-canonical.jl→31-canonical.jl. - Developer docs improvements.
- New pages:
- CI/CD and maintenance:
- Pre-commit updates.
- GitHub Actions updates (
actions/checkout@v5,setup-python@v6). - Spelling, link checking, and docs workflow tweaks.
Fixes
- Random requirement compatibility fixed for Julia 1.7 environments.
Dependency and compat
- Compat bounds updated:
StaticArrays = 1.9.2,Polynomials = 4.0.6,RecipesBase = 1.3.0,Tullio = 0.3.0,PartialWaveFunctions = 0.2.0,PolynomialRoots = 1.0.0,Parameters = 0.12.0.
- No Julia version change (
>= 1.7).
Internal changes and adoption strategy
- Update imports/uses to new module/file names:
- Use
coupling_schemes,cross_channel,decay_model,wigner_d_matrix,mandelstam,phase_space,recouplings,mass_types,parity_types,spin_types,system_types.
- Use
- Remove references to deleted files (
kinematics,tbs_struct, olddalitz_plot_recipe). - Adjust plotting code to use new recipes:
dalitzplotanddalitzprojectionwithxbins,ybins,:autolimits.
- If you depend on internal utilities, verify symbol locations after the refactor.
Merged pull requests:
- add/fix docstrings (#68) (@mmikhasenko)
- [AUTO] pre-commit update (#69) (@github-actions[bot])
- feat: add aligned_four_vectors function and tests (#70) (@mmikhasenko)
- feat: Add cosθ projection integrand for three-body decay analysis (#71) (@mmikhasenko)
- fixes docs 10- issue (#72) (@mmikhasenko)
- [AUTO] pre-commit update (#73) (@github-actions[bot])
- [AUTO] pre-commit update (#74) (@github-actions[bot])
- [AUTO] pre-commit update (#75) (@github-actions[bot])
- Bump actions/checkout from 4 to 5 (#76) (@dependabot[bot])
- Bump actions/setup-python from 5 to 6 (#77) (@dependabot[bot])
- Add energy-dependent vertex functions (#79) (@mmikhasenko)
- Fix random requirement, it fails on 1.7 (#80) (@mmikhasenko)
- Add parameters to Dalitz plot recipe: xbins, ybins, :auto limits, and dalitzplot userplot (#82) (@Copilot)
- Add dalitzprojection recipe for 1D Dalitz plot projections (#83) (@Copilot)
Closed issues: