Source code for yadism.coefficient_functions.light.g1_nc

from ..partonic_channel import RSL
from . import nlo, nnlo
from . import partonic_channel as pc


[docs] class NonSinglet(pc.LightBase):
[docs] @staticmethod def LO(): """ |ref| implements LO-part of :eqref:`A.1`, :cite:`Zijlstra-light-nnlo-pol`. """ # leading order is just a delta function return RSL.from_delta(1.0)
[docs] @staticmethod def NLO(): """ |ref| implements the equivalence relation between :math:`g_1` and :math:`F_3` as explained in :eqref:`A.19` (and paragraph below) of :cite:`Borsa-light-nnlo-pol`. For the explicit expressions, refer to :eqref:`A.1` of :cite:`Zijlstra-light-nnlo-pol` and :eqref:`15` of :cite:`deFlorian-light-nlo-pol`. """ return RSL.from_distr_coeffs( nlo.g1.ns_reg, (nlo.g1.ns_delta, nlo.g1.ns_omx, nlo.g1.ns_logomx) )
[docs] def NNLO(self): """ |ref| implements the equivalence relation between :math:`g_1` and :math:`F_3` as explained in :eqref:`A.19` (and paragraph below) of :cite:`Borsa-light-nnlo-pol`. For the explicit expressions, refer to :eqref:`A.1` of :cite:`Zijlstra-light-nnlo-pol` and :eqref:`15` of :cite:`deFlorian-light-nlo-pol`. """ return RSL( nnlo.xc3ns2p.c3nm2a, nnlo.xc3ns2p.c3ns2b, nnlo.xc3ns2p.c3nm2c, [self.nf] )
[docs] class Gluon(pc.LightBase):
[docs] def NLO(self): r""" |ref| implements NLO-part of :eqref:`A.5`, :cite:`Zijlstra-light-nnlo-pol`. For a simpler expression, refer also to :eqref:`9` of :cite:`deFlorian-light-nlo-pol`. 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. """ return RSL(nlo.g1.gluon_reg, args=[self.nf])
[docs] def NNLO(self): """ |ref| implements |NNLO| massless contribution of :eqref:`A.5`, :cite:`Zijlstra-light-nnlo-pol`. Note ---- The actual implementation is taken from Apfel++ :cite:`Bertone:2017gds`:, see also: https://github.com/vbertone/apfelxx/blob/master/src/structurefunctions/zeromasscoefficientfunctionspol_sl.cc """ return RSL(nnlo.g1.gluon_reg, args=[self.nf])
[docs] class Singlet(pc.LightBase):
[docs] def NNLO(self): """ |ref| implements |NNLO| massless contribution of :eqref:`A.4`, :cite:`Zijlstra-light-nnlo-pol`. Note ---- The actual implementation is taken from Apfel++ :cite:`Bertone:2017gds`:, see also: https://github.com/vbertone/apfelxx/blob/master/src/structurefunctions/zeromasscoefficientfunctionspol_sl.cc """ return RSL(nnlo.g1.singlet_reg, args=[self.nf])