How to implement a new dynamical scale choice

Created by Olivier Mattelaer
Keywords:
customization scale
Last updated by:
Olivier Mattelaer

Since 3.5.0:
1: You can prepare a file somewhere in your filesystem containing the fortran definition of your dynamical scale choice (see below for LO and NLO template)
2: You can pass the path to that file within the run_card.dat within the custom_fcts entry of the run_card (this entry expects a list of path)
3: You can select your new dynamical scale choice by setting the entry (of the run_card.dat) "dynamical_scale_choice" to "0"

###############
# LO TEMPLATE
###############

      double precision function user_dynamical_scale(P)
c allow to define your own dynamical scale, need to set dynamical_scale_choice to 0 (or 10) to use it
      implicit none
      include 'nexternal.inc'
      double precision P(0:3, nexternal)
c Commmon to have access to all variable defined in the run_card
      include 'genps.inc'
      include 'run.inc'

     user_dynamical_scale = 1.0 ! your scale definition here
      return
      end

###############
# NLO TEMPLATE
###############

      double precision function user_dynamical_scale(P)
c allow to define your own dynamical scale, need to set dynamical_scale_choice to 0 (or 10) to use it
      implicit none
      include 'nexternal.inc'
      double precision P(0:3, nexternal)
c This include file contains common blocks filled with the cuts defined
c in the run_card.dat (including custom set entry)
      include 'run.inc'

      character*80 temp_scale_id
      common/ctemp_scale_id/temp_scale_id
      user_dynamical_scale = 1.0 !enter your definition here
      temp_scale_id='custom scale' ! use a meaningful string
      return
      end