Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finalize Alternate Halo Sampling Methods #374

Closed
daviesje opened this issue Apr 2, 2024 · 0 comments · Fixed by #388
Closed

Finalize Alternate Halo Sampling Methods #374

daviesje opened this issue Apr 2, 2024 · 0 comments · Fixed by #388
Assignees
Labels
context: C backend Changes occur predominantly in the C code context: v4-prep This issue regards changes to the v4-prep branch type: feature: code New ability in the code (user-side)

Comments

@daviesje
Copy link
Contributor

daviesje commented Apr 2, 2024

There currently exist four methods within the halos sampler for producing a population of halos from a condition, controlled by global_params.HALO_SAMPLING_METHOD:

  • 0: (Default) Mass-limited sampling, where we draw from the CMF until the entire mass of the condition is in halos (including below the resolution
  • 1: Number-limited sampling, where a Poisson variable is drawn for the total number of progenitors, and then the CMF is sampled that many times
  • 2: Partitioning method from Sheth & Lemson 1999 (https://articles.adsabs.harvard.edu/pdf/1999MNRAS.305..946S). Where halos are partitioned from a condition based on the collapsed fraction distribution.
  • 3: Binary split merger tree construction based on Qiu et al 2021 (https://arxiv.org/abs/2007.14624) and its predecessors (similar to GALFORM)

Since our goal was to abstract the model to any given HMF, methods 2 and 3 are fairly underdeveloped. They need to be tested under more parameter sets for accuracy and speed so we can provide better documentation on when each method may be useful.

This will also involve the examination of the mass tolerance implemented in methods 0 and 1. Where an entire sample is thrown out when it is too far from the target mass. It will likely be removed, or at least restricted to the initial sample, since it heavily disfavours certain samples resulting in the CMF skewing over time.

@daviesje daviesje added context: C backend Changes occur predominantly in the C code context: v4-prep This issue regards changes to the v4-prep branch type: feature: code New ability in the code (user-side) labels Apr 2, 2024
@daviesje daviesje self-assigned this Apr 2, 2024
@daviesje daviesje linked a pull request May 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
context: C backend Changes occur predominantly in the C code context: v4-prep This issue regards changes to the v4-prep branch type: feature: code New ability in the code (user-side)
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant