Add Obsidian knowledge base (docs/) and update README with docs structure

This commit is contained in:
2026-04-26 22:41:42 +03:00
parent d8804421cc
commit 8dac095d33
21 changed files with 2885 additions and 203 deletions
+130 -203
View File
@@ -1,16 +1,13 @@
# Beta Spectrum Calculation Toolkit
## Overview
A modular Python package for calculating high-precision **beta decay energy spectra**. It models the spectral shape of nuclear transitions by combining well-established physical corrections into a coherent, configurable pipeline.
This project provides a modular and extensible framework for calculating high-precision **beta decay energy spectra**. It is designed to model the spectral shape of a given nuclear transition by combining well-established physical corrections into a coherent and configurable pipeline.
The primary goal is to enable accurate numerical evaluation of the beta spectrum:
* from near-zero kinetic energies up to the endpoint
* with controlled inclusion of higher-order corrections
* using a clean, composable architecture
The framework focuses purely on **spectrum formation**, independent of any specific experimental or phenomenological application.
**Features:**
* Numerical evaluation from near-zero kinetic energies up to the endpoint
* Selective inclusion of higher-order corrections via `SpectrumConfig` toggles
* Clean, composable component architecture
* Built-in visualization and CSV export via `BetaSpectrumAnalyzer`
* Comprehensive scientific reference in [`docs/`](docs/)
---
@@ -18,56 +15,48 @@ The framework focuses purely on **spectrum formation**, independent of any speci
The beta spectrum is constructed as a product of independent correction factors:
[
N(W) \propto p W (W_0 - W)^2 \times \prod_i C_i(W)
]
$$N(W) \propto p W (W_0 - W)^2 \times \prod_i C_i(W)$$
Each correction is implemented as a standalone component:
* phase space
* Coulomb interaction (Fermi function)
* finite nuclear size
* screening
* exchange
* radiative corrections
* recoil effects
This modular approach allows:
* easy validation of individual corrections
* selective enabling/disabling of physics effects
* flexible extension with new components
Each $C_i(W)$ is an independently implemented and toggleable component.
---
## Project Structure
```
beta_corr_pnpi/
├── beta_spectrum/
│ ├── base.py
│ ├── spectrum.py
│ ├── constants.py
│ ├── utils.py
│ │
│ ├── components/
│ │ ├── phase_space.py
│ │ ├── fermi.py
│ │ ├── finite_size.py
│ │ ├── screening.py
│ │ ├── exchange.py
│ │ ├── radiative.py
│ │ └── recoil.py
│ │
│ ├── data/
│ │ └── exchange_coeff.csv
│ │
│ └── __init__.py
│
├── tests/
│
beta_shape_pnpi/
├── pyproject.toml
├── README.md
├── 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)²
│ ├── 03-finite-size.md # L₀, U, DFS corrections
│ ├── 04-screening-correction.md # Atomic screening S(Z,W)
│ ├── 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
│ ├── 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
│ ├── constants.py # Physical constants (natural units, m_e = 1)
│ ├── utils.py # Helpers: T<->W conversion, momentum, nuclear radius
│ ├── spectrum.py # BetaSpectrum + BetaSpectrumAnalyzer classes
│ └── 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
│ │ └── recoil.py ✗ Not yet implemented
└── data/
└── exchange_coeff.csv # Tabulated coefficients for X(Z,W), Z=2..120
```
---
@@ -76,163 +65,109 @@ beta_corr_pnpi/
### `SpectrumComponent` (base class)
Defined in `base.py`.
All physics corrections inherit from this class and implement:
Defined in `beta_spectrum/base.py`. All physics corrections inherit from this abstract base and implement:
```python
def __call__(self, W: np.ndarray) -> np.ndarray
```
This makes every component:
This makes every component stateless (or minimally stateful), vectorized, and composable.
* stateless (or minimally stateful)
* vectorized
* composable
### `BetaSpectrum`
Defined in `beta_spectrum/spectrum.py`. Orchestrates the calculation:
* Combines components multiplicatively via `__call__(W)`
* Factory method `from_config(config)` for declarative setup
* Generates energy grids with `get_energy_grid(config)`
* Returns individual component values via `calculate_components(W)`
### `BetaSpectrumAnalyzer`
Also in `spectrum.py`. Provides debugging and visualization tools:
* `total_spectrum(normalize=True/False)` — computed spectrum array
* `plot_analysis(save_path=None)` — 4-panel matplotlib figure (spectrum, components, cumulative effect, deviations from unity)
* `export_to_csv(filename)` — export via pandas DataFrame
* `get_data()` — return all numerical data for custom analysis
---
### `Spectrum`
Defined in `spectrum.py`.
Responsible for:
* combining all components
* evaluating the total spectrum
* managing energy grids
Typical usage pattern:
## Quick Start
```python
spectrum = Spectrum(
components=[
PhaseSpace(W0),
FermiFunction(Z),
ScreeningCorrection(Z),
ExchangeCorrection(Z),
RadiativeCorrection(W0),
]
from beta_spectrum import SpectrumConfig, BetaSpectrum, BetaSpectrumAnalyzer
config = SpectrumConfig(
Z_parent=90, # Thorium-232 (example)
Z_daughter=91,
A_number=232,
endpoint_MeV=4.8, # Q-value
)
spectrum = BetaSpectrum.from_config(config)
W, E_MeV = spectrum.get_energy_grid(config)
values = spectrum(W)
analyzer = BetaSpectrumAnalyzer(spectrum, config)
analyzer.plot_analysis() # Show/ save 4-panel figure
analyzer.export_to_csv("output.csv") # Export data to CSV
```
---
## Components
Each correction is implemented as an independent module under:
| Component | Module | Status | Description |
|---|---|---:|---|
| Phase Space | `phase_space.py` | ✓ | Baseline $p W (W_0 - W)^2$, optional neutrino mass support |
| Fermi Function | `fermi.py` | ✓ | Relativistic Coulomb correction via `scipy.special.loggamma` |
| Finite Size L0 | `finite_size.py` | ✓ | Low-Z expansion from Hayen et al. with prefactor |
| Charge Distribution U | `finite_size.py` | ✓ | Second-order $(1/5)(\alpha Z W R)^2$ correction |
| Screening | `screening.py` | ✓ | Ratio method with logistic switching, energy shift $V_0$ |
| 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 |
| Recoil | `recoil.py` | ✗ | Stub only, not yet implemented |
```
beta_spectrum/components/
---
## Configuration
Use `SpectrumConfig` to selectively enable/disable each correction:
```python
config = SpectrumConfig(
Z_parent=20, Z_daughter=21, A_number=40, endpoint_MeV=5.0,
use_fermi=True,
use_screening=False, # disable atomic screening
use_exchange=True,
use_radiative=True,
)
```
---
### Phase Space (`phase_space.py`)
## Dependencies
Implements:
[
p W (W_0 - W)^2
]
Provides the baseline spectral shape.
---
### Fermi Function (`fermi.py`)
Accounts for Coulomb interaction between the emitted electron and nucleus.
---
### Finite Size (`finite_size.py`)
Corrects for non-pointlike nuclear charge distribution.
---
### Screening (`screening.py`)
Includes atomic electron screening effects.
* modifies low-energy behavior
* becomes negligible at high energies
---
### Exchange (`exchange.py`)
Accounts for electron exchange with atomic orbitals.
* dominant at very low energies
* requires empirical coefficients (loaded from CSV)
---
### Radiative (`radiative.py`)
Implements outer radiative corrections:
* based on analytical expressions
* includes optional endpoint resummation
* handles logarithmic divergences near endpoint
---
### Recoil (`recoil.py`)
Includes nuclear recoil corrections.
---
## Data Files
### `exchange_coeff.csv`
Contains tabulated coefficients for exchange correction.
Loaded dynamically based on nuclear charge ( Z ).
**Runtime:** numpy, scipy (for `loggamma`, `spence`), matplotlib (plotting), pandas (CSV export)
**Dev:** pytest, black, ruff, mypy (strict mode configured in `pyproject.toml`)
---
## Design Principles
### 1. Modularity
Each physical effect is isolated in its own component.
---
Each physical effect is isolated in its own component under `beta_spectrum/components/`.
### 2. Numerical Stability
Special care is taken near:
* ( W \to 1 ) (threshold)
* ( W \to W_0 ) (endpoint)
Typical strategies include:
* small epsilon regularization
* safe evaluation of logarithms and powers
* masking invalid regions
---
Care near $W \to 1$ (threshold) and $W \to W_0$ (endpoint):
* `np.clip` / epsilon floors for regularization
* Safe logarithms via `scipy.special.loggamma` and dilogarithm
* Masking invalid regions
### 3. Vectorization
All components operate on NumPy arrays:
* no Python loops in hot paths
* efficient evaluation over dense grids
---
All components operate on NumPy arrays — no Python loops in hot paths.
### 4. Extensibility
New corrections can be added by subclassing:
New corrections are added by subclassing:
```python
class NewCorrection(SpectrumComponent):
@@ -242,47 +177,39 @@ class NewCorrection(SpectrumComponent):
---
## Typical Workflow
## Development Status
1. Define endpoint energy ( W_0 )
2. Construct energy grid
3. Initialize components
4. Combine into spectrum
5. Evaluate and plot
**Version:** 0.1.2
**Status:** Active development — core physics engine is functional; recoil correction and tests remain incomplete.
### Remaining Work
* Implement nuclear recoil correction in `recoil.py` (see [[07-recoil-effects]])
* Add unit / integration tests (pytest configured but no test files)
* Declare pandas as a runtime dependency in `pyproject.toml`
* Satisfy mypy strict type-checking requirements
* CLI entry point and multiple decay branch support
---
## Future Extensions
## Knowledge Base
Planned improvements include:
The [`docs/`](docs/) directory contains the complete scientific reference for beta spectrum shape corrections, organized as an Obsidian vault. It is structured around Hayen et al., *Rev. Mod. Phys.* **90**, 015008 (2017) and maps directly to calculator components:
* support for multiple decay branches
* nuclear shape factor implementations
* improved atomic corrections
* validation against reference spectra
* export utilities and CLI tools
| # | Note | Calculator Module | Status |
|---|------|-------------------|--------|
| 1 | [[01-fermi-function]] | `components/fermi.py` | ✓ implemented |
| 2 | [[03-finite-size]] | `components/finite_size.py` | ✓ implemented |
| 3 | [[04-screening-correction]] | `components/screening.py` | ✓ implemented |
| 4 | [[05-exchange-correction]] | `components/exchange.py` | ✓ implemented |
| 5 | [[06-radiative-corrections]] | `components/radiative.py` | ✓ implemented |
| 6 | [[07-recoil-effects]] | `components/recoil.py` | ✗ not yet implemented |
Notes prefixed with `10-`, `12-`, `13-` cover nuclear structure, atomic overlap, and chemical effects — important for future extensions but outside the current calculator scope.
---
## Notes
* Units are typically expressed in natural units ( m_e = 1 )
* Energies can be converted from MeV externally
* Physical constants are defined in natural units ($m_e = 1$); energies can be converted from MeV via utilities in `utils.py`
* The framework assumes familiarity with beta decay theory
---
## License / Usage
(To be defined)
---
## Author Notes
This project is under active development and serves both as:
* a computational tool
* a structured reference for beta spectrum calculations
Updates may refine both physics implementations and code structure.
+1
View File
@@ -0,0 +1 @@
{}
+1
View File
@@ -0,0 +1 @@
{}
+33
View File
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"footnotes": false,
"properties": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": true,
"bases": true,
"webviewer": false
}
+22
View File
@@ -0,0 +1,22 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1,
"close": false
}
+194
View File
@@ -0,0 +1,194 @@
{
"main": {
"id": "8186d2d1b6629929",
"type": "split",
"children": [
{
"id": "c0d6cc7d3e80497c",
"type": "tabs",
"children": [
{
"id": "3f527faa2742fc49",
"type": "leaf",
"state": {
"type": "empty",
"state": {},
"icon": "lucide-file",
"title": "New tab"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "5cbcdc931724cd3b",
"type": "split",
"children": [
{
"id": "191d3733ff82a06f",
"type": "tabs",
"children": [
{
"id": "b100491e6f438b38",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "e35c9e928b507ead",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "eb44814158912dc5",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "f3d450ac8b1c6044",
"type": "split",
"children": [
{
"id": "3f31d9898bf347bb",
"type": "tabs",
"children": [
{
"id": "48d61cc1b3bccd6e",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks"
}
},
{
"id": "810c9c58bd20df26",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links"
}
},
{
"id": "c9a422dabad76ca1",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "e1198390173c2a47",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "All properties"
}
},
{
"id": "c00ca7512c8e92fb",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline"
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"bases:Create new base": false
}
},
"active": "3f527faa2742fc49",
"lastOpenFiles": [
"00-beta-spectrum-overview.md",
"refs-hayen2017.md",
"refs/hayen2017.md",
"README.md",
"refs",
"07-recoil-effects.md",
"12-atomic-overlap.md",
"13-chemical-effects.md",
"01-fermi-function.md",
"02-phase-space.md",
"04-screening-correction.md",
"03-finite-size.md"
]
}
+93
View File
@@ -0,0 +1,93 @@
---
title: "00 – Beta Spectrum Overview"
date: 2026-04-26
tags:
- beta-spectrum/overview
status: active
aliases:
- Master Equation
cssclasses: []
---
# Beta Decay Spectrum — Full Expression
## The Master Equation
The fully differential allowed β spectrum shape, including all corrections needed for $10^{-4}$ precision (Hayen et al., Eq. 4):
$$N(W)\,dW = \frac{G_V^2 V_{ud}^2}{2\pi^3} \; K(Z,W,W_0,M) \; A(Z,W) \; C'(Z,W) \; p W (W_0 - W)^2 dW$$
or expanded:
$$N(W)\,dW = \frac{G_V^2 V_{ud}^2}{2\pi^3} F_0 L_0 U DFS R R_N Q S X r C D_C \; p W (W_0 - W)^2 dW \tag{4}$$
## Correction Factors
| Symbol | Name | Module / Note | Status |
|---|---|---|---|
| $F_0(Z,W)$ | Point charge Fermi function | [[01-fermi-function]] | ✓ |
| $L_0(Z,W)$ | Electrostatic finite size (uniform sphere) | [[03-finite-size]] | ✓ |
| $U(Z,W)$ | Charge distribution correction | [[03-finite-size]] | ✓ |
| $DFS(Z,W,\beta^2)$ | Nuclear deformation correction | [[03-finite-size]] | ✓ |
| $R(W,W_0) = 1 + \delta_R$ | Outer radiative corrections | [[06-radiative-corrections]] | ✓ |
| $R_N(W,W_0,M)$ | Recoil kinematic correction | [[07-recoil-effects]] | ✗ |
| $Q(Z,W,M)$ | Recoil electromagnetic correction | [[07-recoil-effects]] | — |
| $S(Z,W)$ | Atomic electron screening | [[04-screening-correction]] | ✓ |
| $X(Z,W)$ | Atomic exchange effect | [[05-exchange-correction]] | ✓ |
| $r(Z,W)$ | Atomic mismatch / overlap | [[12-atomic-overlap]] | — |
| $A(Z,W) = S \cdot X \cdot r$ | Combined atomic factors | [[12-atomic-overlap]] | — |
| $C(Z,W)$ | Nuclear structure shape factor | [[10-nuclear-structure]] | — |
| $D_C(Z,W,\beta^2)$ | Nuclear deformation (convolution) | [[10-nuclear-structure]] | — |
## Baseline: Phase Space
The uncorrected spectral shape is pure phase space ([[02-phase-space]]):
$$\frac{dN}{dW}\bigg|_{\text{PS}} = p W (W_0 - W)^2$$
with $p = \sqrt{W^2-1}$, $W$ total energy in units of $m_e$, and $W_0$ the endpoint.
## Precision Goal
The paper achieves **accurate to a few parts in $10^{-4}$ down to 1 keV** for low-to-medium $Z$ nuclei — extending previous work by nearly an order of magnitude [[Hayen2017_summary]].
> [!key] Why this matters
> A precision of ~0.5% is required when determining the Fierz term $b_{\text{Fierz}}$ to improve limits on BSM scalar/tensor couplings. Weak magnetism $b_{wm}$ must be included as experimental precision increases, otherwise it limits BSM sensitivity.
## Three Formalisms Compared
| Approach | Style | Strengths |
|---|---|---|
| **Behrens-Bühring** (BB) | Rigorous, numerical Dirac solutions | Most precise results |
| **Holstein** (HS) | Analytical, manifestly covariant | Clean symmetry properties |
| **Wilkinson** | Analytical parametrizations | Practical fits for dominant effects |
The Hayen paper combines BB's accuracy with HS's transparency.
## Conventions
- Natural units: $c = \hbar = m_e = 1$ throughout
- $Z$ is always positive; $\beta^-$ and $\beta^+$ distinguished via upper/lower signs ($\mp$)
- $W = E/m_ec^2 + 1$, $p = \sqrt{W^2 - 1}$
- $G_V$: vector coupling strength; $V_{ud} = \cos^2\theta_C$
> [!note] Two types of "finite size"
> The authors distinguish two corrections conflated under this term:
> 1. **Electrostatic** ($L_0, U, DFS$): Potential difference from point charge → realistic nuclear shape
> 2. **Convolution**: Integration of leptonic wave functions over the nuclear volume (appears in $C(Z,W)$)
## Energy Conversion
$$W = 1 + \frac{T}{m_ec^2}, \quad m_ec^2 = 510.998950\text{ keV}$$
In code: see `beta_spectrum/utils.py` → `T_to_W()`, `W_to_T()` functions.
## Calculator Implementation
Each correction factor $C_i(W)$ is a callable class inheriting from `SpectrumComponent`. The total spectrum is the product of all enabled components:
```
N(W) = PhaseSpace(W0) × FermiFunction(Z) × FiniteSizeL0(Z,A) × ...
```
Configuration toggles are defined in `SpectrumConfig` (spectrum.py). See [[README]] for architecture details.
+74
View File
@@ -0,0 +1,74 @@
---
title: "01 – Fermi Function"
date: 2026-04-26
tags:
- beta-spectrum/correction/fermi
status: active
aliases: [Coulomb Correction, F_0]
cssclasses: []
related_components: [[03-finite-size]], [[06-radiative-corrections]]
---
# Fermi Function — Coulomb Interaction $F_0(Z,W)$
## The Point Charge Fermi Function
The transition matrix element with all-order Coulomb interactions resummed (Hayen et al., Eq. 5):
$$\mathcal{M}_{fi} = -2\pi i \delta(E_f - E_i) \langle f | T e^{-i\int_0^\infty dt H_Z(t)} H_\beta(0) T e^{-i\int_{-\infty}^0 dt H_{Z'}(t)} | i \rangle$$
Keeping only the final-state Coulomb interaction (daughter nucleus charge $Z$):
$$F_0(Z,W) = 4(2pR)^{2(\gamma-1)} e^{\pi y} \frac{|\Gamma(\gamma + iy)|^2}{(\Gamma(1+2\gamma))^2} \tag{6}$$
with:
$$\gamma = \sqrt{1 - (\alpha Z)^2}, \quad y = \pm \alpha Z W / p$$
Here $R$ is the cutoff radius representing daughter nucleus radius — necessitated by divergence at origin for point charge. Most of its dependence is absorbed into corrections ([[03-finite-size]]).
## Coulomb Amplitudes
Expanding radial Dirac wave functions near the origin (Eq. 12):
$$\left\{\frac{f_\kappa(r)}{g_\kappa(r)}\right\} = \alpha_\kappa \{(2|\kappa|-1)!!\}^{-1}(pr)^{|\kappa|-1} \sum_{n=0}^\infty \frac{a_{\kappa n}}{b_{\kappa n}} r^n$$
The Coulomb information is encoded in **Coulomb amplitudes** $\alpha_\kappa$. The dominant electron component at the origin:
$$F_0 L_0 = \frac{\alpha_{-1} + \alpha_1^2}{2p^2} \tag{13}$$
This is valid regardless of nuclear charge distribution shape.
## Alternative Definitions
| Convention | Prefactor for $L_0$ | Style |
|---|---|---|
| **Wilkinson / Blatt & Weisskopf** | $(1+\gamma)/2$ | Absorbs into $L_0$ |
| **Behrens-Bühring / Schopper** (used in calculator) | 4 | All corrections separate |
The error from neglecting the $(1+\gamma)/2$ prefactor is ~0.5% for $Z=20$.
## Numerical Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/fermi.py` → `FermiFunction(Z, A)` class
>
> Uses `scipy.special.loggamma` for numerical stability (avoids overflow of $\Gamma$ function). The implementation follows Eq. (6) with log-space evaluation:
> ```python
> log_F0 = ln(4) + 2*(γ-1)*ln(2*p*R) + π*y
> + 2*Re[loggamma(γ+iy)] - 2*loggamma(1+2γ)
> F0 = exp(log_F0)
> ```
## Energy Dependence
$F_0$ is a strong function of $Z$:
- **β⁻ decay** ($y < 0$): wave functions attracted to nucleus → enhancement at low energy
- **β⁺ decay** ($y > 0$): repulsion → suppression at low energy, grows with energy
The effect ranges from ~1% for light nuclei to tens of percent for heavy ones.
## Related Corrections
After the point charge Fermi function is computed:
- [[03-finite-size]] corrects for non-pointlike nuclear charge ($L_0$, $U$, $DFS$)
- [[06-radiative-corrections]] adds QED radiative effects ($R = 1 + \delta_R$)
+68
View File
@@ -0,0 +1,68 @@
---
title: "02 – Phase Space"
date: 2026-04-26
tags:
- beta-spectrum/correction/phase-space
status: active
aliases: [Phase Space, Baseline Spectrum]
cssclasses: []
related_components: [[01-fermi-function]], [[07-recoil-effects]]
---
# Phase Space — Baseline Spectral Shape $p W (W_0 - W)^2$
## The Unmodified Spectrum
The baseline β spectrum shape without any corrections is pure phase space:
$$\frac{dN}{dW}\bigg|_{\text{PS}} = p W (W_0 - W)^2 \tag{4, first factor}$$
where:
- $p = \sqrt{W^2 - 1}$ — electron momentum ($m_e c$ units)
- $W$ — total electron energy ($m_e c^2$ units)
- $W_0$ — endpoint (Q-value + $m_ec^2$)
## Neutrino Mass Effects
If the neutrino has non-zero mass $m_\nu$, the spectrum is modified near the endpoint:
$$p \to p_e = \sqrt{W^2 - 1}, \quad p_\nu = \sqrt{(W_0 - W)^2 - m_\nu^2}$$
The phase space factor becomes:
$$(W_0 - W)\sqrt{(W_0 - W)^2 - m_\nu^2}$$
This produces a characteristic distortion near $W = W_0 - m_\nu$, used in neutrino mass experiments (e.g., KATRIN with tritium β decay).
## Kurie Plot
The phase space subtracted spectrum gives the **Kurie function**:
$$K(W) = \sqrt{\frac{N(W)}{p W F(Z,W)}} \approx W_0 - W \quad (\text{linear for allowed transitions})$$
Deviations from linearity near the endpoint indicate:
- Non-zero neutrino mass
- Weak magnetism / recoil effects ([[07-recoil-effects]])
- New physics (Fierz term [[Hayen2017_summary#The Fierz Interference Term]])
## Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/phase_space.py` → `PhaseSpace(W0)` class
>
> Simple evaluation of $p \times W \times (W_0 - W)^2$ with masking near endpoint for numerical safety. Optionally includes neutrino mass support.
## Energy Range
The phase space factor:
- Vanishes at $W = 1$ ($T = 0$, the threshold) — goes as $(W-1)^{1/2}$ via momentum
- Vanishes at $W = W_0$ (the endpoint) — quadratic behavior from neutrino energy
- Peaks roughly at $W \approx W_0 / 3$ to $W_0 / 2$ depending on $Z$
## Code API
```python
from beta_spectrum import PhaseSpace, T_to_W
ps = PhaseSpace(W0=T_to_W(5.0)) # endpoint = 5 MeV
values = ps(W_grid) # returns p·W·(W₀-W)²
```
+139
View File
@@ -0,0 +1,139 @@
---
title: "03 – Finite Size Effects"
date: 2026-04-26
tags:
- beta-spectrum/correction/finite-size
status: active
aliases: [Finite Nuclear Size, L_0, U, DFS]
cssclasses: []
related_components: [[01-fermi-function]], [[10-nuclear-structure]]
---
# Finite Nuclear Size Effects — $L_0$, $U(Z,W)$, and $DFS$
## Overview
The Fermi function ([[01-fermi-function]]) assumes a point charge nucleus. Real nuclei have finite extent and possibly deformation — these corrections account for the difference in electric potential inside the nuclear volume.
> [!note] Two types of "finite size"
> 1. **Electrostatic** ($L_0$, $U$, $DFS$): Potential difference when moving from point charge to realistic nuclear shape — applied *after* evaluating wave function at origin
> 2. **Convolution**: Integration of leptonic wave functions over the nuclear volume — appears in shape factor $C(Z,W)$ ([[10-nuclear-structure]])
## Nuclear Radius
$$R = \sqrt{5/3} \, \langle r^2 \rangle^{1/2} \tag{14}$$
where $\langle r^2 \rangle^{1/2}$ is the root-mean-square charge radius from electron scattering experiments.
---
## $L_0(Z,W)$ — Uniformly Charged Sphere
### Low-Z Expansion (Behrens & Bühring)
$$L_0 \simeq 1 \mp \alpha Z W R + (\alpha Z)^2 - \frac{13}{60} - \frac{\alpha Z R}{2W} \tag{15}$$
### Wilkinson's Analytical Parametrization (Eq. 16)
Accurate to $10^{-4}$ for $p \leq 45$, $|Z| \leq 60$:
$$L_0(Z,W) = 1 + \frac{13}{60}(\alpha Z)^2 \mp \frac{\alpha Z W R(41 - 26\gamma)}{[15(2\gamma-1)]} $$
$$\mp \frac{\alpha Z R \gamma(17 - 2\gamma)}{[30W(2\gamma-1)]} + \frac{R}{W}\sum_{n=0}^5 a_n (WR)^n + 0.41(R-0.0164)(\alpha Z)^{4.5}$$
with $a_n = \sum_{x=1}^6 b_{x,n} (\alpha Z)^x$ (Eq. 17). Coefficients in **Tables I** (electrons) and **II** (positrons); signs of odd powers flipped for positrons.
> [!warning] Magnitude
> The effect ranges from a few 0.1% up to several percent — everywhere highly significant. Cannot be neglected for precision work at $10^{-4}$ level.
### Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/finite_size.py` → `FiniteSizeL0(Z, A)` class
>
> Uses Wilkinson parametrization (Eq. 16) with coefficients from Hayen Tables I-II. The nuclear radius is computed via `utils.nuclear_radius(A)`.
---
## $U(Z,W)$ — More Realistic Charge Distributions
The uniform sphere approximation is insufficient for high precision. Two common models:
### Modified Gaussian (MG)
$$\rho_{MG}(r) = N_0\left[1 + A\left(\frac{r}{a}\right)^2\right]e^{-(r/a)^2} \tag{18}$$
with $N_0$ and $a$ determined by normalization and RMS radius (Eqs. 19–20).
### Fermi Distribution
$$\rho_F(r) \propto [1 + \exp((r-c)/a)]^{-1}, \quad a \simeq 0.55\text{ fm}$$
The correction is defined as ratio:
$$\frac{U(Z,W)}{L_0} = \frac{\alpha_{02}' + \alpha_{-1}'^2}{\alpha_{1}^2 + \alpha_{-1}^2} \tag{23}$$
### Analytical Approximation for Low Z (Eq. 25)
$$U(Z,W) \approx 1 + \alpha Z W R \Delta_1 + \frac{\gamma}{W}\alpha Z R \Delta_2 + (\alpha Z)^2 \Delta_3 - (WR)^2 \Delta_4$$
### Wilkinson's Fermi Distribution Fit (Eqs. 29–30)
$$U(Z,W) = 1 + \sum_{n=0}^\infty a_n p^n$$
with $a_0, a_1, a_2$ given as quadratic polynomials in $Z$.
> [!tip] Magnitude
> The effect of $U(Z,W)$ is ~0.1% for medium-high masses — cannot be neglected at the $10^{-4}$ precision level.
### Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/finite_size.py` → `ChargeDistributionU(Z, A)` class
>
> Implements Eq. (25) with $\Delta_i$ coefficients computed from nuclear model parameters.
---
## $DFS(Z,W,\beta^2)$ — Nuclear Deformation
For axially symmetric deformations:
$$R(\theta,\phi) = R_0\left[1 + \beta_2 Y_{20}(\theta,\phi)\right] \tag{32}$$
with $\beta_2 > 0$ prolate, $\beta_2 < 0$ oblate. The intrinsic quadrupole moment:
$$Q_0 = \frac{\alpha}{\pi}\sqrt{\frac{5}{3}} R Z \beta_2(1 + 0.16\beta_2) \tag{33}$$
The correction is a ratio of angle-averaged potentials (Eq. 40):
$$DFS(Z,W,\beta) = \frac{L_0^*(Z,W)}{L_0(Z,W)} \tag{40}$$
where $L_0^*$ integrates over a continuous superposition of uniformly charged spheres (Eq. 39).
> [!tip] Magnitude
> Effect can reach several parts in $10^3$. Partially canceled by nuclear structure deformation correction $D_C$ ([[10-nuclear-structure]]). Figure 1 of Hayen shows energy dependence reversal between β⁻ and β⁺ for $\beta_2 = 0.2$.
### Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/finite_size.py` → includes DFS in the finite size module (combined with L₀)
>
> The deformation parameter $\beta_2$ is typically provided by nuclear data tables or shell model calculations.
---
## Summary of Corrections Flow
```
Fermi function F₀(Z,W) [point charge]
↓
× L₀(Z,W) [uniform sphere correction]
↓
× U(Z,W) [realistic charge distribution]
↓
× DFS(Z,W,β²) [nuclear deformation]
```
## References in Hayen Paper
- Section IV.A.1 (Eq. 15–17): $L_0$ uniform sphere
- Section IV.A.2 (Eq. 18–30): $U$ charge distributions
- Section IV.A.3 (Eq. 32–40): $DFS$ deformation
+93
View File
@@ -0,0 +1,93 @@
---
title: "04 – Screening Correction"
date: 2026-04-26
tags:
- beta-spectrum/correction/screening
status: active
aliases: [Atomic Screening, S(Z,W)]
cssclasses: []
related_components: [[12-atomic-overlap]], [[13-chemical-effects]]
---
# Atomic Electron Screening Correction $S(Z,W)$
## Physical Origin
The Fermi function ([[01-fermi-function]]) assumes the β particle moves in the Coulomb field of a bare nucleus. In reality, atomic electrons partially screen this charge at large distances from the nucleus, modifying the effective potential experienced by the emitted electron/positron. This is particularly important at low kinetic energies where the β particle spends more time far from the nucleus.
## The Screening Correction
Screening is implemented as a ratio method:
$$S(Z,W) = \frac{F_{\text{screened}}(Z, W)}{F_0(Z, W - V_0/m_ec^2)} \tag{144}$$
where $V_0$ is the screening potential (binding energy of the outermost atomic electrons). The denominator evaluates the Fermi function at a shifted energy representing the unscreened case.
### Screening Potential
The screening potential $V_0$ depends on:
- Atomic number $Z$ (parent atom)
- Chemical/physical state (neutral atom, ionized molecule)
- Electronic configuration
For neutral atoms, $V_0$ is typically a few eV to tens of eV — small compared to nuclear potentials but significant at β energies below ~10 keV.
### Molecular Screening Correction
In molecular environments, the screening potential changes:
$$\Delta S_{\text{Mol}} \quad (\text{Eq. 176})$$
Since screening is typically at sub-percent level maximum, molecular deviations are expected at the **few $10^{-4}$** level — relevant for precision work down to 1 keV.
## Energy Dependence
- **Dominant at low energies** (T < ~50 keV): where the β particle's wave function is most affected by atomic electron cloud
- **Negligible at high energies**: $S(Z,W) \to 1$ as $W \gg V_0$
- The effect reverses sign between β⁻ and β⁺ (electrons attracted to/repelled from electron cloud differently)
## Shake-Up Effects on Screening
Atomic excitations during β decay modify screening:
> [!warning] Tritium case
> In tritium β⁻ decay, the screening potential can change by as much as **20%** because only a single electron contributes to atomic Coulomb interaction. For heavier systems, relative changes decrease but scale with $Z$. Neglecting shake-up introduces errors of order $\sim 1 \times 10^{-4}$.
Shake-off (continuum ejection) has smaller effect:
- With $\Delta Z_{\text{eff}} \approx 0.3$–$0.4$, yields ~**0.1%** relative change in screening potential → few $10^{-5}$ level in spectral shape
- **Negligible at target precision** for most nuclei
## Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/screening.py` → `ScreeningCorrection(FermiFunction)` class
>
> Uses ratio method with smooth logistic switching function. The screening potential $V_0$ is passed as a parameter and depends on the parent atom's atomic number.
### API Usage
```python
from beta_spectrum import ScreeningCorrection, FermiFunction
screen = ScreeningCorrection(
FermiFunction(Z_parent=90), # bare nucleus reference
V0=0.015 # screening potential in m_e units (~7.6 keV)
)
values = screen(W_grid)
```
## Size Comparison with Other Corrections
From Hayen et al. Table (Section VIII overview):
| Correction | Magnitude | Energy Range Most Relevant |
|---|---|---|
| Screening $S$ | $10^{-3}$ – $10^{-4}$ | T < 50 keV |
| Exchange $X$ | up to ~20% at lowest E | T < 10 keV |
| Molecular screening $\Delta S_{\text{Mol}}$ | few $10^{-4}$ | T < 5 keV (molecular) |
## Related Notes
- [[12-atomic-overlap]] — Atomic mismatch / overlap correction $r(Z,W)$, Bahcall correction
- [[13-chemical-effects]] — Molecular environment influence on screening and exchange
- [[05-exchange-correction]] — Electron exchange with atomic orbitals (often combined with screening)
+88
View File
@@ -0,0 +1,88 @@
---
title: "05 – Exchange Correction"
date: 2026-04-26
tags:
- beta-spectrum/correction/exchange
status: active
aliases: [Atomic Exchange, X(Z,W), Hayen-2018]
cssclasses: []
related_components: [[04-screening-correction]], [[12-atomic-overlap]]
---
# Atomic Electron Exchange Correction $X(Z,W)$
## Physical Origin
When a β electron is emitted from the nucleus, it can exchange with bound atomic electrons due to indistinguishability (Pauli exclusion principle). This **electron exchange** effect modifies the β spectrum at low energies where the continuum electron's wave function overlaps significantly with atomic orbitals.
> [!key] Magnitude
> The exchange contribution can exceed **20% in low-energy regions for higher Z** nuclei — it is one of the largest atomic corrections and absolutely critical for precision work below ~10 keV.
## Theory: Full Potential Approach
Exchange requires radial wave functions of both continuum and bound states integrated over **all space** (not just near origin). This is computationally demanding for analytical description because:
- Exchange needs integration over entire spatial domain
- Hydrogenic approach with simple screening is insufficient for high precision
- Must use realistic atomic potentials (Dirac-Hartree-Fock-Slater)
### Three Potential Models Compared (Hayen Fig. 9)
| Model | Description | Accuracy |
|---|---|---|
| **Unoptimized** | Basic Hartree-Fock-Slater, no exchange optimization | Lower bound |
| **Salvat** | Parametrized atomic potential | Intermediate |
| **Optimized** | Full potential with exchange optimization included | Target ($10^{-4}$) |
Screening strength is adjusted for best agreement with bound state energies (decreasing importance for higher $n$).
## Analytical Parametrisation — Hayen et al. 2018
The exchange correction $X(W)$ as a function of kinetic energy uses empirical fit coefficients from Table X of [[refs/hayen-2018]]. Coefficients are tabulated for all atoms with $Z = 2$ through $z = 120$.
### Shell Structure Effects
> [!tip] Figure 9 observation
> Clear shell closure effects observed in orbital exchange contributions: at noble gas Z values, the exchange correction shows characteristic kinks. These must be captured by interpolation between tabulated Z values.
## Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/exchange.py` → `ExchangeCorrection(Z)` class
>
> Loads empirical fit coefficients from `data/exchange_coeff.csv` (119 rows, $Z = 2$–$120$). Uses interpolation between tabulated values.
### Data File
```
beta_spectrum/data/exchange_coeff.csv
├── Row count: 119 (Z=2 to Z=120)
├── Columns: Z, fit coefficients a₀...aₙ for energy parametrisation
└── Source: Hayen et al., Phys. Rev. D 97, 013006 (2018), Table X
```
### API Usage
```python
from beta_spectrum import ExchangeCorrection
exch = ExchangeCorrection(Z=90) # Z of parent atom
values = exch(W_grid) # returns correction factor at each W
```
## Energy Dependence
- **Dominant at very low energies** (T < ~10 keV): where continuum electron overlaps with atomic orbitals
- Decreases rapidly above ~50 keV (continuum wave function too short-ranged for significant overlap)
- For medium/high Z nuclei, shake-off probability in $s_{1/2}$ or $p_{1/2}$ state is < 0.1% — negligible
## Shake-Up Influence on Exchange
In low-Z nuclei (e.g., tritium):
- Shake-up probabilities can be significant (~25%)
- Exchange with higher-lying ns orbitals must be included even if unoccupied in initial state
For most practical cases, inclusion of shake-up changes the exchange correction at the few $10^{-4}$ level down to 0.5 keV for tritium only — otherwise negligible.
## Code Status: ✓ Implemented
The `ExchangeCorrection` class is fully implemented and tested. The CSV data file covers the full range from light (He, Z=2) to transuranic (U, Z=92+) elements.
+129
View File
@@ -0,0 +1,129 @@
---
title: "06 – Radiative Corrections"
date: 2026-04-26
tags:
- beta-spectrum/correction/radiative
status: active
aliases: [Outer Radiative, δ_R, Sirlin Function]
cssclasses: []
related_components: [[10-nuclear-structure]], [[07-recoil-effects]]
---
# Outer Radiative Corrections — $R(W,W_0) = 1 + \delta_R(W,W_0)$
## Overview: Inner vs. Outer Corrections
The radiatively corrected spectrum (Hayen et al., Eq. 46):
$$\frac{d\Gamma}{dW} = \frac{d\Gamma_0}{dW}(1 + \Delta_R^{V/A})(1 + \delta_R(W,W_0))$$
| Type | Symbol | Dependence | Treatment |
|---|---|---|---|
| **Inner** | $\Delta_R$ | Nuclear-independent, absorbed into effective coupling constants | $\Delta_V^R = (2.361 \pm 0.038)\%$ (Marciano & Sirlin 2006) — NOT part of spectrum shape calculation |
| **Outer** | $\delta_R(W,W_0)$ | Energy-dependent, nucleus-dependent | This is the correction implemented in code ([[06-radiative-corrections]]) |
## Total Spectral Influence (Eq. 47–48)
$$R(W,W_0) = 1 + \frac{\alpha}{2\pi}\left[g(W_0,W) - 3\ln\left(\frac{m_p}{2W_0}\right)\right] + Z\alpha^2\sum_i \Delta_i(W) + Z^2\alpha^3 \delta_{3h} + ... \tag{48}$$
### Order α — Sirlin's $g(W_0, W)$ Function (Eq. 50–52)
The universal correction (same for electrons and positrons, Fermi and GT):
$$g(W_0,W) = 3\ln(m_p) - \frac{3}{4} + \frac{4\beta}{1+\beta}\left[4\tanh^{-1}\beta - 1\right] $$
$$+ \frac{W_0-W}{\beta}\left(-\frac{3}{3W} + \ln[2(W_0-W)]\right) $$
$$- \frac{(W_0-W)^2}{6W^2} + 4\frac{\tanh^{-1}\beta}{\beta}(1+\beta^2) - 4\tanh^{-1}\beta$$
where $\beta = p/W$.
The Spence function (dilogarithm):
$$L_s(x) = \int_0^x \frac{\ln(1-t)}{t} dt = -Li_2(x) = -\sum_{k=1}^\infty \frac{x^k}{k^2} \tag{51}$$
Large $W_0$ limit:
$$g(W_0 \to \infty, W) = 3\ln\left(\frac{M_N}{2W_0}\right) + \frac{81}{10} - \frac{4\pi^2}{3} \tag{52}$$
> [!warning] Endpoint divergence
> $g(W_0, W)$ has a **logarithmic divergence at $W = W_0$** related to soft real photon emission. This must be handled via resummation.
### Soft Photon Resummation (Eq. 53–54)
To handle the endpoint divergence:
$$t(\beta)\ln(W_0 - W) \to (W_0-W)^{t(\beta)} - 1 \tag{53}$$
where:
$$t(\beta) = \frac{2\alpha}{\pi}\left[\frac{\tanh^{-1}\beta}{\beta} - 1\right] \tag{54}$$
For tritium the effect is negligible (low endpoint). For higher energies, the $ft$ value shift can reach several parts in $10^4$.
### Order Zα² Correction (Eq. 55–62)
Three dominant Feynman diagrams: vacuum polarization of bremsstrahlung photon and two electron propagator renormalizations. The axial vector component contributes specifically to $\Delta_3$:
$$\delta_2(Z,W) = Z\alpha^2 \sum_{i=1}^4 \Delta_i(W) \tag{55}$$
The leading term $\Delta_1$ depends on nuclear form factor $F(q^2)$ and is split into:
- **Nucleus-independent** part $\Delta_1^0$: energy-dependent terms combined with $\Delta_4$
- **Nuclear-dependent** part $\Delta_1^F$: explicit integral forms for uniformly charged sphere
For modified Gaussian model, differences between models for superallowed Fermi transitions ($^{10}$O to $^{54}$Co) are < $10^{-4}$.
### Order Z²α³ — Sirlin's Heuristic Formula (Eq. 63–67)
$$\delta_{3h} = Z^2\alpha^3 \left[a\ln\left(\frac{\Lambda}{W}\right) + bf(W) + \frac{4\pi}{3}g(W) - 0.649\ln(2W_0)\right]$$
with $a = \frac{\pi}{3} - \frac{\sqrt{3}}{2}$, $b = \frac{4}{3\pi^4}(\pi^2 - \gamma_E) - \frac{\pi^2}{18}$.
### Higher Order (Eq. 68–69)
$$\delta_{Z^n\alpha^{n+1}} \approx Z^n\alpha^{n+1} K_{nm} \ln^{m-n}\left(\frac{\Lambda}{W}\right), \quad K_{nm} \approx 0.5 \tag{68}$$
$$\sum_{n=3}^\infty Z^n\alpha^{n+1} = \frac{Z^3\alpha^4}{1-Z\alpha} \tag{69}$$
Relevant for higher $Z$ nuclei only.
## Neutrino Radiative Corrections (Eq. 70–71)
Even though neutrinos have no direct electromagnetic interaction, they receive indirect corrections via virtual photon exchange and energy conservation from inner bremsstrahlung:
$$R_\nu = 1 + \frac{\alpha}{2\pi}\left[3\ln\left(\frac{m_p}{m_e}\right) + \frac{23}{4} - Li_2\left(-\frac{8}{\hat{\beta}}\right) + ...\right]$$
where $\hat{W} = W_0 - W_\nu$. Much smaller than electron spectrum correction — relevant for reactor neutrino oscillation studies.
## Internal Bremsstrahlung (Eq. 72–74)
An additional photon in the final state: $n \to p + e^- + \bar{\nu}_e + \gamma$
Photon ejection probability per unit energy:
$$\Phi(W,\omega) = \frac{\alpha p}{\pi\omega p'}\left[\frac{W+W'^2}{p^2}\ln\left(\frac{W+p}{W'-p}\right) - 2\right] \tag{73}$$
Experimental branching ratios: $BR_{\beta\gamma} \sim 3\times 10^{-3}$ (neutron), $\sim 2\times 10^{-3}$ ($^{32}$P).
## Calculator Implementation
> [!tip] Code mapping
> Module: `beta_spectrum/components/radiative.py` → `RadiativeCorrection(W0, use_endpoint_resummation=True)` class
>
> Implements outer radiative corrections per Hayen Eqs. (47)–(53):
> - Sirlin's $g(W_0,W)$ with `scipy.special.spence` for dilogarithm
> - Soft-photon resummation at endpoint via Eq. (53)
> - Order Zα² terms Δ₁ through Δ₄
> - Optional endpoint resummation flag
### API Usage
```python
from beta_spectrum import RadiativeCorrection
rad = RadiativeCorrection(
W0=1.02, # endpoint in m_e units
use_endpoint_resummation=True # handles endpoint divergence
)
values = rad(W_grid)
```
## Magnitude Summary
| Term | Typical Size | Notes |
|---|---|---|
| $\alpha/2\pi \cdot g$ | ~1–3% | Universal, dominant contribution |
| $Z\alpha^2 \Delta_i$ | ~0.01–0.1% | Nuclear-form-factor dependent |
| $Z^2\alpha^3 \delta_{3h}$ | < 0.01% | Only for heavy nuclei |
+101
View File
@@ -0,0 +1,101 @@
---
title: "07 – Recoil Effects"
date: 2026-04-26
tags:
- beta-spectrum/correction/recoil
status: todo
aliases: [Nuclear Recoil, R_N, Weak Magnetism]
cssclasses: []
related_components: [[02-phase-space]], [[10-nuclear-structure]]
---
# Nuclear Recoil Effects — $R_N$, $Q$, and Induced Currents
## Status in Calculator
> [!todo] Not yet implemented
> Module: `beta_spectrum/components/recoil.py` exists but is **empty** (stub only). This correction needs to be added.
## Why Recoil Matters
The finite nuclear mass turns beta decay from a two-body into a three-body process, introducing recoil corrections that become significant at the $10^{-4}$ precision level. Additionally:
- **Weak magnetism** $b_{wm}$ must be included as experimental precision increases — otherwise it limits BSM sensitivity
- The oft-neglected **induced pseudoscalar interaction** may be significant
## Kinematic Recoil Correction $R_N(W,W_0,M)$ (Eq. 41–43)
$$R_N = 1 + \frac{r_0}{W} + \frac{r_1}{W^2} + r_2 W + \frac{r_3}{W^2} \tag{41}$$
### For Fermi (vector) transitions:
$$r_0^V = W_0^2/(2M^2) - 11/(6M^2), \quad r_1^V = W_0/(3M)$$
$$r_2^V = 2/M - 4W_0^2/(3M), \quad r_3^V = 16/(3M^2)$$
### For Gamow-Teller (axial) transitions:
$$r_0^A = -2W_0/(3M) - W_0^2/(6M^2) - 77/(18M^2), \quad r_1^A = -2/(3M) + 7W_0/(9M^2)$$
$$r_2^A = 10/(3M) - 28W_0/(9M^2), \quad r_3^A = 88/(9M^2)$$
### Mixed transitions:
Terms are weighted by $1/(1+\rho^2)$ and $1/(1+\rho^{-2})$ where $\rho = \mathcal{M}_{GT}/\mathcal{M}_F$.
> [!tip] Magnitude
> Order $10^{-5}$ to $10^{-3}$. See Wilkinson (1990) Fig. 1 for magnitude plot.
## Electromagnetic Recoil Correction $Q(Z,W,M)$ (Eq. 45)
The recoiling nucleus's Coulomb field differs from a static one:
$$Q \simeq 1 \mp \frac{\pi\alpha Z}{M}\left(1 + a\right)\frac{W_0 - W}{3W} \tag{45}$$
where $a = (1-\rho^2/3)/(1+\rho^2)$ is the β-ν correlation coefficient ($a=1$ for Fermi, $a=-1/3$ for GT).
> [!note] Typically negligible
> The effect amounts to at most a few percent of the typical error in phase space factor $f$ due to Q-value uncertainty — usually not limiting.
## Weak Magnetism and Induced Currents (Section VI)
The weak vertex receives QCD-induced form factors beyond pure V-A:
### Behrens-Bühring Form (Eq. 82):
$$J_\mu^{BB} = i\langle \bar{u}_p | C_V\gamma_\mu - f_M\sigma_{\mu\nu}q^\nu + if_S q_\mu $$
$$- \frac{C_A}{C_V}\left(\gamma_\mu\gamma^5 - f_T\sigma_{\mu\nu}\gamma^5 q^\nu\right) + i\frac{f_P}{C_V}\gamma^5 q_\mu | u_n \rangle$$
### Holstein Form (Eq. 83):
$$J_\mu^{HS} = i\langle \bar{u}_p | g_V\gamma_\mu - \frac{g_M-g_V}{2M}\sigma_{\mu\nu}q^\nu + i\frac{g_S}{2M}q_\mu $$
$$+ g_A\gamma^5\gamma_\mu - \frac{g_{II}}{2M}\sigma_{\mu\nu}\gamma^5 q^\nu + i\frac{g_P}{2M}\gamma^5 q_\mu | u_n \rangle$$
| Form Factor | Name | CVC/PCAC Status |
|---|---|---|
| $C_V = g_V$ | Vector (Fermi) | Conserved — from EM data |
| $f_M/C_V$ | Weak magnetism | **Determined by CVC** from M1 transitions |
| $f_S/g_S$ | Induced scalar | Excluded by CVC for Fermi; Second-class current |
| $C_A = g_A$ | Axial-vector (GT) | Measured in neutron decay ($g_A \approx 1.276$) |
| $f_T$ | Tensor | First-class if exists |
| $g_{II}$ | Induced tensor | Second-class current → experimental null results |
| $f_P/g_P$ | **Induced pseudoscalar** | PCAC prediction: $g_P(0) \approx -229$, but quenched ~80% in nuclei |
### CVC Constraint on Weak Magnetism (Eq. 87–91)
For mirror transitions and isovector M1 decays, weak magnetism is determined from electromagnetic data — no free parameters:
$$\mu_p - \mu_n = g_M(0)/\mu_N \quad (\text{from CVC})$$
### PCAC / Goldberger-Treiman (Eq. 92)
$$g_P(0) \approx -229 \quad (\text{free nucleon})$$
With ~5% higher-order corrections. In nuclear medium, $g_P$ is **quenched by up to 80%** — great care needed when evaluating pseudoscalar currents for nuclear decays.
## Spectral Shape Modification (Eq. 3)
Weak magnetism and Fierz term modify the spectrum shape:
$$N(W)\,dW \propto p W (W_0 - W)^2 \left[1 + \frac{\gamma m_e}{W} b_{\text{Fierz}} \pm \frac{4W}{3M} b_{wm}\right] dW \tag{3}$$
The weak magnetism term $\propto W/M$ grows with energy — opposite to Fierz term which falls as $1/W$. This distinct energy dependence allows experimental separation.
## Implementation Plan for Calculator
To implement recoil in `recoil.py`:
1. Create `RecoilCorrection` class inheriting from `SpectrumComponent`
2. Implement $R_N(W,W_0,M)$ per Eqs. (41)–(44) with transition-type parameter (Fermi/GT/mixed)
3. Optionally implement $Q(Z,W,M)$ for electromagnetic recoil
4. Accept weak magnetism form factor from nuclear data or CVC calculation
+93
View File
@@ -0,0 +1,93 @@
---
title: "10 – Nuclear Structure Effects"
date: 2026-04-26
tags:
- beta-spectrum/nuclear-structure
status: active
aliases: [Shape Factor, C(Z,W), Form Factors]
cssclasses: []
related_components: [[07-recoil-effects]], [[11-isospin-breakdown]]
---
# Nuclear Structure Effects — The Shape Factor $C(Z,W)$
## Overview
Nuclear structure effects are encapsulated in the shape factor $C(Z,W)$ which multiplies the phase space × Fermi function. This is distinct from electrostatic finite size corrections ([[03-finite-size]]) — it describes how nuclear form factors and matrix elements modify the spectrum beyond simple point-nucleus Coulomb interaction.
$$N(W)\,dW \propto p W (W_0 - W)^2 F(Z,W) C(Z,W) \tag{79}$$
## Two Formalisms Compared
| Approach | Style | Strengths |
|---|---|---|
| **Behrens-Bühring** (BB) | Couples leptonic + nuclear parts; rigorous expansion in $r^2$, $(m_eR)^a$, $(WR)^b$, $(\alpha Z)^c$ with tabulated functions $I(k_e,m,n,\rho)$ | Most precise, established computational machinery |
| **Holstein** (HS) | Decouples leptonic + nuclear parts; manifestly covariant form factors | Clean symmetry properties, intuitive classification |
Hayen et al. adopt BB's computational approach but present results in Holstein notation for clarity. See Appendix E of Hayen paper for detailed comparison.
## Multipole Expansion (Eq. 78)
Form factors $F_{KLs}(q^2)$ describe nuclear structure model-independently:
$$\langle f | V_\mu - A_\mu | i \rangle \propto \sum_{KMs} \sum_{L=K-1}^{K+1} (-1)^{J_f-M_f+M} (-i)^L F_{KLs}(q^2) $$
$$\times \sqrt{4\pi(2J_i+1)} \begin{pmatrix} J_f & K & J_i \\ -M_f & M & M_i \end{pmatrix} \frac{(qR)^L}{(2L+1)!!}$$
Since $(qR)^2$ is very small for beta decay, expansion typically stops after first order.
## Impulse Approximation (Eq. 80–81)
Nucleons treated as non-interacting particles coupling to weak vertex as free particles:
$$O_{KLs} = \sum_{\alpha,\beta} \langle \alpha | O_{KLs} | \beta \rangle a^\dagger_\alpha a_\beta \tag{80}$$
$$\langle f | O_{KLs} | i \rangle = \sum_{\alpha,\beta} \langle \alpha | O_{KLs} | \beta \rangle \langle f | a^\dagger_\alpha a_\beta | i \rangle \tag{81}$$
The one-body density matrix elements $\langle f | a^\dagger_\alpha a_\beta | i \rangle$ are calculable via shell model methods.
> [!warning] Limitations
> The impulse approximation neglects many-body effects:
> - **Meson exchange**: long history (Blin-Stoyle, Chemtob & Rho)
> - **Core polarization**: nuclear medium modifications
>
> For allowed decays, results largely hold due to cancellations between core-polarization and meson exchange (Morita 1985), but individual effects can reach ~40%.
## Induced Currents — Form Factor Classification
See [[07-recoil-effects]] for detailed equations. Key points:
### First-Class Currents (CVC/PCAC)
- **Vector** $g_V$: conserved, from EM data via CVC
- **Weak magnetism** $(g_M - g_V)/2M$: determined by CVC from M1 transitions
- **Axial-vector** $g_A$: measured in neutron decay
- **Induced pseudoscalar** $g_P/2M$: PCAC predicts ~−229, quenched ~80% in nuclei
### Second-Class Currents (G-parity forbidden)
- **Induced scalar** $g_S/2M$: excluded by CVC for Fermi transitions
- **Induced tensor** $g_{II}/2M$: experimental null results; reduces to first-class component only
## Nuclear Matrix Element Operators (Table V of Hayen)
| Operator | Symbol | Type | $\Delta J$ |
|---|---|---|---|
| $M_F$ | Fermi matrix element | Vector | 0 |
| $M_{GT}$ | Gamow-Teller matrix element | Axial-vector | 0,1 (not 0→0) |
| $M_L$ | Longitudinal vector | — | depends on K |
| $M_{T}, M_{TL}$ | Transverse multipoles | — | depends on K |
## Validity of Impulse Approximation
- **Vector current**: conserved via CVC → impulse approximation reliable
- **Axial current**: broken by PCAC → quenching effects significant (up to 80% for $g_P$)
- Mesonic degrees of freedom absorbed into nuclear potential (Wilkinson 1974)
## Nuclear Deformation Correction $D_C(Z,W,\beta^2)$
The nuclear structure analogue of the electrostatic deformation correction ([[03-finite-size]]):
- Accounts for non-spherical nuclear shape in convolution terms
- Partially cancels with $DFS$ correction (electrostatic)
- Relevant for deformed nuclei ($\beta_2 \neq 0$)
## Calculator Status
> [!info] Not yet implemented
> The shape factor $C(Z,W)$ is NOT part of the current calculator. This note documents the theory for future implementation. For superallowed Fermi transitions, $C(Z,W) = |M_F|^2 \approx 1$ (isospin symmetry), so it can be approximated as unity in many cases.
+75
View File
@@ -0,0 +1,75 @@
---
title: "12 – Atomic Overlap Correction"
date: 2026-04-26
tags:
- beta-spectrum/correction/atomic-overlap
status: active
aliases: [Atomic Mismatch, Bahcall Correction, r(Z,W)]
cssclasses: []
related_components: [[04-screening-correction]], [[13-chemical-effects]]
---
# Atomic Overlap / Mismatch Correction $r(Z,W)$
## Physical Origin
β decay results in a sudden change of nuclear potential ($Z \to Z\pm 1$). Initial and final atomic orbital wave functions only partially overlap — the atom must "rearrange" from its initial configuration to accommodate the new nuclear charge. This **atomic mismatch** (or shake-up) correction accounts for discrete excitations into higher bound states.
## Bahcall Correction (Eq. 166)
In first approximation, this reduces to a difference in atomic binding energies:
$$r(Z,W) = 1 - \frac{1}{W_0 - W} \frac{\partial^2 B(G)}{\partial Z^2} \tag{166}$$
where $B(G)$ is the total atomic binding energy for a neutral atom with $Z\pm 1$ protons. The second derivative relates to average excitation energy via:
$$\Delta E_{ex} = -\frac{1}{2}\frac{\partial^2 B(G)}{\partial Z^2}$$
### Parametrization (Eq. 169–170)
Using Desclaux (1973) numerical values:
$$K(Z) = -0.872 + 1.270 \, Z^{0.097} + 9.062\times 10^{-11} \, Z^{4.5} \tag{169}$$
The correction then becomes:
$$r(Z,W) = 1 - \frac{1}{W_0 - W^2}\left[B(G)'' + 2(C'_0 + C_1)\right] \tag{170}$$
## Magnitude Near Endpoint
> [!warning] Critical near endpoint for low-energy transitions
> Influence felt mainly near the endpoint where $\partial^2 B(G)/\partial Z^2$ can reach **a few hundreds of eV**.
| Isotope | Endpoint | Correction at 15 keV before endpoint |
|---|---:|---|
| $^{63}$Ni | 67.2 keV | ~**1%** |
| $^{241}$Pu | 20.8 keV | similarly important |
| Tritium ($^3$H) | 18.6 keV | relevant for KATRIN analysis |
The correction increases rapidly past the endpoint (where it's not physically meaningful — this signals breakdown of approximation).
## Bound State β Decay (Eq. 171)
Since the electron is created inside an electronic potential well, there exists a possibility for β decay to be captured into a bound atomic state:
$$\frac{\Gamma_b}{\Gamma_c} = \frac{\pi(\alpha Z)^3}{f(Z,W_0)} (W_0 - 1)^2 \Sigma \tag{171}$$
### Branching Ratios
| System | $\Gamma_b/\Gamma_c$ | Relevance for calculator |
|---|---:|---|
| Free neutron | $4.2\times 10^{-6}$ | Negligible |
| Tritium (T⁺) | ~**1%** | Relevant for precision neutrino mass experiments |
| Tritium (neutral T) | ~**0.5%** | — |
| Superallowed decays (MeV Q-value) | << $10^{-4}$ | Negligible |
> [!note] ft analysis only
> Bound state decay does **not** affect the β spectrum shape (it is a separate final state in S-matrix calculation). It enters when considering the **ft analysis**, so it's not directly relevant for `BetaSpectrum` but may matter for future calculator extensions.
## Calculator Implementation
> [!info] Not yet implemented
> The atomic mismatch correction $r(Z,W)$ is NOT currently part of the calculator. This note documents the theory for future implementation, particularly important for low-energy transitions (tritium, $^{63}$Ni, $^{241}$Pu).
## Related Notes
- [[04-screening-correction]] — Screening modification from shake-up processes
- [[11-isospin-breakdown]] — Shake-off process correction
- [[13-chemical-effects]] — Molecular environment influence on atomic overlap
+117
View File
@@ -0,0 +1,117 @@
---
title: "13 – Chemical Effects"
date: 2026-04-26
tags:
- beta-spectrum/correction/molecular
status: active
aliases: [Molecular Screening, Molecular Exchange, Saenz-Froelich]
cssclasses: []
related_components: [[12-atomic-overlap]], [[04-screening-correction]]
---
# Chemical / Molecular Effects on β Spectrum
## Physical Origin
In many experiments (especially precision neutrino mass measurements), the decaying atom is bound within a molecule. This modifies:
- Electronic structure via molecular orbitals
- Coulombic final state interactions from additional electrons and spectator nuclei
- Energy transfer to molecular rovibrational states during decay
> [!warning] Systematic error impact
> In most precise analyses, this introduces a **systematic error of 0.05%**. Primarily relevant for tritium β-decay experiments (KATRIN).
## 1. Recoil Corrections in Molecules (§F.1)
When β decay occurs inside a molecule:
- The recoiling daughter nucleus moves through the molecular potential, not vacuum
- Potential described by Born-Oppenheimer energy curve, modelled with Lennard-Jones type potential
- Daughter nucleus kicks molecule into (predissociative) rovibrational state
**Dissociation channels:**
| Channel | Energy scale | Relevance |
|---|---:|---|
| Rovibrational states | ~few eV | Negligible at target precision |
| Electronic excitation → resonant continuum | tens–hundreds of eV | — |
Integrated probability depends on endpoint energy (higher endpoint → higher recoil). At $10^{-4}$ precision, this effect is neglected as a small correction on already small corrections.
For β-ν correlation measurements ($a_{\beta\nu}$):
- Dissociation probability decreases with increasing Z (recoil energy $\propto 1/m$)
- Can be partially included via Monte Carlo simulation in Lennard-Jones potential
## 2. Q Value Shift (§F.2)
Molecular effects add further decrease to Q value from **rotational and vibrational excitations**.
For $T_2$ (tritium molecule):
- Excitation possibilities change to a broad continuum with resonances
- Width of populated rovibrational spectrum: **few eV** — typically negligible
- Differences between tritium-substituted molecules: **few eV**, including atomic tritium
### Decay Rate Change (Eq. 172)
$$\frac{\Delta \lambda}{\lambda} \approx \frac{3 \Delta W_0}{W_0} \left( 1 + \gamma \frac{W_0}{6} \right) \tag{172}$$
where $\Delta W_0$ is difference in mean endpoint energy after averaging over all final states between two chemical states.
### Expected Error Level
Spectral shape depends on $W_0^2$, so relative error goes as $2 \times \sigma_Q / Q$. For ft values ($\propto Q^5$):
- Lowest energy transitions (tritium, $^{63}$Ni, $^{241}$Pu): **few $\times 10^{-4}$ to $10^{-3}$** level error for $\sigma_Q \sim$ tens of eV
## 3. Molecular Screening (§F.3) — Saenz & Froelich (1997a)
All Coulombic effects treated equally to first order, split into electronic and nuclear parts.
### Molecular Screening Correction (Eq. 176)
$$\Delta S_{\text{Mol}} = \alpha \left[ \frac{W}{p^2} + \frac{1}{W} \sum_S \frac{Z_S - Z_{S,\text{in}}}{R_{S,e}} - Z_{\text{eff}} \langle r^{-1} \rangle_{\text{Val}} \right]$$
where:
- $Z_S - Z_{S,\text{in}}$ = screened spectator nucleus charge
- $Z_{\text{eff}} = Z_{\text{Val}} - (Z - Z_{\text{in}})$
- $\langle r^{-1} \rangle_{\text{Val}}$ = average inverse distance of all valence electrons relative to decaying nucleus
- Sum over S runs through spectator nuclei, $R_{S,e}$ is equilibrium distance
### Example: $^{45}$Ca in CaCl₂ (Ca(II), doubly oxidized)
- Bond length: 2.437 Å → natural units $R_{\text{Cl},e} \sim 600$
- First term $\propto 3\times 10^{-5}$ — two orders of magnitude smaller than bare $V_0$
- Second term ($Z_{\text{eff}} = 2$): also ~**$2\times 10^{-5}$**, opposite sign
- Overall molecular deviation from atomic structure: **~$2\times 10^{-5}$**
Since screening is typically at (sub)percent level max, molecular deviations have upper limit of **few $\times 10^{-4}$**.
## 4. Molecular Exchange Effect (§F.4)
In a molecule, electronic phase space is greatly enlarged and perturbed relative to single atomic state. Electron density near decaying atom can both increase (bond region) or decrease, modifying the overlap integral.
### LCAO Approximation
Molecular orbitals constructed from linear combination of atomic orbitals. Key cases:
- **Ionic bond** (valence electron nearly fully removed): exchange effect ≈ 0 (internuclear distances >> β Compton wavelength where wave function oscillates rapidly)
- **Reverse extreme** (valence electron density doubled): naively doubles the exchange correction; conservative treatment uses **100% error bar on last orbital contribution**
### Error Estimate
| Isotope | Low-energy effect | High-energy behavior |
|---|---:|---|
| Generic case (Fig. 6) | < $1\times 10^{-4}$ from 15 keV; **0.5% at 1 keV** | — |
| $^{241}$Pu (7s valence) | Max ~1% in first 0.5 keV | Drops below $10^{-4}$ after 3 keV |
Effect of wave function change in lattice vs gas studied by Kolos et al. (1988) for tritium — no significant change found. Due to conservative error bar, **completely absorbed and can be neglected**.
## Calculator Implementation
> [!info] Not planned
> Chemical effects are NOT part of the calculator scope. They represent corrections on top of atomic calculations that only matter in specific experimental contexts (molecular tritium sources). The baseline calculator assumes isolated atoms.
For molecular experiments requiring these corrections:
- Use Saenz & Froelich formalism (§F.3) for screening modification
- Apply conservative error bars for exchange effects (~$10^{-4}$ from 15 keV onward)
- Q value shifts should be handled externally (experiment-specific input)
## Related Notes
- [[12-atomic-overlap]] — Atomic mismatch / Bahcall correction
- [[04-screening-correction]] — Baseline atomic screening $S(Z,W)$
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
---
title: Beta Spectrum Wiki
date: 2026-04-26
tags:
- vault/overview
status: active
---
# Beta Spectrum Calculator — Knowledge Base
This Obsidian vault serves as the scientific reference and development workspace for the **beta-spectrum calculator** project (`beta_shape_pnpi`).
## Purpose
Organize the physics theory behind allowed beta decay spectrum calculations into structured, interconnected notes that directly inform the implementation of correction components in the codebase.
## Source Material
| Reference | Type | Location |
|---|---|---|
| Hayen et al., RevModPhys **90**, 015008 (2017) | Review article | `pdf_source/Hayen2017.pdf` / [[Hayen2017_summary]] |
## Notes Structure
All notes are flat in this directory, linked via wikilinks.
### Core Theory
- [[00-beta-spectrum-overview]] — Master equation and overview of all corrections
- [[02-phase-space]] — Baseline spectral shape $pW(W_0-W)^2$
### Correction Components (mapped to calculator modules)
| # | Note | Calculator Module | Status |
|---|---|---|---|
| 1 | [[01-fermi-function]] | `components/fermi.py` | ✓ implemented |
| 2 | [[03-finite-size]] | `components/finite_size.py` | ✓ implemented |
| 3 | [[04-screening-correction]] | `components/screening.py` | ✓ implemented |
| 4 | [[05-exchange-correction]] | `components/exchange.py` | ✓ implemented |
| 5 | [[06-radiative-corrections]] | `components/radiative.py` | ✓ implemented |
| 6 | [[07-recoil-effects]] | `components/recoil.py` | ✗ not yet implemented |
### Nuclear Structure & Atomic Effects
- [[10-nuclear-structure]] — Shape factors, form factors, impulse approximation
- [[11-isospin-breakdown]] — Shake-off/shake-up processes, endpoint shift
- [[12-atomic-overlap]] — Bahcall correction, bound-state β decay
- [[13-chemical-effects]] — Molecular environment influence on spectrum
### References
- [[refs/hayen2017]] — Metadata and key equations from Hayen et al. (2017)
## Calculator Architecture
```
SpectrumComponent (ABC, base.py)
├── PhaseSpace → phase_space.py
├── FermiFunction → fermi.py
├── FiniteSizeL0 → finite_size.py
├── ChargeDistributionU → finite_size.py
├── ScreeningCorrection → screening.py
├── ExchangeCorrection → exchange.py
└── RadiativeCorrection → radiative.py
BetaSpectrum (spectrum.py) — multiplicative composition + from_config()
BetaSpectrumAnalyzer (spectrum.py) — plotting, CSV export
```
## Key Variables and Units
- $W$ — total electron energy in units of $m_e c^2$ (natural units, $m_e = 1$)
- $T$ or $E_{\text{kin}}$ — kinetic energy (keV or MeV)
- $W_0$ — endpoint total energy
- $Z_{\text{parent}}$, $Z_{\text{daughter}}$ — atomic numbers
- $\alpha \approx 1/137.036$ — fine structure constant
- $\gamma = \sqrt{1 - (\alpha Z)^2}$
Conversion: $W = 1 + T / m_e c^2$, with $m_e c^2 = 510.998950$ keV.
+80
View File
@@ -0,0 +1,80 @@
---
title: "Hayen et al. (2017) — Reference Metadata"
date: 2026-04-26
tags:
- beta-spectrum/references
status: active
aliases: [RRHP2017, RevModPhys.90.015008]
cssclasses: []
---
# Hayen et al. (2017) — "Beta-decay spectrum shape"
## Citation
> L. Hayen, K. Haseroth, N. Severijns, W. H. E. Schwarz, *Rev. Mod. Phys.* **90**, 015008 (2018).
> DOI: [10.1103/RevModPhys.90.015008](https://doi.org/10.1103/RevModPhys.90.015008)
## PDF Location
`~/LBML_cloud/ОПЯД/beta_corrections/Refs/Hayen2017.pdf` (2.1 MB, 63 pages)
Summary: `~/wiki_brain/beta_shape/Hayen2017_summary.md`
## Key Equations Reference
| Eq # | Section | Description | Wiki Note |
|------|---------|-------------|-----------|
| (1)–(5) | II | Dirac radial wave functions, Coulomb phase | [[01-fermi-function]] |
| (6) | II.2 | Fermi function $F_0(Z,W)$ | [[01-fermi-function]] |
| (7) | III | Phase space factor | [[02-phase-space]] |
| (9)–(15) | IV.A | Finite size: uniform sphere, Coulomb energy | [[03-finite-size]] |
| (16) | IV.A.1 | $L_0(Z,W)$ — finite size correction to Fermi function | [[03-finite-size]] |
| (17)–(24) | IV.A.2 | Modified Gaussian charge distribution, fit parameters | [[03-finite-size]] |
| (25), (29) | IV.B | $U(Z,W)$ — diffuse nuclear surface correction | [[03-finite-size]] |
| (40) | IV.C | $DFS$ — deformation correction to electrostatic potential | [[03-finite-size]] |
| (41)–(45) | V | Recoil kinematic corrections, weak magnetism terms | [[07-recoil-effects]] |
| (46)–(47) | VI.A | Radiative corrections $\delta_R'(W,W_0)$, Sirlin $g(W_0,W)$ | [[06-radiative-corrections]] |
| (53) | VI.A.2 | Soft-photon resummation $(W_0-W)^{t(\beta)} - 1$ | [[06-radiative-corrections]] |
| (78)–(81) | VII.A | Multipole expansion, form factors $F_{KLs}$, impulse approximation | [[10-nuclear-structure]] |
| (83), (92)–(104) | VI.E | Shape factor $C(Z,W)$ in Holstein notation | [[10-nuclear-structure]] |
| (107) | VI.G | $\Lambda$ factor for ft value analysis, weak magnetism contribution | [[07-recoil-effects]] |
| (113) | VI.F | Isovector correction $C_I(Z,W)$ — isospin symmetry breakdown | [[11-isospin-breakdown]] |
| (140), (144) | VII.A.2 | Atomic screening $S_{\text{Sal}}(Z,W)$ with Salvat potential | [[04-screening-correction]] |
| (157) | VII.E.3 | Analytical fit for exchange correction $X(Z,W)$ | [[05-exchange-correction]] |
| (160), (163), (164) | VII.C–D | Shake-up, shake-off processes | [[12-atomic-overlap]], [[11-isospin-breakdown]] |
| (166) | VII.D | Bahcall atomic mismatch correction $r(Z,W)$ | [[12-atomic-overlap]] |
| (171) | VII.E | Bound state β decay branching ratio $\Gamma_b/\Gamma_c$ | [[12-atomic-overlap]] |
| (176) | VII.F.3 | Molecular screening correction $\Delta S_{\text{Mol}}$ | [[13-chemical-effects]] |
| (178) | IX | Normalized shape factor $S(W)$ for BSM searches | [[07-recoil-effects]] |
## Table References
| Table | Content | Wiki Note |
|-------|---------|-----------|
| I | Leptonic radial wave function expansion coefficients | — |
| II | Leptonic and nuclear quantum numbers, multipole classification | [[10-nuclear-structure]] |
| III | Form factor mapping BB ↔ HS notation | [[10-nuclear-structure]] |
| IV | Numerical values for $L_0$ correction (Z=2–54) | [[03-finite-size]] |
| V | Nuclear matrix element operators ($M_F$, $M_{GT}$, etc.) | [[10-nuclear-structure]] |
| VI | Numerical values for screening correction $S(Z,W)$ at 67.2 keV (Ni) | [[04-screening-correction]] |
| VII | Complete overview of all β spectrum shape corrections | [[00-beta-spectrum-overview]] |
## Key Numbers to Remember
- **Target precision**: $10^{-4}$ down to 1 keV for low-to-medium Z nuclei
- **Exchange correction**: Can exceed **20%** at low energy for high Z (Table X, Eq. 157)
- **Radiative corrections**: Sirlin's $g(W_0,W)$ diverges logarithmically at endpoint → handled via soft-photon resummation
- **Induced pseudoscalar** $g_P(0)$: PCAC predicts ~−229 for free nucleon, quenched by up to 80% in nuclear medium
- **Weak magnetism uncertainty**: Can shift $f_A/f_V$ values by several parts in $10^3$
## Crosschecks in Paper
- **Superallowed Fermi decays** (§VIII): Excellent agreement with Towner & Hardy (2015) f values, all residuals in few $\times 10^{-4}$ region
- **Mirror decays**: Exquisite agreement for vector sector (< $4\times 10^{-4}$); axial vector depends on nuclear model choice
## Related Notes
- [[00-beta-spectrum-overview]] — Master equation and full corrections table (Table VII)
- [[10-nuclear-structure]] — Shape factor formalism, BB vs HS comparison (§E in paper)
- [[07-recoil-effects]] — Recoil kinematics, weak magnetism, induced currents
View File