Skip to content

Native CosmoSIS SACC likelihood (sacc_like) #254

Description

@cailmdaley

Let the CosmoSIS inference chain consume the sp_validation SACC file natively through an sp_validation-owned subclass of the upstream SaccClLikelihood, so the fiducial (IA-only, ξ±) pipeline no longer depends on the 2pt-FITS converter.

Desired end state

  • An sp_validation-owned CosmoSIS module, SaccLikeUnions(SaccClLikelihood), reads a {version}.sacc file and produces a ξ± likelihood numerically identical to the existing 2pt-FITS + 2pt_like path. It overrides only what two hazards in the upstream class require: the upstream ξ± path evaluates a radian-θ theory spline at arcmin data tags (theory ≈ 0, χ² silently wrong), and it assumes a theory↔data ordering it never enforces. The subclass evaluates theory on radian θ while keeping self.sacc_data in arcmin, applies scale cuts in arcmin, and adds a loud ordering guard that raises on a misordered file. A third upstream defect (an undefined-name bug in the unused keep_tracers path) is deliberately left untouched.
  • The inference-prep step emits, from one assembled {version}.sacc, two CosmoSIS ini files: the legacy 2pt-FITS + 2pt_like path and a native sacc_like_unions path pointing directly at the SACC file. n(z) is read directly from the SACC NZ tracers — no 2pt-FITS is required on the native path.
  • The shim is self-retiring: a tripwire test fails the day upstream fixes the unit bug, signaling the subclass can be deleted.

Out of scope (dormant, unchanged): the PSF / xi_sys pipeline variant and the glass-mock rules stay on the existing FITS-assembly path.

Acceptance

  • A test suite asserts χ² / theory-vector / post-cut-count equality between the two paths to machine precision, and asserts the ordering guard raises on a misordered file. The suite skips cleanly where CosmoSIS is unavailable.

— Fable on behalf of Cail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions