Skip to content

iblep-conn-lep

graph LR
  %%%%%%%%%%%%%%%%%%%%%%%
  %% Highlight definition
  %%%%%%%%%%%%%%%%%%%%%%%
  classDef highlight fill:#083008,stroke:#20B030,stroke-width:4px
  %%%%%%%%%%%%%%%%%%%%%%%
  %% Graph
  %%%%%%%%%%%%%%%%%%%%%%%
  iblep-disc-loops -->|Propagators| iblep-disc-burgershort;
  iblep-disc-loops -.->|Tadpoles| iblep-conn-lep;
  iblep-disc-loops -.->|Tadpoles| iblep-conn-omega;
  iblep-disc-burgerlong;
  iblep-conn-emfieldft;
  iblep-real-fixgauge -->|Gauge field| iblep-real-props;
  iblep-real-props -->|Propagators| iblep-real-threept;


class iblep-conn-lep highlight
  %%%%%%%%%%%%%%%%%%%%%%%
  %% Interaction
  %%%%%%%%%%%%%%%%%%%%%%%
  click iblep-disc-loops "../../../workflows/disc/iblep-disc-loops/";
  click iblep-disc-burgershort "../../../workflows/disc/iblep-disc-burgershort/";
  click iblep-disc-burgerlong "../../../workflows/disc/iblep-disc-burgerlong/";
  click iblep-conn-lep "../../../workflows/conn/iblep-conn-lep/";
  click iblep-conn-omega "../../../workflows/conn/iblep-conn-omega/";
  click iblep-conn-emfieldft "../../../workflows/conn/iblep-conn-emfieldft/";
  click iblep-real-fixgauge "../../../workflows/real/iblep-real-fixgauge/";
  click iblep-real-props "../../../workflows/real/iblep-real-props/";
  click iblep-real-threept "../../../workflows/real/iblep-real-threept/";

iblep-conn-lep computes connected radiative-correction diagrams for mesons and leptonic -decays.

Inputs

  • A gauge configuration, or the deterministic random gauge field used by the debug setup.
  • An optional gauge transformation and light-quark eigenpack, where required by the selected solver setup.
  • An optional path to traced disconnected loops produced by iblep-disc-loops for constructing tadpole insertions.

Outputs

  • File: A Hadrons result group with pion, kaon, and \(\eta_s\) correlators and connected and tadpole isospin-breaking corrections, stored at results/two_point/two_point_tP<source-time>.
  • File: A Hadrons result group for leptonic decay correlators and connected and tadpole isospin-breaking corrections, stored at results/leptonic_decay/leptonic_decay_tP<source-time>.
  • Database: Rows in the result database that map every contraction dataset to its result file.
  • An optional XML module graph at paths.xml/<runId>.xml.

Workflow

For each requested trajectory and source time, the workflow constructs the gauge fields and source/sink operators, prepares the configured solvers, and contracts the connected diagrams. flags independently enable scalar insertions, QED insertions, leptonic decay contractions, charm, tadpoles, and disconnected-meson-QED contributions. The kinematics block defines the target meson mass and lepton angles/masses; when stochasticDirections is enabled, the corresponding stochastic momentum path is used. Sources may be wall or point sources and are placed at the times in sourceTimes.

From datasets to physics

The individual operations are defined by the corresponding Hadrons modules, particularly Meson, SeqAslash, EMLepton, WeakMesonDecayKl2, and QEDTadpole. This section defines how the workflow maps those module outputs to diagram labels and how the stored bare correlators must be combined.

For an ordered pair of valence flavours \(f_1f_2\), the propagators constructed by the workflow are

\[ \begin{aligned} S_f^S &=S_fS_f,\\ S_f^A &=S_f(i A_\mu \gamma^\mu)S_f,\\ S_f^{AA} &=S_f(i A_\mu \gamma^\mu)S_f(i A_\nu \gamma^\nu)S_f,\\ S_f^{T}&=S_f(i T_\mu \gamma^\mu)S_f. \end{aligned} \]

\(A\) is the stochastic QED field and \(T\) is a photon-convolved sea loop (which already contains a factor \(i\)). The files contain the insertions shown above but do not contain \(e\), quark charges, local electromagnetic-current renormalisation factors, mass shifts, or weak-current renormalisation factors.

The first character of a meson label is line 1 and the second is line 2. For example, ls means $(f_1,f_2)=(l,s).

Two-point functions

The two_point.diagram labels have the following meanings:

Diagram Propagators supplied to Meson Meaning
tree \((S_{f_1},S_{f_2})\) The tree-level correlator.
S1 \((S_{f_1}^{S},S_{f_2})\) Scalar insertion on line 1.
S2 \((S_{f_1},S_{f_2}^{S})\) Scalar insertion on line 2.
A1 \((S_{f_1}^{A},S_{f_2})\) One stochastic-photon insertion on line 1.
A2 \((S_{f_1},S_{f_2}^{A})\) One stochastic-photon insertion on line 2.
AA1 \((S_{f_1}^{AA},S_{f_2})\) Both photon insertions on line 1.
AA2 \((S_{f_1},S_{f_2}^{AA})\) Both photon insertions on line 2.
A1_A2 \((S_{f_1}^{A},S_{f_2}^{A})\) One photon insertion on each line.
T1_<name> \((S_{f_1}^{T},S_{f_2})\) Tadpole on line 1.
T2_<name> \((S_{f_1},S_{f_2}^{T})\) Tadpole on line 2.
A \((iA_\mu \gamma^\mu S_f,S_f)\) Single-insertion disconnected-meson-QED contraction enabled by doDiscMesonQed.

Each Meson dataset is a vector of records containing gamma_snk, gamma_src, and a complex temporal correlator corr. Unless contractAllGammas is enabled, the workflow contracts every pair from

\[ \{\gamma_5,\gamma_x\gamma_5,\gamma_y\gamma_5, \gamma_z\gamma_5,\gamma_t\gamma_5\}, \]

and additionally the four sink/source pairs \((\gamma_\mu,\gamma_5)\).

Sea-loop tadpole insertions

The four files in a tadpoles entry are accumulated local vector loops from iblep-disc-loops. This is an unnormalised sum, and the hit count must be divided out to get the correctly-normalised correlation function.

\[ \overline C^{T} = \frac{1}{N}C^{T} \]

In the standard loop filenames the suffix is the final zero-based hit index, so a file ending in .127 contains 128 hits; do not interpret the suffix itself as the hit count.

The tadpole contribution to the two-point function is

\[ \boxed{ Q_{f_1}\overline C^{T1} +Q_{f_2}\overline C^{T2}} \]

The connected and disconnected runs must use the same trajectory and photon prescription. A spliteven_ls loop estimates the difference \(L_l-L_s\); it is an optimised estimator for the difference that can be used in place of a sum over \(\{u,d,s\}\) (when using a unitary light quark). This carries a factor 1/3 in place of a quark charge.

Leptonic-decay correlators

The leptonic_decay.diagram labels extend the line convention above:

Diagram Meaning
tree Tree-level weak-decay correlator with the free lepton propagator.
S1, S2 Scalar insertion on valence line 1 or 2.
A1, A2 One photon insertion on valence line 1 or 2, with a free lepton.
Al One photon insertion on the lepton, with uninserted valence lines.
A1_Al, A2_Al Photon exchange between valence line 1 or 2 and the lepton.
T1_<name>, T2_<name> Named sea-loop tadpole on valence line 1 or 2.
Tl_<name> Tadpole on the lepton.

WeakMesonDecayKl2 stores corr, a time-vector of \(4\times4\) lepton spin matrices. The executable does not project those matrices onto an external lepton spinor and does not include the weak prefactor, CKM factor, or renormalisation of the local weak current. For the pseudoscalar axial-current channel, the appropriate \(Z_A\) must therefore be applied in the subsequent amplitude analysis.

Rows must be matched at fixed meson, tSrc, dt, source, and kinIndex. The kinematics row gives

\[ |\mathbf p_\ell|=\frac{m_P}{2} \left(1-\frac{m_\ell^2}{m_P^2}\right), \]

and lepton_twist identifies the actual twist direction.

How to run

The following is an example input JSON copied from parameters/iblep-conn/test.json:

{
  "setup": "debug",
  "runId": "test",
  "traj": { "start": 1000, "end": 1040, "step": 20 },
  "geometry": { "nt": 8, "nl": 4 },
  "qed": "r",
  "dryRun": false,
  "paths": {
    "results": "data",
    "resultDb": "data/result.1000.db",
    "gauge": "",
    "gaugeTransform": "",
    "eigenpack": ""
  },
  "charm": {
    "mc": 0.45,
    "residual": 1.0e-18
  },
  "kinematics": {
    "stochasticDirections": false,
    "pi": {
      "mP": 0.059088,
      "leptons": [
        { "ml": 0.04, "angles": [ 0.1, 0.2 ] },
        { "ml": 0.04, "angles": [ 0.0, 0.0 ] }
      ]
    },
    "K": { "mP": 0.210640, "leptons": [ { "ml": 0.04, "angles": [ 0.5, -0.3 ] } ] },
    "D": { "mP": 0.790857, "leptons": [ { "ml": 0.02, "angles": [ 0.3, -0.3 ] } ] },
    "Ds": { "mP": 0.834754, "leptons": [ { "ml": 0.05, "angles": [ 0.8, -0.0 ] } ] }
  },
  "leptonDt": [ 1, 2 ],
  "sourceType": "wall",
  "sourceTimes": {
    "start": 0,
    "end": 4,
    "dt": 2
  },
  "tadpoles": [
    {
      "name": "lsse",
      "pathX": "tadpole/sealoop_ls_se_loop_GammaX.128",
      "pathY": "tadpole/sealoop_ls_se_loop_GammaY.128",
      "pathZ": "tadpole/sealoop_ls_se_loop_GammaZ.128",
      "pathT": "tadpole/sealoop_ls_se_loop_GammaT.128"
    }
  ],
  "flags": {
    "doQed": true,
    "doScalarInsertion": true,
    "doLeptonics": true,
    "doCharmed": true,
    "doTadpole": false,
    "doDiscMesonQed": false,
    "contractAllGammas": false,
    "saveEmField": true
  }
}

The top-level parameters are:

Key Meaning
setup, runId, dryRun Setup selection (see below), run label, and dry-run mode.
traj Inclusive start/end trajectory range and step.
geometry Lattice temporal extent nt and spatial extent nl.
qed Photon discretisation choice (L or r).
paths Results, result DB, gauge, gauge transform, and eigenpack locations.
charm Charm mass and solver residual.
kinematics Kinematic parameters for the leptonic decay.
leptonDt Temporal separations used for leptonic contractions.
sourceType, sourceTimes Source type and source-time range/stride.
tadpoles Names and four vector-component-loop file paths.
flags Feature switches controlling the contraction workflow.

The available setups are:

Key Meaning
debug A debug configuration .
unit-test A debug configuration.
unit-test-norand A debug configuration which loads a saved emField.
RBCUKQCD-C0ZMobiusLCD RBC/UKQCD C0 ensemble with ZMobius light quarks with Local Coherence deflation.
RBCUKQCD-C0MADWFLCD RBC/UKQCD C0 ensemble with Mobius light quarks with Local Coherence deflation via MADWF solves.
RBCUKQCD-C0LLCD RBC/UKQCD C0L ensemble with light quarks with Local Coherence deflation.
RBCUKQCD-M0LCD RBC/UKQCD M0 ensemble with light quarks with Local Coherence deflation.
RBCUKQCD-C1MIRL RBC/UKQCD C1M ensemble with online deflation of light quarks.
RBCUKQCD-C1M16IRL RBC/UKQCD C1M16 ensemble with online deflation of light quarks.
RBCUKQCD-C1M20IRL RBC/UKQCD C1M20 ensemble with online deflation of light quarks.
RBCUKQCD-C1M32IRL RBC/UKQCD C1M32 ensemble with online deflation of light quarks.
JLQCD-fUd3Sa JLQCD fUd3Sa ensemble with a fine lattice spacing.
JLQCD-fUd3Sa JLQCD mUd3Sa ensemble with a medium lattice spacing.
JLQCD-fUd3Sa JLQCD mUd3Sb ensemble with a medium lattice spacing.
JLQCD-fUd3Sa JLQCD cUd2Sa ensemble with a coarse lattice spacing.
JLQCD-fUd3Sa JLQCD cUd2SaL ensemble with a coarse lattice spacing.
JLQCD-fUd3Sa JLQCD cUd3Sa ensemble with a coarse lattice spacing.
JLQCD-fUd3Sa JLQCD cUd3Sb ensemble with a coarse lattice spacing.

Output and data format

The application result database contains the following tables. dataset columns contain the HDF5/Hadrons dataset path.

Table Columns (primary key in bold)
two_point meson, diagram, tSrc, source, sink, dataset
leptonic_decay meson, diagram, tSrc, dt, source, kinIndex, dataset
lepton_twist meson, tSrc, kinIndex, stochastic, dataset
kinematics meson, kinIndex, leptonMass, leptonMom, leptonVelocity, nl, targetPsMass
files type, tSrc; Hadrons metadata path entries

leptonic_decay.kinIndex and lepton_twist.kinIndex reference the matching row in kinematics. Hadrons data are written below paths such as two_point/two_point_tP<tP> and leptonic_decay/leptonic_decay_tP<tP>. If doQed and saveEmField are true, the generated field is saved below paths.results/emfield.