Skip to article content

DESI DR1 BAO Analysis

Reproducing the configuration-space baryon-acoustic-oscillation measurement

Clustering

Two-point correlation function ξ(s, μ) for DESI DR1 tracers

Sub-analysis page. Components are addressed with the clustering/ path prefix.

Overview

Clustering measures the Landy–Szalay ξ(s, μ) multipoles (ℓ = 0, 2, 4) on a linear 4 Mpc/h s-binning from 0 to 200 Mpc/h, NGC + SGC combined. Pre-recon ξ is computed from the raw catalogs; post-recon ξ uses the RecSym estimator with the shifted catalogs from reconstruction, sliced into tracer z-bins.

The binning, μ-binning, estimator, and ℓ range are all locked to the published RascalC covariance grid, which is why this stage carries only a single decision rather than a set of binning knobs.

Decision

The one free choice is whether to apply imaging-systematics weights. The same RascalC covariance null-tests this toggle at 0.27 σ, so it is left unlocked:

DECISION
Imaging-systematics weights

BAO is insensitive to the imaging-systematics correction (largest shift 0.27 sigma across tracers). This decision exposes that null test. on uses the full DESI WEIGHT column (WEIGHT_COMP * WEIGHT_SYS * WEIGHT_ZFAIL). off drops the WEIGHT_SYS factor, keeping only completeness + redshift-failure corrections.

default: On (default) · 2 options

Outputs

The headline diagnostic is the stacked ξ multipoles figure across tracers:

xi_multipoles_plot

Figure 1:Pre- and post-recon xi_ell(s) multipoles (ell = 0, 2, 4) plotted as s^2 * xi(s), one row per tracer so the BAO feature at s ~ 100 Mpc/h is visible. Post-recon monopole should show a sharper BAO peak.

Provenance
Decisions (1)

The full per-tracer registry — one xi_pre_recon_<tracer> and one xi_post_recon_<tracer> per tracer — is:

Outputs
OutputTypeDescription
xi_pre_recon_bgsdataPre-recon xi(s, mu) for BGS (z=0.1-0.4). Monopole-only fit.python -u scripts/compute_xi.py --output {output} --tracer bgs --imaging_weights {decisions.imaging_weights}
xi_post_recon_bgsdataPost-recon xi(s, mu) for BGS (RecSym). BGS parent recon spans 0.1 <= z <= 0.4 (no sub-binning).python -u scripts/compute_xi.py --output {output} --tracer bgs --imaging_weights {decisions.imaging_weights}
xi_pre_recon_lrg1dataPre-recon xi(s, mu) for LRG1. pycorr TwoPointCorrelationFunction (.npy), GCcomb, s in [0, 200] Mpc/h at 4 Mpc/h bins, mu in [-1, 1] at 200 bins. python -u scripts/compute_xi.py --output {output} --tracer lrg1 --imaging_weights {decisions.imaging_weights}
xi_post_recon_lrg1dataPost-recon xi(s, mu) for LRG1 (RecSym). Slices the LRG parent post-recon catalog to 0.4 <= z <= 0.6. python -u scripts/compute_xi.py --output {output} --tracer lrg1 --imaging_weights {decisions.imaging_weights}
xi_pre_recon_lrg2dataPre-recon xi(s, mu) for LRG2. Same format as xi_pre_recon_lrg1.python -u scripts/compute_xi.py --output {output} --tracer lrg2 --imaging_weights {decisions.imaging_weights}
xi_post_recon_lrg2dataPost-recon xi(s, mu) for LRG2 (RecSym). Slices LRG parent NPZ to 0.6 <= z <= 0.8.python -u scripts/compute_xi.py --output {output} --tracer lrg2 --imaging_weights {decisions.imaging_weights}
xi_pre_recon_lrg3dataPre-recon xi(s, mu) for LRG3 (z=0.8-1.1). Same format as xi_pre_recon_lrg1.python -u scripts/compute_xi.py --output {output} --tracer lrg3 --imaging_weights {decisions.imaging_weights}
xi_post_recon_lrg3dataPost-recon xi(s, mu) for LRG3 (RecSym). Slices LRG parent NPZ to 0.8 <= z <= 1.1.python -u scripts/compute_xi.py --output {output} --tracer lrg3 --imaging_weights {decisions.imaging_weights}
xi_pre_recon_elg1dataPre-recon xi(s, mu) for ELG1 (z=0.8-1.1). Monopole-only fit.python -u scripts/compute_xi.py --output {output} --tracer elg1 --imaging_weights {decisions.imaging_weights}
xi_post_recon_elg1dataPost-recon xi(s, mu) for ELG1 (RecSym). Slices ELG parent NPZ to 0.8 <= z <= 1.1.python -u scripts/compute_xi.py --output {output} --tracer elg1 --imaging_weights {decisions.imaging_weights}
xi_pre_recon_elg2dataPre-recon xi(s, mu) for ELG2 (z=1.1-1.6). Same format as xi_pre_recon_lrg1.python -u scripts/compute_xi.py --output {output} --tracer elg2 --imaging_weights {decisions.imaging_weights}
xi_post_recon_elg2dataPost-recon xi(s, mu) for ELG2 (RecSym). Slices ELG parent NPZ to 1.1 <= z <= 1.6.python -u scripts/compute_xi.py --output {output} --tracer elg2 --imaging_weights {decisions.imaging_weights}
xi_pre_recon_lrg3_elg1dataPre-recon xi(s, mu) for the LRG3+ELG1 combined tracer (0.8 < z < 1.1).python -u scripts/compute_xi.py --output {output} --tracer lrg3_elg1 --imaging_weights {decisions.imaging_weights}
xi_post_recon_lrg3_elg1dataPost-recon xi(s, mu) for the LRG3+ELG1 combined tracer (RecSym).python -u scripts/compute_xi.py --output {output} --tracer lrg3_elg1 --imaging_weights {decisions.imaging_weights}
xi_pre_recon_qsodataPre-recon xi(s, mu) for QSO (z=0.8-2.1). Monopole-only fit.python -u scripts/compute_xi.py --output {output} --tracer qso --imaging_weights {decisions.imaging_weights}
xi_post_recon_qsodataPost-recon xi(s, mu) for QSO (RecSym, sm30). QSO parent recon spans 0.8 <= z <= 2.1 (no sub-binning) with Sigma_sm = 30 h^-1 Mpc — matches the sm30 RascalC cov. python -u scripts/compute_xi.py --output {output} --tracer qso --imaging_weights {decisions.imaging_weights}
xi_multipoles_plotfigurePre- and post-recon xi_ell(s) multipoles (ell = 0, 2, 4) plotted as s^2 * xi(s), one row per tracer so the BAO feature at s ~ 100 Mpc/h is visible. Post-recon monopole should show a sharper BAO peak. python -u scripts/plot_xi.py --output {output}
References
  1. Chen, S.-F., Howlett, C., White, M., McDonald, P., Ross, A. J., Seo, H.-J., Padmanabhan, N., Aguilar, J., Ahlen, S., Alam, S., Alves, O., Andrade, U., Blum, R., Brooks, D., Chen, X., Cole, S., Davis, T. M., Dawson, K., de la Macorra, A., … Zhou, Z. (2024). Baryon Acoustic Oscillation Theory and Modelling Systematics for the DESI 2024 results. 10.48550/ARXIV.2402.14070
  2. Seo, H.-J., & Eisenstein, D. J. (2007). Improved forecasts for the baryon acoustic oscillations and cosmological distance scale. 10.48550/ARXIV.ASTRO-PH/0701079
  3. Planck Collaboration, Aghanim, N., Akrami, Y., Ashdown, M., Aumont, J., Baccigalupi, C., Ballardini, M., Banday, A. J., Barreiro, R. B., Bartolo, N., Basak, S., Battye, R., Benabed, K., Bernard, J. P., Bersanelli, M., Bielewicz, P., Bock, J. J., Bond, J. R., Borrill, J., … Zonca, A. (2018). Planck 2018 results. VI. Cosmological parameters. 10.48550/ARXIV.1807.06209
  4. Eisenstein, D. J., Seo, H., Sirko, E., & Spergel, D. (2006). Improving Cosmological Distance Measurements by Reconstruction of the Baryon Acoustic Peak. 10.48550/ARXIV.ASTRO-PH/0604362
  5. Padmanabhan, N., White, M., & Cohn, J. D. (2008). Reconstructing Baryon Oscillations: A Lagrangian Theory Perspective. 10.48550/ARXIV.0812.2905