This repository is the companion validation suite for a pure transverse-momentum-space implementation of CSS2 TMD factorization. It supports the formalism program:
The repository validates the algebra and perturbative bookkeeping needed for a CSS2-equivalent pure-k-space prescription for high-accuracy TMD extractions. It does not claim that a completed numerical N³LL′ extraction has already been performed.
Here “CSS2” denotes the modern Collins organization of TMD factorization: gauge-invariant operator-defined TMDs, the soft-factor subtraction absorbed into the TMD definitions, process dependence isolated in the hard factor, and coupled renormalization and rapidity evolution in
| Layer | Status | Meaning |
|---|---|---|
| Formal pure-k-space prescription | Ready | Distribution algebra, convolution exponentials, ingredient manifest, and claim discipline are implemented. |
| Distributional profile-operator algebra | Passing | The cumulative profile definition, endpoint identities, profile derivatives, RG integrability, and correlated Drell-Yan rapidity profiles are checked by a dedicated validator. |
| Production profile integration | Blocked by design | A concrete leg-wise or process-level profile has not yet been integrated into the full production W kernel and validated through order αs³. |
| Numerical N³LL′ extraction | Blocked by design | Requires source-stamped physical NNLO and N³LO coefficient payloads, plus an order-αs³ expansion gate. |
| Numerical Fourier/Bessel transforms | Not used | The validation suite uses direct k-space distributions and transverse convolution algebra. |
| Nonperturbative model | Not fixed | DNNs are allowed later, but the perturbative validation is model agnostic. |
Expected high-level result:
formal_suite_passed: True
checks: 13/13
Two gates should remain blocked in this formalism repository:
physical coefficient source gate: infrastructure_passed=True; physics_ready=False
N3LL-prime label certificate: formal_prescription_ready=True; implementation_claim_allowed=False
That is the correct outcome. It means the formal prescription and the profile-operator algebra are reproducible. The implementation-level N³LL′ claim remains disabled until the physical coefficient payloads, production profile integration, and order-αs³ expansion gate are complete.
Use Python 3.10 or newer.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python run_all_checks.py --clean
cat outputs/latest/run_all_checks_report.txtUseful repository sanity checks:
make linebreak-check
python -m py_compile run_all_checks.py validators/*.py tools/check_line_breaks.py.
├── README.md
├── run_all_checks.py
├── requirements.txt
├── pyproject.toml
├── Data_DY_test/
├── validators/
│ ├── kt_kcss_one_loop_validator.py
│ ├── kt_kcss_toypdf_xconv_validator.py
│ ├── kt_kcss_generator_convolution_validator.py
│ ├── kt_kcss_one_loop_evolution_validator.py
│ ├── kt_kcss_two_loop_ingredients_validator.py
│ ├── kt_kcss_running_coupling_evolution_validator.py
│ ├── kt_kcss_distributional_profile_validator.py
│ ├── kt_kcss_binned_wterm_prototype_validator.py
│ ├── kt_kcss_accuracy_ingredient_validator.py
│ ├── kt_kcss_n3lo_matching_import_validator.py
│ ├── kt_kcss_physical_coeff_import_validator.py
│ ├── kt_kcss_n3llprime_label_certificate_validator.py
│ └── kt_kcss_formalism_completion_validator.py
├── scripts/
│ └── stage_public_coefficients.sh
├── coefficient_sources/
│ └── README.md
├── tools/
│ └── check_line_breaks.py
├── docs/
│ ├── formalism_note_v1p3_consistent.pdf
│ ├── formalism_note_v1p3_consistent.tex
│ ├── prd_formalism_draft_v0p1.pdf
│ └── prd_formalism_draft_v0p1.tex
├── formalism_note_v1p3_consistent.pdf
├── formalism_note_v1p3_consistent.tex
└── outputs/
├── reference/
└── latest/ # generated by run_all_checks.py
The suite checks that the pure-k-space representation has the same perturbative bookkeeping as the parent CSS2 formalism, but with transverse-momentum convolutions replacing pointwise multiplication in impact-parameter space.
The parent-scheme definition is:
After the analytic dictionary is fixed, the working objects are direct k-space distributions:
The high-order matching import rule is:
The generator algebra is:
This identity is the core reason a Sudakov factor can be represented as a convolution exponential in k space.
| Validator | What it checks | Role |
|---|---|---|
kt_kcss_one_loop_validator.py |
Bin-integrated two-dimensional plus distributions and the one-loop diagonal Drell-Yan singular kernel | Formal check |
kt_kcss_toypdf_xconv_validator.py |
Longitudinal x-space plus prescription and flavor-vector toy-PDF convolutions | Formal check |
kt_kcss_generator_convolution_validator.py |
Generator algebra and distribution-basis convolution tables | Formal check |
kt_kcss_one_loop_evolution_validator.py |
Fixed-coupling one-loop evolution Green function, path independence, and semigroup identity | Formal check |
kt_kcss_two_loop_ingredients_validator.py |
Two-loop Collins-Soper kernel projection and scalar NNLO logarithmic reconstruction checks | Formal check |
kt_kcss_running_coupling_evolution_validator.py |
Running-coupling endpoint evolution through order αs² | Formal check |
kt_kcss_distributional_profile_validator.py |
Cumulative distributional-profile density, constant/canonical limits, endpoint identities, bin additivity, profile-derivative term, coupled RG integrability, and correlated Drell-Yan rapidity profiles | Formal check |
kt_kcss_binned_wterm_prototype_validator.py |
First binned resummed-W prototype and one-loop profile-scale cancellation | Formal check |
kt_kcss_accuracy_ingredient_validator.py |
Ingredient manifest for NkLL′ bookkeeping | Formal check |
kt_kcss_n3lo_matching_import_validator.py |
Schema and projection map for N³LO matching imports using synthetic mock payloads | Formal check |
kt_kcss_physical_coeff_import_validator.py |
Whether source-stamped physical NNLO and N³LO coefficient files are present | Gate only |
kt_kcss_n3llprime_label_certificate_validator.py |
Formal-prescription readiness versus implementation-level claim allowance | Gate only |
kt_kcss_formalism_completion_validator.py |
Whether the formalism note contains the paper-ready closure sections | Formal check |
The N³LL′ label is defined by ingredient equivalence to CSS2. A k-space implementation can claim N³LL′ only when it contains the same perturbative ingredients as the parent CSS2 calculation.
| Ingredient | Required for N³LL′ |
|---|---|
| Cusp anomalous dimension | 4 loops |
| QCD beta function | 4 loops |
| Non-cusp TMD anomalous dimension | 3 loops |
| Collins-Soper kernel / rapidity anomalous dimension | 3 loops |
| Hard function | through order αs³ |
| TMD matching coefficients | through order αs³ |
| DGLAP kernels | P⁽⁰⁾, P⁽¹⁾, P⁽²⁾ |
| Fixed-order subtraction for full-spectrum matching | through the matching order being claimed |
The prime in N³LL′ means that boundary functions are included through the same fixed order as the logarithmic accuracy requires. For this project, that means three-loop hard and TMD matching inputs.
The repository enforces the following certificate:
The formalism paper may claim a generic pure-k-space N³LL′ prescription by ingredient equivalence to CSS2. A future extraction paper may claim a completed numerical N³LL′ extraction only after the physical coefficient files are imported, a declared leg-wise or process-level profile has been integrated into the production kernel and validated through the claimed order, and the order-αs³ expansion gate passes.
The repository does not bundle external ancillary coefficient files. To stage them in a networked environment, run:
bash scripts/stage_public_coefficients.sh
python validators/kt_kcss_physical_coeff_import_validator.pyThe staging script records the intended public-source layout for the high-order TMD matching inputs.
After staging, the next implementation work is to parse those files into the canonical coefficient schema used by kt_kcss_n3lo_matching_import_validator.py, compute hashes, and replace the mock payload with vetted physical coefficient data.
outputs/reference/ contains reports generated during development.
outputs/latest/ is regenerated by:
python run_all_checks.py --cleanThe runner writes:
outputs/latest/run_all_checks_report.txt
outputs/latest/run_all_checks_summary.json
along with each validator's JSON, CSV, text report, and log file.
- All formal validators are deterministic.
- The toy-PDF validator uses analytic toy PDFs and
scipy.integrate.quad; tolerances are regression tolerances, not experimental uncertainties. - The distributional-profile validator uses a smooth analytic test profile and deterministic quadrature. Its reported residual is a numerical regression residual, not a theory uncertainty.
- Symbolic checks use
sympy. - No validator evaluates a physical cross section or performs a data fit.
- The coefficient-import validators deliberately distinguish mock or synthetic payloads from source-stamped physical coefficient payloads.
This repository is model agnostic. A DNN may be used later as a nonperturbative module,
but the perturbative accuracy label belongs to the operator
and to the ingredient manifest, not to the DNN parametrization.
GitHub should render Markdown and source files with normal line breaks. To catch accidental newline stripping during uploads, run:
make linebreak-checkThis check is separate from the physics/formalism validators. It only verifies that text files such as Markdown, Python, shell, TOML, and CFF files have not been collapsed into a few long lines.
Use the metadata in CITATION.cff once the repository has a tagged release or archived DOI.
For now, cite the repository URL and the associated formalism note or paper draft.