manodeep/Corrfunc

DDsmu and DDsmu_mocks give different results

pribamello opened this issue · 4 comments

General information

  • Corrfunc version: 2.4.0
  • platform: Ubuntu 22.04 LTS
  • installation method: pip

Issue description

When using "DDsmu" and "DDsmu_mocks" to compute counts on the same set of particles, but with different coordinate systems, results are different.

Minimal failing example

https://github.com/pribamello/Correlation-Function

Hey @pribamello - thanks for using Corrfunc and for reporting the issue.

In order to use x, y, z in the inputs to DDtheta_mocks, you have to pass x, y, z and also set is_comoving_dist=True. Looks like you are setting is_comoving_dist but passing ra, dec, cz (instead of x, y, z).

My expectation is to get similar results when passing x, y, z to both theory/DDsmu (periodic=False) and mocks/DDsmu_mocks (is_comoving_dist=True). Note that the line of sight is fixed along the Cartesian z-axis for all particle pairs for theory/DDsmu whereas the line-of-sight changes for every particle pair considered for mocks/DDsmu_mocks.

Hi @manodeep - thank you for the response.
In the documentation page for DDsu_mocks, the arguments are passed as (r, ra, dec). When I try to pass (x, y, z) instead, an error is raised.

You are totally right - oops!

Just to be clear - those two results would still not be identical anyway - the projections are defined in a different manner. I am curious - is this related to any Science use-case that you have?

Makes sense, considering the diferences in projection. Yes! For now, I'm trying to recover the multipoles from a set of mock simulations from Pinocchio code.