Module poisson

Module poisson 

Source
Expand description

Poisson-likelihood optimizer for low-count neutron data.

When neutron counts are low (< ~30 per bin), the Gaussian/chi-squared assumption breaks down and Poisson statistics must be used directly.

§Negative log-likelihood

L(θ) = Σᵢ [y_model(θ)ᵢ - y_obs,ᵢ · ln(y_model(θ)ᵢ)]

This is minimized using a projected optimizer:

  • damped Gauss-Newton / Fisher steps when an analytical Jacobian exists
  • finite-difference projected gradient fallback otherwise

Both paths use backtracking line search and bound constraints (non-negativity on densities).

§TRINIDI Reference

  • trinidi/reconstruct.py — Poisson NLL and APGM optimizer

Structs§

CountsBackgroundScaleModel
Counts model with optional nuisance scaling of signal and detector background.
CountsModel
Convert transmission model + counts to a counts-based forward model.
PoissonConfig
Configuration for the Poisson optimizer.
PoissonResult
Result of Poisson-likelihood optimization.
TransmissionKLBackgroundModel
KL-compatible background model for transmission data.

Functions§

poisson_fit
Run Poisson-likelihood optimization using a projected KL optimizer.