feynlag.pheno.integrate.dalitz_integral

feynlag.pheno.integrate.dalitz_integral(integrand, s23_lo, s23_hi, s12_bounds, backend='auto', n_outer=120, n_inner=60)[source]

Integrate integrand(s12, s23) over the physical Dalitz region.

∬ integrand(s₁₂, s₂₃) ds₁₂ ds₂₃ with the inner s₁₂ limits a function of s₂₃.

Parameters:
  • integrand – callable (s12, s23) -> float.

  • s23_lo – the outer s₂₃ bounds (floats).

  • s23_hi – the outer s₂₃ bounds (floats).

  • s12_bounds – callable s23 -> (s12_lo, s12_hi).

  • backend – "scipy", "gauss" (numpy Gauss–Legendre), or "auto" (SciPy if available, else Gauss–Legendre).

  • n_outer – Gauss–Legendre node counts (the gauss backend).

  • n_inner – Gauss–Legendre node counts (the gauss backend).

Returns:

the integral as a float.