Implementation of new dynamical scales

A number of popular dynamical scale choices have been implemented and they can be used as templates for implementing a new scale. If the desired factorization or renormalization scale is not in this list, the user can easily add it as follows.

  1. One first looks into the interface subroutine Scales in the file utilities/scales.F90 to find out where to implement the new scales of the process at hand. For example, for the class of VBF or VBS processes (\(Hjj\), \(Vjj\), \(VVjj\)), the scales are calculated in the subroutine calcVBFscales, while it is calcVXjScales for diboson and triboson processes.
  2. One then implements the factorization and renormalization scales separately, e.g. in calcVBFscales. The new identification numbers for ID_MUF and ID_MUR must be different from the ones already used. A good practice is to use the same value for both scales. The factorization-scale implementation reads

    case(ID_MUF_NEW)
    do L=1,Lmax
    ...
    mufsq(1, L) = ...
    mufsq(2, L) = ...
    enddo

    where Lmax (already calculated by the program) is the number of different kinematic configurations, which is greater than unity when calculating the dipole-subtraction term at NLO; mufsq(1,L) is the square of the factorization scale for the first hadron, mufsq(2,L) is for the second hadron. Similarly, for the renormalization scale, we have

    case(ID_MUR_NEW)
    do L=1,Lmax
    ...
    mursq(1, L) = ...
    als(1, L) = ...
    als(2, L) = ...
    ...
    enddo

    where mursq(1,L) is the square of the renormalization scale, the calculation of the strong coupling constants als(i,L) is the same as for the already implemented cases. The values of mufsq(i,L), mursq(i,L) and als(i,L) are then transfered to other routines via the common block cscales in scales.inc.

  3. The utilities directory must be cleaned by using the make clean command before VBFNLO is remade and installed using the make and make install commands from the program directory. The new scales are then ready to be used by specifying the values of the identification numbers in vbfnlo.dat.

Dynamical scales are calculated from the momenta of the external-state particles. The following momenta are available and ready to be used

  • p(i,j,L): 4-momenta of the partons.
  • v(i,j,L): 4-momenta of all other particles (charged leptons, neutrinos, photons, ...). The particle_IDs(j) can be used to select the desired momentum, as it returns the particle identification code according to the Monte Carlo particle numbering scheme.
  • jets(i,j,L): array with the jet information (4-momenta, mass, \(p_T\), rapidity \(y\), azimuthal angle \(\phi\)).
  • leptons(i,j,L): array with the charged lepton information (4-momenta, mass, \(p_T\), rapidity \(y\), azimuthal angle \(\phi\)).
  • photons(i,j,L): array with the photon information (4-momenta, mass, \(p_T\), rapidity \(y\), azimuthal angle \(\phi\)).
The momenta here depend additionally on the index L marking the kinematic configurations. It is always a good practice to print out the value of an unknown variable to get more information about it.