## Soft QCD Processes

As a rule, the processes in this class should not be mixed with the simulation of other processes. All by themselves, they are intended to represent the total cross section of hadron collisions, with the exception of the "rare processes" that one wishes to study separately. In particular, jet physics at all scales occurs as part of the minimum-bias description. Note, therefore, that there is a considerable amount of overlap between the soft and hard QCD process classes, so that you are likely to double-count if you include both in a run.

We here use the "minimum bias" expression as a shorthand for inelastic, nondiffractive events. Strictly speaking, "minimum bias" represents an experimental procedure of accepting "everything", with some non-universal cuts to exclude elastic and diffractive topologies. In practice, the experimental minimum-bias sample may then contain some contamination of what is in PYTHIA classified as diffractive, especially (high-mass) double diffractive.

Some options to modify these cross sections are found on the Total Cross Sections page.

`flag` SoftQCD:all (`default = off`)
Common switch for the group of all soft QCD processes, as listed separately in the following.

`flag` SoftQCD:nonDiffractive (`default = off`)
The inelastic nondiffrative part of the total cross section, i.e. what would often be called the "minimum-bias component". The formalism is based on an eikonalized description of all the hard QCD processes, so includes them in combination with low-pT events. Code 101.
Since the current description is handled by the multiparton-interactions machinery as part of the parton-level processing, no hard process at all is defined at the process-level part of the event generation. Fortunately, in this case a special `codeSub()` method provides information on the first, i.e. hardest, subprocess selected by the multiparton-interactions machinery.
Note: this event class is almost equivalent to the minimum-bias component of the total cross section. "Minimum-bias" usually refers to the experimental selection procedure, however, while "(inelastic) non-diffractive" better relates to the way events are generated in the program code. (Although also what separates diffractive from nondiffractive physics can be a matter of definition, especially once colour reconnection is to be modelled.)

`flag` SoftQCD:elastic (`default = off`)
Elastic scattering A B → A B. Code 102. It is possible to include Coulomb corrections, but by default this is off.

`flag` SoftQCD:singleDiffractiveXB (`default = off`)
Single diffractive scattering A B → X B. See pages on Total Cross Sections and Diffraction for details. Code 103.

`flag` SoftQCD:singleDiffractiveAX (`default = off`)
Single diffractive scattering A B → A X. See pages on Total Cross Sections and Diffraction for details. Code 104.

`flag` SoftQCD:singleDiffractive (`default = off`)
Both of the above single diffractive processes. Codes 103 and 104.

`flag` SoftQCD:doubleDiffractive (`default = off`)
Double diffractive scattering A B → X_1 X_2. See pages on Total Cross Sections and Diffraction for details. Code 105.

`flag` SoftQCD:centralDiffractive (`default = off`)
Central diffractive scattering A B → A X B (a.k.a. double-Pomeron exchange, DPE). See pages on Total Cross Sections and on Diffraction for details. In particular note the `SigmaTotal:zeroAXB` flag, which is on in most tunes, meaning no central diffraction, and that therefore would need to be reset to off after the selection of a tune (even the default one) to get central diffraction. Code 106.

`flag` SoftQCD:inelastic (`default = off`)
All of the above processes, except for elastic. Codes 101, 103, 104, 105 and 106.

Note: The repertoire of Low-energy QCD processes largely overlaps with the one here, but in a simplified form without any perturbative activity at all. It is thus mainly suited for low energies, where also some special processes occur, such as annihilation or scattering through a resonance. The variable-energy beams framework allow a smooth transition between the two, assuming you have enabled matching sets of processes for the two scenarios. A normal choice would be to enable all the processes, but one could e.g. decide to use the nonDiffractive subprocess only.