<chapter name="POWHEG Matching"> 
 
<h2>POWHEG Matching</h2> 
 
POWHEG <ref>Nas04</ref> in its character is very much like a parton shower, 
with a Sudakov factor arising from the ordering of emissions. Both 
POWHEG-BOX <ref>Ali10</ref> and PYTHIA are based on a combined evolution 
of ISR and FSR in <ei>pT</ei>-related "hardness" variables, and thus are 
kindred spirits. The hardness definitions differ, however. Frequently we 
will therefore need to distinguish between POWHEG-hardness and 
PYTHIA-hardness in the following. 
 
<p/> 
The simplest merging solution, of continuing the PYTHIA shower at the LHA 
<code>scale</code> hardness where POWHEG leaves off, is obtained if you 
set <code>SpaceShower:pTmaxMatch = 1</code> and 
<code>TimeShower:pTmaxMatch = 1</code>. But then mismatches are bound to 
happen: some regions may be doublecounted, while others may not be counted 
at all. Depending on the choice of hardness, such mismatches might be small. 
 
<p/> 
There are no guarantees, however, so a (hopefully) more accurate merging 
scheme is coded up in the <code>include/Pythia8Plugins/PowHegHooks.h</code> 
file, with a realistic user example in the <code>examples/main152</code> 
files. Here we would like to discuss the (POWHEG-specific) input settings 
for <code>main152.cc</code>, see <code>main152.cmnd</code>, and attempt to 
give some recommendations on how to use the main program to perform a 
matching of POWHEG-BOX with PYTHIA 8. 
 
<p/> 
POWHEG-BOX inputs contain Born-like events (with no resolved emission) and 
Real-type events (containing an additional parton). The mismatch between 
POWHEG-hardness and PYTHIA-hardness can be minimised if the PYTHIA shower 
knows 
<br/>a) The POWHEG-hardness criterion (through which the separation of Born- 
and Real-like events is defined), and 
<br/>b) The POWHEG-hardness value (which separates Born- and Real-like 
events). 
<br/>If these definitions are known, then 
PYTHIA can fill missing phase space regions through vetoed showering: let 
the shower sweep over the full phase space, using its PYTHIA-hardness 
ordering, and use the POWHEG-hardness to veto those emissions that POWHEG 
should already have covered. This is only possible since the 
POWHEG-hardness criterion and the shower ordering criterion are very 
similar. In the more general case a truncated showering would be needed 
<ref>Nas04</ref>. 
 
<p/> 
For vetoed showering, it is necessary to define the POWHEG-hardness 
criterion. In the presence of multiple partons, the definition 
quickly becomes complicated, and allows for different choices. Similar 
decisions have already been made in the implementation of POWHEG, one example 
being the choice in defining which "hardness value" is transferred as 
POWHEG-hardness, e.g. by deciding if the "singular regions" of the FKS or the 
CS approach are used. If the POWHEG-hardness definition were to be changed, 
or extended to more objects, the <code>PowhegHooks.h</code> code would need 
to be modified accordingly. 
 
<p/> 
The merging code is designed to be very flexible, and allows access 
to many possible choices. However, this flexibility means that many parameters 
can be changed, potentially leading to confusion. Thus, recommendations might 
prove helpful. All mistakes and inaccuracies rest with the author. 
 
<p/> 
We recommend the usage of vetoed showers. This means using 
<br/> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <code>POWHEG:veto = 1</code> 
<br/> 
This means that PYTHIA will sweep over the full phase space, and apply a veto 
on parton shower emissions for which the POWHEG-hardness separation between 
radiator and emission is above the POWHEG-hardness value of the current input 
event. The variation <code>POWHEG:veto = 0</code> can be used to assess 
how much phase space is under- or double-counted. 
 
<p/> 
To define the POWHEG-hardness criterion, use 
<br/> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <code>POWHEG:pTdef = 1</code> 
<br/> 
Other values can be used by experts to assess variations. 
 
<p/> 
Both POWHEG-BOX and PYTHIA 8 generate emissions through a parton shower 
step, meaning that both programs have a clear definition of a radiator 
that emits particles, which is very similar (if not identical). 
To fix the ambiguity if the radiator or the emitted particle should be 
called "the emission", use 
<br/> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <code>POWHEG:emitted = 0</code> 
<br/> 
More complicated choices can be used by experts. For instance, use 
<code>POWHEG:emitted = 2</code> to check the POWHEG-hardness of both 
radiator and emitted. 
 
<p/> 
To exhaustively fix the criterion by which to veto parton shower 
emissions, it is important to decide which partons/parton pairs 
are used to calculate the POWHEG hardness of a PYTHIA 8 emission. 
The minimal and recommended choice is 
<br/> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <code>POWHEG:pTemt = 0</code> 
<br/> 
This means that only the POWHEG hardness with respect to the radiating leg 
is checked, and recoil effects are neglected. This prescription should be 
very similar to how a hardness value is assigned to a Real-type event 
in the POWHEG-BOX, since in the (implementation of FKS in the) POWHEG-BOX, 
initial state splittings only have singular regions with the radiating 
initial state parton, and final state splittings only have singular 
regions with respect to the radiating final state line. Other choices of 
<code>POWHEG:pTemt</code> are available. A warning is that the impact of 
changes can be huge, particularly for inputs with many jets. Other choices 
therefore should only be made by experts, and a high degree of caution 
is advised. 
 
<p/> 
It is furthermore necessary to decide on a value of the hardness criterion. 
POWHEG-BOX transfers this value in the <code>SCALUP</code> member of 
Les Houches Events, and we recommend using this value by setting 
<br/> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <code>POWHEG:pThard = 0</code> 
<br/> 
As a variation, in order to estimate the uncertainty due this choice of 
POWHEG-hardness definition, it can be useful to also check 
<code>POWHEG:pThard = 2</code>. This will recalculate the POWHEG-hardness 
value as promoted in <ref>Ole12</ref>. 
 
<p/> 
You need to decide how many emissions the vetoed shower should 
check after an allowed emission has been constructed. If the hardness 
definitions in POWHEG-BOX and PYTHIA 8 where identical, all checking could 
be stopped after the first allowed PS emission. To be prudent, we 
recommend setting 
<br/> &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; <code>POWHEG:vetoCount = 3</code> 
<br/> 
which will then check up to three allowed emissions. Higher values of 
<code>POWHEG:vetoCount</code> have not lead to visible differences 
for the processes which have been tested. 
 
<p/> 
Finally, for many POWHEG processes, the Sudakov effects from electroweak 
emissions (here we are concerned mainly with photon emissions, but this could 
apply also to W/Z emissions) are not included. This effect can be 
investigated using <code>POWHEG:QEDveto = 0,1,</code> or <code>2</code>. 
For the default  value of <code>POWHEG:pTemt = 0</code>, only 
<code>POWHEG:QEDveto = 2</code> has any effect. For this choice, a hard 
photon and subsequent QCD radiation is retained. In many cases, particularly 
when the Born contributions are small, the choice has little effect. 
 
<h3>The modes</h3> 
 
Note that the modes have generally been defined with several default values 
below corresponding to the "off" state, and thus do not agree with the 
recommended values described above. 
 
<modeopen name="POWHEG:nFinal" default="-1" min="-1"> 
Number of outgoing particles of POWHEG Born level process, 
i.e. not counting additional POWHEG radiation. 
The negative default value is interpreted as the instruction to ignore 
final state particle count conditions, as is e.g. necessary when the 
POWHEG-BOX code includes a variable number of additional emission (on top of 
the Born process) into the input events. Note that for this negative default 
value, only <code>POWHEG:pThard = 0</code> is allowed. 
</modeopen> 
 
<modepick name="POWHEG:veto" default="0" min="0" max="1"> 
Master switch to perform vetoing or not. 
<option value="0">No vetoing is performed (the user hooks is not loaded). 
</option> 
<option value="1">Showers are started at the kinematical limit. 
Emissions are vetoed if <ei>pTemt > pThard</ei>. 
See also <code>POWHEG:vetoCount</code> below.</option> 
</modepick> 
 
<modeopen name="POWHEG:vetoCount" default="3" min="0"> 
After this many accepted emissions in a row, no more emissions 
are checked. Value 0 means that no emissions are checked. Using a very 
large value (e.g. 100000) will mean that all emissions are checked. 
</modeopen> 
 
<modepick name="POWHEG:pThard" default="0" min="0" max="2"> 
Selection of the <ei>pThard</ei> scale. For events where there is no 
radiation, <ei>pThard</ei> is always set to be the <code>SCALUP</code> 
value of the LHA/LHEF standard. 
<option value="0">Set <ei>pThard</ei> equal to <code>SCALUP</code>. 
</option> 
<option value="1">The <ei>pT</ei> of the POWHEG emission is tested against 
all other incoming and outgoing partons, with the minimal value chosen. 
</option> 
<option value="2">The <ei>pT</ei> of all final-state partons is tested 
against all other incoming and outgoing partons, with the minimal value 
chosen.</option> 
</modepick> 
 
<modepick name="POWHEG:pTemt" default="0" min="0" max="2"> 
Selection of the <ei>pTemt</ei> scale. 
<option value="0">It is the <ei>pT</ei> of the emitted parton with respect 
to the radiating parton.</option> 
<option value="1">The <ei>pT</ei> of the emission is checked against all 
incoming and outgoing partons, and then <ei>pTemt</ei> is set to the 
minimum of these values.</option> 
<option value="2">The <ei>pT</ei> of all final-state partons is tested 
against all other incoming and outgoing partons, with the minimal value 
chosen.</option> 
<note>Warning:</note> the choice here can give significant variations 
in the final distributions, notably in the tail to large <ei>pT</ei> values. 
</modepick> 
 
<modepick name="POWHEG:emitted" default="0" min="0" max="3"> 
Selection of emitted parton for FSR. 
<option value="0">The PYTHIA definition of emitted.</option> 
<option value="1">The PYTHIA definition of radiator.</option> 
<option value="2">A random selection of emitted or radiator.</option> 
<option value="3">Both emitted and radiator are tried.</option> 
</modepick> 
 
<modepick name="POWHEG:pTdef" default="0" min="0" max="2"> 
Use of <ei>pT</ei> definitions. 
<option value="0">The POWHEG ISR <ei>pT</ei> definition for 
both ISR and FSR.</option> 
<option value="1">The POWHEG ISR <ei>pT</ei> and FSR <ei>d_ij</ei> 
definitions.</option> 
<option value="2">The PYTHIA definitions.</option> 
</modepick> 
 
<modepick name="POWHEG:MPIveto" default="0" min="0" max="1"> 
MPI vetoing. 
<option value="0">No MPI vetoing is done.</option> 
<option value="1">When there is no radiation, MPIs with a scale above 
<ei>pT_1</ei> are vetoed, else MPIs with a scale above 
<ei>sum_i pT_i / 2 = (pT_1 + pT_2 + pT_3) / 2</ei> are vetoed. 
This option is intended specifically for POWHEG simulations of 
<ei>2 &rarr; 2 + 2 &rarr; 3</ei> QCD processes. 
</option> 
</modepick> 
 
<modepick name="POWHEG:QEDveto" default="0" min="0" max="2"> 
Treatment of non-QCD radiation. 
<option value="0">Colorless partons are not included in <ei> pT </ei> 
  calculated from the shower for <ei> pTemt>0 </ei>.</option> 
<option value="1">Colorless partons ARE included for <ei> pTemt>0 </ei>. 
  </option> 
<option value="2">Colorless partons ARE included for <ei> pTemt>0 </ei>. 
  Additionally, if a colorless parton is emitted with <ei> pT > pThard </ei> 
  in Born-level events, then the entire event is accepted. 
  This is relevant for all values of <ei> pTemt </ei>. 
</option> 
</modepick> 
 
</chapter> 
 
<!-- Copyright (C) 2026 Torbjorn Sjostrand --> 
