## Creating new cuts

New cuts can be implemented easily in VBFNLO by modifying the file utilities/cuts.F.

• In the subroutine InitCuts read the value of the cut from the input file cuts.dat using
       call read_real ("CUT_NAME",cutvalue,defaultvalue)

• CUT_NAME = name of the cut (e.g. MTW_MIN), as written in the input file cuts.dat
• cutvalue = variable storing the value of the cut (e.g. mtwmin)
• defaultvalue = sets the default value of the cut, in case VBFNLO cannot read the input value (e.g. 50d0)
1. Note that this step is not strictly necessary, but it will make setting and changing the value of the cut much simpler. It is possible to skip this step and the next step and use a hardwired cut value in the BasicCuts function
2. If the value of the cut is not a real number, the call to read_real should be replaced by (the arguments of the subroutine call do not change):
• logical value : read_logical
• integer value : read_Int
• list of real values : read_RealList
• list of integer values : read_IntList
• Declare the cut variable (e.g. mtwmin) in the file utilities/cut.inc. Remember to add the cut value to the common block basic_cuts
• In the function BasicCuts calculate the value of the quantity on which to cut (e.g. mtw)
• Add the cut condition to the logical value pass_cuts as follows
       pass_cuts = pass_cuts .and. (value .gt. cutvalue)

• value = calculated value of the cut parameter (e.g. mtw)
• Of course, if the cut specifies the maximum value of a quantity, gt should be lt etc.

Note that, as a .inc file has been modified, the utilities directory must be cleaned (using the make clean command) before VBFNLO is re-made and installed (using the make all install command)

Information about the final state particles is stored in the arrays jets, leptons, invisible (neutrinos) and photons. The entries are as follows

• jets(i,j) : information about the jets is stored here, entries are $p_{T}$-ordered
• j = jet number
• i = 0-3 = 4-momentum
• i = 4 = mass
• i = 5 = transverse momentum $p_{T}$
• i = 6 = rapidity $y$
• i = 7 = azimuthal angle $\phi$
• leptons(i,j) : information about the charged leptons is stored here
• j = lepton number
• i = 0-3 = 4-momentum
• i = 4 = mass (all leptons are treated as massless, i.e. this entry is always equal to zero)
• i = 5 = transverse momentum $p_{T}$
• i = 6 = rapidity $y$
• i = 7 = azimuthal angle $\phi$
• i = 8 = lepton ID (i.e. PDG particle number)
• invisible(i,j) : information about the invisible particles (i.e. neutrinos) is stored here
• j = neutrino number
• i = 0-3 = 4-momentum
• i = 4 = mass
• i = 5 = transverse momentum $p_{T}$
• i = 6 = rapidity $y$
• i = 7 = azimuthal angle $\phi$
• i = 8 = neutrino ID (i.e. PDG particle number)
• photons(i,j) : information about the photons is stored here
• j = photon number
• i = 0-3 = 4-momentum
• i = 4 = mass
• i = 5 = transverse momentum $p_{T}$
• i = 6 = rapidity $y$
• i = 7 = azimuthal angle $\phi$