]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8140/xmldoc/PartonDistributions.xml
coverity
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8140 / xmldoc / PartonDistributions.xml
1 <chapter name="Parton Distributions">
2
3 <h2>Parton Distributions</h2>
4
5 The parton distributions file contains the <code>PDF</code> class. 
6 <code>PDF</code> is the base class, from which specific <code>PDF</code> 
7 classes are derived.
8
9 <p/>
10 The choice of which PDF to use is made by settings in the 
11 <code>Pythia</code> class, see <aloc href="PDFSelection">here</aloc>. 
12 These settings also allow to access all the proton PDF's available in the
13 LHAPDF library <ref>Wha05</ref>. Thus there is no need for a normal user 
14 to study the <code>PDF</code> class. The structure must only be understood 
15 when interfacing new PDF's, e.g. ones not yet found in LHAPDF. 
16
17 <h3>The PDF base class</h3>
18
19 <code>PDF</code> defines the interface that all PDF classes should respect.
20 The constructor requires the incoming beam species to be given:
21 even if used for a proton PDF, one needs to know whether the beam
22 is actually an antiproton. This is one of the reasons why <code>Pythia</code> 
23 always defines two PDF objects in an event, one for each beam.
24
25 <p/>
26 Once a <code>PDF</code> object has been constructed, call it <code>pdf</code>, 
27 the main method is <code>pdf.xf( id, x, Q2)</code>, which returns 
28 <ei>x*f_id(x, Q2)</ei>, properly taking into account whether the beam 
29 is an antiparticle or not.
30
31 <p/>
32 Whenever the <code>xf</code> member is called with a new flavour, <ei>x</ei> 
33 or <ei>Q^2</ei>, the <code>xfUpdate</code> member is called to do the actual 
34 updating. This routine may either update that particular flavour or all 
35 flavours at this <ei>(x, Q^2)</ei> point. (In the latter case the saved 
36 <code>id</code> value <code>idSav</code> should be set to 9.) The choice is 
37 to be made by the producer of a given set, based on what he/she deems most 
38 effective, given that sometimes only one flavour need be evaluated, and 
39 about equally often all flavours are needed at the same <ei>x</ei> and 
40 <ei>Q^2</ei>. Anyway, the latest value is always kept in memory. This is 
41 the other reason why <code>Pythia</code> has one separate <code>PDF</code> 
42 object for each beam, so that values at different <ei>x</ei> can be kept 
43 in memory. 
44
45 <p/>
46 Two further public methods are <code>xfVal( id, x, Q2)</code> and 
47 <code>xfSea( id, x, Q2)</code>. These are simple variants whereby
48 the quark distributions can be subdivided into a valence and a sea part.
49 If these are not directly accessible in the parametrization, onc can
50 make the simplified choices <ei>u_sea = ubar_sea, u_val = u_tot - u_sea</ei>,
51 and correspondingly for <ei>d</ei>. (Positivity will always be guaranteed
52 at output.) The <code>xfUpdate</code> method should also take care of
53 updating this information.
54
55 <p/>
56 A method <code>setExtrapolate(bool)</code> allows you to switch between
57 freezing parametrizations  at the <ei>x</ei> and <ei>Q^2</ei> boundaries 
58 (<code>false</code>) or extrapolating them outside the boundaries
59 (<code>true</code>). This method is only implemented for the LHAPDF class 
60 below. If you implement a new PDF you are free to use this method, but it 
61 would be smarter to hardcode the desired limiting behaviour. 
62
63 <h3>Derived classes</h3>
64
65 There is only one pure virtual method, <code>xfUpdate</code>, that 
66 therefore must be implemented in any derived class. A reasonable 
67 number of such classes come with the program:
68
69 <p/>
70 For protons:
71 <ul>
72 <li><code>LHAPDFinterface</code> provides an interface to the 
73 LHAPDF library<ref>Wha05</ref>.</li>
74 <li><code>GRV94L</code> gives the GRV 94 L parametrization 
75 <ref>Glu95</ref>.</li>
76 <li><code>CTEQ5L</code> gives the CTEQ 5 L parametrization 
77 <ref>Lai00</ref>.</li>
78 <li><code>MSTWpdf</code> gives the four distributions of the
79 MRST/MSTW group that have been implemented.</li>
80 <li><code>CTEQ6pdf</code> gives the six distributions of the
81 CTEQ/CT group that have been implemented.</li>
82 </ul>
83 The current default is CTEQ 5L, which has been used in most studies
84 to date.
85
86 <p/>
87 For charged pions:
88 <ul>
89 <li><code>GRVpiL</code> gives the GRV 1992 pi+ parametrization.</li>
90 </ul>
91
92 <p/>
93 For Pomerons (used to describe diffraction):
94 <ul>
95 <li><code>PomFix</code> gives a simple but flexible 
96 <ei>Q2</ei>-independent parametrization.</li>
97 <li><code>PomH1FitAB</code> gives the H1 2006 Fit A and Fit B
98 parametrizations.</li>
99 <li><code>PomH1Jets</code> gives the H1 2007 Jets parametrization.</li>
100 </ul>
101
102 <p/>
103 For charged leptons (e, mu, tau): 
104 <ul>
105 <li><code>Lepton</code> gives a QED parametrization <ref>Kle89</ref>.
106 In QED there are not so many ambiguities, so here one set should be 
107 enough. On the other hand, there is the problem that the 
108 lepton-inside-lepton pdf is integrably divergent for <ei>x -> 1</ei>, 
109 which gives numerical problems. Like in PYTHIA 6, the pdf is therefore
110 made to vanish for <ei>x > 1 - 10^{-10}</ei>, and scaled up in the range
111 <ei>1 - 10^{-7} &lt; x &lt; 1 - 10^{-10}</ei> in such a way that the 
112 total area under the pdf is preserved.</li>
113 <li><code>LeptonPoint</code> gives the trivial distribution of a
114 pointlike (i.e. unresolved) lepton or neutrino.</li>
115 </ul>   
116
117 There is another method, <code>isSetup()</code>, that returns the 
118 base-class boolean variable <code>isSet</code>. This variable is 
119 initially <code>true</code>, but could be set <code>false</code> if the 
120 setup procedure of a PDF failed, e.g. if the user has chosen an unknown 
121 PDF set.  
122
123 <p/> 
124 The MRST/MSTW, CTEQ/CT and H1 PDF routines are based on the interpolation
125 in <ei>(x, Q)</ei> grids. The grid files are stored in the 
126 <code>xmldoc</code> subdirectory, like settings and particle data.
127 Only PDF sets that will be used are read in during the initialization 
128 stage.
129
130 </chapter>
131
132 <!-- Copyright (C) 2010 Torbjorn Sjostrand -->