[1] | 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} < x < 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) charged lepton.</li> |
---|
| 115 | </ul> |
---|
| 116 | |
---|
| 117 | <p/> |
---|
| 118 | For neutrinos: |
---|
| 119 | <ul> |
---|
| 120 | <li><code>NeutrinoPoint</code> is the only method, so there is no choice. |
---|
| 121 | Analogously to <code>LeptonPoint</code> it gives the distribution of a |
---|
| 122 | pointlike (i.e. unresolved) neutrino. A difference, however, is that |
---|
| 123 | neutrinos always are lefthanded, so there is no need to average over |
---|
| 124 | incoming spin states. Since the PYTHIA formalism assumes unpolarized |
---|
| 125 | beams, and thus implicitly includes a 1/2 for incoming fermions, the |
---|
| 126 | <code>NeutrinoPoint</code> PDF is normalized to 2 rather than 1 |
---|
| 127 | to compensate for this.</li> |
---|
| 128 | </ul> |
---|
| 129 | |
---|
| 130 | <p/> |
---|
| 131 | There is another method, <code>isSetup()</code>, that returns the |
---|
| 132 | base-class boolean variable <code>isSet</code>. This variable is |
---|
| 133 | initially <code>true</code>, but could be set <code>false</code> if the |
---|
| 134 | setup procedure of a PDF failed, e.g. if the user has chosen an unknown |
---|
| 135 | PDF set. |
---|
| 136 | |
---|
| 137 | <p/> |
---|
| 138 | The MRST/MSTW, CTEQ/CT and H1 PDF routines are based on the interpolation |
---|
| 139 | in <ei>(x, Q)</ei> grids. The grid files are stored in the |
---|
| 140 | <code>xmldoc</code> subdirectory, like settings and particle data. |
---|
| 141 | Only PDF sets that will be used are read in during the initialization |
---|
| 142 | stage. |
---|
| 143 | |
---|
| 144 | </chapter> |
---|
| 145 | |
---|
| 146 | <!-- Copyright (C) 2012 Torbjorn Sjostrand --> |
---|