3 <title>Parton Distributions</title>
4 <link rel="stylesheet" type="text/css" href="pythia.css"/>
5 <link rel="shortcut icon" href="pythia32.gif"/>
9 <script language=javascript type=text/javascript>
10 function stopRKey(evt) {
11 var evt = (evt) ? evt : ((event) ? event : null);
12 var node = (evt.target) ? evt.target :((evt.srcElement) ? evt.srcElement : null);
13 if ((evt.keyCode == 13) && (node.type=="text"))
17 document.onkeypress = stopRKey;
20 if($_POST['saved'] == 1) {
21 if($_POST['filepath'] != "files/") {
22 echo "<font color='red'>SETTINGS SAVED TO FILE</font><br/><br/>"; }
24 echo "<font color='red'>NO FILE SELECTED YET.. PLEASE DO SO </font><a href='SaveSettings.php'>HERE</a><br/><br/>"; }
28 <form method='post' action='PartonDistributions.php'>
30 <h2>Parton Distributions</h2>
32 The parton distributions file contains the <code>PDF</code> class.
33 <code>PDF</code> is the base class, from which specific <code>PDF</code>
37 The choice of which PDF to use is made by settings in the
38 <code>Pythia</code> class, see <?php $filepath = $_GET["filepath"];
39 echo "<a href='PDFSelection.php?filepath=".$filepath."' target='page'>";?>here</a>.
40 These settings also allow to access all the proton PDF's available in the
41 LHAPDF library [<a href="Bibliography.php" target="page">Wha05</a>]. Thus there is no need for a normal user
42 to study the <code>PDF</code> class. The structure must only be understood
43 when interfacing new PDF's, e.g. ones not yet found in LHAPDF.
45 <h3>The PDF base class</h3>
47 <code>PDF</code> defines the interface that all PDF classes should respect.
48 The constructor requires the incoming beam species to be given:
49 even if used for a proton PDF, one needs to know whether the beam
50 is actually an antiproton. This is one of the reasons why <code>Pythia</code>
51 always defines two PDF objects in an event, one for each beam.
54 Once a <code>PDF</code> object has been constructed, call it <code>pdf</code>,
55 the main method is <code>pdf.xf( id, x, Q2)</code>, which returns
56 <i>x*f_id(x, Q2)</i>, properly taking into account whether the beam
57 is an antiparticle or not.
60 Whenever the <code>xf</code> member is called with a new flavour, <i>x</i>
61 or <i>Q^2</i>, the <code>xfUpdate</code> member is called to do the actual
62 updating. This routine may either update that particular flavour or all
63 flavours at this <i>(x, Q^2)</i> point. (In the latter case the saved
64 <code>id</code> value <code>idSav</code> should be set to 9.) The choice is
65 to be made by the producer of a given set, based on what he/she deems most
66 effective, given that sometimes only one flavour need be evaluated, and
67 about equally often all flavours are needed at the same <i>x</i> and
68 <i>Q^2</i>. Anyway, the latest value is always kept in memory. This is
69 the other reason why <code>Pythia</code> has one separate <code>PDF</code>
70 object for each beam, so that values at different <i>x</i> can be kept
74 Two further public methods are <code>xfVal( id, x, Q2)</code> and
75 <code>xfSea( id, x, Q2)</code>. These are simple variants whereby
76 the quark distributions can be subdivided into a valence and a sea part.
77 If these are not directly accessible in the parametrization, onc can
78 make the simplified choices <i>u_sea = ubar_sea, u_val = u_tot - u_sea</i>,
79 and correspondingly for <i>d</i>. (Positivity will always be guaranteed
80 at output.) The <code>xfUpdate</code> method should also take care of
81 updating this information.
84 A method <code>setExtrapolate(bool)</code> allows you to switch between
85 freezing parametrizations at the <i>x</i> and <i>Q^2</i> boundaries
86 (<code>false</code>) or extrapolating them outside the boundaries
87 (<code>true</code>). This method is only implemented for the LHAPDF class
88 below. If you implement a new PDF you are free to use this method, but it
89 would be smarter to hardcode the desired limiting behaviour.
91 <h3>Derived classes</h3>
93 There is only one pure virtual method, <code>xfUpdate</code>, that
94 therefore must be implemented in any derived class. A reasonable
95 number of such classes come with the program:
100 <li><code>LHAPDFinterface</code> provides an interface to the
101 LHAPDF library[<a href="Bibliography.php" target="page">Wha05</a>].</li>
102 <li><code>GRV94L</code> gives the GRV 94 L parametrization
103 [<a href="Bibliography.php" target="page">Glu95</a>].</li>
104 <li><code>CTEQ5L</code> gives the CTEQ 5 L parametrization
105 [<a href="Bibliography.php" target="page">Lai00</a>].</li>
106 <li><code>MSTWpdf</code> gives the four distributions of the
107 MRST/MSTW group that have been implemented.</li>
108 <li><code>CTEQ6pdf</code> gives the six distributions of the
109 CTEQ/CT group that have been implemented.</li>
111 The current default is CTEQ 5L, which has been used in most studies
117 <li><code>GRVpiL</code> gives the GRV 1992 pi+ parametrization.</li>
121 For Pomerons (used to describe diffraction):
123 <li><code>PomFix</code> gives a simple but flexible
124 <i>Q2</i>-independent parametrization.</li>
125 <li><code>PomH1FitAB</code> gives the H1 2006 Fit A and Fit B
126 parametrizations.</li>
127 <li><code>PomH1Jets</code> gives the H1 2007 Jets parametrization.</li>
131 For charged leptons (e, mu, tau):
133 <li><code>Lepton</code> gives a QED parametrization [<a href="Bibliography.php" target="page">Kle89</a>].
134 In QED there are not so many ambiguities, so here one set should be
135 enough. On the other hand, there is the problem that the
136 lepton-inside-lepton pdf is integrably divergent for <i>x -> 1</i>,
137 which gives numerical problems. Like in PYTHIA 6, the pdf is therefore
138 made to vanish for <i>x > 1 - 10^{-10}</i>, and scaled up in the range
139 <i>1 - 10^{-7} < x < 1 - 10^{-10}</i> in such a way that the
140 total area under the pdf is preserved.</li>
141 <li><code>LeptonPoint</code> gives the trivial distribution of a
142 pointlike (i.e. unresolved) charged lepton.</li>
148 <li><code>NeutrinoPoint</code> is the only method, so there is no choice.
149 Analogously to <code>LeptonPoint</code> it gives the distribution of a
150 pointlike (i.e. unresolved) neutrino. A difference, however, is that
151 neutrinos always are lefthanded, so there is no need to average over
152 incoming spin states. Since the PYTHIA formalism assumes unpolarized
153 beams, and thus implicitly includes a 1/2 for incoming fermions, the
154 <code>NeutrinoPoint</code> PDF is normalized to 2 rather than 1
155 to compensate for this.</li>
159 There is another method, <code>isSetup()</code>, that returns the
160 base-class boolean variable <code>isSet</code>. This variable is
161 initially <code>true</code>, but could be set <code>false</code> if the
162 setup procedure of a PDF failed, e.g. if the user has chosen an unknown
166 The MRST/MSTW, CTEQ/CT and H1 PDF routines are based on the interpolation
167 in <i>(x, Q)</i> grids. The grid files are stored in the
168 <code>xmldoc</code> subdirectory, like settings and particle data.
169 Only PDF sets that will be used are read in during the initialization
175 <!-- Copyright (C) 2012 Torbjorn Sjostrand -->