The common traits of all combination methods are that matrix elements are used to describe the production of hard and well separated particles, and parton showers for the production of soft or collinear particles. What differs between the various approaches that have been proposed are which matrix elements are being used, how doublecounting is avoided, and how the transition from the hard to the soft regime is handled. These combination methods are typically referred to as "matching" or "merging" algorithms. There is some confusion about the distinction between the two terms. We will use "matching" to describe the combination of one (NLO) calculation with the parton shower, and "merging" when several calculations are combined with each other (and the shower). PYTHIA offers implementations of several different matching and merging algorithms, which hopefully suit most needs.
include/Pythia8Plugins/PowHegHooks.h
, and is further
described on a separate page. A
user example is found in examples/main153.cc
.
For quick-and-dirty studies, note that the field is
open-ended, however: any external program can feed in
Les Houches events that
PYTHIA subsequently processes. In this case, the maximum pT of the
shower evolution is set by the Les Houches scale
, on the one
hand, and by the values of the SpaceShower:pTmaxMatch
,
TimeShower:pTmaxMatch
and other parton-shower settings,
on the other. It is typically not possible to achieve perfect
matching this simplistic way, given that the PYTHIA pT evolution
variables are not likely to agree with the variables used for cuts
in the external program. Often one can get close enough with simple
means but, for an improved matching,
User Hooks may be inserted to control
the steps taken on the way, e.g. to veto those parton shower
branchings that would doublecount emissions included in the matrix
elements.
main164.cc
, together with the input
files main164mcatnlo.cmnd
, main164powheg.cmnd
,
main164mlm.cmnd
, main164fxfx.cmnd
,
main164ckkwl.cmnd
, main164ckkwl.cmnd
,
main164umeps.cmnd
and main164unlops.cmnd
.
These rely on input from external matrix-element generators such as
MadGraph5_aMC@NLO or POWHEG-BOX.
main164.cc
can produce HepMC events [Dob01] or
interfaced directly to RIVET [Buc10].
If the user is not familiar with HepMC or RIVET, it is possible to instead use
Pythia's histogramming routines. For this, histogram events as illustrated
for the histogram pTWsum in main162.cc
.
All settings can be transferred to main164.cc
through an input
file. The input file is part of the command line input of
main164.cc
, i.e. you can execute main164
with the
command
./main164 myInputFile.cmnd
to read the input myInputFile.cmnd
.
Since main164.cc
is currently a "front-end" for different types
of matching/merging, we will briefly discuss the inputs for this
sample program in the following.
main164.cc
uses LHA input to transfer
(weighted) phase space points to Pythia. This can either be via traditional
LHE files by setting
Beams:frameType = 4
Beams:LHEF = file.lhe
or with HDF5 event files by setting
Beams:frameType = 5
Beams:LHEF = file.hdf5
It is possible to include all parton multiplicities in one sample. If e.g. UMEPS merging for W-boson + up to two additional partons is to be performed, either one LHE file containing W+zero, W+one and W+two parton events or three separate LHE files can be generated.
All input settings are handed to main164.cc
in the form of an
input file. We have included the input settings files
main164mlm.cmnd
, which
illustrates the MLM jet matching interface,
main164fxfx.cmnd
, which
illustrates the FxFx NLO jet matching interface,
main164ckkwl.cmnd
, which
illustrates the CKKW-L multi-jet merging interface,
main164mess.cmnd
, which
illustrates the VINCIA MESS multi-jet merging interface,
main164umeps.cmnd
, which
illustrates the UMEPS multi-jet merging interface, and
main164unlops.cmnd
, which
illustrates the UNLOPS multi-jet NLO merging interface.
Other settings (e.g. using main164.cc
as simple LO+PS or
as MC@NLO interface) are of course possible. In the following, we will
briefly explain how input for the five choices above are generated and
handled.
main164.cc
currently relies on LHEF input
from MadGraph5_aMC@NLO, which relies on the simple shower with a specific
global recoil scheme for final-state branchings. As such, it can only be used
with PartonShowers:model = 1
and specific settings within this
shower model. Example MC@NLO settings can be found in
main164mcatnlo.cmnd
. Be aware that the lines below
! DO NOT TOUCH
must not be changed in order to ensure correct
NLO matching. Please consult
aMC@NLO matching for more details.
main164.cc
currently relies on LHEF input
from POWHEG-BOX. It is not tied to a specific parton shower and can be used
with either of the PartonShowers:model
settings.
Example POWHEG settings can be found in main164powheg.cmnd
.
Please consult POWHEG matching for more
details.
main164.cc
currently relies on LHEF input
from MadGraph. Due to the particular unweighting strategy performed in the
generation of these inputs, the sample program starts by estimating the
cross section. After this estimate, MLM jet matching within the Madgraph
approach is performed in a second Pythia run. Example MLM settings can be
found in main164mlm.cmnd
. Please consult
Jet Matching for more details.
main164.cc
relies on MC@NLO input LHE
files generated with aMC@NLO. To produce FxFx outputs in aMC@NLO, the settings
PYTHIA8 = parton_shower
, 3 = ickkw
and
x = ptj
are necessary in your aMC@NLO run card. Here,
x
is the value of the matching scale in FxFx, i.e. has be
identical to JetMatching:qCutME
in the Pythia inputs.
Example FxFx settings for Pythia can be found in
main164fxfx.cmnd
. Please consult
Jet Matching and
aMC@NLO matching for more details.
main164.cc
currently relies on LHEF inputs
generated with the leading-order mode of MadGraph5_aMC@NLO.
No run to estimate the cross section estimate is needed. Example CKKW-L
settings can be found in main164ckkwl.cmnd
. Please consult
CKKW-L merging for more details.
main164.cc
currently relies on LHEF inputs
generated with the leading-order mode of MadGraph5_aMC@NLO.
No run to estimate the cross section estimate is needed. Example MESS
settings can be found in main164mess.cmnd
. Please consult
MESS merging for more details.
main164.cc
currently relies on LHEF inputs
generated with the leading-order mode of aMC@NLO as well (see above).
main164.cc
automatically assigns if an event will be used as
"standard" event or as "subtractive" contribution. Example UMEPS
settings can be found in main164umeps.cmnd
. Please
consult UMEPS merging and
CKKW-L merging for more details.
main164.cc
currently relies on LHEF inputs
generated with the aMC@NLO. The UNLOPS interface in main164.cc
requires a) leading-order inputs generated with the leading-order mode of
aMC@NLO, using the UNLOPS prescription, and b) next-to-leading-order inputs
generated with the NLO mode of aMC@NLO, using the UNLOPS prescription.
To produce UNLOPS outputs in aMC@NLO, the settings
PYTHIA8 = parton_shower
, 4 = ickkw
and
x = ptj
are necessary in your aMC@NLO run card. Here,
x
is the value of the merging scale in UNLOPS, i.e.
has be identical to Merging:TMS
in the Pythia inputs.
main164.cc
will then process NLO inputs and LO inputs
consecutively, and will automatically assign if an event will be used as
"standard" event or as "subtractive" contribution. Example UNLOPS
settings can be found in main164umeps.cmnd
. Please
consult NLO Merging,
UMEPS merging, and
CKKW-L merging for more details.