]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA8/pythia8145/xmldoc/UpdateHistory.xml
Coverity fixes
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8145 / xmldoc / UpdateHistory.xml
CommitLineData
9419eeef 1<chapter name="Update History">
2
3<h2>Update History</h2>
4
5These update notes describe major updates relative to the baseline
6PYTHIA 8.100 version. However, they are less extensive than the
7corresponding update notes for PYTHIA 6. There are three main
8reasons for this:
9
10<ul>
11
12<li>The manual contained on these html/php pages is kept up to date.
13(However, the "Brief Introduction" may not always be.)</li>
14
15<li>8.1 is a quite new code, so there are many minor changes that,
16if all were to be documented, would hide the key ones.</li>
17
18<li>8.1 is not yet used for "mission critical" applications,
19so there is less need to trace changed behaviour.</li>
20
21</ul>
22
23<h3>Main news by version</h3>
24
25<ul>
26
27<li>8.105: 24 February 2008
28<ul>
29
30<li>New option to initialize with arbitrary beam directions<br/>
31<code>pythia.init( idA, idB, pxA, pyA, pzA, pxB, pyB, pzB)</code></li>
32
33<li>Added capability to set <aloc href="BeamParameters">beam energy spread
34and beam vertex</aloc>.
35<br/>
36<b>Warning:</b> as a consequence, the old <code>Beams</code> group of
37settings has been moved to <code>BeamRemnants</code>, and
38<code>Beams</code> is now instead used for machine beam parameters.
39Therefore also some <code>Main</code> settings of this character have been
40regrouped, as follows:
41<table cellspacing="5">
42<tr> <td>8.100 setting </td> <td>has been moved to </td> </tr>
43<tr> <td><code>Main:idA </code></td>
44 <td><code>Beams:idA </code></td> </tr>
45<tr> <td><code>Main:idB </code></td>
46 <td><code>Beams:idB </code></td> </tr>
47<tr> <td><code>Main:inCMframe </code></td>
48 <td>(<code>Beams:frameType</code>) </td> </tr>
49<tr> <td><code>Main:eCM </code></td>
50 <td><code>Beams:eCM </code></td> </tr>
51<tr> <td><code>Main:eA </code></td>
52 <td><code>Beams:eA </code></td> </tr>
53<tr> <td><code>Main:eB </code></td>
54 <td><code>Beams:eB </code></td> </tr>
55<tr> <td><code>Main:LHEF </code></td>
56 <td><code>Beams:LHEF </code></td> </tr>
57</table></li>
58
59<li>The <code>forceHadronLevel()</code> method introduced for standalone
60hadronization.</li>
61
62<li><code>main15.cc</code> illustrated how either full hadronization or
63only decays of some particles can be looped over for the rest of the
64event retained.</li>
65
66<li>The <code>LHAevnt</code> and <code>LHAinit</code> classes have been
67joined into a new <code>LHAup</code> one, with new options that allow
68the writing of a Les Houches Event File.</li>
69
70<li>The <code>SusyLesHouches</code> class updated to handle
71SLHA version 2.</li>
72
73<li>Updated HepMC conversion routine.</li>
74
75<li>The static <code>ErrorMsg</code> class has been removed and
76its functionality moved into the non-static <code>Info</code> class,
77in the renamed Info file.</li>
78
79<li>Further reduction of the use of static, with related code changes.
80This should allow to have several almost independent <code>Pythia</code>
81instances. Some static classes still remain, however, notably for
82random number generation and particle properties.</li>
83
84<li>Limited capability to use two different <code>Pythia</code> instances
85for signal + pileup event generation, see <code>main19.cc</code> for an
86example.</li>
87
88<li>In the <code>Event</code> class the <code>=</code> and
89<code>=+</code> methods have been overloaded to allow the copying
90or appending of event records. Illustrated in <code>main19.cc</code>.</li>
91
92<li>The html and php page formatting improved with
93cascading style sheets.</li>
94
95<li>Several minor improvements and new options, including updated configure
96scripts.</li>
97
98</ul>
99</li>
100
101<li>8.108: 1 May 2008
102<ul>
103
104<li>Correction in the event record, so that the beam particles in line
1051 and 2 do not have any mother according to the <code>motherList</code>
106method. Previously the "system" entry in line 0 was counted as their
107mother, which gave rise to an unexpected extra vertex in the conversion
108to the HepMC format.</li>
109
110<li>Support for HepMC version 1 is removed, to simplify the code and
111reflect the evolution of the field.</li>
112
113<li>Status codes are stored in HepMC only as 1 for existing and 2 for
114decayed or fragmented particles (whereas previously the original PYTHIA
115codes were used for the latter).</li>
116
117<li>Parton densities are stored in HepMC as <ei>xf(x,Q^2)</ei>
118rather than the <ei>f(x,Q^2)</ei> used in (some) previous versions.</li>
119
120<li>The SusyLesHouches class has ben updated so that reading is fully
121compatible with the SLHA2 standard. </li>
122
123<li>Improved handling of the Higgs width, relevant for massive and thereby
124broad resonance shapes.</li>
125
126<li>The matrix elements for neutralino pair production have now been
127completed and checked.</li>
128
129<li>Ensure that <ei>alpha_strong</ei> does not blow up, by introducing
130a minimal scale somewhat above <ei>Lambda_3</ei> (roughly where
131<ei>alpha_strong = 10</ei>).</li>
132
133<li>New methods <code>isValence1()</code> and <code>isValence2()</code>
134in the <code>Info</code> class.</li>
135
136<li>Protection against division by zero in calculation of decay vertex
137(for zero-mass gluons with zero lifetime, where there should be no
138displacement).</li>
139
140<li>A new compilation option <code>-Wshadow</code> is introduced and
141code is rewritten at all places where this option gave warnings.</li>
142
143<li>Minor library correction to allow compilation with gcc 4.3.0.</li>
144
145</ul>
146</li>
147
148<li>8.114: 22 October 2008
149<ul>
150
151<li>New rescattering description operational (but still experimental)
152for the case that FSR is not interleaved, but saved until after MI,
153ISR and beam remnants have been handled. This involves much new code
154in several classes.</li>
155
156<li>A new class <code>PartonSystems</code> is introduced to
157keep track of which partons in the event record belong to which
158subcollision system, plus some further information on each subsystem.
159It takes over functionality previously found as part of the
160<code>Event</code> class, but leaves room for future growth.</li>
161
162<li>Add optional model, wherein an increased <ei>pT0</ei> turnoff scale
163for MI and ISR is used for above-average active events, i.e. events that
164already have several MI's or ISR emissions.</li>
165
166<li>Freeze GRV 94L distribution at small <ei>Q^2</ei> to avoid blowup.</li>
167
168<li>The <code>pythia.readFile(...)</code> method can now alternatively take
169an <code>istream</code> as argument instead of a <code>filename</code>.</li>
170
171<li>Minor bug correction in <code>PartonLevel.cc</code>; the bug could
172(rarely) give a segmentation fault.</li>
173
174</ul>
175</li>
176
177<li>8.120: 10 March 2009
178<ul>
179
180<li>New rescattering description further developed, but not yet
181recommended for normal usage.</li>
182
183<li>Include new processes for Large Extra Dimensions and Unparticles,
184contributed by Stefan Ask. New test program <code>main28.cc</code>
185illustrates.</li>
186
187<li>Include further SUSY processes: neutralino-chargino and
188chargino-chargino pairs. The processes should be valid also
189in the case of non-minimal flavour violation and/or CP violation.
190Expanded machinery to keep track of SUSY parameters.</li>
191
192<li>Include backwards evolution of incoming photon as part of the
193<code>SpaceShower</code> initial-state radiation description. This
194allows you to simulate hard collisions where one of the incoming
195partons is a photon. New test program <code>main43.cc</code>
196illustrates.</li>
197
198<li>Allow separate mass and transverse momentum cuts when two hard
199subprocesses are generated in the same event.</li>
200
201<li>The default value for the border between short- and long-lived
202paticles has been changed from 1 mm to 10 mm, to better conform with
203LHC standards, see <aloc href="ParticleDecays">here</aloc>.
204The default is still to let all unstable particles decay.</li>
205
206<li>New ISR matrix-element correction to <ei>f -&gt; f gamma</ei>
207in single <ei>W</ei> production.</li>
208
209<li>New method <code>Event::statusHepMC</code> returns the status
210code according to the HepMC conventions agreed in February 2009.
211The interface to HepMC now writes out status according to this
212convention.</li>
213
214<li>Add capability to link to FastJet, with expanded configure script
215and Makefile, and with <code>main61.cc</code> as new example.</li>
216
217<li>Update of <code>Makefile.msc</code>, with added support for latest
218Visual C++ Express edition and use of regexp to check nmake version.</li>
219
220<li>Update of <code>LHAFortran.h</code> and
221<code>Pythia6Interface.h</code>, to make the interface to Fortran
222routines work also under Windows. (Thanks to Anton Karneyeu.)
223
224<li>Updated and expanded worksheet.</li>
225
226<li>The manual pages in the <code>xmldoc</code> directory, and thereby
227also those of the <code>htmldoc</code> and <code>phpdoc</code>
228directories, have been significantly updated and expanded. In particular,
229in many places the class of each method is explicitly shown, as well as
230the type of the return value and of the arguments. This upgrade is not
231yet completed, but already covers the more relevant sections. </li>
232
233<li>The unary minus operator in the <code>Vec4()</code> returns a
234reference to a four-vector with all components negated, but leaves
235the original four-vector unchanged. Previously the four-vector itself
236was flipped.</li>
237
238<li>The <code>pPlus()</code> and <code>pMinus()</code> methods of a
239four-vector and an event-record particle are renamed <code>pPos()</code>
240and <code>pNeg()</code>, respectively.</li>
241
242<li>Include a further loop in <code>ProcessLevel</code>, so that a new
243process is generated in case of failures of a less severe nature.</li>
244
245<li>Introduce warning message for unexpected <code>meMode</code> in
246<code>ResonanceWidths</code>.</li>
247
248<li>Les Houches event reading framework has been rearranged for
249more flexibility. Some bugs corrected. Specifically, when scale
250is not set (<code>scale = -1.</code> in the Les Houches standard),
251PYTHIA did not attempt to set this scale itself, which typically
252lead to there not being any ISR or FSR. Now the
253<aloc href="CouplingsAndScales">rules for normal
2541-, 2- and 3-body final states</aloc> are applied, with a trivial
255extension of the 3-body rules for higher multiplicities.</li>
256
257<li>Correct bug in the handling of parton densities, whereby it was
258not possible to switch to a new set, once a first initialization
259had been done.</li>
260
261<li>Correct bugs when several <code>Pythia::init</code> initialization
262calls are made in the same run, specifically in the case that pointers
263to external processes have been handed in.
264
265<li>Changes in <code>main03.cmnd</code> and <code>main04.cmnd</code>
266so that some nonstandard options are commented ou rather than active.
267Related comments inserted also in some other <code>.cmnd</code> files,
268but there without any change in program execution.</li>
269
270<li>A few further minor bug fixes.</li>
271
272<li>Update year to 2009.</li>
273
274</ul>
275</li>
276
277<li>8.125: 16 June 2009
278<ul>
279
280<li>Hadronization and timlike-shower parameter default values updated
281according to a tune to LEP1 data by Hendrik Hoeth, using the
282Rivet + Professor framework.</li>
283
284<li>Many further SUSY production processes. SLHA readin expanded to cover
285also masses and decay modes. Example <code>main22.cc</code> updated, while
286<code>main33.cc</code> now superfluous and removed. </li>
287
288<li>Also further processes for extra dimensions.</li>
289
290<li>Stefan Ask joins as coauthor.</li>
291
292<li>The <code>TimeShower::shower(...)</code> method has gained
293a new argument, that forces the shower evolution to stop after
294a given number of branchings. A new method
295<code>TimeShower::pTLastInShower()</code> permits the last evolution
296<ei>pT</ei> to be read out. These extensions can be useful
297for matching studies.
298</li>
299
300<li>New optional argument <code>isInterleaved</code> added to
301<code>TimeShower::branch(...)</code>. Is false by default, but
302true when called from the parton level for interleaved evolution
303of several parton systems, optionally also with ISR and MI.</li>
304
305<li>New methods <code>UserHooks::canSetResonanceScale()</code>
306and <code>UserHooks:scaleResonance(...)</code> allows an optional
307user choice of the maximum shower scale in resonance decays.</li>
308
309<li>A new method <code>SpaceShower::doRestart()</code> has been
310added, to help distinguish cases when a
311<code>SpaceShower::branch(...)</code> failure forces a complete
312restart of the evolution from ones where only the intended
313current branching has been vetoed.
314
315<li>When multiple interactions are initialized, it is now
316possible to reduce both <ei>pT0</ei> and <ei>pTmin</ei>
317if necessary to find a valid solution where
318<ei>sigma_jet &gt; sigma_nondiffractive</ei>. Previously
319only the former would be reduced, which could lead to
320infinite loops if too large a <ei>pTmin</ei> was used.
321Thanks to Sami Kama for pointing out the problem.
322</li>
323
324<li>The rescattering machinery is now essentially completed, and can
325be used also by others than the authors. For now, however, it can only
326be recommended for dedicated studies, not e.g. for generic tunes.
327</li>
328
329<li>Timelike and spacelike showers, and beam remnant handling,
330are modified to handle rescattering partons. Specifically, a new machinery
331is introduced to trace the recoils from the combination of rescattering
332with showers and primordial <ei>kT</ei>. Can assign space- or timelike
333virtualities to intermediate particles to have energy and momentum
334conserved locally. This affects the <code>PartonLevel</code>,
335<code>MultipleInteractions</code>, <code>TimeShower</code>,
336<code>SpaceShowe</code>r and <code>BeamRemnants</code> classes.
337Further details to appear in the upcoming article on rescattering.
338(Another change is a reversal to pre-8.114 order for non-interleaved FSR,
339wherein also FSR is treated before beam remnants are attached.)
340</li>
341
342<li>Four new status codes introduced, as part of the rescattering
343description:
344<br/>45 : incoming rescattered parton, with changed kinematics owing
345to ISR in the mother system (cf. status 34);
346<br/>46 : incoming copy of recoiler when this is a rescattered parton
347(cf. status 42);
348<br/>54 : copy of a recoiler, when in the initial state of a different
349system from the radiator;
350<br/>55 : copy of a recoiler, when in the final state of a different
351system from the radiator.
352</li>
353
354<li>New method <code>Info::tooLowPTmin()</code> can tell whether the
355<ei>pTmin</ei> scales for showers or multiple interactions are too low.
356</li>
357
358<li>Pion beams allowed, both <ei>pi^+</ei>, <ei>pi^-</ei> and
359<ei>pi^0</ei>. New machinery for the latter, where the valence
360flavour content is chosen to be either <ei>d dbar</ei> or
361<ei>u ubar</ei> for each new event. One internal pion PDF
362implemented, with others from LHAPDF.</li>
363
364<li>Treatment of Pomeron-proton collisions begun.</li>
365
366<li>Phase-space handling of hard processes and multiple interactions
367slightly expanded to better allow for harder PDF's than proton ones,
368e.g. for Pomerons.</li>
369
370<li>The program documentation has been expanded with an
371alphabetical index of all methods that are described on the
372webpages, see the <aloc href="ProgramMethods">Program Methods</aloc>
373page. Also other sections of the documentation have been
374updated and expanded, including the worksheet.</li>
375
376<li>Several <code>list</code> methods have been made
377<code>const</code>. For the listing of events two new methods
378have been added, <code>Event::list()</code> and
379<code>Event::list(bool showScaleAndVertex,
380bool showMothersAndDaughters = false)</code>,
381that correspond to special cases of the general method.</li>
382
383<li>A new method <code>Pythia::LHAeventSkip(int nSkip)</code>
384permits a skip-ahead of the reading of external Les Houches
385Events, without the necessity to generate the intervening
386<code>nSkip</code> events in full. Makes use of the new
387<code>LHAup::skipEvent(int nSkip)</code> method to perform
388the operations. Mainly intended for debug purposes.
389
390<li>The <code>ClusterJet</code> jet finder now saves the last
391five clustering scales. Also a minor bug fix. Thanks to Nils
392Lavesson for this contribution.</li>
393
394<li>The <code>Particle::m2()</code> method now returns a negative
395number when the stored mass <ei>m</ei> is negative, as used to
396indicate spacelike virtualities. Also the
397<code>Particle::eCalc()</code>, <code>Particle::mT()</code> and
398<code>Particle::mT2()</code> methods have been modified.
399</li>
400
401<li>The <code>&lt;&lt;</code> method to print our a four-vector has
402been expanded with a fifth number, the invariant length, with a minus
403sign for spacelike vectors, and provided within brackets to allow
404a simple visual distinction.</li>
405
406<li>New methods <code>Rndm::dumpState(string fileName)</code> and
407<code>Rndm::readState(string fileName)</code> allows to write or
408read the state of the random number generator to or from a binary file.
409</li>
410
411<li>New method <code>double GammaReal(double x)</code> returns the
412value of the <ei>Gamma</ei> function for arbitrary real argument.
413Some cross sections for extra-dimensional processes rewritten to
414make use of it.
415</li>
416
417<li>New example program <code>main29.cc</code> shows how
418to set up a fictitious process of a heavy system decaying
419to two particles or partons, with decays traced to stable
420particles, as relevant for astroparticle applications.</li>
421
422<li>Main programs that illustrate the HepMC interface have
423been updated to use version 2.04, including units and excluding
424deprecated output formats.</li>
425
426<li>The <code>main32.cc</code> example extended also to handle
427Les Houches Event Files.</li>
428
429<li>The Makefile has been modified so that "make clean" only
430removes the current compilation and library fles, while
431"make distclean" gives a more extensive reset and cleanup.
432Thanks to Nils Lavesson for this contribution. Some other
433minor Makefile corrections.</li>
434
435<li>Several main programs that use the
436<code>Main:timesToShow</code> mode have been corrected so as
437not to crash if this is set to zero. Also some other cosmetics
438changes in main programs that do not affect the running.</li>
439
440<li>Bug correction, in that previously a veto with user hooks
441was not propagated from parton showers inside resonance decays.
442</li>
443
444<li>Minor bug fix in <code>TimeShower</code> for kinematics with
445unequal beam-particle masses.</li>
446
447<li>Bug fix so that <code>PartonLevel:MI = off</code> also works for
448minimum-bias events.</li>
449
450<li>Minor bug fix in the impact-parameter selection of multiple
451interactions. Thanks to Sami Kama for pointing it out.</li>
452
453<li>String fragmentation for junction topology protected against
454numerical instability in boost.</li>
455
456<li>Bug correction in the handling of particle decays to partons,
457where the scale of the partons was set before the partons had been
458added to some arrays, leading to indexation out of bounds.
459Thanks to Vladislav Burylov for discovering this bug.
460</li>
461
462<li>Bug correction in the handling of particles with inhibited decay,
463where the decay vertex would be too far displaced, which could lead to
464infinite loop. Thanks to Sami Kama for debugging this. </li>
465
466<li>Check to avoid infinite loop in matrix-element handling of
467two-body decays.</li>
468
469<li>Bug correction to avoid infinite loops in Dalitz decay treatment.
470Some changes in the decay handling logic to allow a new try when the
471decay of a particle fails.</li>
472
473<li>Minor correction, so the pointer to the <code>Info</code> class
474is set also for user-written classes derived from <code>LHAup</code>.
475</li>
476
477<li>Correction for typo in the matrix element of the
478<code>Sigma3ff2HchgchgfftWW</code> class, for doubly charged Higgs
479production. Thanks to Merlin Kole for spotting it.</li>
480
481<li>Updated colour bookkeeping in junction-antijunction annihilation
482avoids later problems in <code>Pythia::check()</code>. </li>
483
484<li>Minor updates of the <code>Makefile.msc</code> file to work with
485Visual Studio 2008. Thanks to David Bailey for these modifications.</li>
486
487<li>Ensure that <code>nInit</code> in the <code>BeamParticle</code>
488class is set also for unresolved lepton beams.</li>
489
490<li>The <code>VetoEvolution</code> class, derived from
491<code>UserHooks</code>, is obsolete and has been removed.</li>
492
493</ul>
494</li>
495
496<li>8.130: 15 September 2009
497<ul>
498
499<li>New machinery that allows multiple interactions inside diffractive
500systems. Also new optional Pomeron flux factors and Pomeron PDFs.
501New page on <aloc href="Diffraction">diffraction</aloc> added, where
502further details are collected. Still not tuned, so to be used with
503caution.</li>
504
505<li>Make Peter Skands' "Tune 1" parameters for ISR and MI default.
506The older simpler tune is still available as an option, see
507<code><aloc href="Tunes">Tune:pp</aloc></code>.
508</li>
509
510<li>New possible choices for a second hard process: charmonium,
511bottomonium, top pair and single top.</li>
512
513<li>New code for pair production of generic colour-triplet scalar,
514fermion or vector. Largely written by Johan Bijnens, partly recycling
515existing code.</li>
516
517<li>Add user hooks possibility to veto event after a given number
518of multiple interactions.</li>
519
520<li>Add instructions how PYTHIA 8 can be used from inside ROOT.
521Thanks to Andreas Morsch for providing the text and Rene Brun
522for a simple example.</li>
523
524<li>The <code>main21.cc</code> example extended with an option
525for a single-particle gun.</li>
526
527<li>Improvements and bug fixes in rescattering framework.</li>
528
529<li>New method <code>Hist::table(string fileName)</code> provides a
530more direct way to print a two-column table of histogram contents
531into a file than the current <code>Hist::table(ostream& os = cout)</code>.
532 </li>
533
534<li>Modify reading of external files so that a line only consisting of
535control characters counts as empty, the same way as a line only consisting
536of blanks already did. This includes carriage return, tabs and a few more,
537the ones represented by <code>\n \t \v \b \r \f \a</code>. Applies to
538Les Houches Event files, settings files and particle data files. </li>
539
540<li>Fix it so that the read-in of a Les Houches Event File for the
541hardest process can be combined with the faciliy to select a specified
542second hard process.</li>
543
544<li>New empty base class method <code>LHAup::fileFound()</code>
545allows the derived class <code>LHAupLHEF</code> to signal more
546clearly that a failed initialization is caused by a failure to open
547the desired file. </li>
548
549<li>Check that a pointer to an <code>LHAup</code> object has been set
550in <code>Pythia::LHAeventList()</code> and
551<code>Pythia::LHAeventSkip(...)</code> calls.</li>
552
553<li>Updated configure and Makefile, e.g. to build shared libraries
554on Mac OS X.</li>
555
556<li>The options with a direct link to hard-process generation
557in PYTHIA 6 has been removed. It is hardly ever used but
558complicates the build structure. (Owing to its usefulness for some
559debug work, it was reinstated in a limited form in version 8.135.
560Thus <code>main51.cc</code> now contains the complete interface,
561previously in separate files, and commented-out lines in
562<code>examples/Makefile</code> suggest how PYTHIA 6 could be linked.)
563</li>
564
565<li>New argument to <code>Info::errorMsg(...)</code> allows to
566show all error messages of a specific kind rather than only the
567first one, e.g. for initialization.</li>
568
569<li>Correction in decay table of righthanded Majorana neutrinos.
570Thanks to Arnaud Ferrari and Vladimir Savinov.</li>
571
572<li>Correction in expressions in the manual for <ei>H^+-</ei> couplings
573to an <ei>h^0</ei>, <ei>H^0</ei> or <ei>A^0</ei> and a <ei>W^+-</ei>.
574Thanks to Rikard Enberg.</li>
575
576<li>Fix for accessing uninitialized memory, caused by accessing the
577daughters of the incoming beams before these daughters actually existed.
578Thanks to David Bailey and Sami Kama.
579</li>
580
581<li>Uninitialized photon PDF inside the proton could give crazy results
582for processes with incoming photons. Thanks to Adam Davison.</li>
583
584<li>Bug fix such that finite lifetimes can be set also for particles
585produced in the hard process. To exemplify, the bug affected
586<ei>tau</ei> leptons produced in <ei>Z^0</ei> and <ei>W^+-</ei>
587decays. Thanks to Troels Petersen.</li>
588
589<li>Bug fix in <code>TimeShower</code>, that <code>beamOffset</code>
590could remain uninitialized. Thanks to Sami Kama.</li>
591
592<li>Minor correction to resonance decays: fail if the allowed mass
593range of a Breit-Wigner resonance is a small fraction of the total
594area under the resonance curve.</li>
595
596<li>Correction when all three valence quarks were kicked out from a
597proton and could give false messages that beam momentum had been
598used up.</li>
599
600<li>Clarify status codes needed for hadron-level standalone runs in
601order to avoid error messages, and modify the <code>main21.cc</code>
602example accordingly. </li>
603
604<li>Minor corrections in the processes for extra dimensions.</li>
605
606<li>Some other minor additions to existing facilities
607and minor bug fixes.</li>
608
609</ul>
610</li>
611
612<li>8.135: 10 January 2010
613<ul>
614
615<li>All usage of static member methods inside Pythia8 has now been
616eliminated. This simplifies for you to have several simultaneous
617<code>Pythia</code> instances that are run with different conditions.
618The three main classes affected by this are the <code>Settings</code>
619and <code>ParticleData</code> databases and the <code>Rndm</code>
620random-number generator. You can no longer address the methods of these
621classes directly, but have to address them via the <code>settings</code>,
622<code>particleData</code> and <code>rndm</code> instances in the
623respective <code>Pythia</code> object. Also some other smaller pieces
624of code are affected, e.g. Standard Model and SUSY couplings
625(the latter in new files).
626<note>Note 1</note>: The documentation has been updated accordingly
627on these webpages, but the "A Brief Introduction to PYTHIA 8.1"
628still refers to the old behaviour of version 8.100.
629<note>Note 2</note>: the interface to the external LHAPDF library remains
630static, since LHAPDF is written in Fortran and thus by definition
631static.
632<note>Note 3:</note> if you want to have momentum smearing in
633<code>CellJet</code> you now need to send in a pointer to a
634random-number generator.
635</li>
636
637<li>Ten new proton PDF sets are made available internally:
638MRST LO* (2007), MRST LO** (2008), MSTW 2008 LO (central member),
639MSTW 2008 NLO (central member), CTEQ6L, CTEQ6L1, CTEQ6.6 (NLO,
640central member), CT09MC1, CT09MC2, and CT09MCS, see
641<aloc href="PDFSelection">PDF Selection</aloc>. The Pomeron PDF data
642files have been renamed for consistency. Thanks to Tomas Kasemets
643for help with this <ref>Kas10</ref>.
644</li>
645
646<li>New parameters <code>TimeShower:pTmaxFudgeMI</code> and
647<code>SpaceShower:pTmaxFudgeMI</code> introduced, to give the same
648functionality for multiple interactions that
649<code>TimeShower:pTmaxFudge</code> and <code>SpaceShower:pTmaxFudge</code>
650do for the hardest.</li>
651
652<li>A few extensions of the <code>UserHooks</code> framework.
653New methods <code>UserHooks:canVetoISREmission()</code> and
654<code>UserHooks::doVetoISREmission(...)</code> allows the latest
655initial-state emission to be studied before being finalized,
656with the possibility to veto it.
657Similarly <code>Userhooks:canVetoFSREmission()</code> and
658<code>UserHooks::doVetoFSREmission(...)</code> can be used to
659veto the latest final-state emission.</li>
660
661<li>A number of loop counters have been introduced in the
662<code>Info</code> class, that offers some further information on
663the progress of the event generation, for use e.g. in conjunction
664with the <code>UserHooks</code> facility.</li>
665
666<li>The <code>Pythia::initTunes(...)</code> method is made public, so that
667it can be called before the normal call from <code>Pythia::init(...)</code>.
668That way it is possible to start out from a given tune and change a few
669of the parameters.
670</li>
671
672<li>Bug corrected in <code>LHAFortran.h</code> for hard-process input
673from Fortran commonblock. This did not work properly when the input
674was used in combination with a second hard process generated internally.
675Thanks to Mikhail Kirsanov and Roberto Chierici.
676
677<li>Insertion of missing initialization of <code>isInit</code> in the
678<code>Settings</code> and <code>ParticleData</code> constructors, and
679<code>nInit</code> for <code>BeamParticle</code>.
680Thanks to Leif L&ouml;nnblad.</li>
681
682<li>Updated <code>Makefile.msc</code> for Windows users.</li>
683
684<li>Fix of some non-optimal use of booleans, that give warnings on
685a Windows compiler. Thanks to Anton Karneyeu.</li>
686
687<li>New options for the <aloc href="SUSYLesHouchesAccord">
688SUSY Les Houches Accord</aloc> such that, by default,
689particle and decay data are not overwritten for known Standard Model
690particles (including <ei>Z^0</ei>, <ei>W^+-</ei> and <ei>t</ei>,
691but excluding the Higgs).</li>
692
693<li>Bug fix in <code>SusyLesHouches</code>, where the reading of SLHA
694information embedded in an LHEF would not stop at the end of the header
695section.</li>
696
697<li>Bug correction for undefined secondary widths where decay products
698together are heavier than the mother. Also unit default secondary width
699values in the <code>DecayChannel</code> constructor.</li>
700
701<li>Documentation updated, including change of current year to 2010.</li>
702
703</ul>
704</li>
705
706<li>8.140: 16 July 2010
707<ul>
708
709<li>Four new draft <aloc href="Tunes">tunes</aloc> available.</li>
710
711<li>Introduction of a new scenario for production of Hidden-Valley
712particles, and interleaved showering in the QCD and HV sectors, see
713the new <aloc href="HiddenValleyProcesses">Hidden Valleys</aloc>
714description. A longer physics writeup is available <ref>Car10</ref>.
715</li>
716
717<li>Implementation of <ei>2 -> 3</ei> phase space selection intended
718for QCD processes with massless partons. A new set of matching
719<aloc href="PhaseSpaceCuts">phase space cut parameters</aloc>.
720The <aloc href="QCDProcesses">ten different QCD <ei>2 -> 3</ei>
721processes</aloc> have been implemented making use of this new
722possibility, so far without a complete handling of possible colour
723flows, however.</li>
724
725<li>New processes have been added for
726<aloc href="CompositenessProcesses">contact interactions</aloc> in
727<ei>q q -> q q</ei> and <ei>q qbar -> q qbar</ei> scattering.</li>
728
729<li>A process has been added for TeV^-1 Sized
730<aloc href="ExtraDimensionalProcesses">Extra Dimensions</aloc>, which
731involves the electroweak KK gauge bosons, i.e. <ei>gamma_{KK}/Z_{KK}</ei>,
732in one TeV^-1 sized extra dimension; see <code>main30.cc</code> for
733an example. This scenario is described in <ref>Bel10</ref>. Thanks to
734Noam Hod and coworkers for contributing this code.</li>
735
736<li>In the Randall-Sundrum extra-dimensional scenario a new option has
737been added where SM fields can exist in the bulk rather than only on
738a brane. (Still under development.) Furthermore production of a
739Kaluza-Klein gluon state has been added, and the <code> main28.cc</code>
740test program extended.</li>
741
742<li>The scenario for monojets in Large Extra Dimensions has been expanded
743with an alternative for scalar graviton exchange instead of tensor one.
744</li>
745
746<li>New parameters for maximum scale of
747<aloc href="TimelikeShowers">timelike showers</aloc>,
748<code>TimeShower:pTmaxMatch</code>, and the dampening of hard radiation,
749<code>TimeShower:pTdampMatch</code> and <code>TimeShower:pTdampFudge</code>,
750by analogy with corresponding ones for spacelike showers. Also new method
751<code>TimeShower:limitPTmax(...)</code> to implement alternative procedures.
752For dipoles stretched to the beam the new switch
753<code>TimeShower:dampenBeamRecoil</code> allows to dampen radiation
754close to the beam direction, with a changed default behaviour.</li>
755
756<li>Azimuthal anisotropies from coherence arguments have been introduced
757for the spacelike parton showers, see <code>SpaceShower:phiIntAsym</code>
758and <code>SpaceShower:strengthIntAsym</code>.
759Also azimuthal anisotropies from gluon polarization have been introduced
760for the spacelike parton showers, see <code>SpaceShower:phiPolAsym</code>,
761and updated for timelike parton showers, see
762<code>TimeShower:phiPolAsym</code>.</li>
763
764<li>Improvements for the matching to POWHEG LHEF-style input illustrated
765by the new <code>main71.cc</code> example. See also <ref>Cor10</ref>.</li>
766
767<li>A set of new processes <ei>gamma gamma -> f fbar</ei>, with <ei>f</ei>
768quarks or leptons. Code for equivalent photon flux around an unresolved
769proton, with more to come. Thanks to Oystein Alvestad.
770</li>
771
772<li>A new option has been included to dampen the growth of the diffractive
773cross sections, see <aloc href="TotalCrossSections">Total Cross
774Sections</aloc>.</li>
775
776<li>A new method <code>virtual int SigmaProcess::idSChannel()</code>
777has been introduced. If overloaded to return a nonzero value then a
778<ei>2 -> n</ei> process will appear listed as a <ei>2 -> 1 -> n</ei> one.
779That is, an intermediate resonance with the requested identity will be
780inserted in the event record, even without appearing in the calculation
781of the matrix element proper. Thanks to Noam Hod for idea and code.</li>
782
783<li>A new method <code>SigmaProcess::convertM2()</code> has been introduced
784to optionally allow the <code>SigmaProcess::sigmaHat()</code> to return
785the squared matrix element rather than <ei>d(sigmaHat)/d(tHat)</ei> for
786<ei> 2 -> 2 </ei> processes. Furthermore kinematics is stored in the new
787<code>mME</code> and <code>pME</code> vectors for alternative cross
788section encodings.</li>
789
790<li>Different encoding of the <ei>f fbar -> Z W</ei> cross section,
791contributed by Merlin Kole, based on the cross section of
792Brown, Sahdev and Mikaelian. Gives a distinctly different cross section
793than the previous based on EHLQ (including their bug fix).
794In particular the problem with negative cross sections is now fixed.</li>
795
796<li>Minor updates: pass <code>xmlPath</code> to new MSTW and CTEQ PDFs;
797reset beams earlier to give cleaner documentation.</li>
798
799<li>The H1 Fit B LO parametrization to the Pomeron PDF has been included,
800and made new default for Pomerons. Thanks to Paul Newman for providing
801the data files.</li>
802
803<li>Three changes, in principle unrelated, but with the common objective
804to make the generation of a given event depend only on the values
805determined during the initialization stage and on the state of the
806random-number generator when the event is begun. The new default
807should ensure a reproducible stop-and-restart behaviour, convenient
808for debug purposes. Thanks to Michael Schmelling for stressing the
809desire for such a behaviour.
810<br/>(i) Introduction of a new option <code><aloc href="PhaseSpaceCuts">
811PhaseSpace:increaseMaximum</aloc></code> that allows to switch between
812two strategies for handling the (hopefully rare) cases when the
813assumed maximum of the cross section function is exceeded during the
814event generation, with a changed default behaviour. In the old
815default the maximum could be increased if it was exceeded during the run,
816thereby introducing a memory of the previously generated events.
817<br/>(ii) Updated handling of random numbers with Gaussian distributions.
818The <code>gauss()</code> method now only generates one value at a time.
819Instead the new <code>gauss2()</code> method returns a pair of Gauss
820numbers, with related time savings. In the old approach one Gaussian
821number could be buffered, which introduced a memory.
822<br/>(iii) Minor bug fix in <code>MiniStringFragmentation</code>, where
823the popcorn baryon state was not reset for each new system, again
824giving a (flawed) memory.</li>
825
826<li>New directory <code>rootexample</code> with a simple code example
827how to use ROOT for histogramming in PYTHIA runs. See
828<aloc href="ROOTusage">ROOT Usage</aloc> for details. Thanks to Rene Brun.
829</li>
830
831<li>In the <code>HepMCinterface</code> the checks for unhadronized
832quarks and gluons are not performed if hadronization has been switched
833off.</li>
834
835<li>The <code>UserHooks::initPtr(...)</code> has been expanded so that
836pointers to more classes (beam particles, random number, couplings, etc.)
837are sent in, thereby increasing the scope of possible user-written code.
838Also, the <code>UserHooks::doVetoProcessLevel(Event& process)</code>
839now allows the <code>process</code> event record to be modified,
840even if it is not recommended. The new <code>Info::pTnow()</code>
841method returns the current <ei>pT</ei> scale of the combined MI, ISR
842and FSR evolution, which can be useful for some user hooks decisions.
843</li>
844
845<li>Histograms of the <code>Hist</code> class can now be booked
846with up to 1000 bins, instead of the previous maximum 100. All bins
847can be written to file, but the line-printer style printing will join
848nearby bins so at most 100 are printed, as before. </li>
849
850<li>Updated <code>configure</code> and <code>Makefile</code>
851to allow 64-bit compilation and more options. Thanks to Mikhail Kirsanov,
852Rene Brun and Fons Rademakers.</li>
853
854<li>Bug fix in <code>ProcessLevel</code> for colour flow checks of
855junctions. Enables the decay of a neutralino to three quarks, e.g.
856Thanks to Nils-Erik Bomark.</li>
857
858<li>Bug fixes in <code>TimeShower</code>, where recoil partners in resonance
859decays of coloured particles, and recoil partners in QED dipoles when beams
860are not allowed to take a recoil, might not be correctly identified. </li>
861
862<li>Bug fix in <code>SpaceShower</code>: when used with a fixed
863<ei>alpha_strong</ei>, the threshold enhancement factor of
864<ei>g -> Q Qbar</ei> became undefined. Thanks to Stefan Prestel.</li>
865
866<li>Bug fix in initialization of resonance widths, where the
867<code>minWidth</code> parameter could be used uninitialized,
868occasionally resulting in strange initialization problems when
869kinematics needs to force at least one resonance to be off-shell.</li>
870
871<li>Minor updates of <code>main06.cc</code>, <code>main10.cc</code>
872and <code>main23.cc</code>.</li>
873
874<li>Bug fix in mother pointer of multiple interactions in
875diffractive systems.</li>
876
877</ul>
878</li>
879
880<li>8.142: 15 August 2010
881<ul>
882
883<li>The strategy for setting up tune values has been changed.
884Previously the <code>Tune:ee</code> and <code>Tune:pp</code>
885settings were only interpreted during the
886<code>Pythia::init(...)</code> stage. Now they are interpreted
887as soon as they are read. Specifically this means that it is
888possible to override any of the tune parameters by putting new
889commands below <code>Tune:ee</code> and <code>Tune:pp</code>
890in the <code>Pythia::readFile(...)</code> configuration file
891or in the list of <code>Pythia::readString(...)</code> commands.
892<br/>As a consequence of this change, the public
893<code>Pythia::initTunes(...)</code> method has been replaced by
894two private <code>Settings::initTuneEE(...)</code> and
895<code>Settings::initTunePP(...)</code> methods.
896<br/>If <code>Tune:ee</code> or <code>Tune:pp</code> are
897nonvanishing by default, then the corresponding tune variables
898are set also from the <code>Pythia</code> constructor, before any
899user changes are possible. Currently this is not relevant.
900</li>
901
902<li>Bug fix in the setup of the <code>Tune:pp = 5</code> and
903<code>= 6</code> options, which meant that diffractive cross
904sections were not reduced as advertised.</li>
905
906<li>The default value of <code>MultipleInteractions:pT0Ref</code>
907has been slightly reduced so as to give a somewhat improved
908default description. It is not intended as a replacement for the
909specific tunes, however.</li>
910
911<li>Some comparisons between tunes and data, obtained with the
912Rivet package, have been posted on
913<a href="http://home.thep.lu.se/~richard/pythia81/">
914http://home.thep.lu.se/~richard/pythia81/</a>.
915Further improvements can be expected from future Professor-based
916tunes. The current set of 2C, 2M, 3C and 3M "draft tunes" have
917deliberately been chosen different also to explore a range of
918possibilities. One not visible in the plots is the fraction
919of single and double diffractive events in the inelastic cross
920section. This is 32% in 2C and 2M, while it was reduced to
92121% in 3C and 3M, and a recent ATLAS study (ATLAS-CONF-2010-048)
922would suggest 28+-4%.</li>
923
924<li>Minor changes in <code>TimeShower</code> and
925<code>SpaceShower</code>, as protection if the <ei>c</ei> or
926<ei>b</ei> masses are set small.</li>
927
928<li>Bug fix in <code>SpaceShower</code>, for case when <ei>phi</ei>
929angle selection is biased to take into account interference effects.
930</li>
931
932<li>The <code>SigmaProcess::convertM2()</code> method now has
933been implemented also for <ei>2 -> 1</ei> processes, so that it is
934possible to provide the squared matrix element instead of
935<ei>sigmaHat</ei> for semi-internal processes. A fixed-width
936Breit-Wigner is also inserted, since the matrix element is supposed
937not to include it.</li>
938
939<li>New method <code>SigmaProcess::setupForME()</code> does an
940extended conversion from the internal kinematics to an almost
941equivalent one, better adapted to the mass conventions of matrix-element
942caclulation programs, such as massive incoming <ei>b</ei> quarks.
943New flags allow to determine whether the <ei>c</ei>, <ei>b</ei>,
944<ei>mu</ei> and <ei>tau</ei> should be considered massless or not
945in the calculations.</li>
946
947<li>Two new friend methods <code>table</code> of the <code>Hist</code>
948class allow to print a table with three columns, the first for the
949(common!) <ei>x</ei> values and the other two for the respective
950histogram values. A new method <code>takeSqrt</code> for the square
951root of histogram bin contents.
952</li>
953
954</ul>
955</li>
956
957<li>8.145: 10 November 2010
958<ul>
959
960<li><code>Couplings</code> is defined in <code>StandardModel.h</code>
961as a derived class of <code>coupSM</code> and has only one extra flag:
962<code>isSUSY</code> to check presence of extra couplings.Changed all
963pointers <code>CoupSM*</code> to <code>Couplings*</code> and removed
964explicit references to <code>CoupSUSY*</code>. The <code>coupSUSY</code>
965object is only initialised if SUSY couplings are present. The new pointer
966<code>couplingsPtr</code> points either to only SM couplings or SM+SUSY
967couplings based on SLHA data.</li>
968
969<li>New files <code>SusyResonanceWidths.h/cc</code> contains the
970<code>SusyResonanceWidths</code> class, which inherits from
971<code>ResonanceWidths</code> but typecasts the <code>couplingsPtr</code>
972to <code>(CoupSUSY*) coupSUSYPtr</code>. This is the base class for
973all SUSY resonances. It contains the <code>ResonanceSquark</code> class
974for all squark decays. A new flag <code>SLHA:useDecayTable</code>
975to check if internal widths should be overwritten by those read in
976via SLHA.</li>
977
978<li>Added new functionality to <code>SusyLesHouches</code> for read-in
979of generic user blocks in the SLHA format, along with methods to
980extract parameters from them with typecasting controlled by the user.
981Intended for use with user-written semi-internal processes.</li>
982
983<li>Added <code>Sigma1qq2antisquark</code> cross section.
984
985<li>Some new flags and modes in the <code>SUSY</code> and
986<code>SLHA</code> series offer further functionality.</li>
987
988<li>Several further changes as a consequence of the upgrade of the SUSY
989machinery.</li>
990
991<li>Bug/typo fixes in rotation matrices for SUSY couplings and for the
992processes <code>qqbar2squarkantisquark</code>,
993<code>qq2squarksquark</code> and more.
994
995<li>Improved handling of colour junctions. Added new example program
996<code>main72.cc</code>, to illustrate read-in of color junction
997structures via LHEF (<code>main72.lhe</code>). The example used is SUSY
998with RPV.</li>
999
1000<li>New Tune 4C introduced as <code>Tune:pp = 5</code>. The more crude
1001(non-)tunes 3C and 3M are removed.
1002
1003<li>New methods <code>Settings::getFlagMap(...)</code>,
1004<code>Settings::getModeMap(...)</code>,
1005<code>Settings::getParmMap(...)</code> and
1006<code>Settings::getWordMap(...)</code> allows to return a map of all
1007settings of the respective type that contain a specific string
1008in its name.
1009</li>
1010
1011<li>Improved description of excited <ei>g^*/KK-gluon^*</ei> production
1012in the <code>Sigma1qqbar2KKgluonStar</code> and
1013<code>ResonanceKKgluon</code> classes.
1014
1015<li>Possibility added to let Hidden-Valley <ei>gamma_v</ei> have
1016a nonero mass and decay by mixing with the ordinary photon.
1017Still experimental.</li>
1018
1019<li>Minor bug fix in handling of three-body phase space.</li>
1020
1021<li>Minor correction in <code>Sigma2ffbar2TEVffbar</code> class.</li>
1022
1023<li>Bug fix for decays of <ei>W'</ei> to a pair of heavy fermions when
1024<ei>gV != gA</ei>. Thanks to M. Chizhov, see arXiv:0705.3944. </li>
1025
1026<li>Restore the older EHLQ-based encoding of the <ei>f fbar -> Z W</ei>
1027cross section, which was changed in version 8.140, since comparisons
1028with Madgraph gives much better agreement with it than with the
1029expression of Brown, Sahdev and Mikaelian.</li>
1030
1031<li>The <code>HepMCInterface</code> now also stores colour flow
1032information for coloured particles.
1033
1034<li>Pointer to <code>Couplings</code> made available for particle decays.
1035
1036<li>Minor update in <code>main61.cc</code> for more elegant usage
1037of FastJet, as suggested by Gregory Soyez.</li>
1038
1039</ul>
1040</li>
1041
1042</ul>
1043
1044</chapter>
1045
1046<!-- Copyright (C) 2010 Torbjorn Sjostrand -->