Lund String Fragmentation
 
  - Jet joining procedure
 
  - Colour tracing
 
  - Simplifying systems
 
  - Ministrings
 
  - String junctions
 
 
The standard fragmentation in PYTHIA is based on the Lund string model 
[And83, Sjo84]. Several different aspects are involved in 
the physics description, which here therefore is split accordingly. 
This also, at least partly, reflects the set of classes involved in 
the fragmentation machinery. See the 
Hadronization Overview 
to understand how the key classes are related, and also how 
the basic Lund String Fragmentation machinery is the starting point 
for a number of alternatives or extensions. 
 
 
There are three main auxiliary classes for string fragmentation, 
each handling an important physics step. Many of the settings for 
each of them play a key role in the tuning to data, while some others 
should not be touched except by experts. 
 
- The choice of quark flavours at string breaks, and the choice of 
a hadron from a given flavour combination, is managed in the 
StringFlav class, with settings as described on the 
Flavour Selection page. 
The fragmentation flavour-choice machinery is also used in a few 
other places of the program, notably in particle decays. 
  
- The choice of pT transverse momentum kicks in string breaks 
is managed by the 
StringPT class, with settings as described 
on the pT Selection page. 
  
- The choice of the z variable, representing the 
energy-momentum lightcone fraction that a new hadron takes out of the 
remaining (i.e. not yet fragmented) amount, 
is managed by the 
StringZ class, with settings as described 
on the z Selection page. 
  
 
 
 
Several further options and parameters, e.g., for the joining of jets 
and for the handling of a number of special systems, such as low-mass 
strings and string junctions, are documented below. Most of them are 
intended for experts, and can be left at their default values. 
 
 
Jet joining procedure
 
 
String fragmentation is carried out iteratively from both string ends 
inwards, which means that the two chains of hadrons have to be joined 
up somewhere in the middle of the event. This joining is described by 
parameters that in principle follow from the standard fragmentation 
parameters. Ideally, these joining parameters should be tuned such 
that the rapidity spacing and mass distribution of hadrons produced in 
the joining step match those produced in the standard fragmentation 
process as closely as possible.  The current default values were 
determined for the JETSET tune and have not been retuned since. Recent 
studies have shown that these choices do not produce a smooth joining 
for the current default Monash tune settings. Work is underway to 
improve the smoothness - and robustness - of this procedure. As a 
temporary step, the stopMass below was somewhat reduced 
in version 8.316, from 1.0 to 0.8 GeV. 
 
parm   StringFragmentation:stopMass   
 (default = 0.8; minimum = 0.0; maximum = 2.0)
Is used to define a W_min = m_q1 + m_q2 + stopMass, 
where m_q1 and m_q2 are the masses of the two 
current endpoint quarks or diquarks. 
   
 
parm   StringFragmentation:stopNewFlav   
 (default = 2.0; minimum = 0.0; maximum = 2.0)
Add to W_min an amount stopNewFlav * m_q_last, 
where q_last is the last q qbar pair produced 
between the final two hadrons. 
   
 
parm   StringFragmentation:stopSmear   
 (default = 0.2; minimum = 0.0; maximum = 0.5)
The W_min above is then smeared uniformly in the range 
W_min_smeared = W_min * [ 1 - stopSmear, 1 + stopSmear ]. 
   
 
 
This W_min_smeared is then compared with the current remaining 
W_transverse to determine if there is energy left for further 
particle production. If not, i.e. if 
W_transverse < W_min_smeared, the final two particles are 
produced from what is currently left, if possible. (If not, the 
fragmentation process is started over.) 
 
 
Colour tracing
 
 
flag   StringFragmentation:TraceColours   
 (default = off)
In some cases it is interesting to trace the primary hadrons back 
to the string pieces from which they were 
formed. If StringFragmentation:TraceColours is switched 
on, this is done by setting colour and anticolour 
indices for the primary hadrons to the indices of the string piece 
where the corresponding break-ups are assumed to have happened. To 
avoid the possible confusion of having colour indices on colour 
singlet particles, this flag is by default off. 
   
 
 
Simplifying systems
 
 
There are a few situations when it is meaningful to simplify the 
original task, one way or another. 
 
parm   HadronLevel:mStringMin   
 (default = 1.; minimum = 0.5; maximum = 1.5)
Decides whether a partonic system should be considered as a normal 
string or a ministring, the latter only producing one or two primary 
hadrons. The system mass should be above mStringMin plus the 
sum of quark/diquark constituent masses for a normal string description, 
else the ministring scenario is used. 
   
 
parm   FragmentationSystems:mJoin   
 (default = 0.3; minimum = 0.2; maximum = 1.)
When two colour-connected partons are very nearby, with at least 
one being a gluon, they can be joined into one, to avoid technical 
problems of very small string regions. The requirement for joining is 
that the invariant mass of the pair is below mJoin, where a 
gluon only counts with half its momentum, i.e. with its contribution 
to the string region under consideration. (Note that, for technical 
reasons, the 0.2 GeV lower limit is de facto hardcoded.) 
   
 
parm   FragmentationSystems:mJoinJunction   
 (default = 1.0; minimum = 0.5; maximum = 2.)
When the invariant mass of two of the quarks in a three-quark junction 
string system becomes too small, the system is simplified to a 
quark-diquark simple string. The requirement for this simplification 
is that the diquark mass, minus the two quark masses, falls below 
mJoinJunction. Gluons on the string between the junction and 
the respective quark, if any, are counted as part of the quark 
four-momentum. Those on the two combined legs are clustered with the 
diquark when it is formed. 
   
 
 
Ministrings
 
 
The MiniStringFragmentation machinery is only used when a 
string system has so small invariant mass that normal string fragmentation 
is difficult/impossible. Instead one or two particles are produced, 
in the former case shuffling energy-momentum relative to another 
colour singlet system in the event, while preserving the invariant 
mass of that system. With one exception parameters are the same as 
defined for normal string fragmentation, to the extent that they are 
at all applicable in this case. 
 
A discussion of the relevant physics is found in [Nor00]. 
The current implementation does not completely abide to the scheme 
presented there, however, but has in part been simplified. (In part 
for greater clarity, in part since the class is not quite finished yet.) 
 
mode   MiniStringFragmentation:nTry   
 (default = 2; minimum = 1; maximum = 10)
Whenever the machinery is called, first this many attempts are made 
to pick two hadrons that the system fragments to. If the hadrons are 
too massive the attempt will fail, but a new subsequent try could 
involve other flavour and hadrons and thus still succeed. 
After nTry attempts, instead an attempt is made to produce a 
single hadron from the system. Should also this fail, some further 
attempts at obtaining two hadrons will be made before eventually 
giving up. 
   
 
flag   MiniStringFragmentation:tryAfterFailedFrag   
 (default = off)
If normal string fragmentation fails for a parton system, it is optionally 
possible to attempt to fragment it as if it had been a ministring 
(c.f. HadronLevel:mStringMin). This is mainly relevant for 
heavy-ion collisions and for the QCD-based colour-reconnection model, 
where many high-multiplicity events have a higher probability to have 
failed fragmentation (hence throwing the whole event away may skew the 
multiplicity distribution). 
   
 
 
String junctions
 
 
A junction topology corresponds to an Y arrangement of strings 
i.e. where three string pieces have to be joined up in a junction. 
Such topologies can arise if several valence quarks are kicked out 
from a proton beam, or in baryon-number-violating SUSY decays. 
Special attention is necessary to handle the region just around the 
junction, where the baryon number topologically is located. The 
junction fragmentation scheme is described in [Sjo03] and 
[Alt24]. The parameters in this section should not be 
touched except by experts. 
 
parm   StringFragmentation:pNormJunction   
 (default = 2.0; minimum = 0.5; maximum = 10)
Used to find the effective rest frame of the junction, which is 
complicated when the three string legs may contain additional 
gluons between the junction and the endpoint. Should in principle be 
(close to) sqrt((1 + a) / b), with a and b 
the parameters of the Lund symmetric fragmentation function. 
   
 
parm   StringFragmentation:eJunctionCutoff   
 (default = 0.0)
Used as a stopping condition for the fragmentation of the first two 
junction legs. Fragmentation of the given junction leg is stopped if 
performing another break would leave the remaining energy of the 
junction leg below eJunctionCutoff. Value should be less than 
eBothLeftJunction. 
   
 
parm   StringFragmentation:mJunctionCutoff   
 (default = 0.0)
Used as a stopping condition for the fragmentation of the first two 
junction legs. Fragmentation of the given junction leg is stopped if 
performing another break would leave the mass of the junction diquark 
below mJunctionCutoff. 
   
 
parm   StringFragmentation:eBothLeftJunction   
 (default = 1.0; minimum = 0.5)
Retry (up to 10 times) when the first two considered strings in to a 
junction both have a remaining energy (in the junction rest frame) 
above this number. 
   
 
parm   StringFragmentation:eMaxLeftJunction   
 (default = 10.0; minimum = 0.)
Retry (up to 10 times) when the first two considered strings in to a 
junction has a highest remaining energy (in the junction rest frame) 
above a random energy evenly distributed between 
eBothLeftJunction and 
eBothLeftJunction + eMaxLeftJunction 
(drawn anew for each test). 
   
 
parm   StringFragmentation:eMinLeftJunction   
 (default = 0.2; minimum = 0.)
Retry (up to 10 times) when the invariant mass-squared of the final leg 
and the leftover momentum of the first two treated legs falls below 
eMinLeftJunction times the energy of the final leg (in the 
junction rest frame). 
   
 
flag   StringFragmentation:doStrangeJunctions   
 (default = off)
Switching this parameter on allows strangeness enhancement for string breaks 
next to a junction. 
   
 
parm   StringFragmentation:enhanceStrangeJunction   
 (default = 0.5; minimum = 0.; maximum = 1.0)
This parameter, sJ, scales how much strangeness 
enhancement around a junction by modifying the probability 
StringFlav:probStoUD, 
 
    P'(s:u/d) = P(s:u/d)(1 - s_J).