Prior work: the drift–diffusion soft volume
This page is about earlier work, not about softpaws' own method. It distills the Fokker–Planck (drift–diffusion) expansion of Palmisano et al., which softpaws implemented first, as a check, and now keeps as a limit and a cross-check. The method softpaws is built on is the transport exponent of The transport exponent, which contains this expansion as its first two terms (
Φ(1)=b_μ,Φ(2)=2b_μ−d_μ) and drops they_min/y_cutcutoffs, the log-normal Green's-function convolution, and the1/Apole. Read this page for the context of the earlier calculation, its transport coefficients, and the cross-checks against it.Throughout this page, "the paper" means Palmisano et al., never softpaws' own method paper.
Source: Palmisano, Redigolo, Tammaro, Tesi, The soft volume of ultra-high energy neutrinos experiments (arXiv:2607.13143), with its companion Exploring ultra-high energy neutrino experiments through the lens of the transport equation (arXiv:2507.10665, JHEP 03 (2026) 223). Equation numbers below refer to arXiv:2607.13143.
1. The one-sentence idea
A muon-neutrino CC interaction makes a muon that can travel ~km before dying.
So for track events the effective target is not the instrumented volume
V_det but a larger soft volume V_soft set by the muon's energy-loss
range. The paper builds a fast, semi-analytic map
neutrino flux ϕ_ν(E_ν, Ω) → muon track rate dN/dE dΩ
by solving a Boltzmann transport equation for the muon distribution, reduced to a drift–diffusion (Fokker–Planck) equation in energy via a soft expansion of the QED collision operator.
Two contributions to every track bin (Eq. 1.1, 2.12):
⟨N⟩ ∝ V_det (muon born inside detector)
+ A_proj · (muon QED range) (muon born outside, drifts in) ← soft volume
with A_proj = π R_det² the projected area of a spherical detector.
2. Governing equations
2.1 Stationary Boltzmann transport (Eq. 2.1, 2.9)
Steady state (∂_t f = 0, source/detector vary slower than R⊕/c ≈ 0.01 s),
ultra-relativistic (v ≈ c = 1), collinear (muon direction = parent-ν
direction, since Δθ ∝ m_μ/E ≪ 1). The muon flux per unit energy
ϕ_μ(E, x) along a fixed line of sight (x = column depth) obeys:
∂ϕ_μ/∂x − ∂/∂E[ b_μ(E) E ϕ_μ ] − ½ ∂²/∂E²[ d_μ(E) E² ϕ_μ ] = (E²/(2π)³) C_weak (2.9)
- Drift term
b_μ(E)— mean fractional energy loss per unit length. Muon range ≈1/b_μ. - Diffusion term
d_μ(E)— stochastic spread of energy loss (variance). - Source
C_weak— neutrino CC production of muons (§3, below). xhas units of length (column depth); coefficients are per-length (km⁻¹).
2.2 Transport coefficients (Eq. 2.8)
First two moments of the QED energy-loss spectrum dΓ/dy = n_T dσ/dy,
y ≡ ΔE/E the fractional energy loss:
b_μ(E) = ∫ dy · y · dΓ(E,y)/dy (drift = 1st moment)
d_μ(E) = ∫ dy · y² · dΓ(E,y)/dy (diffusion = 2nd moment)
Three radiative processes contribute (Section 3, Fig. 3–4):
- e⁺e⁻ pair production (PP) — softest (dσ/dy ~ (1−y)/y), dominates b_μ, expansion-friendly. y_min = 4 m_e/E.
- Bremsstrahlung (B) — dσ/dy ~ 1/y, hard tail, IR-divergent (needs y_min cutoff).
- Photonuclear (PN) — dσ/dy ~ 1/y, hard tail, dominant theory uncertainty (~30%). y_min ≈ m_π/E.
Reference values in water (ρ = 1.02 g/cm³), Table 1:
| E_μ | b_μ [km⁻¹] | d_μ [km⁻¹] | d_μ/b_μ |
|---|---|---|---|
| 1 PeV | 0.35 | 0.077 | ~0.22 |
| 100 PeV | 0.40 | 0.098 | ~0.25 |
Per-process at 1 PeV: PP (0.17, 0.004), B (0.091, 0.043), PN (0.088, 0.030).
Compounds add incoherently weighted by atoms: b_water = 2 b_H + b_O.
Coefficients depend only logarithmically on E — treated as constant in the
baseline solution, energy-dependent version in Appendix A.1.
2.3 Green's function / propagation kernel (Eq. 2.16, A.16)
Solving 2.9 for an impulse source δ(x−ξ)δ(E−ε) with constant coefficients.
In log-energy u = log E, ψ_μ = E ϕ_μ, it's plain drift-diffusion (Eq. A.14):
∂_x ψ = M_μ ∂_u ψ + (d_μ/2) ∂²_u ψ , M_μ ≡ b_μ + d_μ/2
Gaussian kernel (a log-normal in E), for propagation length ℓ = x − ξ > 0:
G(E,x; ε,ξ) = θ(x−ξ) θ(ε−E) · 1/(E √(2π d_μ ℓ))
· exp[ −( log(ε/E) − (b_μ + d_μ/2) ℓ )² / (2 d_μ ℓ) ] (2.16)
Interpretation: probability that a muon born at ξ with energy ε arrives at x
with energy E. θ(ε−E) enforces energy is only lost.
Drift limit d_μ → 0 (Eq. 2.17): kernel collapses to a delta on the
deterministic continuous-slowing-down trajectory E(x) = E exp[b_μ(x−ξ)]:
G → (ε/E) δ(ε − E e^{b_μ(x−ξ)}) θ(x−ξ)
Good below ~300 GeV (ionization/Bethe–Bloch regime) and as a leading-order approximation everywhere.
3. The weak source term (muon production)
Muon born from ν_μ CC DIS with ε = (1−y_w) E_ν, y_w = DIS inelasticity
(⟨y_w⟩ ≈ 0.2, so near-elastic; using the mean vs full P(y_w) is a ~1% effect).
Rewritten (Eq. 2.19):
(ε²/(2π)³) C_weak = n_N(ξ) ∫₀¹ dy_w [ P(y_w)/(1−y_w) ] D_ν(ε_{y_w}, ξ, Ω) σ_CC(ε_{y_w}) ϕ_ν^⊕(ε_{y_w})
with ε_{y_w} = ε/(1−y_w), P(y_w) = σ⁻¹ dσ/dy_w the inelasticity distribution.
Neutrino CC cross section (Eq. 2.5) — power law above 10 PeV:
σ_CC(E_ν) = σ₀ (E_ν/E₀)^λ , σ₀ = 1.48e-33 cm² at E₀ = 10 PeV, λ ≈ 0.4
(from small-x PDF behavior; below 10 PeV use MadGraph/tabulated).
Attenuation D_ν (Eq. 2.4) — Earth absorption of neutrinos before the
interaction point:
D_ν ≈ exp[ −n_N σ_νN(E_ν) L(x; Ω) ]
L = column depth along the line of sight, from PREM Earth model (concentric
constant-density shells; depends only on incoming polar/zenith angle).
4. The master formula (Eq. 2.13, 2.20)
Full differential track rate = inside term (∝ V_det) + outside/soft term (∝ A_proj):
dN/(dt dE dΩ) = V_det · n_N · ∫ dE_ν ϕ_ν(E_ν,Ω)|det · dσ_CC/dE (inside)
+ A_proj · ∫₀ˣ dξ ∫_E^∞ dε · G(E,x; ε,ξ) · (ε²/(2π)³) C_weak(ξ,ε) (soft)
- Green's function evaluated at detector surface
x = L(Ω_ν) − R_det. - Integration limits: Earth surface
ξ = 0→ detector surfaceξ = x. - Not analytic in general → numerical, but cheap (seconds for many bins).
- Efficiency/acceptance folded in as
V_det → ε_i V_det,A_proj → ε_i A_proj(or an energy/direction-dependent responseε(E_μ, Ω)).
Soft volume definition (Eq. 2.14):
V_soft(E) · [n_N σ_νN(E) ϕ_ν^⊕(E)] = A_proj ϕ_μ(E,Ω)|det
5. Analytic soft-volume estimates (Section 2.3) — sanity checks
With simplifying assumptions (spherical perfectly-absorbing detector; σ_CC ∝ E^λ,
λ≈0.4; single power-law flux ϕ_ν ∝ E^{-γ}; step-function attenuation — up-going
absorbed, down-going free; constant near-detector density n_N), the source
reduces to C_weak = n_N σ_νN ϕ_ν (ε/E)^{λ−γ} (Eq. 2.21) and:
Drift limit (Eq. 2.23), with A ≡ γ − λ − 1 > 0:
V_soft|drift = A_proj / (b_μ A) = π R_det² / (b_μ (γ − λ − 1))
Range 1/b_μ enhanced further by the spectral penalty 1/A.
Figure of merit (Eq. 2.24), for IceCube's flux (A ≈ 1):
V_tot / V_det ≈ 1 + (3/4) / (R_det b_μ)
IceCube (R_det ≈ 0.62 km, b_μ ≈ 0.35/km @ 1 PeV) → V_soft ≈ 4× V_det. KM3NeT (smaller) → ~7.5×.
Diffusion correction (Eq. 2.25): negative, V_soft|diff ≈ V_soft|drift (1 − d_μ/2b_μ),
~10% shift. Small — diffusion barely moves event counts even with O(1) d_μ error.
Energy-dependent coefficients (Appendix A.1): replace 1/b_μ by a
spectrum-weighted average of 1/b_μ(u); interpretation unchanged.
6. Calibrating the coefficients (Section 3.1)
b_μ, d_μ are given priors from a once-and-for-all MC of muon propagation
(step by exponential MFP, sample y from dΓ/dy, stop at E ≤ 0.1 E₀,
E₀ = 10 PeV). Two fit models:
- Drift model: range–energy relation
⟨R⟩ = −(1/b_μ) log(E_f/E₀)(Eq. 3.2). Resultb_μ^MC/b_μ = 1.03 (+0.50/−0.22). - Drift-diffusion: log-normal in
z = log(E/ε),G(z|x) ∝ exp[−(z + M_μ x)²/(2 d_μ x)](Eq. 3.5). Fit via first two moments of the rangeR(Eq. 3.8–3.9):⟨R⟩ = z/M_μ + d/M_μ² ⟨R²⟩ − ⟨R⟩² = z d/M_μ³ + 2 d²/M_μ⁴Resultb_μ^MC/b_μ = 0.94 ± 0.15,d_μ^MC/d_μ = 1.5 (+1.6/−0.8).
d_μ is poorly constrained (probes the hard tail) but that's OK — it only enters
the soft volume as d_μ/2b_μ.
For our purposes we can start by adopting the Table 1 central values and treat the fit spread as a systematic band; the full MC calibration is optional.
7. Approximations & caveats (read before trusting a number)
- Idealized detector. Perfectly absorbing sphere, unit efficiency, every
crossing muon counted. No event selection, angular acceptance, reconstruction,
or energy cuts. Prediction = geometric through-going rate, not detector-level.
Empirically for IceCube through-going:
ε_IC-TG ≈ 0.45(≈ the θ_zenith>85° cut). - Soft expansion is only marginally convergent. Global
d_μ/b_μ ~ 0.2; truncating Kramers–Moyal at 2nd order (Pawula's theorem) is not guaranteed positivity-preserving. Hard B/PN tails (dσ/dy ~ 1/y,y ~ 1) can break it. Expect ~tens-of-% error, dominated by diffusion. Hard scatters can be added perturbatively (Appendix B), giving ~25% floor — comparable to QED theory error. - Collinear / no angular deflection. Muon inherits ν direction. Fine at UHE.
- Constant, homogeneous medium near detector (ice/water). Earth profile via PREM only affects neutrino attenuation, not muon propagation.
- Coefficients ~constant in E (log-slow). Fails for PN at very high E → use A.1.
θ(ε−E)support is imposed by hand; small Gaussian tail at ε<E is an artifact of 2nd-order FP.- Taus negligible (~5% of track sample; Section 2.4) — ignore for now.
- Fully-differential vs inclusive: retaining the E_ν↔E_μ,production↔E_μ,det mapping matters little for steep power laws (parents with E_ν ≫ E_μ suppressed), but is the whole point for peaked/exotic (e.g. DM) fluxes.
Benchmark fit result to aim at reproducing (IceCube 9.5 yr, diffusion model, Eq. 1.3):
γ = 2.38 (+0.11/−0.09), ϕ₀ = 0.63 (+0.14/−0.13) ×10⁻¹⁸ GeV⁻¹ s⁻¹ cm⁻² sr⁻¹.
8. Numerical recipe → mapping to softpaws
Data flows data/ → transport/ → response/ → comparison/. Where each piece lives:
utils/: constants (m_e, m_μ, m_π, N_A) and unit conversions (GeV↔cm↔km,
densities) in softpaws.utils.constants. The PREM shells and the L(zenith)
column-depth helper (Eq. footnote p.11) are in softpaws.transport.earth
(prem_density, prem_column, neutrino_column_g_cm2).
transport/: the physics core.
- softpaws.transport.coefficients: b_μ(E), d_μ(E) as drift_coefficient and
diffusion_coefficient, read from the PROPOSAL tables (Table 1 gives the water
reference values).
- The log-normal kernel G(E, x; ε, ξ) (Eq. 2.16) has no module of its own. Its
Gaussian log-loss law is softpaws.transport.loss_distribution.loss_density_gaussian,
kept as the reference that the exact density loss_density supersedes. The
drift-limit delta (2.17) is the continuous-slowing-down range of
softpaws.transport.muon_range.muon_range_km.
- softpaws.transport.source: C_weak (Eq. 2.19), with σ_CC(E_ν) (Eq. 2.5) as
cc_cross_section and ⟨y_w⟩ as inelasticity_factor. The D_ν attenuation
(Eq. 2.4) is in softpaws.transport.attenuation.
- softpaws.transport.soft_volume: V_soft(E) (Eq. 2.14/2.22). The analytic
drift/diffusion forms (2.23/2.25) are soft_volume_drift, soft_volume_diffusion,
spectral_penalty, volume_ratio_drift and saturation_factor, with
soft_volume_exact, the projected areas and range_target_volume_km3 beside them.
response/: softpaws.response.soft_volume.SoftVolumeResponse carries the
flux → dN/dE dΩ map (master formula Eq. 2.20), including the convolution of the
source into ϕ_μ(E, Ω)|det (Eq. 2.15), alongside the IRF path in
softpaws.response.irfs. Both expose the same interface, and this
interchangeability is what enables the head-to-head.
comparison/: softpaws.comparison.rates and softpaws.comparison.likelihood
put the two predictions and the DR2 events side by side, reproduce the power-law fit
(Eq. 4.1–4.2, Poisson likelihood over ≥10 TeV bins), and extract ε_IC-TG
(implied_efficiency).
Build order followed: utils constants → drift-limit V_soft (closed form,
Eq. 2.23, validated against the "4×" figure of merit) → full Green's-function
convolution (Eq. 2.20) → response/ predictor → comparison fit. The MC coefficient
calibration (Section 3.1) and the hard-scatter correction (Appendix B) were not
needed once the transport exponent of The transport exponent
replaced the expansion.