Skip to content

Refit the Buzzard HOD parameters on the delivered mock catalogue - #9

Open
estevesjh wants to merge 1 commit into
mainfrom
buzzard-hod-fit
Open

estevesjh wants to merge 1 commit into
mainfrom
buzzard-hod-fit

Conversation

@estevesjh

Copy link
Copy Markdown
Owner

Summary

HodMor.buzzard() now carries parameters fitted back to the delivered mock catalogue (mock_lob_sigma_catalog.fits: 1.2M halos, 129 log-mass × 8 redshift bins), instead of the values transcribed from the generator's ini.

  • Every fitted parameter lands within 0.5σ of the generator's input, so this is a re-measurement of what the catalogue actually realises, not a correction.
  • log10_Mmin is held at the generator's value: it sits a factor 40 below the catalogue's mass floor, where it is a 2.4% curvature at 10¹³ and 0.02% at 10¹⁵.
  • The fit has to carry the catalogue's λ_tr ≥ 5 threshold. The delivered file only holds halos the mock's target loop walked, so a binned mean of λ_tr is a tail mean; fitting 1 + <λ_sat> straight to it returns α = 0.482, 44% too shallow.
  • Documented in the docstring: pdf is a continuous shifted-Poisson interpolation, not the mock's unclipped draw, so it is not the mock's p(λ_tr | M).

Tests

  • The des_y1 / buzzard comparison relaxes from bit-identical to percent-level agreement (log10_Mmin still exactly equal; epsilon and z_pivot remain the differences that matter).
  • New: test_the_fitted_buzzard_set_recovers_the_generator_inputs checks all four fitted parameters are within 0.5σ of the generator's values.
  • tests/test_selection.py: 71 passed. Full suite on this branch: 877 passed, 22 skipped, 33 xfailed.

Notes

🤖 Generated with Claude Code

HodMor.buzzard() now carries values fitted back to mock_lob_sigma_catalog.fits
(1.2M halos, 129 log-mass x 8 redshift bins) instead of the generator's ini
values. Every fitted parameter lands within 0.5 sigma of the generator's input,
so this is a re-measurement of what the catalogue realises, not a correction.
log10_Mmin is held at the generator's value: it sits a factor 40 below the
catalogue's mass floor and is a 2.4% curvature at 1e13 and 0.02% at 1e15.

The fit must carry the catalogue's lambda_tr >= 5 threshold (the file holds only
halos the target loop walked, so a binned mean is a tail mean); fitting
1 + <lambda_sat> straight to it returns alpha = 0.482, 44% too shallow.
Documents that pdf is a continuous shifted-Poisson interpolation, not the
mock's unclipped draw.

Tests: the des_y1 / buzzard comparison relaxes from bit-identical to
percent-level agreement, and a new test checks that the fitted set recovers the
generator inputs to within 0.5 sigma.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant