CCL icon indicating copy to clipboard operation
CCL copied to clipboard

Projected correlation function support

Open chrgeorgiou opened this issue 2 years ago • 7 comments

This PR adds support for computing projected correlation functions with CCL. These have the form:

$w_{ab}(r_p)=\int dz \ W(z)\int\frac{dk \ k}{2\pi^2} \ P(k,a) \ J_n(k \ r_p)$

with $W(z)$ a window function that depends on the redshift distribution, $P(k,a)$ the relevant power spectrum and $J_n$ the bessel function. This function is often used in direct measurements of galaxy clustering and intrinsic alignments.

This PR uses the FFTLog wrapper in CCL (similarly to what is used in the halo model) to speed-up the integration.

chrgeorgiou avatar Oct 18 '23 09:10 chrgeorgiou

Pull Request Test Coverage Report for Build 9561961320

Details

  • 35 of 51 (68.63%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.2%) to 97.241%

Changes Missing Coverage Covered Lines Changed/Added Lines %
pyccl/correlations.py 35 51 68.63%
<!-- Total: 35 51
Totals Coverage Status
Change from base Build 9454812193: -0.2%
Covered Lines: 6590
Relevant Lines: 6777

💛 - Coveralls

coveralls avatar Oct 18 '23 10:10 coveralls

Some top level feedback without going into the details:

  • [x] could you add a benchmark?
  • [x] could you add an example in CCLX?
  • [ ] could you edit the docs files so this new function is included there?

elisachisari avatar Dec 07 '23 14:12 elisachisari

@chrgeorgiou can I check what the status of this PR is?

damonge avatar Feb 21 '24 08:02 damonge

Hi @damonge, I just received a benchmark code from Elisa, I will tick the points raised above soon and update the PR.

chrgeorgiou avatar Feb 21 '24 09:02 chrgeorgiou

@elisachisari Here is an update on this. I have run the benchmark code, saved the resulting file in the benchmark data and created a benchmark test. I also created an example in the CellsCorrelations.ipynb in CCLX. In terms of documentation, I take it you are referring to the CCL/doc, I can add this there too.

I have to note that the code developed here is only able to compute the projected correlations over infinite baseline (so $\Pi_\mathrm{max}=\infty$). Having an arbitrarily defined $\Pi_\mathrm{max}$ will need more development if the FFTLog method is to be used. I am happy to continue with this PR as is and add this feature at a later time if requested.

chrgeorgiou avatar Mar 13 '24 16:03 chrgeorgiou