source: HiSusy/trunk/Pythia8/pythia8170/phpdoc/PartonDistributions.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: 7.0 KB
Line 
1<html>
2<head>
3<title>Parton Distributions</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='PartonDistributions.php'>
29
30<h2>Parton Distributions</h2>
31
32The parton distributions file contains the <code>PDF</code> class.
33<code>PDF</code> is the base class, from which specific <code>PDF</code>
34classes are derived.
35
36<p/>
37The choice of which PDF to use is made by settings in the
38<code>Pythia</code> class, see <?php $filepath = $_GET["filepath"];
39echo "<a href='PDFSelection.php?filepath=".$filepath."' target='page'>";?>here</a>.
40These settings also allow to access all the proton PDF's available in the
41LHAPDF library [<a href="Bibliography.php" target="page">Wha05</a>]. Thus there is no need for a normal user
42to study the <code>PDF</code> class. The structure must only be understood
43when interfacing new PDF's, e.g. ones not yet found in LHAPDF.
44
45<h3>The PDF base class</h3>
46
47<code>PDF</code> defines the interface that all PDF classes should respect.
48The constructor requires the incoming beam species to be given:
49even if used for a proton PDF, one needs to know whether the beam
50is actually an antiproton. This is one of the reasons why <code>Pythia</code>
51always defines two PDF objects in an event, one for each beam.
52
53<p/>
54Once a <code>PDF</code> object has been constructed, call it <code>pdf</code>,
55the 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
57is an antiparticle or not.
58
59<p/>
60Whenever the <code>xf</code> member is called with a new flavour, <i>x</i>
61or <i>Q^2</i>, the <code>xfUpdate</code> member is called to do the actual
62updating. This routine may either update that particular flavour or all
63flavours 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
65to be made by the producer of a given set, based on what he/she deems most
66effective, given that sometimes only one flavour need be evaluated, and
67about 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
69the other reason why <code>Pythia</code> has one separate <code>PDF</code>
70object for each beam, so that values at different <i>x</i> can be kept
71in memory.
72
73<p/>
74Two further public methods are <code>xfVal( id, x, Q2)</code> and
75<code>xfSea( id, x, Q2)</code>. These are simple variants whereby
76the quark distributions can be subdivided into a valence and a sea part.
77If these are not directly accessible in the parametrization, onc can
78make the simplified choices <i>u_sea = ubar_sea, u_val = u_tot - u_sea</i>,
79and correspondingly for <i>d</i>. (Positivity will always be guaranteed
80at output.) The <code>xfUpdate</code> method should also take care of
81updating this information.
82
83<p/>
84A method <code>setExtrapolate(bool)</code> allows you to switch between
85freezing 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
88below. If you implement a new PDF you are free to use this method, but it
89would be smarter to hardcode the desired limiting behaviour.
90
91<h3>Derived classes</h3>
92
93There is only one pure virtual method, <code>xfUpdate</code>, that
94therefore must be implemented in any derived class. A reasonable
95number of such classes come with the program:
96
97<p/>
98For protons:
99<ul>
100<li><code>LHAPDFinterface</code> provides an interface to the
101LHAPDF 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
107MRST/MSTW group that have been implemented.</li>
108<li><code>CTEQ6pdf</code> gives the six distributions of the
109CTEQ/CT group that have been implemented.</li>
110</ul>
111The current default is CTEQ 5L, which has been used in most studies
112to date.
113
114<p/>
115For charged pions:
116<ul>
117<li><code>GRVpiL</code> gives the GRV 1992 pi+ parametrization.</li>
118</ul>
119
120<p/>
121For Pomerons (used to describe diffraction):
122<ul>
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
126parametrizations.</li>
127<li><code>PomH1Jets</code> gives the H1 2007 Jets parametrization.</li>
128</ul>
129
130<p/>
131For charged leptons (e, mu, tau):
132<ul>
133<li><code>Lepton</code> gives a QED parametrization [<a href="Bibliography.php" target="page">Kle89</a>].
134In QED there are not so many ambiguities, so here one set should be
135enough. On the other hand, there is the problem that the
136lepton-inside-lepton pdf is integrably divergent for <i>x -> 1</i>,
137which gives numerical problems. Like in PYTHIA 6, the pdf is therefore
138made to vanish for <i>x > 1 - 10^{-10}</i>, and scaled up in the range
139<i>1 - 10^{-7} &lt; x &lt; 1 - 10^{-10}</i> in such a way that the
140total area under the pdf is preserved.</li>
141<li><code>LeptonPoint</code> gives the trivial distribution of a
142pointlike (i.e. unresolved) charged lepton.</li>
143</ul>   
144
145<p/>
146For neutrinos:
147<ul>
148<li><code>NeutrinoPoint</code> is the only method, so there is no choice.
149Analogously to <code>LeptonPoint</code> it gives the distribution of a
150pointlike (i.e. unresolved) neutrino. A difference, however, is that
151neutrinos always are lefthanded, so there is no need to average over
152incoming spin states. Since the PYTHIA formalism assumes unpolarized
153beams, and thus implicitly includes a 1/2 for incoming fermions, the
154<code>NeutrinoPoint</code> PDF is normalized to 2 rather than 1
155to compensate for this.</li>
156</ul>   
157
158<p/>
159There is another method, <code>isSetup()</code>, that returns the
160base-class boolean variable <code>isSet</code>. This variable is
161initially <code>true</code>, but could be set <code>false</code> if the
162setup procedure of a PDF failed, e.g. if the user has chosen an unknown
163PDF set. 
164
165<p/> 
166The MRST/MSTW, CTEQ/CT and H1 PDF routines are based on the interpolation
167in <i>(x, Q)</i> grids. The grid files are stored in the
168<code>xmldoc</code> subdirectory, like settings and particle data.
169Only PDF sets that will be used are read in during the initialization
170stage.
171
172</body>
173</html>
174
175<!-- Copyright (C) 2012 Torbjorn Sjostrand -->
Note: See TracBrowser for help on using the repository browser.