Intrinsic Alignments 101

What this page is

A short 101 guide to intrinsic alignment (IA). Pipelines differ by dataset type: simulation boxes vs lightcone/observational catalogs. Within each, you can measure correlation functions, power spectra, misalignment angles, and higher-order stats. For each statistic, pick estimators, gather the right inputs, choose codes, and follow common plotting conventions. Modelling comes after measurements.

1. Measurements

1.1 Simulation boxes

1.1.1 Projected correlation functions

Measure position–shape alignments along a chosen line-of-sight (often also get clustering for free).

  • Estimators: position–position: (w_{gg}, \tilde{\xi}{gg,0}); position–shape: (w{g+}, \tilde{\xi}_{g+,2}).
  • Inputs: ((x,y,z)) positions for both position and shape samples; projected shapes (major-axis direction from projected inertia-tensor eigenvector, axis ratio (b/a)); projection axis (x/y/z) as line-of-sight; box size (units must match positions); jackknife regions for covariance: use (x^3) sub-boxes with (x\in\mathbb{Z}), require (x^3 \gtrsim N_r^{3/2}) and sub-box size (\gg) max (r) or (r_p).
  • Codes: MeasureIA, Halotools.
  • Figures/conventions: log–log; optionally plot (r_p\,w_{g+}) or (r^2\,\tilde{\xi}_{g+,2}).

1.1.2 3D correlation functions

  • Estimators: (\xi_{g+}(r)), (\xi_{++}(r)), (\xi_{gg}(r)).
  • Inputs: full 3D positions; 3D shape tensors/major axes; box size; binning in (r).
  • Codes: Halotools, Corrfunc-style custom pair-counting, MeasureIA modules.
  • Figures/conventions: (\xi(r)) vs (r) (log–log); highlight 1–2 halo-like features if relevant.

1.1.3 Power spectra

  • Estimators: 3D Fourier modes; (P_{g+}(k)), (P_{++}(k)).
  • Inputs: density field on grid; shape field on grid; window handling.
  • Codes: custom FFT pipelines, Pylians; use CCL for theory comparison.
  • Figures/conventions: (P_{g+}(k)), (P_{++}(k)) vs (k).

1.1.4 Misalignment angles

  • Estimators: angle between galaxy/halo major axis and LSS/tidal directions.
  • Inputs: inertia-tensor eigenvectors; filament/sheet directions or tidal field.
  • Codes: custom routines; simulation-toolkit alignment modules.
  • Figures/conventions: histograms of (\cos\theta); compare to randoms.

1.1.5 Three-point (3pt) correlation functions

  • Estimators: bispectra (B) or 3pt (\zeta) with shape legs (e.g., (gg+), (g++)).
  • Inputs: positions, shapes, triangle configs or (k)-triangle bins.
  • Codes: custom 3pt estimators; fast bispectrum libraries.
  • Figures/conventions: (B(k_1,k_2,k_3)) slices; reduced statistics where helpful.

1.2 Lightcone / Observational catalogs

1.2.1 Projected correlation functions

  • Estimators: (w_{g+}, w_{gg}) in RA/Dec/(z).
  • Inputs: RA, Dec, (z); galaxy shapes; survey masks/weights; random catalogs.
  • Codes: TreeCorr.
  • Figures/conventions: as in sims, but mask-aware errors (JK or mocks).

1.2.2 Power spectra

  • Estimators: pseudo-(C_\ell) (mask-aware).
  • Inputs: shear/ellipticity maps, masks, weights; (\ell)-binning.
  • Codes: NaMaster (PyMaster).
  • Figures/conventions: (C_\ell^{g+}, C_\ell^{++}); E/B decomposition; deconvolved bandpowers.

1.2.3 Misalignment angles (optional)

  • Estimators: alignments between galaxy PAs and density-field directions.
  • Inputs: galaxy PAs from shapes; density tracers (photo-(z)/spec-(z)).
  • Codes: custom catalog routines; cross-matching scripts.
  • Figures/conventions: angle distributions; alignment vs redshift.

2. Modelling

2.1 Angular Power Spectra (C_\ell)

Goal: Predict IA (C_\ell) for cosmic shear and galaxy samples using pyCCL.

  • Estimators: (C_\ell^{II}, C_\ell^{GI}, C_\ell^{GG}); cross: (C_\ell^{gI}, C_\ell^{gG}).
  • Inputs:
    • Cosmology: ccl.Cosmology(Ω_m, σ_8, h, n_s, …)
    • Redshift distributions: 1D (n(z)) for sources/lenses on chosen (z)-grid
    • Multipoles: array of (\ell)
    • IA model: NLA / z-NLA / LF-z-NLA / TATT
      # NLA-type example (sketch)
      source = ccl.WeakLensingTracer(cosmo, dndz=(z, nz_s), IA_bias=(z, IA))
      cls = ccl.angular_cl(cosmo, source, source, ells)
      
    • Galaxy bias: (b(z))
      lens = ccl.NumberCountsTracer(cosmo, dndz=(z, nz_l), bias=(z, b))
      
  • Real-space 2pt (example):
    xi_plus  = ccl.correlation(cosmo, ell=ells, C_ell=cls,
                               theta=theta_deg, type="GG+", method="FFTLog")
    xi_minus = ccl.correlation(cosmo, ell=ells, C_ell=cls,
                               theta=theta_deg, type="GG-", method="FFTLog")
    
  • Figures/conventions: plot (C_\ell) or (\xi_\pm(\theta)) on log–log; optionally split IA vs lensing or show fractional IA.

2.3 Advanced models

  • EFT-inspired IA models
  • Tidal-field alignment models
  • Different tracer populations (halos, centrals, satellites)