updfevolv is hosted by Hepforge, IPPP Durham
uPDFevolv manual

uPDFevolv is an evolution code for TMD parton densities using the CCFM evolution equation.

F. Hautmann
Dept. of Physics and Astronomy, University of Sussex,
Rutherford Appleton Laboratory, Dept. of Theoretical Physics,
University of Oxford, UK
H. Jung
DESY, Hamburg, FRG,
University of Antwerp, Belgium
S. Taheri Monfared
School of Particles and Accelerators, Institute for Research in Fundamental Sciences (IPM), Tehran, Iran

At high energies collisions of hadrons are described by parton densities dependent on the longitudinal momentum fraction $x$, the transverse momentum $k_t$ and the evolution scale $p$ (transverse momentum dependent (TMD) or unintegrated parton density functions (uPDF)). The evolution of the parton density with the scale $p$ valid at both small and moderate $x$ is given by the CCFM evolution equation

Theoretical Input

CCFM evolution equation and Transverse Momentum Dependent PDFs

QCD calculations of multiple-scale processes and complex final-states require in general transverse-momentum dependent (TMD), or unintegrated, parton density and parton decay functions[14],[2],[6],[5],[4],[38],[28],[27],[25],[23] . TMD factorization has been proven recently[14]} for inclusive and semi-inclusive deep-inelastic scattering (DIS). For special processes in hadron-hadron scattering, like heavy flavor or heavy boson (including Higgs) production, TMD factorization holds in the high-energy limit (small $x$)[11],[12],[26] .

In the framework of high-energy factorization[9],[11] the deep-inelastic scattering cross section can be written as a convolution in both longitudinal and transverse momenta of the TMD parton density function ${\cal A}\left(x,k_t,\mu\right)$ with off-shell partonic matrix elements, as follows

\[ \sigma_j ( x , Q^2 ) = \int_x^1 d z \int d^2k_t \ \hat{\sigma}_j( x , Q^2 , { z} , k_t ) \ {\cal A}\left( { z} ,k_t, p \right) \hspace*{0.3 cm} (1), \]

with the DIS cross sections $\sigma_j$ ( $j= 2 , L$) related to the structure functions $F_2$ and $F_L$ by $\sigma_j = 4 \pi^2 F_j / Q^2$. The hard-scattering kernels ${\hat \sigma}_j$ of Eq.(1) are $k_t$-dependent and the evolution of the transverse momentum dependent gluon density ${\cal A} $ is obtained by combining the resummation of small- $x$ logarithmic contributions[33],[18],[3] with medium- $x$ and large- $x$ contributions to parton splitting[20],[1],[17] according to the CCFM evolution equation[13],[10][36].

The factorization formula (1) allows one to resum logarithmically enhanced $ x \to 0 $ contributions to all orders in perturbation theory, both in the hard scattering coefficients and in the parton evolution, taking fully into account the dependence on the factorization scale $p$ and on the factorization scheme[8],[7].

The CCFM evolution equation[13],[10],[36] is an exclusive equation for final state partons and includes finite- $x $ contributions to parton splitting. It incorporates soft gluon coherence for any value of $x$.

Gluon distribution

The evolution equation for the TMD gluon density ${\cal A}(x,k_t,p)$, depending on $x$, $k_t$ and the evolution variable $p$, is

\begin{eqnarray*} {\cal A} ( x , k_t , p ) & = & {\cal A}_0 ( x , k_t , p ) + \int { \frac{dz}{z}} \int { \frac{ d q^2}{q^2}} \ \Theta (p - z q) \nonumber\\ & \times & \Delta_s (p , z q) P ( z, q, k_t) \ {\cal A} \left( \frac{x}{z} , k_t + (1-z) q, q \right) \hspace*{0.3 cm} (2) , \end{eqnarray*}

where $q$ is related to the angle and $\Theta$-function specifies the ordering condition of the evolution.

The first term in the right hand side of Eq.(2) is the contribution of the non-resolvable branchings between the starting scale $q_0$ and the evolution scale $p$, and is given by

\[ {\cal A}_0 ( x , k_t , p ) = {\cal A}_0 ( x , k_t , q_0 ) \ \Delta_s (p , q_0) \hspace*{0.3 cm} (3) , \]

where $\Delta_s$ is the Sudakov form factor, and ${\cal A}_0 ( x , k_t , q_0 )$ is the starting distribution at scale $q_0$. The integral term in the right hand side of Eq.(2) gives the k_t-dependent branchings in terms of the Sudakov form factor $\Delta_s$ and unintegrated splitting function $P$. The Sudakov form factor $\Delta_s$ is given by

\[ \Delta_s(p,q_0) =\exp{\left( - \int_{q_0^2} ^{p^2} \frac{d q^{2}}{q^{2}} \int_0^{1-q_0/q} dz \ \frac{{\bar \alpha}_s(q^2(1-z)^2)}{1-z} \right)} \hspace*{0.3 cm} (4), \]

with ${\overline \alpha}_s= C_A \alpha_s / \pi =3 \alpha_s / \pi$.

For application in Monte Carlo event generators, like CASCADE[31],[32], it is of advantage to write the CCFM evolution equation in differential form:

\[ p^2\frac{d\; }{d p^2} \frac{x {\cal A}(x,k_t,p)}{\Delta_s(p,q_0)}= \int dz \ \frac{d\phi}{2\pi}\, \frac{{P} (z,p/z,k_t)}{\Delta_s(p,q_0)}\, x'{\cal A}(x',k_t',p/z) , \]

where the splitting variable $x'$ is given by $x'=x/z$, ${k_t}' = q_t (1-z)/z + {k_t}$, and $\phi$ is the azimuthal angle of $q_t$.

For the evolution of the parton densities, however, a forward evolution approach, starting from the low scale $q_0$ towards the hard scale $p$, is used.

The splitting function $P_{gg}(z_i,q_i,k_{ti})$ for branching $i$ is given by[22] (set by Ipgg=1, ns=1 in uPDFevolv )

\begin{eqnarray*} P_{gg} (z_i,q_i,k_{ti}) & = & {\bar \alpha}_s(q^2_{i}(1-z_i)^2) \ \left( \frac{ 1 } {1-z_i} - 1 + \frac{ z_i (1 - z_i) } {2 } \right) \nonumber\\ & + & {\bar \alpha}_s(k^2_{ti}) \ \left( \frac{1}{ z_i} - 1 + \frac{ z_i (1 - z_i) }{ 2 } \right) \ \Delta_{ns}(z_i,q^2_{i},k^2_{ti}) \end{eqnarray*}

where $\Delta_{ns}$ is the non-Sudakov form factor defined by

\[ \log\Delta_{ns} = -{\bar \alpha}_s(k^2_{ti}) \int_0^1 dz' \left( \frac{1}{ z'} - 1 + \frac{ z'(1 - z') }{ 2 } \right) \int \frac{d q^2}{q^2} \Theta(k_{ti}-q)\Theta(q-z'q_{ti}). \]

In addition to the full splitting function, simplified versions are useful in applications and are made available. One uses only the singular parts of the splitting function (set by Ipgg=0, ns=0 in uPDFevolv ):

\begin{eqnarray*} P_{gg}(z,q,k_t ) & = & \frac{{\bar \alpha}_s(q^2)}{1-z} + \frac{{\bar \alpha}_s(k_t^2)}{z} \Delta_{ns}(z,q^2,k_t) \end{eqnarray*}


\[ \log\Delta_{ns} = -{\bar \alpha}_s(k^2_{ti}) \int_0^1 \frac{dz'}{ z'} \int \frac{d q^2}{q^2} \Theta(k_{ti}-q)\Theta(q-z'q_{ti}). \]

Another uses $\alpha_s(q^2)$ also for the small $z$ part (set by Ipgg=2, ns=2 in uPDFevolv ):

\begin{eqnarray*} P_{gg}(z,q,k_t ) & = & \frac{{\bar \alpha}_s(q^2)}{1-z} + \frac{{\bar \alpha}_s(q^2)}{z} \Delta_{ns}(z,q^2,k_t) \end{eqnarray*}


\[ \log\Delta_{ns} = - \int_0^1 \frac{dz'}{ z'} \int \frac{d q^2}{q^2} {\bar \alpha}_s(q^2) \Theta(k_{ti}-q)\Theta(q-z'q_{ti}). \]

In general a four-momentum ${\bf a}$ can be written in light-cone variables as ${\bf a}=(a^+, a^-, a_T)$ with $a^+ $ and $a^-$ being the light-cone components and $a_T$ being the transverse component. The CCFM (as well as the BFKL) evolution depends only on one of the light-cone components. Assuming that the other one can be neglected, this leads to the condition that the virtuality of the parton propagator $a^2 = 2 a^+ a^- -a_T^2$ should be dominated by the transverse component, while the contribution from the longitudinal components is required to be small. The condition that $a^+a^- = 0$ leads to the so-called consistency constraint, which has been implemented in different forms (set by Ikincut=1,2,3 in uPDFevolv )

\begin{eqnarray*} q_t^2 & < \frac{k_t^2}{z} & \mbox{LDC }\\ q_t^2 & < \frac{(1-z) k_t^2}{ z} & \\ k_t^{'\,2} & < \frac{k_t^2}{z} & \mbox{BFKL } \end{eqnarray*}

Valence Quarks

Using the method of[15],[16] valence quarks are included in the branching evolution at the transverse-momentum dependent level according to

\begin{eqnarray*} x{ Q_v} (x,k_t,p ) &=& x{ Q_v}_0 (x,k_t,p ) + \int \frac{dz }{z} \int \frac{d q^2}{ q^{2}} \Theta(p - zq) \nonumber\\ & \times& \Delta_s ( p , zq) P_{qq} (z, q , k_t) \ x{Q_v}\left(\frac{x}{z},k_t + (1-z) q , q \right) \;\; , \hspace{0.3cm} (4), \end{eqnarray*}

where $p$ is the evolution scale. The quark splitting function $P_{qq}$ is given by

\begin{eqnarray*} P_{qq} (z, q , k_t) &=& \frac{C_F}{2\pi} \alpha_s \left(q^2 (1-z)^2 \right) \frac{1+z^2}{1-z} \;\; . \hspace{0.3cm} (5), \end{eqnarray*}

In Eqs.~(4,5) the non-Sudakov form factor is not included, unlike the CCFM kernel given in the appendix~B of[10], because we only associate this factor with $1/z$ terms. The term $x{ Q_v}_0$ in Eq.~(4) is the contribution of the non-resolvable branchings between starting scale $q_0$ and evolution scale $p$, given by

\[ x{ Q_v}_0 (x,k_t,p ) = x{ Q_v}_0 (x,k_t,q_0 ) \Delta_s ( p , q_0) \;\; , \]

where $ \Delta_s$ is the Sudakov form factor.

Sea quarks

For a complete description of the final states also the contribution from sea-quarks needs to be included. We include splitting functions $P_{ab}$ according to

\begin{eqnarray*} P_{gg}(z) & = & {\bar \alpha}_s \left( { 1 \over {1-z_i}} - 1 + { { z_i (1 - z_i) } \over 2 } \right) + {\bar \alpha}_s \ \left( { 1 \over z_i} - 1 + { { z_i (1 - z_i) } \over 2 } \right) \ \Delta_{ns} \\ P_{qg}(z) & = &{\bar \alpha}_s \frac{1}{4 C_A} \left( z^2 + (1-z)^2 \right) \\ P_{gq}(z) & = & {\bar \alpha}_s \frac{C_F}{2C_A} \left( \frac{1 + (1-z)^2}{z}\right)\\ P_{qq}(z) & = & {\bar \alpha}_s \frac{C_F}{2C_A} \left( \frac{1+z^2}{1-z}\right) \end{eqnarray*}

with ${\bar \alpha}_s=C_A \alpha_s / \pi $, $C_A=3$ and $C_F=4/3$.

The $g\to q\bar{q}$ splitting has been calculated in a k_t - factorized form in[8],

\begin{eqnarray*} P_{qg}( z, {\tilde q}, k_t) & = &{\bar \alpha}_s \frac{1}{4 C_A} \left[ \frac{{\tilde q}^2}{{\tilde q}^2 + z(1-z)\ k_t^2}\right]^2 \left( z^2 + (1-z)^2 + 4 z^2 (1-z)^2 \ \frac{k_t^2}{{\tilde q }^2} \right) \end{eqnarray*}

with ${\tilde q} = q - zk_t $, and $q (k_t)$ being the transverse momentum of the quark (gluon).

The evolution equation for the TMD sea-quark density ${\cal S}(x,k_t,p)$, depending on $x$, $k_t$ and the evolution variable $p$, is

\begin{eqnarray*} {\cal S} ( x , k_t , p ) & = & {\cal S}_0 ( x , k_t , p ) \nonumber \\ & + & \int { {dz} \over z} \int { { d q^2} \over q^2} \ \Theta (p - z q) \ \Delta_s (p , z q) P_{qg} ( z, q, k_t) \ {\cal A} \left( { x \over z} , k_t + (1-z) q, q \right) \nonumber \\ & + & \int { {dz} \over z} \int { { d q^2} \over q^2} \ \Theta (p - z q) \Delta_s (p , z q) P_{qq} ( z, q, k_t) \ {\cal S} \left( { x \over z} , k_t + (1-z) q, q \right) \hspace{0.3cm} (6), \end{eqnarray*}

where $ {\cal S}_0 ( x , k_t , p )$ is the non-resolvable branching probability similar to Eqs.(3).

The evolution of the TMD gluon density including the contribution from quarks is given by

\begin{eqnarray*} {\cal A} ( x , k_t , p ) & = & {\cal A}_0 ( x , k_t , p ) \nonumber \\ & + & \int { {dz} \over z} \int { { d q^2} \over q^2} \ \Theta (p - z q) \Delta_s (p , z q) P_{gg} ( z, q, k_t) \ {\cal A} \left( { x \over z} , k_t + (1-z) q, q \right) \nonumber \\ & + & \int { {dz} \over z} \int { { d q^2} \over q^2} \ \Theta (p - z q) \Delta_s (p , z q) P_{gq} ( z, q, k_t) \ {\cal S} \left( { x \over z} , k_t + (1-z) q, q \right) \hspace{0.3cm} (7). \end{eqnarray*}

Monte Carlo solution of the CCFM evolution equations

The evolution equations Eqs.(6,7) are integral equations of the Fredholm type

\[ f(x) = f_0(x) + \lambda \int_a^b K(x,y) f(y) dy \]

and can be solved by iteration as a Neumann series

\begin{eqnarray*} f_1(x) & = & f_0(x) + \lambda \int_a^b K(x,y) f_0(y) dy \nonumber \\ f_2(x) & = & f_0(x) + \lambda \int_a^b K(x,y_1) f_0(y_1) dy_1 + \lambda^2 \int_a^b \int_a^b K(x,y_1) K(y_1,y_2)f_0(y_2) dy_2 dy_1\nonumber \\ \cdots \end{eqnarray*}

using the kernel $K(x,y)$, with the solution

\[ f(x) = \lim_{n\to \infty} \sum_{i=0}^n f_i(x) . \]

Applying this to the evolution equations Eqs.(6,7), we identify $f_0$ with the first term in eqs.(7), where we use for simplicity here and in the following $\Delta_s(p)=\Delta_s(p,q_0)$:

\begin{eqnarray*} {\cal A}_0(x,k_t,p) & = & {\cal A}_0 ( x , k_t ) \Delta_s(p) . \end{eqnarray*}

The first iteration involves one branching:

\begin{eqnarray} {\cal A}_1(x,k_t,p) & = & {\cal A}_0 ( x , k_t ) \Delta_s(p) \nonumber \\ & & + \int_x^1 \frac{dz'}{z'} \int_{q_0}^p \frac{dq'^{2}}{q'^{2}} { \Theta (p - z' q') \frac{\Delta_s(p)}{\Delta_s(zq')}} \tilde{P}(z') { {\cal A}_0(x/z',k_t',q') } . \end{eqnarray}

The second iteration involves two branchings,

\begin{eqnarray*} {\cal A}_2(x,k_t,p) & = & {\cal A}_0 ( x , k_t ) \Delta(p) \nonumber \\ & & + \ \int_x^1 \frac{dz'}{z'} \int_{q_0}^p \frac{dq'^{2}}{q'^{2}} \Theta (p - z' q') \frac{\Delta(p)}{\Delta(q')} \tilde{P}(z') { {\cal A}_1(x/z',k_t',q') } \nonumber \\ & = & {\cal A}_0 ( x , k_t ) \Delta(p) + \frac{\alpha_s}{2\pi} \int_x^1 \frac{dz'}{z'} \int_{q_0}^p \frac{dq'^2}{q'^2} \Theta (p - z' q') \frac{\Delta_s(p)}{\Delta_s(zq')} \tilde{P}(z') { {\cal A}_0(x/z',k_t',q') } \nonumber \\ & & + \ \left(\frac{\alpha_s}{2\pi}\right)^2 \int_x^1 \frac{dz'}{z' } \int_{q_0}^p \frac{dq'^2}{q'^2} \Theta (p - z' q') \frac{\Delta_s(p)}{\Delta_s(z'q')} \tilde{P}(z') \nonumber \\ & & \times \ \int_x^1 \frac{dz''}{z''} \int_{q_0}^p \frac{dq''}{q''} \Theta (p - z'' q'') \frac{\Delta_s(p)}{\Delta_s(z''q'')} \tilde{P}(z'') { {\cal A}_0(z''/z',k_t'',q'') } , \\ {\cal A}_3(x,k_t,p) & = & \cdots \nonumber \\ \vdots \end{eqnarray*}

In a Monte Carlo (MC) solution[34],[35] we evolve from $q_0$ to a value $q'$ obtained from the Sudakov factor $\Delta_s(q',q_0)$. Note that the Sudakov factor $\Delta_s(q',q_0)$ gives the probability for evolving from $q_0$ to $q'$ without resolvable branching. The value $q'$ is obtained from solving for $q'$:

\begin{eqnarray*} R & = \Delta_s(q',q_0) , \end{eqnarray*}

for a random number $R$ in $[0,1]$.

If $q' > p$ then the scale $p$ is reached and the evolution is stopped, and we are left with just the first term without any resolvable branching. If $q'<p$ then we generate a branching at $q'$ according to the splitting function $\tilde{P}(z') $, as described below, and continue the evolution using the Sudakov factor $\Delta_s(q'',q')$. If $q'' > p$ the evolution is stopped and we are left with just one resolvable branching at $q'$. If $q''<p$ we continue the evolution as described above. This procedure is repeated until we generate $q>p$. By this procedure we sum all kinematically allowed contributions in the series $\sum f_i(x,p)$ and obtain an MC estimate of the parton distribution function.

With the Sudakov factor $\Delta_s$ and using

\begin{eqnarray*} \frac{\partial}{\partial q'^2}\Delta_s(p,zq') = \frac{\partial}{\partial q'^2} \frac{\Delta_s(p)}{\Delta_s(zq')} &=& \frac{\Delta_s(p)}{\Delta_s(zq')} \left[\frac{1}{q'^2}\right] \int^{z_{max}} d z \tilde{P}(z) , \end{eqnarray*}

we can write the first iteration of the evolution equation as

\begin{eqnarray*} {\cal A}_1(x,k_t,p) & = & {\cal A}_0 ( x , k_t, p ) \nonumber \\ & + & \int_x^1 \frac{dz'}{z'} \int_{q_0}^p d\Delta_s(p,z'q') \tilde{P}(z') { {\cal A}_0(x/z',k_t',q') } \left[{\int^{z_{max}} d z \tilde{P}(z) } \right]^{-1} . \end{eqnarray*}

The integrals can be solved by a Monte Carlo method[29] : $z$ is generated from

\begin{eqnarray*} \int_{z_{min}}^z dz'\tilde{P}(z') & = & R_1 \int_{z_{min}}^{z_{max}} dz' \tilde{P}(z') , \label{MC2} \end{eqnarray*}

with $R_1$ being a random number in $[0,1]$, and $q'$ is generated from

\begin{eqnarray*} R_2 &=& \int_{-\infty}^x f(x')dx' = F(x) \nonumber \\ & = & \int_{zq}^p \frac{\partial}{\partial q'^2} \left(\frac{\Delta_s(p)}{\Delta_s(zq')} \right) dq'^2 \nonumber\\ & = & \Delta_s(p,zq') \label{MC1} \end{eqnarray*}

solving for $q'$, using $z$ from above and another random number $R_2$ in [0,1].

This completes the calculation on the first splitting. This procedure is repeated until $q'>p$ and the evolution is stopped.

With $z'$ and $q'$ selected according to the above the first iteration of the evolution equation yields

\begin{eqnarray*} x {\cal A}_1(x,k_t,p) & = & x{\cal A}_0 ( x , k_t ) \Delta_s(p) \nonumber \\ & + & \sum_i \tilde{P}(z'_i) { x'_i{\cal A}_0(x'_i,k'_{t\i},q'_i) } \left[{\int^{z_{max}} d z \tilde{P}(z) } \right]^{-1} , \end{eqnarray*}

with $x'_i=x/z_i$.

Normalisation of gluon and quark distributions

The valence quark densities are normalised so that they fulfil for every $p$ the flavor sum rule.

The gluon and sea quark densities are normalised so that for every $p$

\begin{eqnarray*} \int_0^1 dx \int_0^\infty d k_t^2 x{\cal A}(x,k_t,q_0) & = & \int_0^1 dx \int_0^\infty d k_t^2 \left( x{\cal A}(x,k_t,p) + x{\cal S}(x,k_t,p) \right). \end{eqnarray*}

Computational Techniques: CCFM Grid

When using the CCFM evolution in a fit program to determine the starting distribution ${\cal A}_0 (x)$, a full MC solution[34],[35] is no longer suitable, since it is time consuming and suffers from numerical fluctuations. Instead a convolution method introduced in[30][24] is used. The kernel $ \tilde {\cal A}\left(x'',k_t,p\right) $ is determined once from the Monte Carlo solution of the CCFM evolution equation, and then folded with the non-perturbative starting distribution ${\cal A}_0 (x)$,

\begin{eqnarray*} x {\cal A}(x,k_t,p) &= &x\int dx' \int dx'' {\cal A}_0 (x') \tilde{\cal A}\left(x'',k_t,p\right) \delta(x' x'' - x) \nonumber \\ & = & \int dx' {{\cal A}_0 (x') } \cdot \frac{x}{x'} \ { \tilde{\cal A}\left(\frac{x}{x'},k_t,p\right) } . \end{eqnarray*}

The kernel $\tilde{\cal A}$ incorporates all of the dynamics of the evolution, including Sudakov form factors and splitting functions. It is determined on a grid of $50\otimes50\otimes50$ bins in $ x, k_t, p$. The binning in the grid is logarithmic, except for the longitudinal variable $x$ where we use 40 bins in logarithmic spacing below 0.1, and 10 bins in linear spacing above 0.1.

Using this method, the complete coupled evolution of gluon and sea quarks is more complicated, since it is no longer a simple convolution of the kernel with the starting distribution. To simplify the approach, here we allow only for one species of partons at the starting scale, either gluons or sea-quarks. During evolution the other species will be generated. This approach, while convenient for QCD fits, has the feature that sea-quarks, in the case of gluons only at $q_0$, are generated with perturbative transverse momenta ( $k_t > k_{t\ cut}$), without contribution from the soft (non-perturbative) region.

Functional Forms for starting distribution

Standard parameterisation

For the starting distribution ${\cal A}_0$, at the starting scale $q_0$, the following form is used:

\begin{eqnarray*} x{\cal A}_0(x,k_t,q_{0}) = A_1 x^{-A_2} \cdot (1 -x)^{A_3}\left( 1 -A_4 x +A_5 \sqrt{x} +A_6 x^2 \right) \exp[ - k_t^2 / \sigma^2 ] \;\; , \label{a0-5par} \end{eqnarray*}

with $ \sigma^2 = q_{0}^2 / 2 $ and free parameters $A_1, \dots, A_6 $.

Valence quarks are treated using the method of[15],[16],[24] with starting distributions at scale $q_{0}$ parameterized using standard collinear pdfs (set by Ipdf in uPDFevolv ) as

\[ x{ Q_v}_0 (x,k_t,q_{0} ) = x{ Q_v}_{\rm{coll. pdf}} (x,q_{0} ) \ \exp[ - k_t^2 / \sigma^2 ] \;\; . \label{gauss} \]

with $ \sigma^2 = q_{0}^2 / 2 $. At every scale $p$ the flavor sum rule is fulfilled for valence quarks.

Saturation ansatz

A saturation ansatz for the starting distribution ${\cal A}_0$ at scale $q_0$ is available, following the parameterisation of the saturation model by Eq.(18) of[19],

\begin{eqnarray} x {\cal A}_{sat} = \frac{1}{\alpha_s} \frac{3 \sigma_0}{4 \pi^2} R_0^2(x)k_t^2 \exp{\left( -R_0^2(x) k_t^2 \right)} , \end{eqnarray}

with $R_0^2(x) = (x/x_0)^\lambda$. The free parameters are $\sigma_0 = A_2$, $\lambda = A_3$, $x_0 = A_4$ and $\alpha_s=A_5$. In order to be able to use this type of parameterisation over the full $x$ range, an additional factor of $(1-x)^{A_6}$ (see[21]) is applied.

Plotting TMDs

A simple plot program is included in the package. For a graphical web interface use TMDplotter[37].

Program Installation

uPDFevolv follows the standard AUTOMAKE convention. To install the program, do the following

Get the source

tar xvfz uPDFevolv-XXXX.tar.gz
cd uPDFevolv-XXXX

Generate the Makefiles


Compile the binary


make install

The executable is in bin

run it with:

bin/updf_evolve < steer_gluon-JH-2013-set2

plot the result with:



We are very grateful to Bryan Webber for careful reading of the manuscript and clarifying comments.

Subroutines and functions

  • routines:
    • sminit to initialise
    • sminfn to generate starting distributions in $x$ and $k_t$
    • smbran to simulate perturbative branchings
    • splittgg to generate $g\to g g$ splitting via $P_{gg}$
    • splittgq to generate $g \to q q$ splitting via $P_{gq}$
    • splittqg to generate $q \to g q $ splitting via $P_{qq}$
    • splittqq to generate $q \to q g $ splitting via $P_{qq}$
    • szvalnew to calculate $z$ values for $g\to gg$ splitting
    • smqtem to generate $t$ from the corresponding Sudakov factor
    • updfgrid to build, fill and normalise the updf grid.
    • asbmy(kt) to calculate $\frac{ C_A } { \pi}\alpha_s(k_t)$
  • Utility routines:
    • evolve tmd Main routine to perform CCFM evolution
    • updfread example program to read and plot the results
    • gadap 1-dimensional Gauss integration routine
    • gadap2 2-dimensional Gauss integration routine
    • divdif linear interpolation routine (CERNLIB)
    • ranlux Random number generator RANLUX (CERNLIB)