Cacciato style CLF model#39
Open
0Navin0 wants to merge 27 commits into
Open
Conversation
0Navin0
commented
Jun 12, 2026
Collaborator
- Implemented Cacciato+2013 CLF to HOD model
- Absorbed in DSF style to compute pk2D
- benchmarking in progress, but clean benchmarking code and structure are available. Just need to verify from the data.
- rst files built to show docs
hod_cacciato.py: Cacciato HOD class, has been visually validated by plotting the HOD. The plotting and validation code will be updated in future. This code needs to be checked for any required changes in _real and _fourier methods of the parent class. pk2d_cacciato_hod.py: Dedicated pk2d from HOD derived from Cacciato2013 CLF. This is a wrapper similar to modelling.py but adopted to strongly insist on halo mass definition. It will crash if the halo mass definition is not 200m. This can be easily relaxed, but at the moment kept so to be consistent with Cacciato+2013. I'll have to run these codes in the full pipeline setup to produce theory data vectors and validate agaist Cacciato paper. There are some challenges w.r.t. what concentration relation to use. High mass end of the halos seem to have a lot of variation in concentration across different concentration modules of CCL.
cacciato.png: Assumes the units reported in DSF/CCL are correct cacciato_esd.png: Assumes the unit of Delta_Sigma reported by delta_sigma_builder is correct but the units of r that gets passed to delta_sigma_builder is Mpc/h. esd_data_points_lower.csv, esd_data_points_mid.csv, esd_data_points_upper.csv: Data points picked using an online tool from Mandelbaum+2006 paper. hod_cacciato.py: Some changes to HOD arguments, these were not needed, but the CCL inputs define some additional arguments that actually don't get used in HOD calls. So I had to put back those extra parameters. I might remove them in the future. test_cacciato.py: A test script to produce Delta_Sigma from Cacciato CLF, using DSF style API.
- Moved the approximately captured Mandelbaum measurements to benchmarks/data_vector/refence and plots to benchmarks/data_vector/figures. - solved linting issues
The uncommented data vector was the exact thing used in Cacciato paper. For confirmation look into the number of galaxies in this bin L4 in paper https://github.com/rmandelb/mandelbaum-data/tree/master/halomass-2006 and the counts mentioned in Cacciato paper. Also compare the prediction of DSF with the data and model fit shown in fig.2 of Cacciato+2013. This is a clear indication that there's an h-factor issue in the DSF prediction. It can't be any other way, I think.
Improved codes structure to access any bin using yaml config file The plots of the type: /cacciato_esd_log_L*_shifted_yval.png are the best comparison with Cacciato fig.2. In these plots I have shifted the value of delta sigma outputted by DSF by an h-factor. All the more reason to believe that the DSF output has a unit issue.
The separation of model prediction from DSF is to reuse the utility in another code cacciato_validation/ds_validation.py that will help validate the DS prediction from AUM.
This validation is needed to ensure that the DS prediction from AUM makes sense because HOD is the main ingredient that defines the power specturm.
If I assume that DSF DS is in hMsun/pc^2 ==> DSF matches with AUM in amplitude, however there's still some profile differenes in larger radii. If we assume that DSF DS is in Msun/pc^2 as the DSF documentation says, the amplitudes of DSF DS and AUM are off in amplitude and inner slope of DS.
Also updated ds_validation.py code to produce comaprison for any Cacciato luminosity bin just by passing a string that's consistent with sample_info.yaml.
Clearly these plots show that DSF handles satellites differently than AUM. So I need to look into how satellite profile is constructed in AUM vs DSF. Plus some overall factor of h in DS amplitude of DSF.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.