docs: reflect normalization fixes, detector cleanup and CLI overrides
- README: remove stale detector_response.py tree entry and the detector-models highlight (module removed); document per-branch measured transition endpoints from paceENSDF and JSON-flow CLI override semantics - TODO: drop the DEFAULT_JSON_SCHEMA detector-keys clause (removed) - data/custom_input_example.json: strip dead detector_* keys
This commit is contained in:
@@ -60,8 +60,7 @@ beta_shape_pnpi/
|
|||||||
│ │ ├── finite_size.py ✓ L0 expansion + charge distribution U term
|
│ │ ├── finite_size.py ✓ L0 expansion + charge distribution U term
|
||||||
│ │ ├── screening.py ✓ Atomic electron screening (ratio method)
|
│ │ ├── screening.py ✓ Atomic electron screening (ratio method)
|
||||||
│ │ ├── exchange.py ✓ Hayen-2018 empirical fit coefficients
|
│ │ ├── exchange.py ✓ Hayen-2018 empirical fit coefficients
|
||||||
│ │ ├── radiative.py ✓ Outer radiative corrections, soft-photon resummation
|
│ │ └── radiative.py ✓ Outer radiative corrections, soft-photon resummation
|
||||||
│ │ └── detector_response.py ✓ Analytical detector response models
|
|
||||||
├── beta_spectrum/output/ ← output, plotting, visualization, CSV export
|
├── beta_spectrum/output/ ← output, plotting, visualization, CSV export
|
||||||
│ ├── __init__.py # BetaSpectrumAnalyzer, CSVEmitter, Visualizer
|
│ ├── __init__.py # BetaSpectrumAnalyzer, CSVEmitter, Visualizer
|
||||||
│ ├── core.py # BetaSpectrumAnalyzer base class
|
│ ├── core.py # BetaSpectrumAnalyzer base class
|
||||||
@@ -191,9 +190,9 @@ ______________________________________________________________________
|
|||||||
For a complete list of implemented and planned features, see [TODO.md](TODO.md). Key highlights:
|
For a complete list of implemented and planned features, see [TODO.md](TODO.md). Key highlights:
|
||||||
|
|
||||||
- **Physics corrections**: phase space, Fermi function, finite size, screening, exchange, radiative (with delta_cut resummation)
|
- **Physics corrections**: phase space, Fermi function, finite size, screening, exchange, radiative (with delta_cut resummation)
|
||||||
- **Detector response**: Gaussian, Gaussian+tail, Tikhonov models with tabulated support
|
- **Detector response**: not implemented — `SpectrumModel` keeps a duck-typed optional convolution hook; the analytical models were removed (restore-or-delete decision tracked in TODO.md)
|
||||||
- **Multi-branch decay**: intensity-weighted sum of branch spectra, per-branch calculators with branch-specific endpoint, transition type (from ENSDF), and `--intensity-cutoff` CLI filter
|
- **Multi-branch decay**: intensity-weighted sum of branch spectra, per-branch calculators with branch-specific endpoint, transition type (from ENSDF), and `--intensity-cutoff` CLI filter
|
||||||
- **Analysis tools**: χ² fitter (SpectrumFitter + CurveFitter), C(W) extraction pipeline, Kurie plot analysis, g_V/g_A extraction
|
- **Analysis tools**: χ² fitter (SpectrumFitter + CurveFitter), C(W) extraction pipeline, Kurie plot analysis, g_V/g_A extraction
|
||||||
- **Experimental data**: ExpSpectrum container, energy calibration, peak fitting, dead-time/pile-up correction
|
- **Experimental data**: ExpSpectrum container, energy calibration, peak fitting, dead-time/pile-up correction
|
||||||
- **CLI**: `bs_pnpi --nuclide Tc99` — full paceENSDF integration (auto-lookup of Z, A, Q-value, transition type, half-life, branches, forbiddenness from ENSDF)
|
- **CLI**: `bs_pnpi --nuclide Tc99` — full paceENSDF integration (auto-lookup of Z, A, Q-value, transition type, half-life, branches, forbiddenness from ENSDF); for JSON input the file's values are used and CLI flags (`--e-step`, `--neutrino-mass`, `--intensity-cutoff`, `--csv-separator`, `--normalize-to-one`) override them only when explicitly given
|
||||||
- **paceENSDF integration**: `get_decay_info_from_paceENSDF()`, `create_config_from_source("paceENSDF", nuclide="Tc99")`, `_parse_nuclide_symbol()` for Z=1..98, FORBIDDENNESS_MAP, `--nuclide` CLI flag
|
- **paceENSDF integration**: `get_decay_info_from_paceENSDF()`, `create_config_from_source("paceENSDF", nuclide="Tc99")`, `_parse_nuclide_symbol()` for Z=1..98, FORBIDDENNESS_MAP, `--nuclide` CLI flag; per-branch endpoints are the measured transition endpoint energies from ENSDF (max endpoint across branches defines the spectrum endpoint)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ beta_spectrum/ ← theory-only core
|
|||||||
│ ├── screening.py
|
│ ├── screening.py
|
||||||
│ ├── exchange.py
|
│ ├── exchange.py
|
||||||
│ ├── radiative.py
|
│ ├── radiative.py
|
||||||
│ └── detector_response.py ← stays here (part of theory)
|
│ └── (detector_response.py — removed; restore-or-delete pending below)
|
||||||
└── nuclear_data.py ← paceENSDF integration
|
└── nuclear_data.py ← paceENSDF integration
|
||||||
|
|
||||||
exp_data/ ← experimental data handling
|
exp_data/ ← experimental data handling
|
||||||
@@ -102,9 +102,10 @@ output/ ← output, visualization, CSV export
|
|||||||
- [x] README updated with new architecture diagram and Quick Start examples
|
- [x] README updated with new architecture diagram and Quick Start examples
|
||||||
- [x] Version bumped to 0.4.0
|
- [x] Version bumped to 0.4.0
|
||||||
- [ ] Decide: restore or delete the `detector_response` module — it was removed from
|
- [ ] Decide: restore or delete the `detector_response` module — it was removed from
|
||||||
`beta_spectrum/components/` together with its tests, but `fitter/model.py` keeps a
|
`beta_spectrum/components/` together with its tests; `fitter/model.py` keeps a
|
||||||
duck-typed optional hook and `DEFAULT_JSON_SCHEMA` keeps the detector keys;
|
duck-typed optional hook only (`DEFAULT_JSON_SCHEMA` detector keys and the CLI
|
||||||
restore from git history (commits up to `5f99566`) if convolution is needed again
|
dry-run detector line were removed with audit cleanup).
|
||||||
|
Restore from git history (commits up to `5f99566`) if convolution is needed again
|
||||||
|
|
||||||
______________________________________________________________________
|
______________________________________________________________________
|
||||||
|
|
||||||
|
|||||||
@@ -5,14 +5,5 @@
|
|||||||
"A_number": 99,
|
"A_number": 99,
|
||||||
"endpoint_MeV": 0.294,
|
"endpoint_MeV": 0.294,
|
||||||
"transition_type": "A",
|
"transition_type": "A",
|
||||||
"e_step_MeV": 0.001,
|
"e_step_MeV": 0.001
|
||||||
"use_detector_response": false,
|
|
||||||
"detector_model": "gaussian",
|
|
||||||
"detector_sigma_a_keV": 1.0,
|
|
||||||
"detector_sigma_b": 0.0,
|
|
||||||
"detector_tail_fraction": 0.0,
|
|
||||||
"detector_tau_keV": 5.0,
|
|
||||||
"detector_fano_factor": 0.12,
|
|
||||||
"detector_n_channels": 4096,
|
|
||||||
"detector_channel_energy_range": [0.0, 0.35]
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user