/usr/share/pythia8-data/xmldoc/ResonanceDecays.xml is in pythia8-data 8.1.80-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 | <chapter name="Resonance Decays">
<h2>Resonance Decays</h2>
The <code>ResonanceDecays</code> class performs the sequential decays of
all resonances formed in the hard process. Note the important distinction
between "resonances" and other "particles" made in PYTHIA.
<ul>
<li>
The list of resonances contains <ei>gamma^*/Z^0</ei>, <ei>W^+-</ei>, top,
the Higgs, and essentially all new particles of Beyond-the-Standard-Model
physics: further Higgs bosons, sfermions, gauginos, techniparticles, and so on.
The partial widths to different decay channels are perturbatively
calculable, given the parameters of the respective model, and branching
ratios may be allowed to vary across a (reasonably broad) resonance peak.
Usually resonances are short-lived, and therefore it makes sense to consider
their decays immediately after the primary hard process has been set up.
Furthermore, in several cases the decay angular distributions are encoded
as part of the specific process, e.g. the <ei>W</ei> decays differently in
<ei>f fbar -> W^+-</ei>, <ei>f fbar -> W^+ W^-</ei> and
<ei>h^0 -> W^+ W^- </ei>. All of these particles are (in PYTHIA) only
produced as part of the hard process itself, i.e. they are not produced
in showers or hadronization processes. Therefore the restriction to
specific decay channels can be consistently taken into account as a
corresponding reduction in the cross section of a process. Finally, note
that all of these resonances have an on-shell mass above 20 GeV, with the
exception of some hypothetical weakly interacting and stable particles
such as the gravitino.
</li>
<li>
The other particles include normal hadrons and the Standard-Model leptons,
including the <ei>tau^+-</ei>. These can be produced in the normal
hadronization and decay description, which involve unknown nonperturbative
parameters and multistep chains that cannot be predicted beforehand:
a hard process like <ei>g g -> g g</ei> can develop a shower with a
<ei>g -> b bbar</ei> branching, where the <ei>b</ei> hadronizes to a
<ei>B^0bar</ei> that oscillates to a <ei>B^0</ei> that decays to a
<ei>tau^+</ei>. Therefore any change of branching ratios - most of which
are determined from data rather than from first principles anyway -
will not be taken into account in the cross section of a process.
Exceptions exist, but most particles in this class are made to decay
isotropically. Finally, note that all of these particles have a mass
below 20 GeV.
</li>
</ul>
There is one ambiguous case in this classification, namely the photon.
The <ei>gamma^*/Z^0</ei> combination contains a low-mass peak when
produced in a hard process. On the other hand, photons can participate
in shower evolution, and therefore a photon originally assumed
massless can be assigned an arbitrarily high mass when it is allowed
to branch into a fermion pair. In some cases this could lead to
double-counting, e.g. between processes such as
<ei>f fbar -> (gamma^*/Z^0) (gamma^*/Z^0)</ei>,
<ei>f fbar -> (gamma^*/Z^0) gamma</ei> and
<ei>f fbar -> gamma gamma</ei>. Here it make sense to limit the
lower mass allowed for the <ei>gamma^*/Z^0</ei> combination,
in <code>23:mMin</code>, to be the same as the upper limit allowed
for an off-shell photon in the shower evolution, in
<code>TimeShower:mMaxGamma</code>. By default this matching is done
at 10 GeV.
<p/>
In spite of the above-mentioned differences, the resonances and the
other particles are all stored in one common
<aloc href="ParticleData">particle data table</aloc>, so as to offer a
uniform interface to <aloc href="ParticleDataScheme">setting and
getting</aloc> properties such as name, mass, charge and decay modes,
also for the <aloc href="ParticleProperties">particle properties</aloc>
in the event record. Some methods are specific to resonances, however,
in particular for the calculation of partial widths and thereby of
branching ratio. For resonances these can be calculated dynamically,
set up at initialization for the nominal mass and then updated to the
current mass when these are picked according to a Breit-Wigner resonance
shape.
<h3>Resonance Decays and Cross Sections</h3>
As already hinted above, you have the possibility to set the allowed
decay channels of resonances, see
<aloc href="ParticleDataScheme">Particle Data Scheme</aloc> description.
For instance, if you study the process <ei>q qbar -> H^0 Z^0</ei>
you could specify that the <ei>Z^0</ei> should decay only to
lepton pairs, the <ei>H^0</ei> only to <ei>W^+ W^-</ei>, the
<ei>W^+</ei> only to a muon and a neutrino, while the <ei>W^-</ei>
can decay to anything. Unfortunately there are limits to the
flexibility: you cannot set a resonance to have different properties
in different places of a process, e.g. if instead
<ei>H^0 -> Z^0 Z^0</ei> in the above process then the three
<ei>Z^0</ei>'s would all obey the same rules.
<p/>
The restrictions on the allowed final states of a process is directly
reflected in the cross section of it. That is, if some final states
are excluded then the cross section is reduced accordingly. Such
restrictions are built up recursively in cases of sequential decay
chains. The restrictions are also reflected in the compositions of
those events that actually do get to be generated. For instance,
the relative rates of <ei>H^0 -> W^+ W^-</ei> and
<ei>H^0 -> Z^0 Z^0</ei> are shifted when the allowed sets of
<ei>W^+-</ei> and <ei>Z^0</ei> decay channels are changed.
<p/>
We remind that only those particles that Pythia treat as resonances
enjoy this property, and only those that are considered as part of the
hard process and its associated resonance decays.
<p/>
There is one key restriction on resonances:
<parm name="ResonanceWidths:minWidth" default="1e-20" min="1e-30">
Minimal allowed width of a resonance, in GeV. If the width falls below
this number the resonance is considered stable and will not be allowed
to decay. This is mainly intended as a technical parameter, to avoid
disasters in cases where no open decay channels exists at all. It could
be used for real-life decisions as well, however, but then typically
would have to be much bigger than the default value. Special caution
would be needed if coloured resonance particles were made stable, since
the program would not necessarily know how to hadronize them, and
therefore fail at that stage.
</parm>
<p/>
In spite of this technical parameter choice, it is possible to set
a lifetime for a resonance, and thereby to obtain displaced vertices.
If a resonance is allowed to decay it will do so, irrespective of
the location of the decay vertex. This is unlike
<aloc href="ParticleDecays">normal particle decays</aloc>,
where it is possible to define some region around the primary
vertex within which all decays should happen, with particles
leaving that region considered stable. The logic is that resonances
as a rule are too short-lived for secondary vertices,
so if you pick a scenario with a long-lived but unstable resonance
it is because you <i>want</i> to study secondary vertices.
How to interface those decays to a detector simulation program then
is another story, to be solved separately. Do note that a special
treatment is needed for coloured long-lived resonances, that form
<aloc href="Rhadrons">R-hadrons</aloc>, and where charge and flavour
may change between the production and decay vertices.
<h3>Special properties and methods for resonances</h3>
The method <code>ParticleData::isResonance(id)</code> allows you to
query whether a given particle species is considered a resonance or not.
You can also change the default value of this flag in the normal way,
e.g. <code>pythia.readString("id:isResonance = true")</code>.
<p/>
An option with a forced width can be set with the
<code>id:doForceWidth</code> flag as above, and queried with
<code>ParticleData::doForceWidth(id)</code>. It is by default
<code>off</code>, and should normally so remain. If switched
<code>on</code> then the width stored in <code>id:mWidth</code> is
strictly used to describe the Breit-Wigner of the resonance. This is
unlike the normal behaviour of standard resonances such as the
<ei>Z^0</ei>, <ei>W^+-</ei>, <ei>t</ei> or <ei>h^0</ei>, which have
explicit decay-widths formulae encoded, in classes derived from the
<code><aloc href="SemiInternalResonances">ResonanceWidths</aloc></code>
base class. These formulae are used, e.g., to derive all the Higgs partial
widths as a function of the Higgs mass you choose, and at initialization
overwrites the existing total width value. The reason for forcing the
width to another value specified by you would normally more have to do
with experimental issues than with physics ones, e.g. how sensitive your
detector would be to changes in the Higgs width by a factor of two.
A warning is that such a rescaling could modify the cross section of
a process correspondingly for some processes, while leaving it
(essentially) unchanged for others (as would seem most logical),
depending on how these were encoded. A further warning is that,
if you use this facility for <ei>Z^0</ei> or <ei>Z'^0</ei> with
<ei>gamma^*/Z^0</ei> or <ei>gamma^*/Z^0/Z'^0</ei> interference on,
then also the handling of this interference is questionable.
So, if you need to use the width-rescaling option, be extremely cautious.
<p/>
If a resonance does not have a class of its own, with hardcoded equations
for all relevant partial widths, then a simpler object will be created
at initialization. This object will take the total width and branching
ratios as is (with the optional variations explained in the next section),
and thus the rescaling approach brings no further freedom.
<p/>
Mainly for internal usage, the
<code><aloc href="ParticleDataScheme">ParticleData</aloc></code> contain
some special methods that are only meaningful for resonances:
<ul>
<li><code>resInit(...)</code> to initialize a resonance, possibly
including a recalculation of the nominal width to match the nominal
mass;</li>
<li><code>resWidth(...)</code> to calculate the partial and total widths
at the currently selected mass;</li>
<li><code>resWidthOpen(...)</code> to calculate the partial and total
widths of those channels left open by user switches, at the currently
selected mass;</li>
<li><code>resWidthStore(...)</code> to calculate the partial and total
widths of those channels left open by user switches, at the currently
selected mass, and store those as input for a subsequent selection of
decay channel;</li>
<li><code>resOpenFrac(...)</code> to return the fraction of the total
width that is open by the decay channel selection made by users (based on
the choice of <code><aloc href="ParticleDataScheme">onMode</aloc></code>
for the various decay channels, recursively calculated for sequential
decays);</li>
<li><code>resWidthRescaleFactor(...)</code> returns the factor by which
the internally calculated PYTHIA width has to be rescaled to give the
user-enforced width;</li>
<li><code>resWidthChan(...)</code> to return the width for one particular
channel (currently only used for Higgs decays, to obtain instate coupling
from outstate width).</li>
</ul>
These methods actually provide an interface to the classes derived from
the <code>ResonanceWidths</code> base class, to describe various
resonances.
<h3>Modes for Matrix Element Processing</h3>
The <code>meMode()</code> value for a decay mode is used to specify
<aloc href="ParticleDecays">nonisotropic decays or the conversion of
a parton list into a set of hadrons</aloc> in some channels of normal
particles. For resonances it can also take a third function, namely
to describe how the branching ratios and widths of a resonance should
be rescaled as a function of the current mass of the decaying resonance.
The rules are especially useful when new channels are added to an
existing particle, or a completely new resonance added.
<ul>
<li>0 : channels for which hardcoded partial-width expressions are
expected to exist in the derived class of the respective resonance.
Should no such code exist then the partial width defaults to zero.
</li>
<li>1 - 99 : same as 0, but normally not used for resonances.</li>
<li>100 : calculate the partial width of the channel from its stored
branching ratio times the stored total width. This value remains unchanged
when the resonance fluctuates in mass. Specifically there are no
threshold corrections. That is, if the resonance fluctuates down in
mass, to below the nominal threshold, it is assumed that one of the
daughters could also fluctuate down to keep the channel open. (If not,
there may be problems later on.)
</li>
<li>101 : calculate the partial width of the channel from its stored
branching ratio times the stored total width. Multiply by a step threshold,
i.e. the channel is switched off when the sum of the daughter on-shell
masses is above the current mother mass.</li>
<li>102 : calculate the partial width of the channel from its stored
branching ratio times the stored total width. Multiply by a smooth
threshold factor
<ei>beta = sqrt( (1 - m_1^2/m_2 - m_2^2/m^2)^2 - 4 m_1^2 m_2^2/m^4)</ei>
for two-body decays and <ei>sqrt(1 - Sum_i m_i / m)</ei> for multibody
ones. The former correctly encodes the size of the phase space but
misses out on any nontrivial matrix-element behaviour, while the latter
obviously is a very crude simplification of the correct phase-space
expression. Specifically, it is thereby assumed that the stored branching
ratio and total width did not take into account such a factor.</li>
<li>103 : use the same kind of behaviour and threshold factor as for
102 above, but assume that such a threshold factor has been used when
the default branching ratio and total width were calculated, so that one
should additionally divide by the on-shell threshold factor. Specifically,
this will give back the stored branching ratios for on-shell mass,
unlike the 102 option. To avoid division by zero, or in general
unreasonably big rescaling factors, a lower limit
<code>minThreshold</code> (see below) on the value of the on-shell
threshold factor is imposed. (In cases where a big rescaling is
intentional, code 102 would be more appropriate.) </li>
</ul>
<parm name="ResonanceWidths:minThreshold" default="0.1" min="0.01">
Used uniquely for <code>meMode = 103</code> to set the minimal value
assumed for the threshold factor,
<ei>sqrt( (1 - m_1^2/m_2 - m_2^2/m^2)^2 - 4 m_1^2 m_2^2/m^4)</ei>
for two-body decays and <ei>sqrt(1 - Sum_i m_i / m)</ei> for multibody
ones. Thus the inverse of this number sets an upper limit for how
much the partial width of a channel can increase from the on-shell
value to the value for asymptotically large resonance masses. Is mainly
intended as a safety measure, to avoid unintentionally large rescalings.
</parm>
<p/>
All of these <code>meMode</code>'s may coexist for the same resonance.
This would be the case e.g. if you want to add a few new channels to an
already existing resonance, where the old partial widths come hardcoded
while the new ones are read in from an external file. The typical example
would be an MSSM Higgs sector, where partial widths to SM particles are
already encoded, <code>meMode = 0</code>, while decay rates to sparticles
are read in from some external calculation and maybe would be best
approximated by using <code>meMode = 103</code>. Indeed the default
particle table in PYTHIA uses 103 for all channels that are expected
to be provided by external input.
<p/>
Some further clarification may be useful. At initialization the existing
total width and on-shell branching ratios will be updated. For channels
with <code>meMode < 100</code> the originally stored branching ratios
are irrelevant, since the existing code will anyway be used to calculate
the partial widths from scratch. For channels with <code>meMode = 100</code>
or bigger, instead the stored branching ratio is used together with the
originally stored total width to define the correct on-shell partial width.
The sum of partial widths then gives the new total width, and from there
new branching ratios are defined.
<p/>
In these operations the original sum of branching ratios need not be
normalized to unity. For instance, you may at input have a stored total
width of 1 GeV and a sum of branching ratios of 2. After initialization
the width will then have been changed to 2 GeV and the sum of branching
ratios rescaled to unity. This might happen e.g. if you add a few channels
to an existing resonance, without changing the branching ratios of the
existing channels or the total width of the resonance.
<p/>
In order to simulate the Breit-Wigner shape correctly, it is important
that all channels that contribute to the total width are included in the
above operations. This must be kept separate from the issue of which
channels you want to have switched on for a particular study, to be
considered next.
<p/>
In the event-generation process, when an off-shell resonance mass has been
selected, the width and branching ratios are re-evaluated for this new mass.
At this stage also the effects of restrictions on allowed decay modes are
taken into account, as set by the <code>onMode</code> switch for each
separate decay channel. Thus a channel may be on or off, with different
choices of open channels between the particle and its antiparticle.
In addition, even when a channel is on, the decay may be into another
resonance with its selection of allowed channels. It is these kinds of
restrictions that lead to the <ei>Gamma_out</ei> possibly being
smaller than <ei>Gamma_tot</ei>. As a reminder, the Breit-Wigner for
decays behaves like <ei>Gamma_out / ((s - m^2)^2 + s * Gamma_tot^2)</ei>,
where the width in the numerator is only to those channels being studied,
but the one in the denominator to all channels of the particle. These
ever-changing numbers are not directly visible to the user, but are only
stored in a work area.
</chapter>
<!-- Copyright (C) 2013 Torbjorn Sjostrand -->
|