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