Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sacc file Bandpower Discrepancies #468

Open
paulrogozenski opened this issue Oct 31, 2024 · 2 comments
Open

Sacc file Bandpower Discrepancies #468

paulrogozenski opened this issue Oct 31, 2024 · 2 comments
Labels

Comments

@paulrogozenski
Copy link
Contributor

Describe the bug
I find when computing a theory vector computation at the fiducial values using a likelihood object differed from the synthetic input data generated through ccl (by as much as 1-2%). I found that not passing window functions to the input sacc file resolved the issue and brought consistency. It is unclear from the user side how the window functions set in the sacc file are being interpreted in firecrown.

@tilmantroester
Copy link
Contributor

For any observable we need to define how to map the theory predictions to what is being measured. E.g., for pseudo-Cls, these are the mixing matrix and binning operations, which are stored in the window functions in sacc. Even if we ignore data-specific things like mode mixing, we still need to specify how the binning is done (equal weights? weight by 2l+1? minimum variance weights? etc). So for anything that's binned or more realistic than that, using the window functions is the correct thing to do.
You can define an effective ell for a bin but that is really just a convenient label for the bin and not something to use in calculations.

@vitenti
Copy link
Collaborator

vitenti commented Nov 1, 2024

Hello @paulrogozenski , I think I know what's probably happening. When dealing with a window function Firecrown does not compute all C_ells necessary in the equation C^obs_ell = C_ells . W (The left matrix multiplication is due to the way the window is stored in the SACC file). It actually computes a subset of C_ells and interpolates the rest. We are refactoring this class for a while and we didn't get to this place yet. If you want to check this, please go to the function calculate_ells_for_interpolation and make it return all integers between min_ell and max_ell effectively disabling the interpolation.

Tell me if you have any questions. I'll prepare a PR later today dealing with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants