<chapter name="Beam Parameters"> 
 
<h2>Beam Parameters</h2> 
 
The settings on this page relate to the beam identities and energies, 
to a beam momentum spread and to a beam interaction spot. 
As always, momenta and energies are to be given in units of GeV, 
and of space and time in mm. 
 
<h3>Incoming beams</h3> 
 
There are two ways to set the identities and energies of the two incoming 
beam particles. One is to use the <code>init()</code> method with no 
arguments. Then the settings variables below will be read and used. The 
alternative is to call <code><aloc href="ProgramFlow">init(...)</aloc></code> 
with arguments that provide this information. Then you need not use the 
variables below (although it would still be possible). Note that, if nothing 
is done, you will default to LHC at 14 TeV. 
 
<p/> 
Currently the beam particles must be either a hadron pair or a lepton 
pair. In the former category <ei>p p</ei> and <ei>pbar p</ei> 
combinations dominate, but it is also possible to combine with 
<ei>pi^+</ei>, <ei>pi^-</ei> and <ei>pi^0</ei>. In the latter 
<ei>e^+ e^-</ei> and <ei>mu^+ mu^-</ei> would be the most useful 
combinations, but also others should work if combined with an 
appropriate hard process. 
 
<modeopen name="Beams:idA" default="2212"> 
The PDG <code>id</code> code for the first incoming particle. 
Allowed codes include 
<br/><ei>2212 = p</ei>, <ei>-2212 = pbar</ei>, 
<br/><ei>2112 = n</ei>, <ei>-2112 = nbar</ei>, 
<br/><ei>211 = pi^+</ei>, <ei>-211 = pi^-</ei>, <ei>111 = pi^0</ei>, 
<br/><ei>990 = Pomeron</ei> (used in diffractive machinery; 
here mainly for debug purposes), 
<br/><ei>11 = e^-</ei>, <ei>-11 = e^+</ei>, 
<br/><ei>13 = mu^-</ei>, <ei>-13 = mu^+</ei>, 
<br/>and a few more leptons/neutrinos in a few combinations. 
</modeopen> 
 
<modeopen name="Beams:idB" default="2212"> 
The PDG <code>id</code> code for the second incoming particle. 
</modeopen> 
  
<modepick name="Beams:frameType" default="1" min="1" max="5"> 
Choice of frame for the two colliding particles. For options 
1 - 3 the beam identities are specified above, while they are 
obtained by the Les Houches information for options 4 and 5. 
<option value="1">the beams are colliding in their CM frame, 
and therefore only the CM energy needs to be provided, see 
<code>Beams:eCM</code> below. 
</option> 
<option value="2">the beams are back-to-back, but with different energies, 
see <code>Beams:eA</code> and <code>Beams:eB</code> below. 
This option could also be used for fixed-target configurations. 
</option> 
<option value="3">the beams are not back-to-back, and therefore the 
three-momentum of each incoming particle needs to be specified, see 
<code>Beams:pxA</code> through <code>Beams:pzB</code> below. 
</option> 
<option value="4">the beam and event information is stored in a 
<aloc href="LesHouchesAccord">Les Houches Event File</aloc>, 
see <code>Beams:LHEF</code> below. 
</option> 
<option value="5">the beam and event information is obtained by a 
pointer to an <code><aloc href="LesHouchesAccord">LHAup</aloc></code> 
class instance. 
</option> 
</modepick> 
 
<parm name="Beams:eCM" default="14000." min="10."> 
Collision CM energy, to be set if <code>Beams:frameType</code> = 1. 
</parm> 
 
<parm name="Beams:eA" default="7000." min="0."> 
The energy of the first incoming particle, moving in the 
<ei>+z </ei>direction, to be set if <code>Beams:frameType</code> = 2. 
If the particle energy is smaller than its mass 
it is assumed to be at rest. 
</parm> 
 
<parm name="Beams:eB" default="7000." min="0."> 
The energy of the second incoming particle, moving in the 
<ei>-z</ei> direction, to be set if <code>Beams:frameType</code> = 2. 
If the particle energy is smaller than its mass 
it is assumed to be at rest. 
</parm> 
 
<parm name="Beams:pxA" default="0."> 
The <ei>p_x</ei> component of the first incoming particle, 
to be set if <code>Beams:frameType</code> = 3. 
</parm> 
 
<parm name="Beams:pyA" default="0."> 
The <ei>p_y</ei> component of the first incoming particle, 
to be set if <code>Beams:frameType</code> = 3. 
</parm> 
 
<parm name="Beams:pzA" default="7000."> 
The <ei>p_z</ei> component of the first incoming particle, 
to be set if <code>Beams:frameType</code> = 3. 
</parm> 
 
<parm name="Beams:pxB" default="0."> 
The <ei>p_x</ei> component of the second incoming particle, 
to be set if <code>Beams:frameType</code> = 3. 
</parm> 
 
<parm name="Beams:pyB" default="0."> 
The <ei>p_y</ei> component of the second incoming particle, 
to be set if <code>Beams:frameType</code> = 3. 
</parm> 
 
<parm name="Beams:pzB" default="-7000."> 
The <ei>p_z</ei> component of the second incoming particle, 
to be set if <code>Beams:frameType</code> = 3. 
</parm> 
 
<word name="Beams:LHEF" default="void"> 
The name of a Les Houches Event File, 
to be set if <code>Beams:frameType</code> = 4. 
</word> 
 
<word name="Beams:LHEFheader" default="void"> 
As some information in a Les Houches Event File init block is only known 
at the end of generation, some programs choose to output this as a 
separate file. If <code>Beams:LHEFheader</code> is given, information up 
till the end of the init block is read from this file, with 
the events themselves read as usual from the file given in 
<code>Beams:LHEF</code>. 
</word> 
 
<flag name="Beams:newLHEFsameInit" default="off"> 
Allow to begin reading events from a new LHEF or or a new 
<code>LHAup</code> instance without a completely new initialization. 
Only useful when <code>Beams:frameType</code> = 4 or 5. 
</flag> 
 
<flag name="Beams:readLHEFheaders" default="on"> 
Read in LHEF header blocks and store them in the 
<aloc href="EventInformation">Info</aloc> class. See also 
<aloc href="LesHouchesAccord">LHAupLHEF</aloc> for more information. 
</flag> 
 
<mode name="Beams:nSkipLHEFatInit" default="0"> 
Skip the first <ei>nSkip</ei> events of the input stream 
(cf. the <code>LHAup::skipEvent(nSkip)</code> method). 
Only used when <code>Beams:frameType</code> = 4 or 5. 
</flag> 
 
<h3>Beam momentum spread</h3> 
 
This framework currently is intended for a modest beam spread, such as 
experienced at hadron colliders. Thus it can be safely assumed that the 
physics does not change over the CM energy range probed, so that the 
parameters of the physics initialization at the nominal energy can be 
used as is. Currently it can <b>not</b> be used for the more extensive 
energy spread expected at linear <ei>e^+ e^-</ei> colliders. Also, 
any attempt to combine it with external Les Houches input of 
parton-level events is at own risk. 
      
<p/> 
On this page you can set the momentum spread according to a simple 
Gaussian distribution. If you instead want a more sophisticated 
parametrization, you can write and link your own 
<code><aloc href="BeamShape">BeamShape</aloc></code> class. 
 
<flag name="Beams:allowMomentumSpread" default="off"> 
Allow the beam momenta to be smeared around their initialization 
nominal values. 
</flag> 
 
<parm name="Beams:sigmaPxA" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>p_x</ei> spread of the 
first incoming particle. 
</parm> 
 
<parm name="Beams:sigmaPyA" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>p_y</ei> spread of the 
first incoming particle. 
</parm> 
 
<parm name="Beams:sigmaPzA" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>p_z</ei> spread of the 
first incoming particle. 
</parm> 
 
<parm name="Beams:maxDevA" default="5." min="0."> 
The triply Gaussian distribution <ei>(p_x, p_y, p_z)</ei> is restricted to 
a maximal total deviation from the nominal values <ei>(p_x0, p_y0, p_z0)</ei> 
for the first incoming particle, like 
<eq> 
(p_x - p_x0)^2/sigma_px^2 + (p_y - p_y0)^2/sigma_py^2 + 
(p_z - p_z0)^2/sigma_pz^2 < maxDev^2 
</eq> 
(Note the absence of a factor 2 in the denominator, unlike the Gaussians 
used to pick <ei>(p_x, p_y, p_z)</ei>.) 
</parm> 
 
<parm name="Beams:sigmaPxB" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>p_x</ei> spread of the 
second incoming particle. 
</parm> 
 
<parm name="Beams:sigmaPyB" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>p_y</ei> spread of the 
second incoming particle. 
</parm> 
 
<parm name="Beams:sigmaPzB" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>p_z</ei> spread of the 
second incoming particle. 
</parm> 
 
<parm name="Beams:maxDevB" default="5." min="0."> 
The triply Gaussian distribution <ei>(p_x, p_y, p_z)</ei> is restricted to 
a maximal total deviation from the nominal values <ei>(p_x0, p_y0, p_z0)</ei>, 
for the second incoming particle, like 
<eq> 
(p_x - p_x0)^2/sigma_px^2 + (p_y - p_y0)^2/sigma_py^2 + 
(p_z - p_z0)^2/sigma_pz^2 < maxDev^2 
</eq> 
(Note the absence of a factor 2 in the denominator, unlike the Gaussians 
used to pick <ei>(p_x, p_y, p_z)</ei>.) 
</parm> 
 
<h3>Beam interaction vertex</h3> 
 
On this page you can set the spread of the interaction vertex according to 
a simple Gaussian distribution. If you instead want a more sophisticated 
parametrization, you can write and link your own 
<code><aloc href="BeamShape">BeamShape</aloc></code> class. 
 
<flag name="Beams:allowVertexSpread" default="off"> 
Allow the interaction vertex of the two colliding beams to be smeared. 
If off, then the vertex is set to be the origin. 
</flag> 
 
<parm name="Beams:sigmaVertexX" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>x</ei> location of the 
interaction vertex. 
</parm> 
 
<parm name="Beams:sigmaVertexY" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>y</ei> location of the 
interaction vertex. 
</parm> 
 
<parm name="Beams:sigmaVertexZ" default="0." min="0."> 
The width of a Gaussian distribution of the <ei>z</ei> location of the 
interaction vertex. 
</parm> 
 
<parm name="Beams:maxDevVertex" default="5." min="0."> 
The triply Gaussian distribution of interaction vertex position 
<ei>(x, y, z)</ei> is restricted to a maximal total deviation from the 
origin, like 
<eq> 
x^2/sigma_x^2 + y^2/sigma_y^2 + z^2/sigma_z^2 < maxDevVertex^2 
</eq> 
(Note the absence of a factor 2 in the denominator, unlike the Gaussians 
used to pick <ei>(x, y, z)</ei>.) 
</parm> 
 
<parm name="Beams:sigmaTime" default="0." min="0."> 
The width of a Gaussian distribution of the collision time (in units of 
mm/c). Note that, if the above space parametrization is viewed as the 
effect of two incoming beams along the <ei>+-z</ei> axis, with each beam 
having a Gaussian spread, then the spread of the time would also become 
a Gaussian with the same width as the <ei>z</ei> one (times the 
velocity of the beams, which we expect is close to unity). For flexibility 
we have not enforced any such relation, however. 
</parm> 
 
<parm name="Beams:maxDevTime" default="5." min="0."> 
The collision time is restricted to be in the range 
<ei>|t| &lt; sigma_t * maxDevTime</ei>. 
</parm> 
 
<p/> 
The distributions above are all centered at the origin. It is also 
possible to shift the above distributions to be centered around another 
nominal position. You must have <code>Beams:allowVertexSpread = on</code> 
to use this possibility. 
 
<parm name="Beams:offsetVertexX" default="0."> 
The <ei>x</ei> location of the interaction vertex is centered at this value. 
</parm> 
 
<parm name="Beams:offsetVertexY" default="0."> 
The <ei>y</ei> location of the interaction vertex is centered at this value. 
</parm> 
 
<parm name="Beams:offsetVertexZ" default="0."> 
The <ei>z</ei> location of the interaction vertex is centered at this value. 
</parm> 
 
<parm name="Beams:offsetTime" default="0."> 
The time <ei>t</ei> of the interaction vertex is centered at this value. 
</parm> 
 
</chapter> 
 
<!-- Copyright (C) 2014 Torbjorn Sjostrand --> 
