METHOD NOTE · PRELIMINARY · INTRINSIC / UNCONVOLVED

From X-ray spectra
to thermal-SZ y

This is a step-by-step, reproducible thermal Compton-y prediction constructed from saved X-ray fits. It is not a direct SZ-map measurement and has not been convolved with an instrument beam or transfer function.

y(R)=σT / mec²∫ne kT dl

01 · THE FULL CHAIN

Separate what is measured from what is modelled

The X-ray spectra directly provide projected temperature and projected emission measure. Three-dimensional density, pressure, and y require the explicit geometrical model below.

01

MOS spectra

MOS1/MOS2 are jointly fit from 0.4–7 keV within each region/ObsID and share ICM parameters; primary-annulus points are robust aggregates of accepted ObsID fits.

02

Projected EM

Because norm is defined per arcmin², the APEC normalization directly becomes the line-of-sight ∫nₑnᴴdl.

03

3-D density

A spherical β model fits annulus-averaged projected EM. This is a model assumption, not a direct X-ray inversion.

04

Pressure → y

A smooth temperature proxy is used as the 3-D temperature, and nₑkT is integrated along the line of sight to obtain dimensionless intrinsic y.

02 · REPRODUCIBLE DERIVATION

From one X-ray spectrum to one y curve

Every equality maps to a quantity, unit, or assumption in the calculation that produced the displayed result.

kT · nₑ · y

Before starting: three quantities

kT is thermal energy per particle (keV); nₑ is electron number density (cm⁻³); y is the dimensionless accumulated scattering weight experienced by CMB photons crossing the hot electrons.

X-RAY DATA

What the spectra actually measure

For every region/ObsID: SrcApec kT and K≡norm/arcmin²; primary-annulus values are cross-ObsID aggregates. The spectral model simultaneously handles background, soft protons, and instrumental lines; Z=0.3 Z⊙ and z=0.00475 are fixed.

MODEL ASSUMPTIONS

What must be assumed additionally

Spherical β density, a smooth temperature proxy, nₑ=1.2nᴴ, and a line-of-sight continuation. These turn projected X-ray quantities into a 3-D pressure model.

01

APEC NORMALIZATION

Step 1 · What leaves the X-ray spectral fit?

For one annulus, the standard APEC normalization is

K = 10−14 / [4π DA²(1+z)²] · ∫ nenH dV

The integral is over that annulus's three-dimensional volume. The K used here has already been divided by the annular sky area, in arcmin⁻²: it is a surface normalization, not a total-aperture norm.

02

APEC → PROJECTED EM

Step 2 · How does K become projected emission measure?

Set dV=Dₐ² dΩ dl and divide the preceding equation by one arcmin². Dₐ² cancels exactly, giving

EMproj = ∫ nenH dl = Karcmin² · 4π(1+z)² / [10−14 Ω1 arcmin²]

Ω₁arcmin²=(π/10800)²=8.4616e-8 sr. The output EMproj is in cm⁻⁵: a line-of-sight ∫nₑnᴴdl, not a deprojected shell EM.

03

EM → DENSITY

Step 3 · Use EM to constrain a spherical density

Assume fully ionized cosmic-abundance gas, nₑ=1.2nᴴ, and write

ne(r) = n0[1 + (r/rc)²]−3β/2,   nH = ne/1.2

The line-of-sight integral has an analytic EMproj(R). The calculation area-averages it in each real annulus, then fits n₀, r_c, and β with unweighted log₁₀ EM residuals.

EMproj(R) = (n0²/1.2) rc√π Γ(3β−1/2)/Γ(3β) · [1+(R/rc)²]1/2−3β

The current best model is n0=9.729e-4 cm⁻³, rc=203.766 kpc, β=0.973062.

The fit RMS is 0.0409 dex and the maximum absolute residual is 0.0855 dex. These are model–data scatter, not error bars.

04

TEMPERATURE PROXY

Step 4 · How does temperature enter 3-D pressure?

The seven strictly matched fixed-Z reference annuli give projected kT. To prevent one projected-temperature fluctuation from creating a spurious pressure kink, the y calculation uses only this robust power law:

kT(θ) = 1.135956 · (θ/30′)-0.224501 keV

Inside 7.91′, T is held at the boundary value (there is no R0–5 spectrum); outside 75.17′ the continuation slope is fixed to 0, so it is again constant. This T(r) is a pressure-projection proxy, not a replacement 3-D spectral fit.

05

PRESSURE → y

Step 5 · From electron pressure to Compton-y

Electron pressure is Pₑ=nₑkT. The thermal-SZ definition is

y(R) = σT/(mec²) · ∫−L+L ne(√(R²+l²)) kT(√(R²+l²)) dl

With kT in keV and nₑdl in cm⁻², σT(1 keV)/(mec²)=1.301015e-27 cm² keV⁻¹. The script uses r²=R²+l² and numerically integrates from −L to +L; L=10000′ is a recorded β-model-tail cutoff, not an observed cluster edge.

06

CUMULATIVE APERTURE

Step 6 · What is cumulative Ycyl?

Integrate y once more in the sky plane:

Ycyl(5′<θ<Θ) = 2π ∫5′Θ y(θ) θrad dθrad

The code computes y from 5′ to the displayed curve edge Θ and applies the trapezoid rule. Thus it is exactly Ycyl(5′<θ<Θ), not total Y inside Θ: R0–5 is intentionally absent because no retained MOS spectrum exists.

03 · NUMBERS ACTUALLY SUBSTITUTED

Parameters a first-year student can insert directly

These values are read from the saved fits and this y calculation, not estimated from the displayed plot.

z0.00475fixed SrcApec redshift
Z0.3 Z⊙fixed SrcApec abundance
DA20.0 Mpc1′ = 5.8178 kpc
Ω1 arcmin²8.4616e-8 srsolid-angle conversion
rLOS,max10000′explicit β-tail cutoff
spectral fitMOS1 + MOS20.4–7 keV
MWHotHalonorm=0, frozenother sky terms frozen
Touterslope = 0.0outer-temperature continuation

04 · CURRENT RESULT

Preliminary intrinsic y for two controlled branches

The figure compares the fixed-Z reference and radial-Z-conditioned branches. Both use continuous beta density plus a temperature proxy; neither is a direct SZ-map measurement.

Fixed-metallicity and radial-metallicity-conditioned X-ray-inferred y and cumulative Y
The four panels show kT, projected EM, single-beta nₑ, and intrinsic y. Branches use the same accepted ObsID pairs; EM/kT bars where N>1 are 16th-84th spreads and have not been propagated into a y band.

04B · DIRECT SZ-PLOT HANDOFF

A model, curve, and range Joel can plot

Everything below is intrinsic (unconvolved) Compton-y. Convolve either model in the beam/transfer-function space of the SZ map before comparison; do not treat the unconvolved curve as a map-space profile.

INTRINSIC y(θ)

The complete radial model

Set R=Dₐθ, r²=R²+l², and θᵣ=r/Dₐ. θᵣ in the temperature proxy is clamped to the measured-input interval, so temperature is constant inside 7.906′ and beyond 75.166′. Density has neither an additional R₅₀₀ nor a transverse cutoff. L is the numerical LOS limit.

y(θ) = 1.301015e-27 · ∫−L+L ne(r) kT(θr) dl

ne(r)=n0[1+(r/rc)²]−3β/2;   kT(θr)=T30(θ̃r/30′)B

DA=20.0 Mpc = 5.81776 kpc arcmin⁻¹; L=10000′ = 58.178 Mpc.

NO FORMAL y CI

What “range” correctly means here

The min–max columns are a controlled abundance-condition sensitivity envelope from switching fixed-Z and radial-Z-conditioned models on the same spectra; they are not a 68% or 90% statistical error. No publishable y(θ) or Ycyl confidence interval yet exists: per-ObsID Sherpa covariance and correlated propagation through beta, temperature, and LOS integration are absent. Joel may compare the two solid model branches, but must not shade the space between them as a statistical error band.

Fixed Z=0.30 reference branch

Density beta parameters

n0
9.72935e-4 cm⁻³
rc
203.766144 kpc
β
0.97306233

Temperature proxy

T30
1.13595588 keV
B
-0.22450071
Temperature clamp interval
7.905694′–75.166482′
LOS integration interval
±10000′

Radial-Z-conditioned branch

Density beta parameters

n0
1.32659e-3 cm⁻³
rc
111.328773 kpc
β
0.69231902

Temperature proxy

T30
1.13515706 keV
B
-0.22558318
Temperature clamp interval
7.905694′–75.166482′
LOS integration interval
±10000′

PLOT TABLE · 5′–160′

y(θ) and Ycyl ready to ingest

The table linearly interpolates the public dense curve to standard θ; the downloadable CSV retains every point on the original calculation grid. Beyond 80′, this is only the mathematical continuation of beta density plus constant outer temperature, not direct X-ray constraint.

Download the full plotting CSV → linear interpolation in theta from the downloadable stored y-curve grid.

θRy: fixed Z=0.30y: radial-Z conditionedbranch min–maxconditional branch changeYcyl fixed [sr]Ycyl radial-Z [sr]
5′29.09 kpc1.97776e-62.13172e-61.97776e-6 – 2.13172e-6+7.8%0.00000e+00.00000e+0
10′58.18 kpc1.80524e-61.85468e-61.80524e-6 – 1.85468e-6+2.7%3.77066e-113.96511e-11
20′116.36 kpc1.37525e-61.29658e-61.29658e-6 – 1.37525e-6-5.7%1.62561e-101.61629e-10
30′174.53 kpc1.00368e-69.30101e-79.30101e-7 – 1.00368e-6-7.3%3.17949e-103.06027e-10
40′232.71 kpc7.30908e-77.03072e-77.03072e-7 – 7.30908e-7-3.8%4.76616e-104.55331e-10
50′290.89 kpc5.42237e-75.56973e-75.42237e-7 – 5.56973e-7+2.7%6.26647e-106.04204e-10
60′349.07 kpc4.13051e-74.58209e-74.13051e-7 – 4.58209e-7+10.9%7.64543e-107.51301e-10
70′407.24 kpc3.23610e-73.88524e-73.23610e-7 – 3.88524e-7+20.1%8.90487e-108.96620e-10
80′465.42 kpc2.61347e-73.38422e-72.61347e-7 – 3.38422e-7+29.5%1.00609e-91.04079e-9
100′581.78 kpc1.80343e-72.68721e-71.80343e-7 – 2.68721e-7+49.0%1.21253e-91.32765e-9
120′698.13 kpc1.31295e-72.21894e-71.31295e-7 – 2.21894e-7+69.0%1.39169e-91.61208e-9
160′930.84 kpc7.81545e-81.63413e-77.81545e-8 – 1.63413e-7+109.1%1.68966e-92.17313e-9

PYTHON / MATPLOTLIB

Python: copy once and plot both curves

The code downloads the tabulated public curve directly; it neither refits spectra nor recomputes y. The grey region means the difference between abundance-conditioned models only.

import numpy as np
import matplotlib.pyplot as plt
from io import StringIO
from urllib.request import Request, urlopen

url = "https://fornax-cluster-xmm.pages.dev/assets/sz/fornax_intrinsic_y_originlab_wide_v1.csv"
request = Request(url, headers={"User-Agent": "Mozilla/5.0"})
csv_text = urlopen(request).read().decode("utf-8")
d = np.genfromtxt(StringIO(csv_text), delimiter=",", names=True)

fig, ax = plt.subplots(figsize=(6.2, 4.4))
ax.plot(d["theta_arcmin"], d["y_fixed_z0p3"], lw=2.2, label="X-ray model: fixed Z=0.30")
ax.plot(d["theta_arcmin"], d["y_profilez_conditioned"], lw=2.2, label="X-ray model: radial-Z conditioned")
ax.fill_between(d["theta_arcmin"], d["y_branch_min_conditional"], d["y_branch_max_conditional"],
                color="0.5", alpha=0.16, label="model-branch sensitivity (not a statistical CI)")
ax.set(xscale="log", yscale="log", xlim=(5, 160),
       xlabel=r"$\theta$ [arcmin]", ylabel="intrinsic Compton y")
ax.grid(which="both", alpha=0.25)
ax.legend(frameon=False, fontsize=8)
fig.tight_layout()
plt.show()

ORIGINLAB

OriginLab: a directly importable wide table

Download the CSV, then use Data → Import from File → Text/CSV in Origin. Assign theta_arcmin as X and y_fixed_z0p3 plus y_profilez_conditioned as Y.

Download OriginLab wide CSV →

y_branch_min_conditional and y_branch_max_conditional are model-branch min–max only; do not assign them as Y error bars.

05 · ACTUAL X-RAY INPUTS

The 7 matched annuli of the fixed-Z reference

kT raw is the fixed-Z=0.30 aggregate over the same matched ObsID pairs; kT smooth is the proxy passed to Step 4. The radial-Z branch appears alongside it on the home-page four-panel figure and in the reproducible CSV products.

regionradiuseffective RMOS spectrakT raw / smoothprojected EMannular y
R5-105–10′46.0 kpc2 / 1 ObsIDs1.467 / 1.532 keV6.08e+17 cm⁻⁵1.89e-6
R10-2010–20′92.0 kpc13 / 7 ObsIDs1.370 / 1.312 keV3.16e+17 cm⁻⁵1.57e-6
R20-3020–30′148.3 kpc17 / 9 ObsIDs1.219 / 1.178 keV2.21e+17 cm⁻⁵1.17e-6
R30-4030–40′205.7 kpc8 / 4 ObsIDs1.085 / 1.095 keV1.15e+17 cm⁻⁵8.53e-7
R40-5040–50′263.4 kpc6 / 3 ObsIDs1.024 / 1.036 keV5.77e+16 cm⁻⁵6.27e-7
R60-7060–70′379.3 kpc2 / 1 ObsIDs0.999 / 0.954 keV1.68e+16 cm⁻⁵3.64e-7
R70-8070–80′437.3 kpc2 / 1 ObsIDs0.856 / 0.924 keV9.01e+15 cm⁻⁵2.90e-7

06 · MINIMUM REPRODUCTION CHECKLIST

These six lines reproduce the curve

No PHA or event files are needed for this mathematical reproduction: use the tabulated K, kT, and the stated model convention.

  1. 01

    Read K=SrcApec norm/arcmin² and kT for every annulus from the table.

  2. 02

    Use Step 2 to calculate EMproj; retain the cm⁻⁵ units.

  3. 03

    Set R=Dₐθ and fit the annulus-averaged β model to EMproj.

  4. 04

    Use the Step-4 log–log power law for T(r), including its inner and outer continuation rules.

  5. 05

    For each sky radius R, numerically integrate y=σT/(mec²)·2∫₀ᴸnₑ(r)kT(r)dl.

  6. 06

    Multiply y(θ) by 2πθdθ, with θ in radians, and accumulate to get Ycyl in sr.

07 · UNCERTAINTY AND BOUNDARY

y needs an interval; no shaded band is fabricated

The following distinguishes future statistical propagation from systematics that need separate investigation.

Current numerical state

The profile has been rebuilt from scalar-skyarea-corrected per-ObsID fits. The 16th–84th between-ObsID EM/kT spread is shown when available, but has not been propagated to y/Y and no full Sherpa covariance is yet quoted.

Planned statistical propagation

For every primary annulus, derive a full Sherpa-Hessian covariance C over every thawed parameter (including per-spectrum SP and instrumental lines). Select the marginal SrcApec (kT,norm) 2×2 block, draw correlated realizations, refit β density and smooth T, then perform the LOS integral for each draw. The 16th/84th percentiles of y form the conditional 68.27% statistical band; Ycyl is computed from every draw as well.

pj(m) ∼ N[p̂j, Cj],   y68%(θ) = [P16{y(m)}, P84{y(m)}]

Systematics outside the statistical band

Uncertainty from frozen sky/SP backgrounds, azimuthal scatter and clumping, multi-temperature/projection bias, distance/spherical-geometry/outer-tail assumptions, and SZ beam/transfer function. These require separate refits or physical-sensitivity branches and must not be silently folded into the statistical band.

SCOPE AND NEXT GATE

This is not a final SZ-map measurement constraint.

Before comparison with an SZ map, export covariance from the corrected per-ObsID sessions, propagate a statistical band, and run explicit foreground/background, thermal-structure, and geometry systematic branches. Any map comparison must additionally include that map's beam and transfer function.