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
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.
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
: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.