New cuts can be implemented easily in VBFNLO by modifying the file utilities/cuts.F (called cuts.F for short) and related files as follows.
call read_real("CUTNAME",CutValue,DefaultValue)
where CUTNAME
is the name of the cut (e.g.
MTW_MIN
), as written in the input file
cuts.dat; CutValue
is the internal
variable storing the value of the cut (e.g.
MtwMin
); DefaultValue
is the default
value of the cut, in case the input value is not specified in
the cuts.dat (e.g. 50d0
). The new variable
CutValue
must be declared in the file
utilities/cuts.inc and added to the common block
basiccuts
there. If the value of the cut is not a
real number, the call to read_real
should be
replaced by read_logical
(for logical value) or
read_int
(for integer value) etc. 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 use a hardwired cut value in the
BASIC_CUTS
function as instructed in the next steps.
BASIC_CUTS
in the file
cuts.F calculate the value of the quantity, named
ObsValue
, on which to cut (e.g. Mtw
).
The new variable ObsValue
must be declared locally.
One then adds the cut condition to the logical value
pass_cuts
as follows
pass_cuts = pass_cuts .and. (ObsValue .gt. CutValue)
Of course, if the cut specifies the maximum value of a quantity,
.gt.
should be replaced by .lt.
etc.
The CutValue
is read in from the
cuts.dat as explained in the above step. It can be
replaced by a hardwired value here.
make
and
make install
commands from the program directory.
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 numberi = 0-3
= 4-momentumi = 4
= massi = 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 numberi = 0-3
= 4-momentumi = 4
= massi = 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 numberi = 0-3
= 4-momentumi = 4
= mass (all neutrinos 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
= neutrino ID (i.e. PDG particle number)
photons(i, j)
: information about the photons is
stored here
j
= photon numberi = 0-3
= 4-momentumi = 4
= mass (all photons 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\)