yadism.coefficient_functions.light package

The coefficient functions definition is given in 4.2, [VVM05] (that is the main reference for their expression, i.e. all the formulas in this module) (the same of 1 in [MVV05]). The main reference for their expression is [MVV05].

Scale varitions main reference is [vNV00] and [vNV01].

Scale variations main reference is [MV00].

Note

  • Check the theory reference for details on Scale Variations

  • The source files (available in fortran) follow the notations in [MVV09] where the odd-N moments are called minus even if they correspond to \(\nu + \bar{\nu}\). This convention is changed in [DVMV16] where the complete N3LO CC results are presented for the first time. Referred equations are not always in agreement with the code conventions.

The code follows the notation:

F3:
  • odd N: \(\nu + \bar{\nu}\), \(c_{ns,-}\) common for CC and NC (up to N3LO).

  • even N: \(\nu - \bar{\nu}\), \(c_{ns,+} = \delta + c_{ns,-}\) only for CC.

  • In \(c_{ns,+}\) the term fl02 has to be turned off for CC.

F2, FL:
  • odd N: \(\nu - \bar{\nu}\), \(c_{ns,-} = - \delta + c_{ns,+}\) only for CC.

  • even N: \(\nu + \bar{\nu}\), \(c_{ns,+}\) common for CC and NC (up to N3LO).

  • The term fl11 has to be turned off for CC.

Subpackages

Submodules

yadism.coefficient_functions.light.f2_cc module

class yadism.coefficient_functions.light.f2_cc.Gluon(ESF, nf)[source]

Bases: Gluon

__annotations__ = {}
class yadism.coefficient_functions.light.f2_cc.NonSingletEven(ESF, nf)[source]

Bases: NonSinglet

__annotations__ = {}
class yadism.coefficient_functions.light.f2_cc.NonSingletOdd(ESF, nf)[source]

Bases: NonSinglet

N3LO()[source]

Reference: implements the difference between 2.9, and 3.6, [DVMV16]

NNLO()[source]

Reference: implements 2.9, [MRV08].

__annotations__ = {}
class yadism.coefficient_functions.light.f2_cc.Singlet(ESF, nf)[source]

Bases: Singlet

__annotations__ = {}

yadism.coefficient_functions.light.f2_nc module

class yadism.coefficient_functions.light.f2_nc.Gluon(ESF, nf)[source]

Bases: LightBase

N3LO()[source]

Reference: implements the flavor class \(fl_{2}\) of 4.13, [VVM05].

NLO()[source]

Reference: implements 4.4, [VVM05].

Note

2 * n_f is coming from momentum sum rule q_i -> {q_i, g} but g -> {g, q_i, bar{q_i} forall i}, so the 2 * n_f is needed to compensate for all the number of flavours plus antiflavours in which the gluon can go.

NNLO()[source]

Reference: implements 4.10, [VVM05].

__annotations__ = {}
class yadism.coefficient_functions.light.f2_nc.GluonFL11(ESF, nf)[source]

Bases: LightBase

Gluon flavor class \(fl_{11}\).

N3LO()[source]

Reference: implements the flavor class \(fl_{11}\) of 4.13, [VVM05].

__annotations__ = {}
class yadism.coefficient_functions.light.f2_nc.NonSinglet(ESF, nf)[source]

Bases: LightBase

static LO()[source]

Reference: implements 4.2, [VVM05].

N3LO()[source]

Reference: implements the flavor class \(fl_{2}\) of 4.11, [VVM05].

static NLO()[source]

Reference: implements 4.3, [VVM05].

NNLO()[source]

Reference: implements 4.8, [VVM05].

__annotations__ = {}
class yadism.coefficient_functions.light.f2_nc.QuarkFL11(ESF, nf)[source]

Bases: LightBase

Quark flavor class \(fl_{11}\).

N3LO()[source]

Reference: implements the flavor class \(fl_{11}\) of 4.12, [VVM05].

__annotations__ = {}
class yadism.coefficient_functions.light.f2_nc.Singlet(ESF, nf)[source]

Bases: LightBase

N3LO()[source]

Reference: implements the flavor class \(fl_{2}\) of 4.12, [VVM05].

NNLO()[source]

Reference: implements 4.9, [VVM05].

__annotations__ = {}

yadism.coefficient_functions.light.f3_cc module

Note that the source files (given in fortran) follow the notations in [MVV09] where the odd-N moments are called minus even if they correspond to :math:` u + ar{ u}`, while even-N moments are called plus even if they correspond to :math:` u - ar{ u}`. This convention is changed in [DVMV16] where the N3LO CC results are presented for the first time.

class yadism.coefficient_functions.light.f3_cc.Gluon(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.f3_cc.NonSingletEven(ESF, nf)[source]

Bases: NonSinglet

N3LO()[source]

Reference: implements the sum between 2.11 and 3.8, [DVMV16].

NNLO()[source]

Reference: implements the sum between 2.8 and 3.5, [DVMV16].

__annotations__ = {}
class yadism.coefficient_functions.light.f3_cc.NonSingletOdd(ESF, nf)[source]

Bases: NonSinglet

__annotations__ = {}
class yadism.coefficient_functions.light.f3_cc.Singlet(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.f3_cc.Valence(ESF, nf)[source]

Bases: Valence

__annotations__ = {}

yadism.coefficient_functions.light.f3_nc module

See f3_cc docstring for the name conventions.

class yadism.coefficient_functions.light.f3_nc.Gluon(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.f3_nc.NonSinglet(ESF, nf)[source]

Bases: NonSinglet

N3LO()[source]

Reference: implements 3.7 [MVV09], or 2.11 [DVMV16].

static NLO()[source]

Reference: implements 155, [MV00].

NNLO()[source]

Reference: implements 3.6 [MVV09], or 208, [MV00], or 2.8 [DVMV16].

__annotations__ = {}
class yadism.coefficient_functions.light.f3_nc.Singlet(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.f3_nc.Valence(ESF, nf)[source]

Bases: LightBase

N3LO()[source]

Part proportional to \(fl_{02}\) of 2.11 [DVMV16].

__annotations__ = {}

yadism.coefficient_functions.light.fl_cc module

class yadism.coefficient_functions.light.fl_cc.Gluon(ESF, nf)[source]

Bases: Gluon

__annotations__ = {}
class yadism.coefficient_functions.light.fl_cc.NonSingletEven(ESF, nf)[source]

Bases: NonSinglet

__annotations__ = {}
class yadism.coefficient_functions.light.fl_cc.NonSingletOdd(ESF, nf)[source]

Bases: NonSinglet

N3LO()[source]

Reference: implements the difference between 2.10, and 3.7, [DVMV16]

NNLO()[source]

Reference: implements 2.9, [MRV08].

__annotations__ = {}
class yadism.coefficient_functions.light.fl_cc.Singlet(ESF, nf)[source]

Bases: Singlet

__annotations__ = {}

yadism.coefficient_functions.light.fl_nc module

class yadism.coefficient_functions.light.fl_nc.Gluon(ESF, nf)[source]

Bases: LightBase

N3LO()[source]

Reference: implements the flavor class \(fl_{2}\) of 10, [MVV05].

NLO()[source]

Reference: implements 3, [MVV05].

NNLO()[source]

Reference: implements 6, [MVV05].

__annotations__ = {}
class yadism.coefficient_functions.light.fl_nc.GluonFL11(ESF, nf)[source]

Bases: LightBase

Gluon flavor class \(fl_{11}\).

N3LO()[source]

Reference: implements the flavor class \(fl_{11}\) of 10, [MVV05].

__annotations__ = {}
class yadism.coefficient_functions.light.fl_nc.NonSinglet(ESF, nf)[source]

Bases: LightBase

N3LO()[source]

Reference: implements the flavor class \(fl_{2}\) of 8, [MVV05].

static NLO()[source]

Reference: implements 3, [MVV05].

NNLO()[source]

Reference: implements 4, [MVV05].

__annotations__ = {}
class yadism.coefficient_functions.light.fl_nc.QuarkFL11(ESF, nf)[source]

Bases: LightBase

Quark flavor class \(fl_{11}\).

N3LO()[source]

Reference: implements the flavor class \(fl_{11}\) of 9, [MVV05].

__annotations__ = {}
class yadism.coefficient_functions.light.fl_nc.Singlet(ESF, nf)[source]

Bases: LightBase

N3LO()[source]

Reference: implements the flavor class \(fl_{2}\) of 9, [MVV05].

NNLO()[source]

Reference: implements 5, [MVV05].

__annotations__ = {}

yadism.coefficient_functions.light.g1_nc module

class yadism.coefficient_functions.light.g1_nc.Gluon(ESF, nf)[source]

Bases: LightBase

NLO()[source]

Reference: implements NLO-part of A.5, [ZvN94]. For a simpler expression, refer also to 9 of [dFS95].

Note

2 * n_f is coming from momentum sum rule q_i -> {q_i, g} but g -> {g, q_i, bar{q_i} forall i}, so the 2 * n_f is needed to compensate for all the number of flavours plus antiflavours in which the gluon can go.

NNLO()[source]

Reference: implements NNLO massless contribution of A.5, [ZvN94].

__annotations__ = {}
class yadism.coefficient_functions.light.g1_nc.NonSinglet(ESF, nf)[source]

Bases: LightBase

static LO()[source]

Reference: implements LO-part of A.1, [ZvN94].

static NLO()[source]

Reference: implements the equivalence relation between \(g_1\) and \(F_3\) as explained in A.19 (and paragraph below) of [BdFP22]. For the explicit expressions, refer to A.1 of [ZvN94] and 15 of [dFS95].

NNLO()[source]

Reference: implements the equivalence relation between \(g_1\) and \(F_3\) as explained in A.19 (and paragraph below) of [BdFP22]. For the explicit expressions, refer to A.1 of [ZvN94] and 15 of [dFS95].

__annotations__ = {}
class yadism.coefficient_functions.light.g1_nc.Singlet(ESF, nf)[source]

Bases: LightBase

NNLO()[source]

Reference: implements NNLO massless contribution of A.4, [ZvN94].

__annotations__ = {}

yadism.coefficient_functions.light.g4_nc module

class yadism.coefficient_functions.light.g4_nc.Gluon(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.g4_nc.NonSinglet(ESF, nf)[source]

Bases: LightBase

static LO()[source]

Reference: Eq. (19) of [BdFP22].

static NLO()[source]

Reference: Eq. (19) of [BdFP22].

NNLO()[source]

Reference: Eq. (19) of [BdFP22].

__annotations__ = {}
class yadism.coefficient_functions.light.g4_nc.Singlet(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.g4_nc.Valence(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}

yadism.coefficient_functions.light.gl_nc module

class yadism.coefficient_functions.light.gl_nc.Gluon(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.gl_nc.NonSinglet(ESF, nf)[source]

Bases: LightBase

static NLO()[source]

Reference: implements NLO-part of A.1, [ZvN94].

NNLO()[source]

Reference: implements 19, [BdFP22].

__annotations__ = {}
class yadism.coefficient_functions.light.gl_nc.Singlet(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}
class yadism.coefficient_functions.light.gl_nc.Valence(*args, **_kwargs)[source]

Bases: EmptyPartonicChannel

__annotations__ = {}

yadism.coefficient_functions.light.kernels module

yadism.coefficient_functions.light.kernels.generate(esf, nf)[source]

Collect the light coefficient functions

Parameters:
Returns:

elems – list of elements

Return type:

list(yadism.kernels.Kernel)

yadism.coefficient_functions.light.kernels.import_pc_module(kind, process)[source]
yadism.coefficient_functions.light.kernels.nc_fl11_weights(coupling_constants, Q2, nf, skip_heavylight=False)[source]

Compute the NC weights for the flavor class \(fl_{11}\).

For the time being we don’t have such diagrams for parity violating structure functions.

Parameters:
  • coupling_constants (CouplingConstants) – manager for coupling constants

  • Q2 (float) – W virtuality

  • nf (int) – number of light flavors

  • skip_heavylight (bool) – prevent the last quark to couple to the boson

Returns:

weights – mapping pid -> weight for ns, g and s channel

Return type:

dict

yadism.coefficient_functions.light.kernels.nc_weights(coupling_constants, Q2, nf, is_pv, skip_heavylight=False)[source]

Compute light NC weights.

Parameters:
  • coupling_constants (CouplingConstants) – manager for coupling constants

  • Q2 (float) – W virtuality

  • nf (int) – number of light flavors

  • is_pv (bool) – True if observable violates parity conservation

  • skip_heavylight (bool) – prevent the last quark to couple to the boson

Returns:

weights – mapping pid -> weight for ns, g and s channel

Return type:

dict

yadism.coefficient_functions.light.partonic_channel module

class yadism.coefficient_functions.light.partonic_channel.LightBase(ESF, nf)[source]

Bases: PartonicChannel

Light partonic channel base class.

__annotations__ = {}