source: HiSusy/trunk/Pythia8/pythia8170/phpdoc/EventRecord.php @ 1

Last change on this file since 1 was 1, checked in by zerwas, 11 years ago

first import of structure, PYTHIA8 and DELPHES

File size: 25.6 KB
Line 
1<html>
2<head>
3<title>The Event Record</title>
4<link rel="stylesheet" type="text/css" href="pythia.css"/>
5<link rel="shortcut icon" href="pythia32.gif"/>
6</head>
7<body>
8
9<script language=javascript type=text/javascript>
10function stopRKey(evt) {
11var evt = (evt) ? evt : ((event) ? event : null);
12var node = (evt.target) ? evt.target :((evt.srcElement) ? evt.srcElement : null);
13if ((evt.keyCode == 13) && (node.type=="text"))
14{return false;}
15}
16
17document.onkeypress = stopRKey;
18</script>
19<?php
20if($_POST['saved'] == 1) {
21if($_POST['filepath'] != "files/") {
22echo "<font color='red'>SETTINGS SAVED TO FILE</font><br/><br/>"; }
23else {
24echo "<font color='red'>NO FILE SELECTED YET.. PLEASE DO SO </font><a href='SaveSettings.php'>HERE</a><br/><br/>"; }
25}
26?>
27
28<form method='post' action='EventRecord.php'>
29
30<h2>The Event Record</h2>
31
32A <code>Pythia</code> instance contains two members of the 
33<code>Event</code> class. The one called <code>process</code> provides
34a brief summary of the main steps of the hard process, while the
35one called <code>event</code> contains the full history. The
36user would normally interact mainly with the second one, so
37we will examplify primarily with that one.
38
39<p/>
40The <code>Event</code> class to first approximation is a vector of
41<code>Particle</code>s, so that it can expand to fit the current
42event size. The index operator is overloaded, so that e.g.
43<code>event[i]</code> corresponds to the <i>i</i>'th particle
44of the object <code>event</code>. Thus <code>event[i].id()</code>
45returns the identity of the <i>i</i>'th particle, and so on.
46Therefore the methods of the
47<code><?php $filepath = $_GET["filepath"];
48echo "<a href='ParticleProperties.php?filepath=".$filepath."' target='page'>";?>Particle</a></code> class
49are at least as essential as those of the <code>Event</code> class
50itself.
51
52<p/>
53As used inside PYTHIA, some conventions are imposed on the structure
54of the event record. Entry 0 of the <code>vector&lt;Particle&gt;</code>
55is used to represent the event as a whole, with its total four-momentum
56and invariant mass, but does not form part of the event history.
57Lines 1 and 2 contains the two incoming beams, and only from here on
58history tracing works as could be expected. That way unassigned mother
59and daughter indices can be put 0 without ambiguity. Depending on the
60task at hand, a loop may therefore start at index 1 rather than 0
61without any loss. Specifically, for translation to other event record
62formats such as HepMC [<a href="Bibliography.php" target="page">Dob01</a>], where the first index is 1, the
63Pythia entry 0 definitely ought to be skipped in order to minimize the
64danger of indexing errors.
65
66<p/>
67In the following we will list the methods available.
68Only a few of them have a function to fill in normal user code.
69
70<h3>Basic output methods</h3>
71
72Some methods are available to read out information on the
73current event record:
74
75<a name="method1"></a>
76<p/><strong>Particle& Event::operator[](int i) &nbsp;</strong> <br/>
77 
78<strong>const Particle& Event::operator[](int i) &nbsp;</strong> <br/>
79 
80<strong>Particle& Event::at(int i) &nbsp;</strong> <br/>
81returns a (<code>const</code>) reference to the <i>i</i>'th particle
82in the event record, which can be used to get (or set) all the
83<?php $filepath = $_GET["filepath"];
84echo "<a href='ParticleProperties.php?filepath=".$filepath."' target='page'>";?>properties</a> of this particle.
85 
86
87<a name="method2"></a>
88<p/><strong>int Event::size() &nbsp;</strong> <br/>
89The event size, i.e. the sie of the <code>vector&lt;Particle&gt;</code>.
90Thus valid particles, to be accessed by the above indexing operator,
91are stored in the range <i>0 &lt;= i &lt; size()</i>. See comment
92above about the (ir)relevance of entry 0.
93 
94
95<a name="method3"></a>
96<p/><strong>void Event::list() &nbsp;</strong> <br/>
97 
98<strong>void Event::list(ostream& os) &nbsp;</strong> <br/>
99 
100<strong>void Event::list(bool showScaleAndVertex, bool showMothersAndDaughters = false) &nbsp;</strong> <br/>
101 
102<strong>void Event::list(bool showScaleAndVertex, bool showMothersAndDaughters, ostream& os) &nbsp;</strong> <br/>
103Provide a listing of the whole event, i.e. of the
104<code>vector&lt;Particle&gt;</code>. The methods with fewer arguments
105call the final one with the respective default values, and are
106non-inlined so they can be used in a debugger. The basic identity
107code, status, mother, daughter, colour, four-momentum and mass data
108are always given, but the methods can also be called with a few
109optional arguments for further information:
110<br/><code>argument</code><strong> showScaleAndVertex </strong> (<code>default = <strong>false</strong></code>) :  optionally give a
111second line for each particle, with the production scale (in GeV),
112the particle polarization (dimensionless), the production vertex
113(in mm or mm/c) and the invariant lifetime (also in mm/c).
114 
115<br/><code>argument</code><strong> showMothersAndDaughters </strong> (<code>default = <strong>false</strong></code>) :
116gives a list of all daughters and mothers of a particle, as defined by
117the <code>motherList(i)</code> and <code>daughterList(i)</code> methods
118described below. It is mainly intended for debug purposes.
119 
120<br/><code>argument</code><strong> os </strong> (<code>default = <strong>cout</strong></code>) :  a reference to the <code>ostream</code>
121object to which the event listing will be directed.
122 
123
124 
125
126<p/>
127Each <code>Particle</code> has two mother and two daughter indices.
128These may be used to encode zero, one, two or more mothers/daughters,
129depending on the combination of values and status code, according to
130well-defined <?php $filepath = $_GET["filepath"];
131echo "<a href='ParticleProperties.php?filepath=".$filepath."' target='page'>";?>rules</a>. The
132two methods below can do this job easier for you.
133
134<a name="method4"></a>
135<p/><strong>vector&lt;int&gt; Event::motherList(int i) &nbsp;</strong> <br/>
136returns a vector of all the mother indices of the particle at index
137<i>i</i>. This list is empty for entries 0, 1 and 2,
138i.e. the "system" in line 0 is not counted as part of the history.
139Normally the list contains one or two mothers, but it can also be more,
140e.g. in string fragmentation the whole fragmenting system is counted
141as mothers to the primary hadrons. Many particles may have the same
142<code>motherList</code>. Mothers are listed in ascending order.
143 
144
145<a name="method5"></a>
146<p/><strong>vector&lt;int&gt; Event::daughterList(int i) &nbsp;</strong> <br/>
147returns a vector of all the daughter indices of the particle at index
148<i>i</i>. This list is empty for a particle that did
149not decay (or, if the evolution is stopped early enough, a parton
150that did not branch), while otherwise it can contain a list of
151varying length, from one to many. For the two incoming beam particles,
152all shower initiators and beam remnants are counted as daughters,
153with the one in slot 0 being the one leading up to the hardest
154interaction. The "system" in line 0 does not have any daughters,
155i.e. is not counted as part of the history. Many partons may have the
156same <code>daughterList</code>. Daughters are listed in ascending order.
157 
158
159<a name="method6"></a>
160<p/><strong>int Event::statusHepMC(int i) &nbsp;</strong> <br/>
161returns the status code according to the HepMC conventions agreed in
162February 2009. This convention does not preserve the full information
163provided by the internal PYTHIA status code, as obtained by
164<code>Particle::status()</code>, but comes reasonably close.
165The allowed output values are:
166<ul>
167<li>0 : an empty entry, with no meaningful information and therefore
168to be skipped unconditionally (should not occur in PYTHIA);</li>
169<li>1 : a final-state particle, i.e. a particle that is not decayed
170further by the generator (may also include unstable particles that
171are to be decayed later, as part of the detector simulation);</li>
172<li>2 : a decayed Standard Model hadron or tau or mu lepton, excepting
173virtual intermediate states thereof (i.e. the particle must undergo
174a normal decay, not e.g. a shower branching);</li>
175<li>3 : a documentation entry (not used in PYTHIA);</li> 
176<li>4 : an incoming beam particle;</li> 
177<li>11 - 200 : an intermediate (decayed/branched/...) particle that does
178not fulfill the criteria of status code 2, with a generator-dependent
179classification of its nature; in PYTHIA the absolute value of the normal
180status code is used.</li>
181</ul>
182
183 
184
185<h3>Further output methods</h3>
186
187The above methods are the main ones that a normal user would make
188frequent use of. There are some further methods that also could come
189in handy, in the exploration of the history of an event, but where
190the outcome is not always obvious if one is not familiar with the
191detailed structure of an event record.
192
193<a name="method7"></a>
194<p/><strong>int Event::iTopCopy(int i) &nbsp;</strong> <br/>
195 
196<strong>int Event::iBotCopy(int i) &nbsp;</strong> <br/>
197are used to trace carbon copies of the particle at index <i>i</i> up
198to its top mother or down to its bottom daughter. If there are no such
199carbon copies, <i>i</i> itself will be returned. A carbon copy is
200when the "same" particle appears several times in the event record, but
201with changed momentum owing to recoil effects.
202 
203
204<a name="method8"></a>
205<p/><strong>int Event::iTopCopyId(int i) &nbsp;</strong> <br/>
206 
207<strong>int Event::iBotCopyId(int i) &nbsp;</strong> <br/>
208also trace top mother and bottom daughter, but do not require carbon
209copies, only that one can find an unbroken chain, of mothers or daughters,
210with the same flavour <code>id</code> code. When it encounters ambiguities,
211say a <i>g -> g g</i> branching or a <i>u u -> u u</i> hard scattering,
212it will stop the tracing and return the current position. It can be confused
213by nontrivial flavour changes, e.g. a hard process <i>u d -> d u</i> 
214by <i>W^+-</i> exchange will give the wrong answer. These methods
215therefore are of limited use for common particles, in particular for the
216gluon, but should work well for "rare" particles.
217 
218
219<a name="method9"></a>
220<p/><strong>vector&lt;int&gt; Event::sisterList(int i) &nbsp;</strong> <br/>
221returns a vector of all the sister indices of the particle at index
222<i>i</i>, i.e. all the daughters of the first mother, except the
223particle itself.
224 
225
226<a name="method10"></a>
227<p/><strong>vector&lt;int&gt; Event::sisterListTopBot(int i,bool widenSearch = true) &nbsp;</strong> <br/>
228returns a vector of all the sister indices of the particle at index
229<i>i</i>, tracking up and back down through carbon copies
230if required. That is, the particle is first traced up with
231<code>iTopCopy()</code> before its mother is found, and then all
232the particles in the <code>daughterList()</code> of this mother are
233traced down with <code>iBotCopy()</code>, omitting the original
234particle itself. Any non-final particles are removed from the list.
235Should this make the list empty the search criterion is widened so that
236all final daughters are allowed, not only carbon-copy ones. A second
237argument <code>false</code> inhibits the second step, and increases
238the risk that an empty list is returned. A typical example of this
239is for ISR cascades, e.g. <i>e -> e gamma</i> where the photon
240may not have any obvious sister in the final state if the bottom copy
241of the photon is an electron that annihilates and thus is not part of
242the final state. 
243 
244
245<a name="method11"></a>
246<p/><strong>bool Event::isAncestor(int i, int iAncestor) &nbsp;</strong> <br/>
247traces the particle <i>i</i> upwards through mother, grandmother,
248and so on, until either <i>iAncestor</i> is found or the top of
249the record is reached. Normally one unique mother is required,
250as is the case e.g. in decay chains or in parton showers, so that
251e.g. the tracing through a hard scattering would not work. For
252hadronization, first-rank hadrons are identified with the respective
253string endpoint quark, which may be useful e.g. for <i>b</i> physics,
254while higher-rank hadrons give <code>false</code>. Currently also
255ministrings that collapsed to one single hadron and junction topologies
256give <code>false</code>. 
257 
258
259<p/>
260One data member in an <code>Event</code> object is used to keep track
261of the largest <code>col()</code> or <code>acol()</code> colour tag set
262so far, so that new ones do not clash.
263
264<br/><br/><table><tr><td><strong>Event:startColTag </td><td></td><td> <input type="text" name="1" value="100" size="20"/>  &nbsp;&nbsp;(<code>default = <strong>100</strong></code>; <code>minimum = 0</code>; <code>maximum = 1000</code>)</td></tr></table>
265This sets the initial colour tag value used, so that the first one
266assigned is <code>startColTag + 1</code>, etc. The Les Houches accord
267[<a href="Bibliography.php" target="page">Boo01</a>] suggests this number to be 500, but 100 works equally
268well.
269 
270
271<a name="method12"></a>
272<p/><strong>void Event::initColTag(int colTag = 0) &nbsp;</strong> <br/>
273forces the current colour tag value to be the larger of the input
274<code>colTag</code> and the above <code>Event:startColTag</code>
275values.
276 
277
278<a name="method13"></a>
279<p/><strong>int Event::lastColTag() &nbsp;</strong> <br/>
280returns the current maximum colour tag.
281 
282
283<a name="method14"></a>
284<p/><strong>int Event::nextColTag() &nbsp;</strong> <br/>
285increases the current maximum colour tag by one and returns this
286new value. This method is used whenever a new colour tag is needed.
287   
288
289<p/>
290Many event properties are accessible via the <code>Info</code> class,
291<?php $filepath = $_GET["filepath"];
292echo "<a href='EventInformation.php?filepath=".$filepath."' target='page'>";?>see here</a>. Since they are used
293directly in the event generation, a few are stored directly in the
294<code>Event</code> class, however.
295
296<a name="method15"></a>
297<p/><strong>void Event::scale( double scaleIn) &nbsp;</strong> <br/>
298 
299<strong>double Event::scale() &nbsp;</strong> <br/>
300set or get the scale (in GeV) of the hardest process in the event.
301Matches the function of the <code>scale</code> variable in the
302<?php $filepath = $_GET["filepath"];
303echo "<a href='LesHouchesAccord.php?filepath=".$filepath."' target='page'>";?>Les Houches Accord</a>.
304 
305
306<a name="method16"></a>
307<p/><strong>void Event::scaleSecond( double scaleSecondIn) &nbsp;</strong> <br/>
308 
309<strong>double Event::scaleSecond() &nbsp;</strong> <br/>
310set or get the scale (in GeV) of a second hard process in the event,
311in those cases where such a one
312<?php $filepath = $_GET["filepath"];
313echo "<a href='SecondHardProcess.php?filepath=".$filepath."' target='page'>";?>has been requested</a>.
314 
315
316<h3>Constructors and modifications of the event record</h3>
317 
318Although you would not normally need to create your own
319<code>Event</code> instance, there may be times where that
320could be convenient. The typical exampel would be if you want to
321create a new event record that is the sum of a few different ones,
322e.g. if you want to simulate pileup events. There may also be cases
323where you want to add one or a few particles to an existing event
324record. 
325
326<a name="method17"></a>
327<p/><strong>Event::Event(int capacity = 100) &nbsp;</strong> <br/>
328creates an empty event record, but with a reserved size
329<i>capacity</i> for the <code>Particle</code> vector. 
330 
331
332<a name="method18"></a>
333<p/><strong>Event& Event::operator=(const Event& oldEvent) &nbsp;</strong> <br/>
334copies the input event record.
335 
336
337<a name="method19"></a>
338<p/><strong>Event& Event::operator+=(const Event& addEvent) &nbsp;</strong> <br/>
339appends an event to an existing one. For the appended particles
340mother, daughter and colour tags are shifted to make a consistent
341record. The zeroth particle of the appended event is not copied,
342but the zeroth particle of the combined event is updated to the
343full energy-momentum content.
344 
345
346<a name="method20"></a>
347<p/><strong>void Event::init(string headerIn = &quot;&quot;, ParticleData* particleDataPtrIn = 0, int startColTagIn = 100) &nbsp;</strong> <br/>
348initializes colour, the pointer to the particle database, and the
349header specification used for the event listing. We remind that a
350<code>Pythia</code> object contains two event records
351<code>process</code> and <code>event</code>. Thus one may e.g.
352call either  <code>pythia.process.list()</code> or
353<code>pythia.event.list()</code>. To distinguish those two rapidly
354at visual inspection, the <code>"Pythia Event Listing"</code> header
355is printed out differently, in one case adding
356<code>"(hard process)"</code> and in the other
357<code>"(complete event)"</code>. When <code>+=</code> is used to
358append an event, the modified event is printed with
359<code>"(combination of several events)"</code> as a reminder.
360 
361
362<a name="method21"></a>
363<p/><strong>void Event::clear() &nbsp;</strong> <br/>
364empties event record. Specifically the <code>Particle</code> vector
365size is reset to zero.
366 
367
368<a name="method22"></a>
369<p/><strong>void Event::reset() &nbsp;</strong> <br/>
370empties the event record, as <code>clear()</code> above, but then
371fills the zero entry of the <code>Particle</code> vector with the
372pseudoparticle used to represent the event as a whole. At this point
373the pseudoparticle is not assigned any momentum or mass.
374 
375
376<a name="method23"></a>
377<p/><strong>void Event::popBack(int n = 1) &nbsp;</strong> <br/>
378removes the last <i>n</i> particle entries; must be a positive
379number.
380 
381
382<a name="method24"></a>
383<p/><strong>int Event::append(Particle entryIn) &nbsp;</strong> <br/>
384appends a particle to the bottom of the event record and
385returns the index of this position.
386 
387
388<a name="method25"></a>
389<p/><strong>int Event::append(int id, int status, int mother1, int mother2, int daughter1, int daughter2, int col, int acol, double px, double py, double pz, double e, double m = 0., double scale = 0., double pol = 9.) &nbsp;</strong> <br/>
390appends a particle to the bottom of the event record and
391returns the index of this position;
392<?php $filepath = $_GET["filepath"];
393echo "<a href='ParticleProperties.php?filepath=".$filepath."' target='page'>";?>see here</a> for the meaning
394of the various particle properties.
395 
396
397<a name="method26"></a>
398<p/><strong>int Event::append(int id, int status, int mother1, int mother2, int daughter1, int daughter2, int col, int acol, Vec4 p, double m = 0., double scale = 0., double pol = 9.) &nbsp;</strong> <br/>
399appends a particle to the bottom of the event record and
400returns the index of this position, as above but with four-momentum
401as a <code>Vec4</code>.
402 
403
404<a name="method27"></a>
405<p/><strong>int Event::append(int id, int status, int col, int acol, double px, double py, double pz, double e, double m = 0., double scale = 0., double pol = 9.) &nbsp;</strong> <br/>
406 
407<strong>int Event::append(int id, int status, int col, int acol, Vec4 p, double m = 0., double scale = 0., double pol = 9.) &nbsp;</strong> <br/>
408appends a particle to the bottom of the event record and
409returns the index of this position, as above but with vanishing
410(i.e. zero) mother and daughter indices.
411 
412
413<a name="method28"></a>
414<p/><strong>int Event::setPDTPtr(int iSet = -1) &nbsp;</strong> <br/>
415send in a pointer to the <code>ParticleData</code> database for
416particle <code>iSet</code>, by default the most recently appended
417particle. Also generates a pointer to the
418<code>ParticleDataEntry</code> object of the identity code
419of the particle.
420 
421
422<a name="method29"></a>
423<p/><strong>int Event::copy(int iCopy, int newStatus = 0) &nbsp;</strong> <br/>
424copies the existing particle in entry <code>iCopy</code> to the
425bottom of the event record and returns the index of this position.
426By default, i.e. with <code>newStatus = 0</code>, everything is
427copied precisely as it is, which means that history information
428has to be modified further by hand to make sense. With a positive
429<code>newStatus</code>, the new copy is set up to be the daughter of
430the old, with status code <code>newStatus</code>, while the status
431code of <code>iCopy</code> is negated. With a negative
432<code>newStatus</code>, the new copy is instead set up to be the
433mother of <code>iCopy</code>. An attempt to copy an out-of-range
434entry will return -1.
435 
436
437<a name="method30"></a>
438<p/><strong>Particle& Event::back() &nbsp;</strong> <br/>
439returns a reference to the last particle in the event record.
440 
441
442<a name="method31"></a>
443<p/><strong>void Event::restorePtrs() &nbsp;</strong> <br/>
444each particle in the event record has a pointer to the whole database
445and another to the particle species itself, used to find some particle
446properties. The latter pointer is automatically set/changed whenever
447the particle identity is set/changed by one of the normal methods.
448(It is the "changed" part that prompts the inclusion of a pointer
449to the whole database.) Of course the pointer values are specific to
450the memory locations of the current run, and so it has no sense to
451save them if events are written to file. Should you use some
452persistency scheme that bypasses the normal methods when the event is
453read back in, you can use <code>restorePtrs()</code> afterwards to set
454these pointers appropriately.
455 
456
457<p/>
458A few methods exist to rotate and boost events. These derive from the
459<?php $filepath = $_GET["filepath"];
460echo "<a href='FourVectors.php?filepath=".$filepath."' target='page'>";?>Vec4</a> methods, and affect both the
461momentum and the vertex (position) components of all particles.
462
463<a name="method32"></a>
464<p/><strong>void Event::rot(double theta, double phi) &nbsp;</strong> <br/>
465rotate all particles in the event by this polar and azimuthal angle
466(expressed in radians).
467 
468
469<a name="method33"></a>
470<p/><strong>void Event::bst(double betaX, double betaY, double betaZ) &nbsp;</strong> <br/>
471 
472<strong>void Event::bst(double betaX, double betaY, double betaZ, double gamma) &nbsp;</strong> <br/>
473 
474<strong>void Event::bst(const Vec4& vec) &nbsp;</strong> <br/>
475boost all particles in the event by this three-vector.
476Optionally you may provide the <i>gamma</i> value as a fourth argument,
477which may help avoid roundoff errors for big boosts. You may alternatively
478supply a <code>Vec4</code> four-vector, in which case the boost vector
479becomes <i>beta = p/E</i>.
480 
481
482<a name="method34"></a>
483<p/><strong>void Event::rotbst(const RotBstMatrix& M) &nbsp;</strong> <br/>
484rotate and boost by the combined action encoded in the
485<code><?php $filepath = $_GET["filepath"];
486echo "<a href='FourVectors.php?filepath=".$filepath."' target='page'>";?>RotBstMatrix</a> M</code>.
487 
488
489<h3>The Junction Class</h3>
490
491The event record also contains a vector of junctions, which often
492is empty or else contains only a very few per event. Methods are
493available to add further junctions or query the current junction list.
494This is only for the expert user, however, and is not discussed
495further here, but only the main points. 
496
497<p/>
498A junction stores the properites associated with a baryon number that
499is fully resolved, i.e. where three different colour indices are
500involved. There are two main applications,
501<ol> 
502<li>baryon beams, where at least two valence quarks are kicked out,
503and so the motion of the baryon number is notrivial;</li>
504<li>baryon-number violating processes, e.g. in SUSY with broken
505<i>R</i>-parity.</li>
506</ol>
507Information on junctions is set, partly in the process generation,
508partly in the beam remnants machinery, and used by the fragmentation
509routines, but the normal user does not have to know the details.
510
511<p/>
512For each junction, information is stored on the kind of junction, and
513on the three (anti)colour indices that are involved in the junction.
514The possibilities foreseen are:
515<ul>
516<li><code>kind = 1</code> : incoming colourless particle to three
517outgoing colours (e.g. baryon beam remnant or
518<i>neutralino -> q q q</i>);</li>
519<li><code>kind = 2</code> : incoming colourless particle to three
520outgoing anticolours;</li>
521<li><code>kind = 3</code> : one incoming anticolour (stored first)
522and two outgoing  colours (e.g. antisquark decaying to two quarks, or
523  gluino decay to three quarks);</li>
524<li><code>kind = 4</code> : one incoming colour (stored first) and two
525outgoing anticolours (e.g. squark decaying to two antiquarks, or
526  gluino decaying to three antiquarks);</li>
527<li><code>kind = 5</code> : two incoming anticolours (stored first)
528and one outgoing colour (e.g. resonant squark production through RPV);</li>
529<li><code>kind = 6</code> : two incoming colours (stored first)
530and one outgoing anticolour (e.g. resonant antisquark production
531  through RPV);
532</li>
533</ul>
534The odd (even) <code>kind</code> codes corresponds to a +1 (-1) change in
535baryon number across the junction.
536
537<p/>
538The kind and colour information in the list of junctions can be set
539or read with methods of the <code>Event</code> class, but are not of
540common interest and so not described here.
541
542<p/>
543A listing of current junctions can be obtained with the
544<code>listJunctions()</code> method.
545 
546<h3>Subsystems</h3>
547
548Separate from the event record as such, but closely tied to it is the
549<code><?php $filepath = $_GET["filepath"];
550echo "<a href='AdvancedUsage.php?filepath=".$filepath."' target='page'>";?>PartonSystems</a></code> class,
551which mainly stores the parton indices of incoming and outgoing partons,
552classified by collision subsystem. Such information is needed to
553interleave multiparton interactions, initial-state showers and final-state
554showers, and append beam remnants. It could also be used in other places.
555It is intended to be accessed only by experts, such as implementors of
556<?php $filepath = $_GET["filepath"];
557echo "<a href='ImplementNewShowers.php?filepath=".$filepath."' target='page'>";?>new showering models</a>.
558
559<input type="hidden" name="saved" value="1"/>
560
561<?php
562echo "<input type='hidden' name='filepath' value='".$_GET["filepath"]."'/>"?>
563
564<table width="100%"><tr><td align="right"><input type="submit" value="Save Settings" /></td></tr></table>
565</form>
566
567<?php
568
569if($_POST["saved"] == 1)
570{
571$filepath = $_POST["filepath"];
572$handle = fopen($filepath, 'a');
573
574if($_POST["1"] != "100")
575{
576$data = "Event:startColTag = ".$_POST["1"]."\n";
577fwrite($handle,$data);
578}
579fclose($handle);
580}
581
582?>
583</body>
584</html>
585
586<!-- Copyright (C) 2012 Torbjorn Sjostrand -->
Note: See TracBrowser for help on using the repository browser.