Skip to content

Cacciato style CLF model#39

Open
0Navin0 wants to merge 27 commits into
mainfrom
clf_cacciato
Open

Cacciato style CLF model#39
0Navin0 wants to merge 27 commits into
mainfrom
clf_cacciato

Conversation

@0Navin0

@0Navin0 0Navin0 commented Jun 12, 2026

Copy link
Copy Markdown
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

0Navin0 added 9 commits June 11, 2026 22:12
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
@0Navin0 0Navin0 requested a review from nikosarcevic June 12, 2026 02:15
0Navin0 added 18 commits June 16, 2026 15:44
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.
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