## PDF Selection

This page contains five subsections. The first deals with how to pick the parton distribution set for protons, including from LHAPDF, to be used for all proton and antiproton beams. The second is a special option that allows a separate PDF set to be used for the hard process only, while the first choice would still apply to everything else. The third and fourth give access to pion and Pomeron PDF's, respectively, the latter being used to describe diffractive systems. The fifth gives the possibility to switch off the lepton "parton density". More information on PDF classes is found here.

### Parton densities for protons

The selection of parton densities is made once and then is propagated through the program. It is essential to make an informed choice, for several reasons [Kas10]:
Warning 1: the choice of PDF set affects a number of properties of events. A change of PDF therefore requires a complete retuning e.g. of the multiparton-interactions model for minimum-bias and underlying events.
Warning 2: People often underestimate the differences between different sets on the market. The sets for the same order are constructed to behave more or less similarly at large x and Q^2, while the multiparton interactions are dominated by the behaviour in the region of small x and Q^2. A good PDF parametrization ought to be sensible down to x = 10^-6 (x = 10^-7) and Q^2 = 1 GeV^2 for Tevatron (LHC) applications. Unfortunately there are distributions on the market that completely derail in that region. The `main51.cc` and `main52.cc` programs in the `examples` subdirectory provide some examples of absolutely minimal sanity checks before a new PDF set is put in production.
Warning 3: NLO and LO sets tend to have quite different behaviours, e.g. NLO ones have less gluons at small x, which then is compensated by positive corrections in the NLO matrix elements. Therefore do not blindly assume that an NLO tune has to be better than an LO one when combined with the LO matrix elements in PYTHIA. There are explicit examples where such thinking can lead you down the wrong alley, especially if you study low-pT physics. In the list below you should therefore be extra cautious when using set 6 or set 9.

The simplest option is to pick one of the distributions available internally:

`mode` PDF:pSet (`default = 2`; `minimum = 1`; `maximum = 12`)
Parton densities to be used for proton beams (and, by implication, antiproton ones):
`option` 1 : GRV 94L, LO alpha_s(M_Z) = 0.128 (this set is out of date, but retained for historical comparisons).
`option` 2 : CTEQ 5L, LO alpha_s(M_Z) = 0.127 (this set is also out of date, but not badly so, and many tunes are based on it).
`option` 3 : MRST LO* (2007), NLO alpha_s(M_Z) = 0.12032.
`option` 4 : MRST LO** (2008), NLO alpha_s(M_Z) = 0.11517.
`option` 5 : MSTW 2008 LO (central member), LO alpha_s(M_Z) = 0.13939.
`option` 6 : MSTW 2008 NLO (central member), NLO alpha_s(M_Z) = 0.12018 (NLO, see Warning 3 above).
`option` 7 : CTEQ6L, NLO alpha_s(M_Z) = 0.1180.
`option` 8 : CTEQ6L1, LO alpha_s(M_Z) = 0.1298.
`option` 9 : CTEQ66.00 (NLO, central member), NLO alpha_s(M_Z) = 0.1180 (NLO, see Warning 3 above).
`option` 10 : CT09MC1, LO alpha_s(M_Z) = 0.1300.
`option` 11 : CT09MC2, NLO alpha_s(M_Z) = 0.1180.
`option` 12 : CT09MCS, NLO alpha_s(M_Z) = 0.1180.
Note: the alpha_s(M_Z) values and the order of the running in the description above is purely informative, and does not affect any other parts of the program. Instead you have the freedom to set alpha_s(M_Z) value and running separately for hard processes (including resonance decays), multiparton interactions, initial-state radiation, and final-state radiation.

This is a reasonably complete list of recent LO fits, both ones within the normal LO context and ones with modifications for better matching to event generators. In addition two older sets are included for backwards reference (most studies to date are based on CTEQ 5L). If you link to the LHAPDF library [Wha05] you get access to a much wider selection.
Warning 1: owing to previous problems with the behaviour of PDF's beyond the x and Q^2 boundaries of a set, you should only use LHAPDF version 5.3.0 or later.
Warning 2: the behaviour of the LHAPDF sets need not be identical with the implementation found in PYTHIA. Specifically we are aware of the following points that may influence a comparison.
(a) CTEQ 5L in PYTHIA is the parametrization, in LHAPDF the grid interpolation.
(b) MRST LO* and LO** in PYTHIA is based on an updated edition, where one makes use of the expanded MSTW grid format, while LHAPDF is based on the original smaller grid.
(c) The CTEQ 6 and CT09MC sets in PYTHIA are frozen at the boundaries of the grid, by recommendation of the authors, while LHAPDF also offers an option with a smooth extrapolation outside the grid boundaries.

`flag` PDF:useLHAPDF (`default = off`)
If off then the choice of proton PDF is based on `PDF:pSet` above. If on then it is instead based on the choice of `PDF:LHAPDFset` and `PDF:LHAPDFmember` below.
Note: in order for this option to work you must have compiled PYTHIA appropriately and have set the `LHAPATH` environment variable to provide the data-files directory of your local LHAPDF installation. See the README file in the `examples` directory for further instructions.

`word` PDF:LHAPDFset (`default = MRST2004FF4lo.LHgrid`)
Name of proton PDF set from LHAPDF to be used. You have to choose from the list of available sets. Examples of some fairly recent ones (but still less recent than found above) would be cteq61.LHpdf, cteq61.LHgrid, cteq6l.LHpdf, cteq6ll.LHpdf, MRST2004nlo.LHpdf, MRST2004nlo.LHgrid, MRST2004nnlo.LHgrid and MRST2004FF3lo.LHgrid. If you pick a LHpdf set it will require some calculation the first time it is called.
Technical note: if you provide a name beginning with a slash (/) it is assumed you want to provide the full file path and then `initPDFsetM(name)` is called, else the correct path is assumed already set and `initPDFsetByNameM(name)` is called.

`mode` PDF:LHAPDFmember (`default = 0`; `minimum = 0`)
Further choice of a specific member from the set picked above. Member 0 should normally correspond to the central value, with higher values corresponding to different error PDF's somewhat off in different directions. You have to check from set to set which options are open.
Note: you can only use one member in a run, so if you want to sweep over many members you either have to do many separate runs or, as a simplification, save the pdf weights at the hard scattering and do an offline reweighting of events.

`flag` PDF:extrapolateLHAPDF (`default = off`)
Parton densities have a guaranteed range of validity in x and Q^2, and what should be done beyond that range usually is not explained by the authors of PDF sets. Nevertheless these boundaries very often are exceeded, e.g. minimum-bias studies at LHC may sample x values down to 10^-8, while many PDF sets stop already at 10^-5. The default behaviour is then that the PDF's are frozen at the boundary, i.e. xf(x,Q^2) is fixed at its value at x_min for all values x < x_min, and so on. This is a conservative approach. Alternatively, if you switch on extrapolation, then parametrizations will be extended beyond the boundaries, by some prescription. In some cases this will provide a more realistic answer, in others complete rubbish. Another problem is that some of the PDF-set codes will write a warning message anytime the limits are exceeded, thus swamping your output file. Therefore you should study a set seriously before you run it with this switch on.

If you want to use PDF's not found in LHAPDF, or you want to interface LHAPDF another way, you have full freedom to use the more generic interface options.

### Parton densities for protons in the hard process

The above options provides a PDF set that will be used everywhere: for the hard process, the parton showers and the multiparton interactions alike. As already mentioned, therefore a change of PDF should be accompanied by a complete retuning of the whole MPI framework, and maybe more. There are cases where one may want to explore different PDF options for the hard process, but would not want to touch the rest. If several different sets are to be compared, a simple reweighting based on the originally used flavour, x, Q^2 and PDF values may offer the best route. The options in this section allow a choice of the PDF set for the hard process alone, while the choice made in the previous section would still be used for everything else. The hardest interaction of the minimum-bias process is part of the multiparton-interactions framework and so does not count as a hard process here.

Of course it is inconsistent to use different PDF's in different parts of an event, but if the x and Q^2 ranges mainly accessed by the components are rather different then the contradiction would not be too glaring. Furthermore, since standard PDF's are one-particle-inclusive we anyway have to 'invent' our own PDF modifications to handle configurations where more than one parton is kicked out of the proton [Sjo04].

The PDF choices that can be made are the same as above, so we do not repeat the detailed discussion.

`flag` PDF:useHard (`default = off`)
If on then select a separate PDF set for the hard process, using the variables below. If off then use the same PDF set for everything, as already chosen above.

`mode` PDF:pHardSet (`default = 2`; `minimum = 1`; `maximum = 12`)
Parton densities to be used for proton beams (and, by implication, antiproton ones):
`option` 1 : GRV 94L, LO alpha_s(M_Z) = 0.128 (out of date).
`option` 2 : CTEQ 5L, LO alpha_s(M_Z) = 0.127 (slightly out of date; many tunes are based on it).
`option` 3 : MRST LO* (2007), NLO alpha_s(M_Z) = 0.12032.
`option` 4 : MRST LO** (2008), NLO alpha_s(M_Z) = 0.11517.
`option` 5 : MSTW 2008 LO (central member), LO alpha_s(M_Z) = 0.13939.
`option` 6 : MSTW 2008 NLO (central member), LO alpha_s(M_Z) = 0.12018.
`option` 7 : CTEQ6L, NLO alpha_s(M_Z) = 0.1180.
`option` 8 : CTEQ6L1, LO alpha_s(M_Z) = 0.1298.
`option` 9 : CTEQ66.00 (NLO, central member), NLO alpha_s(M_Z) = 0.1180.
`option` 10 : CT09MC1, LO alpha_s(M_Z) = 0.1300.
`option` 11 : CT09MC2, NLO alpha_s(M_Z) = 0.1180.
`option` 12 : CT09MCS, NLO alpha_s(M_Z) = 0.1180.

`flag` PDF:useHardLHAPDF (`default = off`)
If off then the choice of proton PDF is based on `hardpPDFset` above. If on then it is instead based on the choice of `hardLHAPDFset` and `hardLHAPDFmember` below. Note that if you want to use LHAPDF here, and you also use LHAPDF for the "normal" PDF set, then LHAPDF must have been compiled so as to handle (at least) two concurrent sets, with the configure statement `--with-max-num-pdfsets=2`.

`word` PDF:hardLHAPDFset (`default = MRST2004FF4lo.LHgrid`)
Name of proton PDF set from LHAPDF to be used.

`mode` PDF:hardLHAPDFmember (`default = 0`; `minimum = 0`)
Further choice of a specific member from the set picked above.

Note that there is no separate equivalent of the `PDF:extrapolateLHAPDF` flag specifically for the hard PDF. Since LHAPDF only has one global flag for extrapolation or not, the choice for the normal PDF's also applies to the hard ones.

### Parton densities for pions

The parton densities of the pion are considerably less well known than those of the proton. There are only rather few sets on the market, and none particularly recent. Only one comes built-in, but others can be accessed from LHAPDF. Input parametrizations are for the pi+. >From this the pi- is obtained by charge conjugation and the pi0 from averaging (half the pions have d dbar valence quark content, half u ubar.

Much of the switches are taken over from the proton case, with obvious modifications; therefore the description is briefer. Currently we have not seen the need to allow separate parton densities for hard processes. When using LHAPDF the `PDF:extrapolateLHAPDF` switch of the proton also applies to pions.

`mode` PDF:piSet (`default = 1`; `minimum = 1`; `maximum = 1`)
Internal parton densities that can be used for pion beams, currently with only one choice.
`option` 1 : GRV 92 L.

`flag` PDF:piUseLHAPDF (`default = off`)
If off then the choice of proton PDF is based on `PDF:piSet` above. If on then it is instead based on the choice of `PDF:piLHAPDFset` and `PDF:piLHAPDFmember` below.

`word` PDF:piLHAPDFset (`default = OWPI.LHgrid`)
Name of pion PDF set from LHAPDF to be used. You have to choose from the list of available sets.

`mode` PDF:piLHAPDFmember (`default = 0`; `minimum = 0`)
Further choice of a specific member from the set picked above.

### Parton densities for Pomerons

The Pomeron is introduced in the description of diffractive events, i.e. a diffractive system is viewed as a Pomeron-proton collision at a reduced CM energy. Here the PDF's are even less well known. Most experimental parametrizations are NLO, which makes them less well suited for Monte Carlo applications. Furthemore note that the momentum sum is arbitrarily normalized to a non-unity value.

`mode` PDF:PomSet (`default = 6`; `minimum = 1`; `maximum = 6`)
Parton densities that can be used for Pomeron beams.
`option` 1 : Q^2-independent parametrizations xf(x) = N_ab x^a (1 - x)^b, where N_ab ensures unit momentum sum. The a and b parameters can be set separately for the gluon and the quark distributions. The momentum fraction of gluons and quarks can be freely mixed, and production of s quarks can be suppressed relative to that of d and u ones, with antiquarks as likely as quarks. See further below how to set the six parameters of this approach.
`option` 2 : pi0 distributions, as specified in the section above.
`option` 3 : the H1 2006 Fit A NLO Q^2-dependent parametrization, based on a tune to their data [H1P06], rescaled by the factor `PomRescale` below.
`option` 4 : the H1 2006 Fit B NLO Q^2-dependent parametrization, based on a tune to their data [H1P06], rescaled by the factor `PomRescale` below.
`option` 5 : the H1 2007 Jets NLO Q^2-dependent parametrization, based on a tune to their data [H1P07], rescaled by the factor `PomRescale` below.
`option` 6 : the H1 2006 Fit B LO Q^2-dependent parametrization, based on a tune to their data [H1P06], rescaled by the factor `PomRescale` below.

`parm` PDF:PomGluonA (`default = 0.`; `minimum = -0.5`; `maximum = 2.`)
the parameter a in the ansatz xg(x) = N_ab x^a (1 - x)^b for option 1 above.

`parm` PDF:PomGluonB (`default = 3.`; `minimum = 0.`; `maximum = 10.`)
the parameter b in the ansatz xg(x) = N_ab x^a (1 - x)^b for option 1 above.

`parm` PDF:PomQuarkA (`default = 0.`; `minimum = -0.5`; `maximum = 2.`)
the parameter a in the ansatz xq(x) = N_ab x^a (1 - x)^b for option 1 above.

`parm` PDF:PomQuarkB (`default = 3.`; `minimum = 0.`; `maximum = 10.`)
the parameter b in the ansatz xq(x) = N_ab x^a (1 - x)^b for option 1 above.

`parm` PDF:PomQuarkFrac (`default = 0.2`; `minimum = 0.`; `maximum = 1.`)
the fraction of the Pomeron momentum carried by quarks for option 1 above, with the rest carried by gluons.

`parm` PDF:PomStrangeSupp (`default = 0.5`; `minimum = 0.`; `maximum = 1.`)
the suppression of the s quark density relative to that of the d and u ones for option 1 above.

`parm` PDF:PomRescale (`default = 1.0`; `minimum = 0.5`; `maximum = 5.0`)
Rescale the four H1 fits above by this uniform factor, e.g. to bring up their momentum sum to around unity. By default all three have a momentum sum of order 0.5, suggesting that a factor around 2.0 should be used. You can use `examples/main51.cc` to get a more precise value. Note that also other parameters in the diffraction framework may need to be retuned when this parameter is changed.

### Parton densities for leptons

For electrons/muons/taus there is no need to choose between different parametrizations, since only one implementation is available, and should be rather uncontroversial (apart from some technical details). However, insofar as e.g. e^+ e^- data often are corrected back to a world without any initial-state photon radiation, it is useful to have a corresponding option available here.

`flag` PDF:lepton (`default = on`)
Use parton densities for lepton beams or not. If off the colliding leptons carry the full beam energy, if on part of the energy is radiated away by initial-state photons. In the latter case the initial-state showers will generate the angles and energies of the set of photons that go with the collision. In addition one collinear photon per beam carries any leftover amount of energy not described by shower emissions. If the initial-state showers are switched off these collinear photons will carry the full radiated energy.

Neutrinos are always taken pointlike. Do note that the phase space selection machinery currently does not allow one resolved and one unresolved beam. For lepton-neutrino collisions to work you must therefore set `PDF:lepton = off`.

### Incoming parton selection

There is one useful degree of freedom to restrict the set of incoming quark flavours for hard processes. It does not change the PDF's as such, only which quarks are allowed to contribute to the hard-process cross sections. Note that separate but similarly named modes are available for multiparton interactions and spacelike showers.

`mode` PDFinProcess:nQuarkIn (`default = 5`; `minimum = 0`; `maximum = 5`)
Number of allowed incoming quark flavours in the beams; a change to 4 would thus exclude b and bbar as incoming partons, etc.