diff --git a/README.md b/README.md index 0a63b89..f261583 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,6 @@ beta_shape_pnpi/ ├── pyproject.toml ├── docs/ # Obsidian knowledge base (physics theory & references) │ ├── README.md # Vault overview + navigation index -│ ├── Hayen2017_summary.md # Full paper summary backbone │ ├── 00-beta-spectrum-overview.md # Master equation, all corrections table │ ├── 01-fermi-function.md # Fermi function F₀(Z,W) │ ├── 02-phase-space.md # Phase space p·W·(W₀−W)² @@ -38,10 +37,10 @@ beta_shape_pnpi/ │ ├── 05-exchange-correction.md # Electron exchange X(Z,W) │ ├── 06-radiative-corrections.md # Outer radiative δᵣ(W,W₀) │ ├── 07-recoil-effects.md # Weak magnetism, recoil kinematics +│ ├── 08-detector-response.md # Detector response models │ ├── 10-nuclear-structure.md # Shape factor C(Z,W), BB vs HS formalisms │ ├── 12-atomic-overlap.md # Bahcall correction r(Z,W) │ ├── 13-chemical-effects.md # Molecular environment effects -│ └── refs-hayen2017.md # Key equations reference table, citations ├── beta_spectrum/ │ ├── __init__.py # Public API: constants, utilities, classes │ ├── base.py # Abstract SpectrumComponent base class @@ -53,14 +52,13 @@ beta_shape_pnpi/ │ ├── fitter.py # χ² curve fitting for C(W) extraction │ ├── cw_extractor.py # C(W) shape factor extraction + gV/gA analysis │ └── components/ -│ │ ├── phase_space.py ✓ Phase space shape (p·W·(W₀−W)²) -│ │ ├── fermi.py ✓ Coulomb correction (loggamma for stability) -│ │ ├── finite_size.py ✓ L0 expansion + charge distribution U term -│ │ ├── screening.py ✓ Atomic electron screening (ratio method) -│ │ ├── exchange.py ✓ Hayen-2018 empirical fit coefficients -│ │ ├── radiative.py ✓ Outer radiative corrections, soft-photon resummation -│ │ ├── detector_response.py ✓ Analytical detector response models -│ │ └── recoil.py ✗ Not yet implemented +│ │ ├── phase_space.py ✓ Phase space shape (p·W·(W₀−W)²) +│ │ ├── fermi.py ✓ Coulomb correction (loggamma for stability) +│ │ ├── finite_size.py ✓ L0 expansion + charge distribution U term +│ │ ├── screening.py ✓ Atomic electron screening (ratio method) +│ │ ├── exchange.py ✓ Hayen-2018 empirical fit coefficients +│ │ ├── radiative.py ✓ Outer radiative corrections, soft-photon resummation +│ │ └── detector_response.py ✓ Analytical detector response models ├── tests/ │ ├── test_radiative.py # Radiative correction tests (24 tests) │ ├── test_exchange.py # Exchange correction tests @@ -148,7 +146,6 @@ ______________________________________________________________________ | Exchange | `exchange.py` | ✓ | Hayen-2018 Table X empirical fit (CSV data for Z=2..120) | | Radiative | `radiative.py` | ✓ | Outer radiative corrections (Hayen Eq. 47–53), soft-photon resummation at endpoint | | Detector Response | `detector_response.py` | ✓ | Analytical models: Gaussian, Gaussian+tail, Tikhonov, tabulated | -| Recoil | `recoil.py` | ✗ | Stub only, not yet implemented | ## Additional Modules diff --git a/TODO.md b/TODO.md index b69e8a9..9fb5415 100644 --- a/TODO.md +++ b/TODO.md @@ -175,9 +175,9 @@ ______________________________________________________________________ ## Deferred (Not Planned) -### Nuclear Recoil Correction (`recoil.py`) +### Additional Corrections -Not implementing at this time. The recoil correction (weak magnetism, recoil kinematics) is a small O(q/M_N) effect (~0.1%) that is subdominant to the shape factor C(W) we aim to extract. In the ⁹⁹Tc analysis, the shape factor absorbs all unmodelled energy-dependent effects — including recoil — so implementing recoil explicitly is unnecessary for the scientific goal. +Not implementing at this time. Additional corrections (weak magnetism, recoil kinematics, etc.) require a complex implementation with project-wide consequences. This is a far-future plan, irrelevant to the current ⁹⁹Tc analysis goal where the shape factor C(W) absorbs all unmodelled energy-dependent effects. ### Nuclear Shape Factors C(Z,W) @@ -194,9 +194,9 @@ ______________________________________________________________________ ## Current Status -**Version:** 0.2.0\ -**Implemented:** Phase space, Fermi function, finite size, screening, exchange, radiative corrections (with delta_cut resummation). Detector response module with analytical models (Gaussian, Gaussian+tail, Tikhonov), convolution API, declarative config integration. Comprehensive test suite (106 tests). Notebook quality control with nbmake and auto-save plot hooks. +**Version:** 0.3.0\ +**Implemented:** Phase space, Fermi function, finite size, screening, exchange, radiative corrections (with delta_cut resummation). Detector response module with analytical models (Gaussian, Gaussian+tail, Tikhonov), convolution API, declarative config integration. χ² curve fitting framework (CurveFitter) with confidence intervals, profile likelihood, and correlation analysis. C(W) shape factor extraction pipeline (CWExtractor) with Kurie plot analysis, parametrized fitting, and g_V/g_A extraction. CLI interface (`bs_pnpi`) with paceENSDF integration. Comprehensive test suite (167 tests). Notebook quality control with nbmake and auto-save plot hooks. -**Completed:** A2 — detector response function and convolution routines. +**Completed:** A2 — detector response function and convolution routines. A4 — fitter routine and C(W) extraction pipeline. -**Next immediate step:** A4 — implement fitter routine to extract experimental C(W) from data. +**Next immediate step:** A3 — data processing pipeline for experimental spectra (background subtraction, energy calibration, dead-time correction, pulse pile-up correction). diff --git a/beta_spectrum/components/recoil.py b/beta_spectrum/components/recoil.py deleted file mode 100644 index e69de29..0000000