Repository navigation
Highlights
Lyman-break bias now depends on the magnitude limit, not just redshift, and the
interloper bias is an input rather than a formula. Both change numerical output.
TomographicBin construction is also ~11× faster.
Changed — affects results
- LBG bias is now
b(m, z), eq. 2.7 of Wilson & White 2019,
replacing the redshift-only power law0.28 (1+z)^1.6. That relation gave the same
bias to samples 2 magnitudes apart in depth. For an LSST-like ten-year dropout
selection the effective bias moves by factors of 1.4, 0.8 and 1.2 for u, g and r. - Interloper bias is the new
b_interlopersargument, constant, default 1.5.
It was previously the LBG power law evaluated at low redshift. stretchno longer moves the mean. It pivoted on the midpoint of the redshift
grid rather than the mean of the distribution, so a 10% stretch also shifted the
mean by ~0.005. It now scales the width and nothing else.mag_biasuses a central difference, with the step exposed asdm_mag_bias.mag_cutandm5_detmust be scalars. Arrays previously failed with a numpy
broadcast error from inside the integrals; they now raise immediately.- A shift that pushes every interloper below zero redshift raises.
table0onCompletenessis now the table as read. Conditioning ran in place, so
it had been the conditioned table despite its name.
Added
lbg_bias(mag_cut, z), usable without building a bin. Warns outside24 < m < 25.5,
the depths Wilson & White fit, and if the relation returns non-positive bias.z_lbg,nz_lbg,z_interlopers,nz_interlopersonTomographicBin.nz
concatenates the two populations across an empty gap, so integrating it directly
is wrong; integrate the halves.b_interlopersanddm_mag_biasarguments and properties.
Performance
- Completeness tables are loaded and conditioned once per band and shared. Depth
enters completeness only asm - m5_det, so every depth and cut of a band shares
one table.TomographicBinconstruction: 13.4 ms → 1.2 ms. mag_biasis computed once per bin instead of on every access.