sherpa is hosted by Hepforge, IPPP Durham

Sherpa 1.2.0 Manual


1. Introduction

Sherpa is a Monte Carlo event generator for the Simulation of High-Energy Reactions of PArticles in lepton-lepton, lepton-photon, photon-photon and hadron-hadron collisions. This document provides information to help users understand and apply Sherpa for their physics studies. The event generator is introduced, in broad terms, and the installation and running of the program are outlined. The various options and parameters specifying the program are compiled, and their meanings are explained. This document does not aim at giving a complete description of the physics content of Sherpa . To this end, the authors refer the reader to the original publication, [Gle08b] .

1.1 Introduction to Sherpa

Sherpa [Gle08b] is a Monte Carlo event generator that provides complete hadronic final states in simulations of high-energy particle collisions. The produced events may be passed into detector simulations used by the various experiments. The entire code has been written in C++, like its competitors Herwig++ [Bah08] and Pythia 8 [Sjo07] .

Sherpa simulations can be achieved for the following types of collisions:

The list of physics processes that come with Sherpa covers particle production at tree level in the Standard Model and in models beyond the Standard Model: The complete set of Feynman rules for its Minimal Supersymmetric extension according to [Ros89] [Ros95] has been implemented, including general mixing matrices for inter-generational squark and slepton mixing. Among other interaction models the ADD model of Large Extra Dimensions has been made available, too [Gle03a] . Furthermore, anomalous gauge couplings [Hag86] , a model with an extended Higgs sector [Ded08] , and a version of the Two-Higgs Doublet Model are available. The Sherpa program owes this versatility to the inbuilt matrix-element generators, AMEGIC++ and Comix, and to it's phase-space generator Phasic [Kra01] , which automatically calculate and integrate tree-level amplitudes for the implemented models. This feature enables Sherpa to be used as a cross-section integrator and parton-level event generator as well. This has also been extensively tested, see e.g. [Gle03b] ,[Hag05] .

As a second key feature of Sherpa the program provides an implementation of the merging approach of [Hoe09] . This yields improved descriptions of multijet production processes, which copiously appear at the Tevatron and the LHC, see for instance [Kra04] ,[Kra05] ,[Gle05] . An older approach, implemented in previous versions of Sherpa and known as the CKKW technique [Cat01] ,[Kra02] , has been compared in great detail in [Alw07] with other approaches, such as the MLM merging prescription [Man01] as implemented in Alpgen [Man02] , Madevent [Ste94] ,[Mal02a] , or Helac [Kan00] ,[Pap05] and the CKKW-L prescription [Lon01] ,[Lav05] of Ariadne [Lon92] .

This manual contains all information necessary to get started with Sherpa as quickly as possible. By reading it, users should be enabled to setup the program according to their needs for studying various physics aspects. Therefore, all switches plus options that have been provided are listed. It is explained how to use them, how Sherpa can be run in different modes and how the results and output of Sherpa can be interpreted. For external code that can be linked, corresponding references are given and users are encouraged to cite them accordingly.

On the other hand, the physics of Sherpa and its underlying structure and coding principles are not detailed in this manual. For this, readers are encouraged to refer to original work of the authors. Also, whenever justified, Sherpa users are kindly asked to cite Sherpa 's original publication [Gle08b] . Moreover the authors strongly recommend the study of the manuals and/or many excellent publications on different aspects of event generation and physics at collider experiments of the other event generator authors.

This manual is organized as follows: in Basic structure the modular structure intrinsic to Sherpa is introduced. Getting started contains information about and instructions for the installation of the package. There is also a description of the steps that are needed to run Sherpa and generate events. The Input structure is then discussed, and the ways in which Sherpa can be steered are explained. All parameters and options are discussed in Parameters. Advanced Tips and Tricks are detailed, and some options for Customization are outlined for those more familiar with Sherpa. There is also a short description of the different Examples provided with Sherpa.

It should be stressed that the construction of a Monte Carlo program requires a number of implicit assumptions, approximations and simplifications of complicated situations. Potential bugs and other shortcomings of the authors may also be included. The results of event generators, independent of their quality, should therefore always be verified and cross-checked with results obtained by the programs of other authors.

1.2 Basic structure

The construction of the Sherpa program has been pursued in a modular way. It fully reflects the paradigm of Monte Carlo event generation of factorizing the simulation into well defined phases. Accordingly, each module encapsulates a different aspect of event generation for high-energy particle reactions. It resides within its own namespace and is located in its own subdirectory of the same name. The main module called SHERPA steers the interplay of all modules – or phases – and the actual generation of the events. Altogether, the following modules are currently distributed with the Sherpa framework:

The actual executable of the Sherpa generator can be found in the subdirectory <prefix>/bin/ and is called Sherpa . To run the program, input files have to be provided in the current working directory or elsewhere by specifying the corresponding path, see Input structure. All output files are then written to this directory as well.

2. Getting started

2.1 Installation

Sherpa is distributed as a tarred and gzipped file named Sherpa-<version>.tar.gz, and can be unpacked in the current working directory with

 tar -zxf Sherpa-<version>.tar.gz .

To guarantee successful installation, the following tools should have been made available on the system: make, autoconf, automake and libtool. Furthermore, a C++ and FORTRAN compiler must be provided. Compilation and installation proceed through the following commands


 make install

If not specified differently, the directory structure after installation is organized as follows


Sherpa executeable and scripts


headers for process library compilation


basic libraries


PDFs, Decaydata, fallback run cards

The installation directory $(prefix) can be specified by using the ./configure --prefix /path/to/installation/target directive and defaults to the current working directory.

If Sherpa has to be moved to a different directory after the installation, one has to set the following environment variables for each run:

Sherpa can be interfaced with various external packages, e.g. HepMC, for event output, or LHAPDF, for PDFs. For this to work, the user has to pass the appropriate commands to the configure step. This is achieved as shown below:

./configure --enable-hepmc2=/path/to/hepmc2 --enable-lhapdf=/path/to/lhapdf

For a complete list of possible configuration options run ‘./configure --help’.

The Sherpa package has successfully been compiled, installed and tested on SuSE, RedHat / Scientific Linux and Debian / Ubuntu Linux systems using the GNU C++ compiler versions 3.2, 3.3, 3.4, 4.0, 4.1, 4.2 and 4.3 as well as on Mac OS X 10 using the GNU C++ compiler version 4.0. In all cases the GNU FORTRAN compiler g77 or gfortran has been employed. Note that GCC version 2.96 is not supported.

If you have multiple compilers installed on your system, you can use shell environment variables to specify which of these are to be used. A list of the available variables is printed with

./configure --help

in the Sherpa top level directory and looking at the last lines. Depending on the shell you are using, you can set these variables e.g. with export (bash) or setenv (csh). Examples:

export CXX=g++-3.4
export CC=gcc-3.4
export CPP=cpp-3.4

MacOS Installation

Installation on MacOS is supported at least in all Sherpa versions > 1.1.2. Before that, there might have been problems on the newer MacOS versions or architectures (10.5, Intel). The following issues have come up on Mac installations before, so please be aware of them:

2.2 Running Sherpa

The Sherpa executable resides in the directory <prefix>/bin/ where <prefix> denotes the path to the Sherpa installation directory. The way a particular simulation will be accomplished is defined by several parameters, which can all be listed in a common file, or data card (Parameters can be alternatively specified on the command line; more details are given in Input structure). This steering file is called Run.dat and some example setups (i.e. Run.dat files) are distributed with the current version of Sherpa. They can be found in the directory <prefix>/share/SHERPA-MC/Examples/, and descriptions of some of their key features can be found in the section Examples.

Please note: It is not in general possible to reuse run cards from previous Sherpa versions. Often there are small changes in the parameter syntax of the run cards from one version to the next. These changes are documented in our manuals. In addition, always use the newer Hadron.dat and Decaydata directories (and reapply any changes which you might have applied to the old ones), see HADRONS++.

The very first step in running Sherpa is therefore to adjust all parameters to the needs of the desired simulation. The details for properly doing this are given in Parameters. In this section, the focus is on the main issues for a successful operation of Sherpa. This is illustrated by discussing and referring to the parameter settings that come in the run card ./Examples/Tevatron_WJets/Run.dat. This is a simple run card created to show the basics of how to operate Sherpa. It should be stressed that this run-card relies on many of Sherpa's default settings, and, as such, the user should understand those settings before using it to look at physics. For more information on the settings and parameters in Sherpa, see Parameters, and for more examples see the Examples section.

2.2.1 Process selection and initialization

Central to any Monte Carlo simulation is the choice of the hard processes that initiate the events. These hard processes are described by matrix elements. In Sherpa, the selection of processes happens in the (processes) part of the steering file. Only a few 2->2 reactions have been hard-coded. They are available in the EXTRA_XS module. The more usual way to compute matrix elements is to employ one of Sherpa's automatic tree-level generators, AMEGIC++ and Comix, see Basic structure. If no matrix-element generator is selected, using the ME_SIGNAL_GENERATOR tag, then Sherpa will use whichever generator is capable of calculating the process, checking EXTRA_XS first, then Comix and then AMEGIC++. Therefore, for some processes, several of the options are used. In this example, EXTRA_XS calculates the 2->2 part of the process, and Comix calculates the 2->3,4 parts.

To begin with the example, the Sherpa run has to be started by changing into the <prefix>/share/SHERPA-MC/Examples/Tevatron_WJets/ directory and executing


The user may also run from an arbitrary directory, employing <prefix>/bin/Sherpa PATH=<prefix>/share/SHERPA-MC/Examples/Tevatron_WJets. In the example, the keyword PATH is specified by an absolute path. It may also be specified relative to the current working directory. If it is not specified at all or it is omitted, the current working directory is understood.

For good book-keeping, it is highly recommended to reserve different subdirectories for different simulations as is demonstrated with the example setups.

If AMEGIC++ is used, Sherpa requires an initialization run, where libraries are written out, then the libraries must be linked by running a makelibs script in the working directory, and then Sherpa is run again for the actual cross section integrations and event generation. For an example of how to run Sherpa using AMEGIC++, see Running Sherpa with AMEGIC++.

If the Internal hard-coded cross sections or Comix are used, and AMEGIC++ is not, an initialization run is not needed, and Sherpa will calculate the cross sections and generate events during the first run.

As the cross sections are integrated, the integration over phase space is optimized to arrive at an efficient event generation. Subsequently events are generated if EVENTS was specified either at the command line or added to the Run.dat file in the (run) section.

The generated events are not stored into a file by default; for details on how to store the events see Event output formats. Note that the computational effort to go through this procedure of generating, compiling and integrating the matrix elements of the hard processes depends on the complexity of the parton-level final states. For low multiplicities ( 2->2,3,4 ), of course, it can be followed instantly.

Usually more than one generation run is wanted. As long as the parameters that affect the matrix-element integration are not changed, it is advantageous to store the cross sections obtained during the generation run for later use. This saves CPU time especially for large final-state multiplicities of the matrix elements. To store the integration results, a <result> directory has to be created in Tevatron_WJets (Alternatively, the command line option ‘-g’ can be invoked, see Command line options). Then utilizing an extended command line reading

<prefix>/bin/Sherpa RESULT_DIRECTORY=<result>/

a generation run can be started and the results of the integration will be stored in <result>, see RESULT_DIRECTORY. The next time this command line is used, Sherpa will look for the integration results in <result> and read them in. Of course, if corresponding parameters do change, the cross sections have to be re-evaluated for a valid new generation run. The new results have to be stored in a new directory or the <result> directory may be re-used once it has been emptied. Basically, most of the parameters listed in the (model), (me) and (selector) part of Run.dat determine the calculation of cross sections. Standard examples are changing the magnitude of couplings, renormalization or factorization scales, changing the PDF or centre-of-mass energy, or, applying different cuts at the parton level. If unsure whether a re-integration is required, a simple test is to remove the RESULT_DIRECTORY option from the run command and check whether the new integration numbers (statistically) comply with the stored ones.

One more remark (or maybe warning) concerning the validity of the process libraries is in order here: it is absolutely mandatory to generate new library files, whenever the physics model is altered, i.e. particles are added or removed and hence new or existing diagrams may or may not anymore contribute to the same final states. Also, when particle masses are switched on or off new library files must be generated (however, masses may be changed between non-zero values keeping the same process libraries). Old library files cannot account for such changes, since once generated their functional structure is fixed. The best thing is to create a new and separate setup directory. Otherwise the Process and Result directories have to be erased:

rm -rf Process/     and     rm -rf Result/

In either case one has to start over with the whole initialization procedure to prepare for the generation of events again.

2.2.2 The example set-up: W+Jets at Tevatron

The setup (or the Run.dat file) provided in ./Examples/Tevatron_WJets/ can be considered as a standard example to illustrate the generation of fully hadronized events in Sherpa. Such events will include effects from parton showering, hadronization into primary hadrons and their subsequent decays into stable hadrons. Moreover, the example chosen here nicely demonstrates how Sherpa is used in the context of merging matrix elements and parton showers [Hoe09] . In addition to the aforementioned corrections, this simulation of inclusive W production (with the W decaying into electron and anti-electron-neutrino ) will then include higher-order jet corrections at the tree level. As a result the transverse-momentum distribution of the W boson as measured by the D0 and CDF collaborations at Tevatron Run I can be well described, see also [Kra04] ,[Kra05] ,[Gle05] .

Before event generation, the initialization procedure as described in Process selection and initialization has to be completed. The matrix-element processes included in the setup are the following:

  proton anti-proton -> parton parton -> electron anti-electron-neutrino + up to two partons

In the (processes) part of the steering file this translates into

  Process 93 93 -> 11 -12 93{2}
  Order_EW 2;
  CKKW sqr(30/E_CMS)
  End process;

The physics model for these processes is the Standard Model (‘SM’) which is the default setting of the parameter MODEL, in the (model) part of Run.dat. Fixing the order of electroweak couplings to ‘2’, matrix elements of all partonic subprocesses for W production without any and with up to two extra QCD parton emissions will be generated. Proton–antiproton collisions are considered at beam energies of 900 GeV; under the (beam) part of the Run.dat file, one therefore has BEAM_1=2212, BEAM_2=-2212 and BEAM_ENERGY_{1,2}=980.0. The default PDF used by Sherpa is CTEQ6L. Model parameters and couplings can be set in the Run.dat section (model), and the way couplings are treated can be defined under the (me) category. The QCD radiation matrix elements have to be regularized to obtain meaningful cross sections. This is achieved by specifying ‘CKKW sqr(30/E_CMS)’ in the (processes) part of Run.dat. Simultaneously, this tag initiates the ME-PS merging procedure. To eventually obtain fully hadronized events, the FRAGMENTATION tag has been left on it's default setting ‘Ahadic’, which will run Sherpa's cluster hadronization, and the tag DECAYMODEL has it's default setting ‘Hadrons’, which will run Sherpa's hadron decays. Additionally corrections owing to photon emissions are taken into account.

To run this example set-up, use the


command as descibed in Running Sherpa. Sherpa displays some output as it runs. At the start of the run, Sherpa initializes the relevant model, and displays a table of particles, with their PDG codes and some properties. It also displays the Particle containers, and their contents. The other relevant parts of Sherpa are initialized, including the matrix element generator(s). The Sherpa output will look like:

Initialized the beams Monochromatic*Monochromatic
PDF set 'cteq6l' loaded from 'libCTEQ6Sherpa'.
PDF set 'cteq6l' loaded from 'libCTEQ6Sherpa'.
Initialized the ISR: (SF)*(SF)
Initialized the Beam_Remnant_Handler.
Initialized the Shower_Handler.
Initialized the Fragmentation_Handler.
|                                  |
|      CCC  OOO  M   M I X   X     |
|     C    O   O MM MM I  X X      |
|     C    O   O M M M I   X       |
|     C    O   O M   M I  X X      |
|      CCC  OOO  M   M I X   X     |
|                                  |
|  Color dressed  Matrix Elements  |
|     |
|   please cite  JHEP12(2008)039   |
Matrix_Element_Handler::BuildProcesses(): Looking for processes ...................... done ( 25856 kB, 0.34 s ).
Matrix_Element_Handler::InitializeProcesses(): Performing tests ...................... done ( 25856 kB, 0 s ).
Initialized the Matrix_Element_Handler for the hard processes.
   Initializing hadron decay tables. This may take some time.
Initialized the Hadron_Decay_Handler, Decay model = Hadrons
Initialized the Soft_Photon_Handler.

Then Sherpa will start to integrate the cross sections. The output will look like:

Process_Group::CalculateTotalXSec(): Calculate xs for '2_2__j__j__e-__nu_eb' (Comix)
Starting the calculation. Lean back and enjoy ... .
1049.87 pb +- ( 41.8506 pb = 3.98626 % ) 5000 ( 5003 -> 99.9 % )
full optimization:  ( 0 s elapsed / 13 s left / 13 s total )   

The first line here displays the process which is being calculated. In this example, the integration is for the 2->2 process, parton, parton -> electron, neutrino. The matrix element generator used is displayed after the process. As the integration progresses, summary lines are displayed, like the one shown above. The current estimate of the cross section is displayed, along with its statistical error estimate. The number of phase space points calculated is displayed after this (‘5000’ in this example), and the efficiency is displayed after that. On the line below, the time elapsed is shown, and an estimate of the total time till the optimization is complete.

When the integration is complete, the output will look like:

985.27 pb +- ( 0.363629 pb = 0.0369065 % ) 300000 ( 300009 -> 99.9 % )
integration time:  ( 11 s elapsed / 0 s left / 11 s total )   
985.206 pb +- ( 0.356621 pb = 0.0361976 % ) 310000 ( 310010 -> 99.9 % )
integration time:  ( 11 s elapsed / 0 s left / 11 s total )   
2_2__j__j__e-__nu_eb : 985.206 pb +- ( 0.356621 pb = 0.0361976 % )  exp. eff: 6.13927 %

with the final cross section result and its statistical error displayed.

Sherpa will then move on to integrate the other processes specified in the run card.

When the integration is complete, the event generation will start. As the events are being generated, Sherpa will display a summary line stating how many events have been generated, and an estimate of how long it will take. When the event generation is complete, Sherpa's output looks like:

  Event 10000 ( 158 s elapsed / 0 s left ) -> ETA: Tue Jul 28 19:41  
In Event_Handler::Finish : Summarizing the run may take some time.
|                                                  |
|  Total XS is 1956 pb +- ( 8.71129 pb = 0.44 % )  |
|                                                  |

A summary of the number of events generated is displayed, with the total cross section for the processes.

The generated events are not stored into a file by default; for details on how to store the events see Event output formats.

2.2.3 Parton-level event generation with Sherpa

Sherpa has its own tree-level matrix-element generators called AMEGIC++ and Comix. Furthermore, with the module PHASIC++, sophisticated and robust tools for phase-space integration are provided. Therefore Sherpa obviously can be used as a cross-section integrator. Because of the way Monte Carlo integration is accomplished, this immediately allows for parton-level event generation. Taking the Tevatron_WJets setup, users have to modify just a few settings in Run.dat and would arrive at a parton-level generation for the process gluon down-quark to electron antineutrino and up-quark, to name an example. When, for instance, the options “EVENTS=0 OUTPUT=2” are added to the command line, a pure cross-section integration for that process would be obtained with the results plus integration errors written to the screen.

For the example, the (processes) section alters to

  Process : 21 1 -> 11 -12 2
  Order_EW 2
  End process

and under the assumption to start afresh, the initialization procedure has to be followed as before. Picking the same collider environment as in the previous example there are only two more changes before the Run.dat file is ready for the calculation of the hadronic cross section of the process g d to e- nu_e-bar u at Tevatron Run I and subsequent parton-level event generation with Sherpa . These changes read SHOWER_GENERATOR=None, to switch off parton showering, and, FRAGMENTATION=Off, to do so for the hadronization effects.

3. Cross section

To determine the total cross section, in particular in the context of running CKKW merging with Sherpa, the final output of the event generation run should be used, e.g.

|                                                     |
|  Total XS is 1612.17 pb +- ( 8.48908 pb = 0.52 % )  |
|                                                     |

Note that the Monte Carlo error quoted for the total cross section is determined during event generation. It, therefore, might differ substantially from the errors quoted during the integration step.

In contrast to plain leading order results, Sherpa's total cross section is composed of values from various leading order processes, namely those which are combined by applying the ME-PS merging, see ME-PS merging. In this context, it is important to note that

The exclusive higher order tree-level cross sections determined during the integration step are meaningless by themselves, only the inclusive cross section printed at the end of the event generation run is to be used.

In principle, this value has the same formal accuracy as a leading order result, but it might still differ by a significant amount. Depending on jet definitions, process etc., the merged cross section may be either larger or smaller than the leading order cross section.

Concerning a comparison with NLO calculations: It is known that for, e.g., inclusive Z production the NLO-LO K-factor is larger than one. In some setups the Sherpa cross section is smaller than the LO one, and therefore further from the NLO. Therefore, the Sherpa total cross section should not be thought of as an “improved leading order result”, which would suggest that it is always closer to the NLO than the LO cross section.

Sherpa total cross sections have leading order accuracy.

Broadly speaking, Sherpa's ME-PS merging is adequate for capturing the information from (resummed) logarithmic corrections to the leading order (as is the parton shower). On the contrary, NLO cross sections are typically dominated by finite terms, as they are often quite inclusive and there are no large logarithms in this case. Sherpa's merging algorithm has no way to calculate these finite terms, and this is why Sherpa's cross section is not a better approximation to the NLO cross section. On the other hand, shape observables (especially jet transverse momenta and the like) are typically dominated by logarithmic corrections. If they are concerned, Sherpa can be expected to perform reasonably well.

4. Command line options

The available command line options for Sherpa.

-f <file>

Read input from file ‘<file>’.

-p <path>

Read input file from path ‘<path>’.

-e <events>

Set number of events to generate ‘<events>’, see EVENTS.

-r <results>

Set the result directory to ‘<results>’, see RESULT_DIRECTORY.

-m <generators>

Set the matrix element generator list to ‘<generators>’, see ME_SIGNAL_GENERATOR.

-w <mode>

Set the event generation mode to ‘<mode>’, see EVENT_GENERATION_MODE.

-s <generator>

Set the parton shower generator to ‘<generator>’, see SHOWER_GENERATOR.

-F <module>

Set the fragmentation module to ‘<module>’, see Fragmentation.

-a <analyses>

Set the analysis handler list to ‘<analyses>’, see ANALYSIS.

-A <path>

Set the analysis output path to ‘<path>’, see ANALYSIS_OUTPUT.

-O <level>

Set output level ‘<level>’, see OUTPUT.


Switch to non-batch mode, see BATCH_MODE.


Create result directory automatically, see RESULT_DIRECTORY.

-v, --version

Print versioning information.

-h, --help

Print a help message.


Set the value of a parameter, see Parameters.


Set the value of a tag, see Tags.

5. Input structure

A Sherpa setup is steered by various parameters, associated with the different components of event generation.

These have to be specified in a run-card which by default is named “Run.dat” in the current working directory. If you want to use a different setup directory for your Sherpa run, you have to specify it on the command line as ‘-p <dir>’ or ‘PATH=<dir>’. To read parameters from a run-card with a different name, you may specify ‘-f <file>’ or ‘RUNDATA=<file>’.

Sherpa's parameters are grouped according to the different aspects of event generation, e.g. the beam parameters in the group ‘(beam)’ and the fragmentation parameters in the group ‘(fragmentation)’. In the run-card this looks like:

    BEAM_ENERGY_1 = 7000.

Each of these groups is described in detail in another chapter of this manual, see Parameters.

If such a section or file does not exist in the setup directory, a Sherpa-wide fallback mechanism is employed, searching the file in various locations in the following order (where $SHERPA_DAT_PATH is an optionally set environment variable):

All parameters can be overwritten on the command line, i.e. command-line input has the highest priority. The syntax is

  <prefix>/bin/Sherpa  KEYWORD1=value1 KEYWORD2=value2 ...

To change, e.g., the default number of events, the corresponding command line reads

  <prefix>/bin/Sherpa  EVENTS=10000

All over Sherpa, particles are defined by the particle code proposed by the PDG. These codes and the particle properties will be listed during each run with ‘OUTPUT=2’ for the elementary particles and ‘OUTPUT=4’ for the hadrons. In both cases, antiparticles are characterized by a minus sign in front of their code, e.g. a mu- has code ‘13’, while a mu+ has ‘-13’.

There are a few extra features for an easier handling of the parameter file(s), namely global tag replacement, see Tags, and algebra interpretation, see Interpreter.

5.1 Interpreter

Sherpa has a built-in interpreter for algebraic expressions, like ‘cos(5/180*M_PI)’. This interpreter is employed when reading integer and floating point numbers from input files, such that certain parameters can be written in a more convenient fashion. For example it is possible to specify the factorisation scale as ‘sqr(91.188)’.
There are predefined tags to alleviate the handling


Ludolph's Number to a precision of 12 digits.


The speed of light in the vacuum.


The total centre of mass energy of the collision.

The expression syntax is in general C-like, except for the extra function ‘sqr’, which gives the square of its argument. Operator precedence is the same as in C. The interpreter can handle functions with an arbitrary list of parameters, such as ‘min’ and ‘max’.
The interpreter can be employed to construct arbitrary variables from four momenta, like e.g. in the context of a parton level selector, see Selectors. The corresponding functions are


The invariant mass of v in GeV.


The invariant mass squared of v in GeV^2.


The transverse momentum of v in GeV.


The transverse momentum squared of v in GeV^2.


The transverse mass of v in GeV.


The transverse mass squared of v in GeV^2.


The polar angle of v in radians.


The pseudorapidity of v.


The azimuthal angle of v in radians.


The i'th component of the vector v.


The relative transverse momentum between v1 and v2 in GeV.


The relative angle between v1 and v2 in radians.


The rapidity difference between v1 and v2.


The relative polar angle between v1 and v2 in radians.

5.2 Tags

Tag replacement in Sherpa is performed through the data reading routines, which means that it can be performed for virtually all inputs. Specifying a tag on the command line using the syntax ‘<Tag>:=<Value>’ will replace every occurrence of ‘<Tag>’ in all files during read-in. An example tag definition could read

  <prefix>/bin/Sherpa QCUT:=20 NJET:=3

and then be used in the (me) and (processes) sections like

    Process 93 93 -> 11 -11 93{NJET}
    Order_EW 2;
    CKKW sqr(QCUT/E_CMS)
    End process;

6. Parameters

A Sherpa setup is steered by various parameters, associated with the different components of event generation. These are set in Sherpa's run-card, see Input structure for more details. Tag replacements may be performed in all inputs, see Tags.

6.1 Run Parameters

The following parameters describe general run information. They may be set in the (run) section of the run-card, see Input structure.

6.1.1 EVENTS

This parameter specifies the number of events to be generated.
It can alternatively be set on the command line through option ‘-e’, see Command line options.

6.1.2 OUTPUT

This parameter specifies the output level (verbosity) of the program.
It can alternatively be set on the command line through option ‘-O’, see Command line options.

The value can be any sum of the following:

E.g. OUTPUT=3 would display information, events and errors.


SHERPA uses a random-number generator as described in [Florida State University Report FSU-SCRI-87-50]. The two independent integer-valued seeds are specified by the option “RANDOM_SEED=A B”. The seeds A and B may range from 0 to 31328 and from 0 to 30081, respectively. They can also directly be set using “RANDOM_SEED1=A” and “RANDOM_SEED2=B” If RANDOM_SEED is not specified at all or only by one integer number, the old random-number generator (SHERPA 1.0.6 and older) will be used.


Analysis routines can be switched on or off by setting the ANALYSIS flag. The default is no analysis, corresponding to option ‘0’. This parameter can also be specified on the command line using option ‘-a’, see Command line options.

The following analysis handlers are currently available


Sherpa's internal analysis handler.
To use this option, the package must be configured with option ‘--enable-analysis’.
An output directory can be specified using ANALYSIS_OUTPUT.


The Rivet package, see Rivet Website.
To enable it, Rivet and HepMC have to be installed and Sherpa must be configured as described in Rivet analyses.

Multiple options can be combined using a comma, e.g. ‘ANALYSIS=Internal,Rivet’.


Name of the directory for histogram files when using the internal analysis and name of the Aida file when using Rivet, see ANALYSIS. The directory / file will be created w.r.t. the working directory. The default value is ‘Analysis/’. This parameter can also be specified on the command line using option ‘-A’, see Command line options.


A run time limitation can be given in user CPU seconds through TIMEOUT. This option is of some relevance when running SHERPA on a batch system. Since in many cases jobs are just terminated, this allows to interrupt a run, to store all relevant information and to restart it without any loss. This is particularly useful when carrying out long integrations. Alternatively, setting the TIMEOUT variable to -1, which is the default setting, translates into having no run time limitation at all.


Whether or not to run Sherpa in batch mode. The default is ‘1’, meaning Sherpa does not attempt to save runtime information when catching a signal or an exception. On the contrary, if option ‘0’ is used, Sherpa will store potential integration information and analysis results, once the run is terminated abnormally.

Note that when running the code on a cluster or in a grid environment, BATCH_MODE should never be different from 1.

The command line option ‘-b’ should therefore not be used in this case, see Command line options.


The algorithm used to transfer spin-correlation information from AMEGIC++ to HADRONS++ is switched off (=0) by default. It can be switched on via SPIN CORRELATIONS=1. Process libraries have to be re-created in this case.


The targeted numerical accuracy can be specified through NUM ACCURACY, e.g. for comparing two numbers. This might have to be reduced if gauge tests fail for numerical reasons.


The path in which Sherpa will eventually store dynamically created C++ source code. If not specified otherwise, sets ‘SHERPA_LIB_PATH’ to ‘$SHERPA_CPP_PATH/Process/lib’.


The path in which Sherpa looks for dynamically linked libraries from previously created C++ source code, cf. SHERPA_CPP_PATH.

6.1.12 Event output formats

Sherpa provides the possibility to output events in its native and two other output formats: The HepEVT common block structure or the HepMC format. The authors of Sherpa assume that the user is sufficiently acquainted with these formats when selecting them.

If the events are to be written to file, the following parameters have to be specified:


Filename for output in Sherpa format


Filename for output in HepMC::IO_GenEvent format.


Filename for output in HepEvt format.

With these keywords the filename's root can be specified, i.e. HEPEVT_OUTPUT=<filename> will create files named <filename>.#.hepevt, where the hash mark numerates the files if events are split into multiple files. The output can be further steered with the following options:


Number of events per file (default: 1000).


Directory where the files will be stored.


Steers the precision of all numbers written to file.

To write events directly to gzipped files instead of plain text, the option ‘--enable-gzip’ has to be specified during the installation.

There is also the option to change the format of the event output printed to screen (if any) with the switch EVENT_MODE:


Blob list output (default)


GenEvent print method


HepEvt common block

6.2 Beam Parameters

The setup of the colliding beams is covered by the (beam) section of the steering file or the beam data file Beam.dat, respectively, see Input structure. The mandatory settings to be made are

More options related to beamstrahlung and intrinsic transverse momentum can be found in the following subsections.

6.2.1 Beam Spectra

If desired, you can also specify spectra for beamstrahlung through BEAM_SPECTRUM_1 and BEAM_SPECTRUM_2. The possible values are Possible values are


The beam energy is unaltered and the beam particles remain unchanged. That is the default and corresponds to ordinary hadron-hadron or lepton-lepton collisions.


This can be used to describe the backscattering of a laser beam off initial leptons. The energy distribution of the emerging photon beams is modelled by the CompAZ parametrization, see [Zar02]

Note that this parametrization is valid only for the proposed TESLA photon collider, as various assumptions about the laser parameters and the initial lepton beam energy have been made.


This corresponds to a simple light backscattering off the initial lepton beam and produces initial-state photons with a corresponding energy spectrum.


This enables the equivalent photon approximation for colliding protons, see [Arc08] . The resulting beam particles are photons that follow a dipole form factor parametrization, cf. [Bud74] . The authors would like to thank T. Pierzchala for his help in implementing and testing the corresponding code.


A user defined spectrum is used to describe the energy spectrum of the assumed new beam particles. The name of the corresponding spectrum file needs to be given through the keywords SPECTRUM_FILE_1 and SPECTRUM_FILE_2.

The BEAM_SMIN and BEAM_SMAX parameters may be used to specify the minimum/maximum fraction of cms energy squared after Beamstrahlung. The reference value is the total centre of mass energy squared of the collision, not the centre of mass energy after eventual Beamstrahlung.
The parameter can be specified using the internal interpreter, see Interpreter, e.g. as ‘BEAM_SMIN sqr(20/E_CMS)’.

6.2.2 Intrinsic Transverse Momentum


This parameter specifies the mean intrinsic transverse momentum for the first (left) beam in case of hadronic beams, such as protons.
The default value for protons is 0.33 GeV.


This parameter specifies the mean intrinsic transverse momentum for the second (right) beam in case of hadronic beams, such as protons.
The default value for protons is 0.33 GeV.


This parameter specifies the width of the Gaussian distribution of intrinsic transverse momentum for the first (left) beam in case of hadronic beams, such as protons.
The default value for protons is 0.8 GeV.


This parameter specifies the width of the Gaussian distribution of intrinsic transverse momentum for the first (left) beam in case of hadronic beams, such as protons.
The default value for protons is 0.8 GeV.

6.3 ISR Parameters

The following parameters are used to steer the setup of beam substructure and initial state radiation. They may be set in the (isr) section of the run-card, see Input structure.


Specify the PDG ID of the first (left) and second (right) bunch particle, i.e. the particle after eventual Beamstrahlung specified through the beam parameters, see Beam Parameters. Per default these are taken to be identical to the parameters BEAM_1/BEAM_2, assuming the default beam spectrum is Monochromatic. In case the Simple Compton or Laser Backscattering spectra are enabled the bunch particles would have to be set to 22, the PDG code of the photon.


Specifies whether ISR is enabled for the first/second bunch particle. Possible values are ‘On’ and ‘Off’.
For bunch particles with hadronic substructure, i.e. hadrons and photons, this amounts to employing a PDF to extract partons.

Proton bunches

For incoming protons, ISR must be enabled, which is ensured by default.


For colliding photons, this parameter defines if the resolved or unresolved component of the cross section is to be considered.


For leptons this switch steers the inclusion of a structure function, corresponding to the emission of undetected photons `before' the actual lepton-lepton interaction.


This parameter specifies the minimum fraction of cms energy squared after ISR. The reference value is the total centre of mass energy squared of the collision, not the centre of mass energy after eventual Beamstrahlung.
The parameter can be specified using the internal interpreter, see Interpreter, e.g. as ‘ISR_SMIN=sqr(20/E_CMS)’.

Sherpa provides access to a variety of structure functions. They can be configured with the following parameters.


Switches between different interfaces to PDFs. The following options are distributed with Sherpa:


Use PDF's from LHAPDF [Wha05] . This is the default (and only available then) if Sherpa has been compiled with support for LHAPDF, see Installation.


Built-in library for some PDF sets from the CTEQ collaboration, cf. [Pum02] . This is the default, if Sherpa has not been compiled with LHAPDF support.


Built-in library for some PDF sets from the MRST group, cf. [Mar99] .


Built-in library for another PDF set from the MRST group, cf. [Mar01] .


Built-in library for photon PDF sets from the MRST group, cf. [Mar04] .


Built-in library for the GRV photon PDF [Glu91a] , [Glu91]


Built-in library for the electron structure function. The perturbative order of the fine structure constant can be set using the parameter ISR_E_ORDER (default: 1). The switch ISR_E_SCHEME allows to set the scheme of respecting non-leading terms. Possible options are 0 ("mixed choice"), 1 ("eta choice"), or 2 ("beta choice", default).

Furthermore it is simple to built an external interface to an arbitrary PDF and load that dynamically in the Sherpa run. See External PDF for instructions.


Specifies the PDF set for hadronic bunch particles. All sets available in the chosen PDF_LIBRARY can be figured by running Sherpa with the parameter SHOW_PDF_SETS=1, e.g.:


This parameter allows to eventually select a specific version (member) within the chosen PDF set.


For the internal PDF sets this parameter may be specified to select the directory where the PDF grid files are located.

6.4 Model Parameters

The interaction model setup is covered by the (model) section of the steering file or the model data file Model.dat, respectively.

The main switch here is called MODEL and sets the model that Sherpa uses throughout the simulation run. The default is ‘SM’, for the Standard Model. For a complete list of available models, run Sherpa with SHOW_MODEL_SYNTAX=1 on the command line. This will display not only the available models, but also the parameters for those models.

The chosen model also defines the list of particles and their default properties. With the following switches it is possible to change the properties of all fundamental particles:


Sets the mass (in GeV) of the particle with PDG id ‘<id>’.
Masses of particles and corresponding anti-particles are always set simultaneously.


Specifies whether the finite mass of particle with PDG id ‘<id>’ is to be considered in matrix-element calculations or not.


Sets the width (in GeV) of the particle with PDG id ‘<id>’.


Enables/disables the particle with PDG id ‘<id>’.


Sets the particle with PDG id ‘<id>’ either stable or unstable according to the following options:


Particle and anti-particle are unstable


Particle and anti-particle are stable


Particle is stable, anti-particle is unstable


Particle is unstable, anti-particle is stable

At present this affects only the simulation of tau decays, dealt with by the HADRONS++ package. Decays of other particles have to be specified in the process setup (see Processes) and are not treated automatically.

Note: To set properties of hadrons, you can use the same switches (except for MASSIVE) in the fragmentation section, see Fragmentation.

6.4.1 Standard Model

The SM inputs for the electroweak sector can be given in four different schemes, that correspond to different choices of which SM physics parameters are considered fixed and which are derived from the given quantities. The input schemes are selected through the EW_SCHEME parameter, whose default is ‘0’. The following options are provided:

To account for quark mixing the CKM matrix elements have to be assigned. For this purpose the Wolfenstein parametrization [Wol83] is employed. The order of expansion in the lambda parameter is defined through CKMORDER, with default ‘0’ corresponding to a unit matrix. The parameter convention for higher expansion terms reads:

The remaining parameter to fully specify the Standard Model is the strong coupling constant at the Z-pole, given through ALPHAS(MZ). Its default value is ‘0.1188’. For the two fine structure constants there is the option to provide fixed values that can be used in calculations of matrix elements in case running of the couplings is disabled. The two keywords are 1/ALPHAQED(default) and ALPHAS(default). When using a running strong coupling, the order of the perturbative expansion used can be set through ORDER_ALPHAS, where the default ‘0’ corresponds to one-loop running and 1,2,3 to 2,3,4-loops, respectively.

6.4.2 Minimal Supersymmetric Standard Model

To use the MSSM within Sherpa (cf. [Hag05] ) the MODEL switch has to be set to ‘MSSM’ and ME_SIGNAL_GENERATOR has to be set to ‘Amegic’. Further, the parameter spectrum has to be fed in. To achieve this files that conform to the SUSY-Les-Houches-Accord [Ska03] are used. The actual SLHA file name has to be specified by SLHA_INPUT and has to reside in the current run directory, i.e. PATH. From this file the full low-scale MSSM spectrum is read, including sparticle masses, mixing angles etc. In addition information provided on the total particle's widths is read from the input file. Note that the setting of masses and widths through the SLHA input is superior to setting through MASS[<id>] and WIDTH[<id>].

6.4.3 ADD Model of Large Extra Dimensions

In order to use the ADD model within Sherpa the switches MODEL = ADD and ME_SIGNAL_GENERATOR = Amegic (cf. ME_SIGNAL_GENERATOR) have to be set. The parameters of the ADD model can be set as follows:

The variable N_ED specifies the number of extra dimensions. The value of the Newtonian constant can be specified in natural units using the keyword G_NEWTON. The size of the string scale M_S can be defined by the parameter M_S. Setting the value of KK_CONVENTION allows to change between three widely used conventions for the definition of M_S and the way of summing internal Kaluza-Klein propagators. The switch M_CUT one restricts the c.m. energy of the hard process to be below this specified scale.

The masses, widths, etc. of both additional particles can set in the same way as for the Standard Model particles using the MASS[<id>] and WIDTH[<id>] keywords. The ids of the graviton and graviscalar are 39 and 40.

For details of the implementation, the reader is referred to [Gle03a] .

6.4.4 Anomalous Gauge Couplings

Sherpa includes a number of effective Lagrangians describing anomalous gauge interactions:

Due to the effective nature of the anomalous couplings unitarity might be violated for coupling parameters other than the SM values. For very large momentum transfers, such as probed at the LHC, this will lead to unphysical results. As discussed in Ref. [Bau88]

this can be avoided introducing form factors to be applied on the deviation of coupling parameters from their Standard Model values, The corresponding switches are UNITARIZATION_SCALE and UNITARIZATION_N. By default the form factor is switched off

6.4.5 Two Higgs Doublet Model

The THDM is incorporated as a subset of the MSSM Lagrangian. It is defined as the extension of the SM by a second SU(2) doublet of Higgs fields. Besides the particle content of the SM it contains interactions of five physical Higgs bosons: a light and a heavy scalar, a pseudo-scalar and two charged ones. Besides the SM inputs the model is defined through the masses and widths of the Higgs particles, MASS[PDG] and WIDTH[PDG], where PDG = [25,35,36,37] for h^0, H^0, A^0 and H^+, respectively. The inputs are complete, when TAN(BETA), the ratio of the two Higgs vacuum expectation values, and ALPHA, the Higgs mixing angle, are specified.

The model is invoked by specifying MODEL = THDM in the (model) section of the steering file or the model data file Model.dat, respectively. Additionally, the matrix element generator Amegic++ has to be specified via ME_SIGNAL_GENERATOR = Amegic (cf. ME_SIGNAL_GENERATOR).

6.4.6 Effective Higgs Couplings

The EHC describes the effective coupling of gluons to Higgs bosons via a top-quark loop. This supplement to the Standard Model can be invoked by specifying MODEL = SM+EHC in the (model) section of the steering file or the model data file Model.dat, respectively. Additionally, the matrix element generator Amegic++ has to be specified via ME_SIGNAL_GENERATOR = Amegic (cf. ME_SIGNAL_GENERATOR).

The effective coupling of gluons to the Higgs boson g_ggH can be calculated either for a finite top-quark mass or in the limit of an infinitely heavy top using the switch FINITE_TOP_MASS=[1,0]. The default choice is the latter.

Similarily, the effective coupling of photons to Higgs bosons is included. Its strength can be set via the HIGGS_PP_EFF switch. However, its default is HIGGS_PP_EFF = 0.

6.4.7 Fourth Generation

The 4thGen model adds a fourth family of quarks and leptons to the Standard Model. It is invoked by specifying MODEL = SM+4thGen in the '(model)' section of the steering file or the model data file `Model.dat', respectively. Additionally, the matrix element generator Amegic++ has to be specified via ME_SIGNAL_GENERATOR = Amegic (cf. ME_SIGNAL_GENERATOR).

The masses and widths of the additional particles are defined via the usual MASS[PDG] and WIDTH[PDG] switches, where PDG = [7,8,17,18] for the fourth generation down and up quarks, the charged lepton and the neutrino, respectively. A general mixing is implemented for both leptons and quarks, parametrised through three additional mixing angles and two additional phases, as described in [Hou87a] : A_14, A_24, A_34, PHI_2 and PHI_3 for quarks, THETA_L14, THETA_L24, THETA_L34, PHI_L2 and PHI_L3 for leptons. Both 4x4 mixing matrices expand upon their 3x3 Standard Model counter parts: the CKM matrix for quarks and the unit matrix for leptons. Both mixing matrices can be printed on screen with OUTPUT_MIXING = 1.

Per default, all particles are set unstable and have to be decayed into Standard Model particles within the matrix element or set stable via STABLE[PDG] = 1.

6.4.8 FeynRules model

To use a model generated using the FeynRules package, cf. Refs. [Chr08] and [Chr09] , the MODEL switch has to be set to ‘FeynRules’ and ME_SIGNAL_GENERATOR has to be set to ‘Amegic’. Note, in order to obtain the FeynRules model output in a format readable by Sherpa the FeynRules subroutine 'WriteSHOutput[ L ]' needs to be called for the desired model Lagrangian 'L'. This results in a set of ASCII files that represent the considered model through its particle data, model parameters and interaction vertices. Note also that Sherpa/Amegic can only deal with Feynman rules in unitary gauge.

The FeynRules output files need to be copied to the current working directory or have tto reside in the directory referred to by the PATH variable, cf. Input structure. There exists an agreed default naming convention for the FeynRules output files to be read by Sherpa. However, the explicite names of the input files can be changed. They are referred to by the variables

For more details on the Sherpa interface to FeynRules please consult [Chr09] .

6.5 Matrix Elements

The setup of matrix elements is covered by the `(me)' section of the steering file or the ME data file `ME.dat', respectively. There are no mandatory settings to be made.

The following parameters are used to steer the matrix element setup.


The list of matrix element generators to be employed during the run. When setting up hard processes from the ‘(processes)’ section of the input file (see Processes), Sherpa calls these generators in order to check whether either one is capable of generating the corresponding matrix element. This parameter can also be set on the command line using option ‘-m’, see Command line options.

The built-in generators are


Simple matrix element library, implementing a variety of 2->2 processes.


The AMEGIC++ generator published under [Kra01]


The Comix generator published under [Gle08]

It is possible to employ an external matrix element generator within Sherpa. For advice on this topic please contact the authors, Authors.


This parameter specifies the name of the directory which is used by Sherpa to store integration results and phasespace mappings. The default is ‘Results/’. It can also be set using the command line parameter ‘-r’, see Command line options. The directory will not be created automatically by Sherpa, unless the command line parameter ‘-g’ is set. Its location is relative to a potentially specified input path, see Command line options.


This parameter specifies the event generation mode. The two possible options are ‘Weighted’ (shortcut ‘W’) and ‘Unweighted’ (shortcut ‘U’). It can also be set on the command line using option ‘-w’, see Command line options.

6.5.4 SCALES

This parameter specifies how to compute the renormalization and factorization scale and potential additional scales.

Sherpa provides several built-in scale schemes. The options which are currently available are


Scales are specified by additional parameters in a form which is understood by the internal interpreter, see Interpreter. If, for example the invariant mass of the lepton pair in Drell-Yan production is the desired scale, the corresponding setup reads

SCALES VAR{Abs2(p[2]+p[3])}

Renormalization and factorization scales can be chosen differently. For example in Drell-Yan + jet production one could set

SCALES VAR{Abs2(p[2]+p[3])}{MPerp2(p[2]+p[3])}

In this case the factorization scale must be specified first. More than two scales can be set as well to be subsequently used, e.g. by the ‘VAR’ coupling scheme, see COUPLINGS.


The matrix element is clustered onto a core 2->2 configuration using a k_T-type algorithm with recombination into on-shell partons. Scales are defined as the minimum of the largest transverse momentum during clustering and the lowest invariant mass in the core process.


The matrix element is clustered onto a core 2->2 configuration using a k_T-type algorithm with recombination into on-shell particles, which are determined according to run-time information from the matrix element generator. Scales are defined as the minimum of the largest transverse momentum during clustering and the lowest invariant mass in the core process.
This is the default scale scheme in Sherpa, since it is employed for truncated shower merging, see ME-PS merging. However, it might be subject to changes to enable further classes of processes for merging in the future and should therefore be seen with care. Integration results might change slightly between different Sherpa versions.
Occasionally, users might encounter the warning message

METS_Scale_Setter::CalculateScale(): No CSS history for '<process name>' in <percentage>% of calls. Set \hat{s}.

As long as the percentage quoted here is not too high, this does not pose a serious problem. The warning occurs when - based on the current colour configuration and matrix element information - no suitable clustering is found by the algorithm. In such cases the scale is set to the invariant mass of the partonic process.


This scale scheme has a similar functionality and syntax as the ‘VAR’ scheme. It is currently the only scheme to be used with next-to-leading order calculations. It makes sure that the scale is calculated separately for the real correction and the subtraction terms, such that within the subtraction procedure the same amount is subtracted and added back.

The definition of the scale must be infrared safe wrt to the radiation of an extra parton. Infrared safe (for QCD-NLO calculations) are:

  • any function of momenta of NOT strongly interacting particles
  • sum of transverse quantities of all partons (e.g. H_T2)
  • any quantity refering to jets, constructed by an IR safe jet algorithm (not implemented yet)

Not infrared safe are

  • any function of momenta of specific partons
  • for processes with hadrons in the initial state: any quantity that depends on parton momenta along the beam axis, including the initial state partons itself

Since the total number of partons is different for different pieces of the NLO calculation any explicit reference to a parton momentum will lead to an inconsistent result.

It is possible to implement a dedicated scale scheme within Sherpa. For advice on this topic please contact the authors, Authors.

Simple scale variations can be done using the following parameters:


This parameter specifies how to evaluate couplings in the hard process. Within Sherpa, this means the scheme to employ the renormalization scale for reweighting matrix elements, which are initially computed with a fixed value of the coupling constants. If, for example the strong coupling is to be evaluated at the renormalization scale set by the specified scale setter (cf. SCALES), the corresponding value is ‘QCD’. The currently available options are


No reweighting


Reweighting of QCD couplings only


Couplings specified by an additional parameter in a form which is understood by the internal interpreter, see Interpreter. The tags Alpha_QCD and Alpha_QED serve as links to the built-in running coupling implementation.

If for example the process ‘g g -> h g’ in effective theory is computed, one could think of evaluating two powers of the strong coupling at the Higgs mass scale and one power at the transverse momentum squared of the gluon. Assuming the Higgs mass to be 120 GeV, the corresponding reweighting factor would read

SCALES    VAR{...}{PPerp2(p[3])}
COUPLINGS VAR{sqr(Alpha_QCD(sqr(120)))*Alpha_QCD(MU_R2)/pow(Alpha_QCD(S_TOT),3)}

If more than two scales are to be used, the subsequent scales are referred to as MU_<i>2, where <i> is replaced with the appropriate number, including an offset of one. Their values can be computed e.g. using the ‘VAR’ scale setter, see SCALES. A fictious example would be

SCALES    VAR{...}{PPerp2(p[4])}{Abs2(p[2]+p[3])}
COUPLINGS VAR{Alpha_QCD(MU_12)*Alpha_QED(MU_22)/(Alpha_QCD(S_TOT)*Alpha_QED(S_TOT))}

Reweighting of QCD couplings for truncated shower merging, see ME-PS merging. This is the default coupling scheme in Sherpa. Strong couplings are computed such that they give an overestimate, which can later on be reweighted. The precise scale is set using the Q_{cut} value, which is modified by an additional prefactor given in the shower algorithm.
Except in the context of truncated shower merging, users should refrain from employing this scheme. It's implementation might be subject to changes to enable further classes of processes.

It is possible to implement a dedicated coupling evaluation scheme within Sherpa. For advice on this topic please contact the authors, Authors.

6.5.6 Dipole subtraction

This list of parameters can be used to optimize the performance when employing the Catani-Seymour dipole subtraction [Cat96a] as implemented in Amegic [Gle07] .


Specifies a dipole cutoff in the nonsingular region [Nag03] . Changing this parameter shifts contributions from the subtracted real correction piece (RS) to the piece including integrated dipole terms (I), while their sum remains constant. This parameter can be used to optimize the integration performance of the individual pieces. Also the average calculation time for the subtracted real correction is reduced with smaller choices of `DIPOLE_ALPHA' due to the (on average) reduced number of contributing dipole terms. For most processes a reasonable choice is between 0.01 and 1 (default). See also Choosing DIPOLE_ALPHA


Specifies the cutoff of real correction terms in the infrared reagion to avoid numerical problems with the subtraction. The default is 1.e-8.


Specifies the number of quark flavours that are produced from gluon splittings. This number must be at least the number of massless flavours (default). If this number is larger than the number of massless quarks the massive dipole subtraction [Cat02] is employed.


Specifies the kappa-parameter in the massive dipole subtraction formalism [Cat02] .

6.6 Processes

The process setup is covered by the `(processes)' section of the steering file or the process data file `Processes.dat', respectively.

The following parameters are used to steer the process setup.

6.6.1 Process

This tag starts the setup of a process or a set of processes with common properties. It must be followed by the specification of the (core) process itself. The setup is completed by the ‘End process’ tag, see End process. The initial and final state particles are specified by their PDG codes, or by particle containers, see Particle containers. Examples are

Process 93 93 -> 11 -11

Sets up a Drell-Yan process group with light quarks in the initial state.

Process 11 -11 -> 93 93 93{3}

Sets up jet production in e+e- collisions with up to three additional jets.

The syntax for specifying processes is explained in the following sections: PDG codes

Initial and final state particles are specified using their PDG codes (cf. PDG). A list of particles with their codes, and some of their properties, is printed at the start of each Sherpa run, when the OUTPUT is set at level ‘2’. Particle containers

Sherpa contains a set of containers that collect particles with similar properties, namely

These containers hold all massless particles and anti-particles of the denoted type and allow for a more efficient definition of initial and final states to be considered. The jet container consists of the gluon and all massless quarks (as set by MASS[..]=0.0 or MASSIVE[..]=0). A list of particle containers is printed at the start of each Sherpa run, when the OUTPUT is set at level ‘2’. Curly brackets

The curly bracket notation when specifying a process allows up to a certain number of jets to be included in the final state. This is easily seen from an example,

Process 11 -11 -> 93 93 93{3}

Sets up jet production in e+e- collisions. The matix element final state may be 2, 3, 4 or 5 light partons or gluons.

6.6.2 Decay

Specifies the exclusive decay of a particle produced in the matrix element. The virtuality of the decaying particle is sampled according to a Breit-Wigner distribution. An example would be

Process 11 -11 -> 6[a] -6[b]
Decay 6[a] -> 5 24[c]
Decay -6[b] -> -5 -24[d]
Decay 24[c] -> -13 14
Decay -24[d] -> 94 94

6.6.3 DecayOS

Specifies the exclusive decay of a particle produced in the matrix element. The decaying particle is on mass-shell, i.e. a strict narrow-width approximation is used. An example would be

Process 11 -11 -> 6[a] -6[b]
DecayOS 6[a] -> 5 24[c]
DecayOS -6[b] -> -5 -24[d]
DecayOS 24[c] -> -13 14
DecayOS -24[d] -> 94 94

6.6.4 Scales

Sets a process-specific scale. For the corresponding syntax see SCALES.

6.6.5 Couplings

Sets process-specific couplings. For the corresponding syntax see COUPLINGS.

6.6.6 CKKW

Sets up multijet merging according to [Hoe09] . The additional argument specifies the separation cut in the form (Q_{cut}/E_{cms})^2. It can be given in any form which is understood by the internal interpreter, see Interpreter. Examples are

6.6.7 Selector_File

Sets a process-specific selector file name.

6.6.8 Order_EW

Sets a process-specific electroweak order. The given number is exclusive, i.e. only matrix elements with exactly the given order in the electroweak coupling are generated.

6.6.9 Max_Order_EW

Sets a process-specific maximum electroweak order. The given number is inclusive, i.e. matrix elements with up to the given order in the electroweak coupling are generated.

6.6.10 Order_QCD

Sets a process-specific QCD order. The given number is exclusive, i.e. only matrix elements with exactly the given order in the strong coupling are generated.

6.6.11 Max_Order_QCD

Sets a process-specific maximum QCD order. The given number is inclusive, i.e. matrix elements with up to the given order in the strong coupling are generated.

6.6.12 Max_N_Quarks

Limits the maximum number of quarks in the process to the given value.

6.6.13 Print_Graphs

Writes out Feynman graphs in LaTeX format.

After Sherpa has run, there will be a .tex-file located in the diagram information directory with the name <process>.tex. This has to be compiled by using latex <process>.tex, which produces a .mp-file. Enter mpost *.mp and again latex <process>.tex in order to produce the .dvi-file <process>.dvi containing the Feynman diagrams.

6.6.14 Integration_Error

Sets a process-specific relative integration error target.

For multijet processes, this parameter can be specified per final state multiplicity. An example would be

Process 93 93 -> 93 93 93{2}
Integration_Error 0.02 {3,4}

Here, the integration error target is set to 2% for 2->3 and 2->4 processes.

6.6.15 Max_Epsilon

Sets epsilon for maximum weight reduction. The key idea is to allow weights larger than the maximum during event generation, as long as the fraction of the cross section represented by corresponding events is at most the epsilon factor times the total cross section. In other words, the relative contribution of overweighted events to the inclusive cross section is at most epsilon.

6.6.16 Enhance_Factor

Sets a process specific enhance factor.

For multijet processes, this parameter can be specified per final state multiplicity. An example would be

Process 93 93 -> 93 93 93{2}
Enhance_Factor 4 {3}
Enhance_Factor 16 {4}

Here, 3-jet processes are enhanced by a factor of 4, 4-jet processes by a factor of 16.

6.6.17 Enhance_Function

Sets a process specific enhance function.

This feature can only be used when generating weighted events.

For multijet processes, the parameter can be specified per final state multiplicity. An example would be

Process 93 93 -> 11 -11 93{1}
Enhance_Function PPerp2(p[4]) {3}

Here, the 1-jet process is enhanced with the transverse momentum squared of the jet.

6.6.18 NLO_QCD_Part

Specifies which pieces of a QCD NLO calculation are computed. Possible choices are

Different pieces can be combined in the processes setup. Only pieces with the same number of final state particles and the same order in alpha_S can be treated as one process, otherwise they will be automatically split up.

Note that Sherpa includes only a very limited selection of one-loop corrections. For processes not included external codes can be interfaced, see External one-loop ME

6.6.19 NLO_EW_Part

6.6.20 Loop_Generator

Set a process specific nametag for the desired loop-ME generator.

6.6.21 End process

Completes the setup of a process or a list of processes with common properties.

6.7 Selectors

The setup of cuts at the matrix element level is covered by the `(selector)' section of the steering file or the selector data file `Selector.dat', respectively.

Sherpa provides the following selectors

6.7.1 One particle selectors

The selectors listed here implement cuts on the matrix element level, based on single particle kinematics. The corresponding syntax in ‘Selector.dat’ is

<keyword> <flavour code> <min value> <max value>

<min value>’ and ‘<max value>’ are floating point numbers, which can also be given in a form that is understood by the internal algebra interpreter, see Interpreter. The selectors act on all possible particles with the given flavour. Their respective keywords are


energy cut


transverse energy cut


transverse momentum cut


rapidity cut


pseudorapidity cut

6.7.2 Two particle selectors

The selectors listed here implement cuts on the matrix element level, based on two particle kinematics. The corresponding syntax in ‘Selector.dat’ is

<keyword> <flavour1 code> <flavour2 code> <min value> <max value>

<min value>’ and ‘<max value>’ are floating point numbers, which can also be given in a form that is understood by the internal algebra interpreter, see Interpreter. The selectors act on all possible particles with the given flavour. Their respective keywords are


invariant mass


angular separation (rad)


angular separation w.r.t. beam

(‘<flavour2 code>’ is 0 or 1, referring to beam 1 or 2)


pseudorapidity separation


azimuthal angle separation (rad)


R separation

6.7.3 Jet finders

There are three different types of jet finders






k_T-type algorithm to select on a given number of jets

Their respective syntax is

JetFinder  <ycut>[<ycut decay 1>[<ycut decay 11>...]...]... <D parameter>
ConeFinder <min R> 
NJetFinder <n> <ptmin> <etmin> <D parameter> [<exponent>] [<eta max>]

For ‘JetFinder’, it is possible to give different values of ycut in individual subprocesses of a production-decay chain. The square brackets are then used to denote the decays. In case only one uniform set of ycut is to be used, the square brackets are left out.

<ycut>’, ‘<min R>’ and ‘<D parameter>’ are floating point numbers, which can also be given in a form that is understood by the internal algebra interpreter, see Interpreter.

The ‘NJetFinder’ allows to select for kinematic configurations with at least ‘<n>’ jets that satisfy both, the ‘<ptmin>’ and the ‘<etmin>’ minimum requirements and that are in a PseudoRapidity region |eta|<‘<eta max>’. The ‘<exponent>’ allows to apply a kt-algorithm (1) or an anti-kt algorithm (-1).

6.7.4 Universal selector

The universal selector is intended to implement non-standard cuts on the matrix element level. Its syntax is

"<variable>" <kf1>,..,<kfn> <min1>,<max1>:..:<minn>,<maxn> [<order1>,...,<orderm>]

No additional white spaces are allowed

The first word has to be double-quoted, and contains the name of the variable to cut on. The keywords for available predefined <variable>s can be figured by running Sherpa ‘SHOW_VARIABLE_SYNTAX=1’. Or alternatively, an arbitrary cut variable can be constructed using the internal interpreter, see Interpreter. This is invoked with the command ‘Calc(...)’. In the formula specified there you have to use place holders for the momenta of the particles: ‘p[0]’ ... ‘p[n]’ hold the momenta of the respective particles ‘kf1’ ... ‘kfn’. A list of available vector functions and operators can be found here Interpreter.

<kf1>,..,<kfn>’ specify the PDG codes of the particles the variable has to be calculated from. In case this choice is not unique in the final state, you have to specify multiple cut ranges (‘<min1>,<max1>:..:<minn>,<maxn>’) for all (combinations of) particles you want to cut on, separated by semicolons.

If no fourth argument is given, the order of cuts is determined internally, according to Sherpa's process classification scheme. This then has to be matched if you want to have different cuts on certain different particles in the matrix element. To do this, you should put enough (for the possible number of combinations of your particles) arbitrary ranges at first and run Sherpa with debugging output for the universal selector: ‘Sherpa OUTPUT=2[Variable_Selector::Trigger|15]’. This will start to produce lots of output during integration, at which point you can interrupt the run (Ctrl-c). In the ‘Variable_Selector::Trigger(): {...}’ output you can see, which particle combinations have been found and which cut range your selector has held for them (vs. the arbitrary range you specified). From that you should get an idea, in which order the cuts have to be specified.

If the fourth argument is given, particles are ordered before the cut is applied. Possible orderings are ‘PT_UP’, ‘ET_UP’, ‘E_UP’ and ‘ETA_UP’, (increasing p_T, E_T, E, eta). They have to be specified for each of the particles, separated by commas.


Two-body transverse mass

"mT" 11,-12 50,E_CMS

Cut on the pT of only the hardest lepton in the event

"PT" 90 50.0,E_CMS [PT_UP]

Using bool operations to restrict eta of the electron to |eta| < 1.1 or 1.5 < |eta| < 2.5

"Calc(abs(Eta(p[0]))<1.1||(abs(Eta(p[0]))>1.5&&abs(Eta(p[0]))<2.5))" 11 1,1

Note the range 1,1 meaning true for bool operations.

Requesting opposite side tag jets in VBF would for example need a setup like this

"Calc(Eta(p[0])*Eta(p[1]))" 93,93 -100,0 [PT_UP,PT_UP]

Restricting electron+photon mass to be outside of [87.0,97.0]:

"Calc(Mass(p[0]+p[1])<87.0||Mass(p[0]+p[1])>97.0)" 11,22 1,1

In ‘Z[lepton lepton] Z[lepton lepton]’, cut on mass of lepton-pairs produced from Z's:

"m" 90,90 80,100:0,E_CMS:0,E_CMS:0,E_CMS:0,E_CMS:80,100

Here we use knowledge about the internal ordering to cut only on the correct lepton pairs.

6.7.5 Minimum selector

This selector can combine several selectors to pass an event if either those passes the event. It is mainly designed to generate more inclusive samples that, for instance, include several jet finders and that allows a specification later. The syntax is

MinSelector {
  Selector 1
  Selector 2

6.7.6 NLO selectors

Phase-space cuts that are applied on next-to-leading order calculations must be defined in a infrared safe way. Technically there is also a special treatment for the real (subtracted) correction required. Currently only the following selectors meet this requirement:

QCD parton cuts
NJetFinder <n> <ptmin> <etmin> <D parameter> [<exponent>] [<eta max>]

(see Jet finders)

Cuts on not strongly interacting particles

One particle selectors

PTNLO <flavour code> <min value> <max value>
RapidityNLO <flavour code> <min value> <max value>
PseudoRapidityNLO <flavour code> <min value> <max value>

Two particle selectors

PT2NLO <flavour1 code> <flavour2 code> <min value> <max value>
Mass <flavour1 code> <flavour2 code> <min value> <max value>
The Minimum selector can be used if constructed with other selectors mentioned in this section

6.8 Integration

The integration setup is covered by the `(integration)' section of the steering file or the integration data file `Integration.dat', respectively.

The following parameters are used to steer the integration.

6.8.1 ERROR

Specifies the relative integration error target.


Specifies the integrator. The possible integrator types depend on the matrix element generator. Users should rely on the default value and otherwise seek the help of the authors, see Authors.

6.8.3 VEGAS

Specifies whether or not to employ Vegas for adaptive integration. The two possible values are ‘On’ and ‘Off’, the default being ‘On’.


Specifies whether the full Vegas optimization is to be carried out. The two possible options are ‘On’ and ‘Off’, the default being ‘On’.

6.8.5 PSI_NMAX

The maximum number of points before cuts to be generated during integration. This parameter acts on a process-by-process basis.

6.9 Shower Parameters

The shower setup is covered by the `(shower)' section of the steering file or the shower data file `Shower.dat', respectively.

The following parameters are used to steer the shower setup.


The only shower option available in the default Sherpa set-up is ‘CSS’, and this is the default for this tag. See the module summaries in Basic structure for more details on this shower.

APACIC++, Sherpa's previous shower module is included in <prefix>/AddOns/Apacic++, but is not linked to Sherpa in the default installation.

To see the available shower options, the tag SHOW_SHOWER_GENERATORS=1 can be specified on the command line.

6.10 MPI Parameters

The multiple parton interaction (MPI) setup is covered by the `(mi)' section of the steering file or the MPI data file `MI.dat', respectively. The basic MPI model is described in [Sjo87] while Sherpa's implementation details are discussed in [Ale05]

The following parameters are used to steer the MPI setup.


Specifies the MPI handler. The two possible values at the moment are ‘None’ and ‘Amisic’.

6.10.2 SCALE_MIN

Specifies the transverse momentum integration cutoff in GeV.


Specifies the hadron profile function. The possible values are ‘Exponential’, ‘Gaussian’ and ‘Double_Gaussian’. For the double gaussian profile, the relative core size and relative matter fraction can be set using PROFILE_PARAMETERS.


The potential parameters for hadron profile functions, see PROFILE_FUNCTION. For double gaussian profiles there are two parameters, corresponding to the relative core size and relative matter fraction.


Specifies the centre-of-mass energy at which the transverse momentum integration cutoff is used as is, see SCALE_MIN. This parameter should not be changed by the user. The default is ‘1800’, corresponding to Tevatron Run I energies.


Specifies the rescaling exponent for fixing the transverse momentum integration cutoff at centre-of-mass energies different from the reference scale, see SCALE_MIN, REFERENCE_SCALE.

6.11 Fragmentation

The hadronization setup is covered by the `(fragmentation)' section of the steering file or the fragmentation data file `Fragmentation.dat', respectively.

There are, broadly speaking, two options of how Sherpa handles the transition of quarks and gluons into primordial hadrons (hadronization) and their decay:

6.11.1 Hadronization parameters

The FRAGMENTATION parameter sets the fragmentation module to be employed during event generation. The default is ‘Ahadic’. This parameter steers whether the fragmentation is switched on and performed by the internal cluster fragmentation module AHADIC++, by an interface to the corresponding routines of the Lund string hadronization of Pythia [Sjo03] ), indicated by ‘Lund’), or whether the fragmentation is completely switched (‘Off’).

The treatment of hadron and tau decays is specified by DECAYMODEL. Its allowed values are either the default choice ‘Hadrons’, which renders the HADRONS++ module responsible for performing the decays, or as alternative, the interface to Pythia can be invoked by setting this parameter to ‘Lund’. For the former option, the reader is referred to HADRONS++ for a more detailed discussion.

Please note that it is absolutely not advisable to use one fragmentation model with another model for the hadron decays, since there is quite an intimate relation between two - for instance, AHADIC++ knows and allows for many more primordial hadrons than Pythia does, which would obviously lead to problems, if they were created in AHADIC++ and left to Pythia for decays. Using the Pythia routines

The Pythia routines have been made available through an interface to the corresponding Fortran code, with the option to steer Pythia parameters through Sherpa. The Lund parameters can be collected in a file set by the parameter LUND_FILE (default is Lund.dat), if ‘Lund’ is chosen as the method of choice for both fragmentation and hadron decays. Driven in this option, Sherpa is more or less ignorant about hadron decays, with the exception of tau-decays, which have been supplemented early in the development of the Sherpa event generator.

The coarse features of the string breakup in the Lund model are characterized by three parameters, Lund-a through PARJ(41) (data file value: 0.431), Lund-b through PARJ(42) (data file value: 0.878), and Lund-sigma through PARJ(21) (data file value: 0.336). If the data-file parameters are not set, Sherpa employs the default values in Pythia.

More Pythia parameters can be added to the Lund.dat file using the Pythia nomenclature in the common-blocks, e.g. MSTJ(11) for changing the fragmentation function for heavy quarks. Please note that particle decays cannot directly be disabled there. Instead, the stable flag for the corresponding hadron needs to be used.

6.11.2 AHADIC++


6.11.3 HADRONS++

HADRONS++ is the module within the Sherpa framework which is responsible for treating hadron and tau decays. It contains decay tables with branching ratios for approximately 2500 decay channels, of which many have their kinematics modelled according to a matrix element with corresponding form factors. Especially decays of the tau lepton and heavy mesons have form factor models similar to dedicated codes like Tauola [Jad93] and EvtGen [Lan01] .

Some general switches which relate to hadron decays can be adjusted in the (fragmentation) section:

Many aspects of the above mentioned “Decaydata” can be adjusted. There exist three levels of data files, which are explained in the following sections. As with all other setup files, the user can either employ the default “Decaydata” in <prefix>/share/SHERPA-MC/Decaydata, or overwrite it (also selectively) by creating the appropriate files in the directory specified by DECAYPATH. HadronDecays.dat

HadronDecays.dat consists of a table of particles that are to be decayed by HADRONS++. Note: Even if decay tables exist for the other particles, only those particles decay that are set unstable, either by default, or in the model/fragmentation settings. It has the following structure, where each line adds one decaying particle:

<kf-code>       ->



decaying particle    

path to decay table    

decay table file

default names:



It is possible to specify different decay tables for the particle (positive kf-code) and anti-particle (negative kf-code). If only one is specified, it will be used for both particle and anti-particle.

If more than one decay table is specified for the same kf-code, these tables will be used in the specified sequence during one event. The first matching particle appearing in the event is decayed according to the first table, and so on until the last table is reached, which will be used for the remaining particles of this kf-code.

Additionally, this file may contain the keyword CREATE_BOOKLET on a separate line, which will cause HADRONS++ to write a LaTeX document containing all decay tables. Decay table files

The decay table contains information about outgoing particles for each channel, its branching ratio and eventually the name of the file that stores parameters for a specific channel. If the latter is not specified HADRONS++ will produce it and modify the decay table file accordingly.

Additionally to the branching ratio, one may specify the error associated with it, and its source. Every hadron is supposed to have its own decay table in its own subdirectory. The structure of a decay table is


BR(delta BR)[Origin]       


outgoing particles       

branching ratio       

decay channel file

It should be stressed here that the branching ratio which is explicitly given for any individual channel in this file is always used regardless of any matrix-element value. Decay channel files

A decay channel file contains various information about that specific decay channel. There are different sections, some of which are optional: HadronConstants.dat

HadronConstants.dat may contain some globally needed parameters (e.g. for neutral meson mixing, see [Kra10] ) and also fall-back values for all matrix-element parameters which one specifies in decay channel files. Here, the Interference_X = 1 switch would enable rate asymmetries due to CP violation in the interference between mixing and decay (cf. Decay channel files), and setting Mixing_X = 1 enables explicit mixing in the event record according to the time evolution of the flavour states. By default, all mixing effects are turned off. Further remarks

Spin correlations: the spin correlation algorithm is implemented, also for decays of tau's produced in the signal process. It can be switched on through the keyword SPIN_CORRELATIONS in the (run) section, see Run Parameters for more details.

Adding new channels: if new channels are added to HADRONS++ (choosing isotropic decay kinematics) a new decay table must be defined and the corresponding hadron must be added to HadronDecays.dat. The decay table merely needs to consist of the outgoing particles and branching ratios, i.e. the last column (the one with the decay channel file name) can safely be dropped. By running Sherpa it will automatically produce the decay channel files and write their names in the decay table.

Some details on tau decays: $\tau$ decays are treated within the HADRONS++ framework, even though the $\tau$ is not a hadron. As for many hadron decays, the hadronic tau decays have form factor models implemented, for details the reader is referred to [Kra10] .

6.12 QED Corrections

Higher order QED corrections are effected both on hard interaction and, upon their formation, on each hadron's subsequent decay. The Photons [Sch08] module is called in both cases for this task. It employes a YFS-type resummation [Yen61] of all infrared singular terms to all orders and is equipped with complete first order corrections for the most relevant cases (all other ones receive approximate real emission corrections built up by Catani-Seymour splitting kernels).

6.12.1 General Switches

The relevant switches to steer the higher order QED corrections reside in the `(fragmentation)' section of the steering file or the fragmentation data file `Fragmentation.dat', respectively. YFS_MODE

The keyword YFS_MODE = [0,1,2] determines the mode of operation of Photons. YFS_MODE = 0 switches Photons off. Consequently, neither the hard interaction nor any hadron decay will be corrected for soft or hard photon emission. YFS_MODE = 1 sets the mode to "soft only", meaning soft emissions will be treated correctly to all orders but no hard emission corrections will be included. With YFS_MODE = 2 these hard emission corrections will also be included up to first order in alpha_QED. This is the default setting. YFS_USE_ME

The switch YFS_USE_ME = [0,1] tells Photons how to correct hard emissions to first order in alpha_QED. If YFS_USE_ME = 0, then Photons will use collinearly approximated real emission matrix elements. Virtual emission matrix elements of order alpha_QED are ignored. If, however, YFS_USE_ME=1, then exact real and/or virtual emission matrix elements are used wherever possible. These are presently available for V->FF, V->SS, S->FF, S->SS, S->Slnu, S->Vlnu type decays, Z->FF decays and leptonic tau and W decays. For all other decay types general collinearly approximated matrix elements are used. In both approaches all hadrons are treated as point-like objects. The default setting is YFS_USE_ME = 1. This switch is only effective if YFS_MODE = 2. YFS_IR_CUTOFF

YFS_IR_CUTOFF sets the infrared cut-off dividing the real emission in two regions, one containing the infrared divergence, the other the "hard" emissions. This cut-off is currently applied in the rest frame of the multipole of the respective decay. It also serves as a minimum photon energy in this frame for explicit photon generation for the event record. In contrast, all photons below with energy less than this cut-off will be assumed to have negligible impact on the final-state momentum distributions. The default is YFS_IR_CUTOFF = 1E-3 (GeV). Of course, this switch is only effective if Photons is switched on, i.e. YFS_MODE = [1,2].

6.12.2 QED Corrections to the Hard Interaction

The switch to steer QED corrections to the hard scatter resides in the '(me)' section of the steering file or the matrix element data file `ME.dat', respectively. ME_QED

ME_QED = On/Off turns the higher order QED corrections to the matrix element on or off, respectively. The default is ‘On’. Switching QED corrections to the matrix element off has no effect on QED Corrections to Hadron Decays. The QED corrections to the matrix element will only be effected on final state not strongly interacting particles. If a resonant production subprocess for an unambiguous subset of all such particles is specified via the process declaration (cf. Processes) this can be taken into account and dedicated higher order matrix elements can be used (if YFS_MODE = 2 and YFS_USE_ME = 1).

6.12.3 QED Corrections to Hadron Decays

If the Photons module is switched on, all hadron decays are corrected for higher order QED effects.

7. ME-PS merging

The Sherpa method of merging matrix elements and parton showers

7.1 Improved multijet final-state predictions

For a large fraction of LHC final states, the application of reconstruction algorithms will lead to the identification of several hard jets. A major task is to distinguish whether such events are signals for new physics or just manifestations of SM physics. Related calculations therefore need to describe as accurately as possible both the full matrix element for the underlying hard processes as well as the subsequent evolution and conversion of the hard partons into jets of hadrons. Several scales therefore determine the thorough development of the event. This makes it difficult to unambiguously disentangle the components, which belong to the hard process from those of the hard-parton evolution. Given an n-jet event of well separated partons, its jet structure is retained when emitting a further collinear or soft parton. An additional hard, large-angle emission however gives rise to an extra jet changing the n to an n+1 final state. The merging scheme has to define, on an event-by-event basis, which possibility has to be followed. Its primary goals are therefore to avoid double counting by preventing events to appear twice, i.e. once for each possibility, as well as dead regions by generating each configuration only once and using the appropriate path.

Various such merging schemes have been proposed. The currently most advanced treatment at tree-level is detailed in [Hoe09] . It relies on a strict separation of the phasespace for additional QCD radiation into a matrix-element and a parton-shower domain. Truncated showers are then needed to account for potential radiation in the parton-shower domain, if radiation in the matrix-element domain has already occured. A similar method was presented in [Ham09] for the special case of angular-ordered parton showers. Several older merging approaches exist. The CKKW scheme as a procedure similar to the truncated shower merging was introduced in [Cat01] . Its extension to hadronic processes has been discussed in [Kra02] , and the approach has been validated for several cases [Sch05] , [Kra05a] , [Kra04] , [Kra05] , [Gle05] . A reformulation of CKKW to a merging procedure in conjunction with a dipole shower (CKKW-L) has been presented in [Lon01] . The MLM scheme has been developed using a geometric analysis of the unconstrained radiation pattern in terms of cone jets to generate the inclusive samples [Man01] ,[Man06] . In a number of works, all these different algorithms have been implemented in different variations on different levels of sophistication in conjunction with various matrix-element generators or already in full-fledged event generators. Their respective results have been compared e.g. in [Hoc06] , [Alw07] . Common to all schemes is that sequences of tree-level multileg matrix elements with increasing final-state multiplicity are merged with parton showers to yield a fully inclusive sample with no double counting and correct at leading logarithmic accuracy. Their connection with truncated shower merging is outlined in [Hoe09] .

7.2 The algorithm implemented in Sherpa

In Sherpa the merging of matrix elements and parton showers is accomplished as follows, cf. [Hoe09] :

  1. All cross sections sigma_k for processes with k=0,1,...,N extra partons are calculated with the constraint that the matrix-element final states pass the jet criteria. They are determined by the jet measure shown below, and the minimal distance is set by the actual merging scale Q_cut. The measure used for jet identification can be written as
      Q_ij^2 = 2p_i.p_j min{2/(Cijk+Cjik)}

    where the minimum is taken over the colour-connected partons k (k different from i and j), and where, for final state partons i and j,

      Cijk = p_i.p_k/((p_i+p_k).p_j) - m_i^2/(2p_i.p_j)      if j=g,
      Cijk = 1                                               else.
  2. Processes of fixed parton multiplicity are chosen with probability sigma_k/(sum of all sigma_k). The event's hard process is picked from the list of partonic processes having the desired multiplicity and according to their particular cross-section contributions. All particle momenta are distributed respecting the correlations encoded in the matrix elements. Merged samples therefore fully include lepton-jet and jet–jet correlations up to N extra jets.
  3. The parton configuration of the matrix element has to be analysed to eventually accomplish the reweighting. Matrix elements are interpreted in the large N_c limit. The partons are clustered backwards according to the shower measure and inverted shower kinematics. The clustering is guided by physically allowed parton combinations, restricting the shower histories to those which correspond to a Feynman diagram. It is stopped after a 2->2 configuration (a core process) has been identified.
  4. The reweighting proceeds according to the reconstructed shower history. The event is accepted or rejected according to a kinematics-dependent weight, which corresponds to evaluating strong couplings in the parton shower scheme.
  5. The parton-shower evolution is started with suitably defined scales for intermediate and final-state particles.
  6. Intermediate partons undergo truncated shower evolution. This allows parton-shower emissions between the scales of one matrix element branching and the next. This leads to a situation where, due to additional partons originating from these branchings, the kinematics of the next matrix-element branching needs to be redefined. If for any reason (e.g. energy-momentum conservation) the matrix element branching cannot be reconstructed after a truncated shower branching, this shower branching must be vetoed.
  7. In all circumstances parton-shower radiation is subject to the condition that no extra jet is produced. If any emission turns out to be harder than the separation cut Q_cut, the event is vetoed. This effectively implements a Sudakov rejection and reduces the individual inclusive cross section to exclusive ones. The exception to this veto – called highest-multiplicity treatment – is for matrix-element configurations with the maximal number N of extra partons. These cases require the parton shower to cover the phase space for more jets than those produced by the matrix elements. To obtain an inclusive N-jet prediction, the veto therefore is on parton emissions at scales harder than the softest parton-shower scale, which can produce allowed emissions harder than the separation scale Q_cut. Of course, correlations including the N+1th jet are only approximately taken into account.

7.3 Generation of merged samples

The generation of inclusive event samples, i.e. the combination of matrix elements for different parton multiplicities with parton showers and hadronization, is completely automatized within Sherpa. To obtain consistent results, certain parameters related to the matrix-element calculation and the parton showers have to be set accordingly. In the following the basic parameter settings for generating “merged” samples are summarised. Potential pitfalls are pointed out.

  1. Process setup

    The starting point is the definition of a basic core (lowest-order) process with respect to which the impact of additional QCD radiation shall be studied. As an illustrative example, consider Drell–Yan lepton-pair production in proton–proton collisions. The lowest-order process reads pp -> l-bar l, mediated through Z/photon exchange. Additional QCD radiation will then manifest itself through additional QCD partons in the final state, i.e. pp -> l\bar l + n jets with n=1,...,N. To initialise the calculation of all the different matrix elements (for pp -> l\bar l+0,1,...,N QCD partons) in a single generator run, besides selecting the basic core process, the maximal number N of additional final-state QCD partons has to be specified in the (processes) section of the steering file. For the above example, assuming N=3, this reads:

        Process 93 93 -> 90 90 93{3}
        Order_EW 2

    N is given in the curly brackets belonging to the 93, the code for QCD partons. Note, that it is mandatory to fix the order of electroweak couplings to the corresponding order of the basic core process, here pp -> l-bar l or 93 93 -> 90 90, as only QCD corrections to this process can be considered and further electroweak corrections are not treated by Sherpa's ME-PS merging implementation.

  2. Setting the merging scale

    The most important parameter to be specified when generating merged samples with Sherpa is the actual value of the jet resolution that separates the subsamples of different parton multiplicities, the merging scale.

    The jet criterion is explained in The algorithm implemented in Sherpa. The separation cut, Q_cut, must be specified. It is set using the CKKW tag, in the form (Q_cut/E_cms)^2. For example, a valid setting reads

        CKKW sqr(20/E_CMS)

    and must be included in the process specification, before the End process line. As mentioned before, all extra QCD parton radiation is regularised by satisfying the jet criterion. However, divergences of the basic core process, such as vanishing invariant masses of lepton pairs, need to be regularised by imposing additional cuts, see Selectors.

  3. Parton showering

    It always should be ensured that the parton showers are switched on.

Further remarks

Although the merging of different multiplicity matrix-element samples with parton showers attached is fully automatized in Sherpa, some care has to be taken to ensure physical meaningful results. Some of the most prominent mistakes are listed here:

Finally, a few more useful comments related to Sherpa's merging are stated below:

8. Tips and Tricks

8.1 Bash completion

Sherpa will install a file named ‘$prefix/share/SHERPA-MC/sherpa-completion’ which contains tab completion functionality for the bash shell. You simply have to source it in your active shell session by running

  .  $prefix/share/SHERPA-MC/sherpa-completion

and you will be able to tab-complete any parameters on a Sherpa command line.

To permanently enable this feature in your bash shell, you'll have to add the source command above to your ~/.bashrc.

8.2 Rivet analyses

Sherpa is equipped with an interface to the analysis tool Rivet. To enable it, Rivet and HepMC have to be installed (e.g. using the Rivet bootstrap script) and your Sherpa compilation has to be configured with the following options:

  ./configure --enable-hepmc2=/path/to/hepmc2 --enable-rivet=/path/to/rivet

(Note: Both paths are equal if you used the Rivet bootstrap script.)

To use the interface, specify the switch

  Sherpa ANALYSIS=Rivet

and create an analysis section in Run.dat that reads as follows:

      -a D0_2008_S7662670 CDF_2007_S7057202 D0_2004_S5992206 CDF_2008_S7828950

The line starting with -a specifies which Rivet analyses to run and the histogram output file can be changed with the normal ANALYSIS_OUTPUT switch.

You can also use AddOns/Rivet/make-html to create webpages from Rivet's output files:

  (source /path/to/   # see below
  AddOns/Rivet/make-html -o output/ file1.aida [file2.aida, ...]
  firefox output/index.html &

If your Rivet installation is not in a standard location, the bootstrap script should have created a which you have to source before running the make-html script.

8.3 Debugging a crashing/stalled event

8.3.1 Crashing events

If an event crashes, Sherpa tries to obtain all the information needed to reproduce that event and writes it out into a directory named


If you are a Sherpa user and want to report this crash to the Sherpa team, please attach a tarball of this directory to your email. This allows us to reproduce your crashed event and debug it.

To debug it yourself, you can follow these steps (Only do this if you are a Sherpa developer, or want to debug a problem in an addon library created by yourself):

8.3.2 Stalled events

If event generation seems to stall, you first have to find out the number of the current event. For that you would terminate the stalled Sherpa process (using Ctrl-c) and check in its final output for the number of generated events. Now you can request Sherpa to write out the random seed for the event before the stalled one:

  Sherpa [...] EVENTS=[#events - 1] SAVE_STATUS=Status/

(Replace [#events - 1] using the number you figured out earlier)

The created status directory can either be sent to the Sherpa developers, or be used in the same steps as above to reproduce that event and debug it.

8.4 Versioned installation

If you want to install different Sherpa versions into the same prefix (e.g. /usr/local), you have to enable versioning of the installed directories by using the configure option ‘--enable-versioning’. Optionally you can even pass an argument to this parameter of what you want the version tag to look like.

8.5 NLO calculations

8.5.1 Choosing DIPOLE_ALPHA

A variation of the parameter DIPOLE_ALPHA (see Dipole subtraction) changes the contribution from the real (subtracted) piece (RS) and the integrated subtraction terms (I), keeping their sum constant. Varying this parameter provides a nice check of the consistency of the subtraction procedure and it allows to optimize the integration performance of the real correction. This piece has the most complicated momentum phase space and is often the most time consuming part of the NLO calculation. The optimal choice depends on the specific setup and can be determined best by trial.

Hints to find a good value:

8.5.2 Integrating complicated Loop-ME

For complicated processes the evaluation of one-loop matrix elements can be very time consuming. The generation time of a fully optimized integration grid can become prohibitively long. Rather than using a poorly optimized grid in this case it is more advisable to use a grid optimized with the born matrix elements, since the distibution in the phase space is rather similar.

This can be done as follows:

  1. Run the born piece with a specified (and existing) RESULT_DIRECTORY and adding the parameter RESULT_OMIT_NLO_SUFFIX=1.
  2. Run the loop piece using the same RESULT_DIRECTORY and also with RESULT_OMIT_NLO_SUFFIX=1.
  3. Note: while running the total cross section of the born piece is displayed. This is not an error, the weighted event generation will produce the correct (one-loop) cross section.

Note: this will not work for the RS piece!

9. Customization

Customizing Sherpa according to your needs.

Sherpa can be easily extended with certain user defined tools. To this extent, a corresponding class must be written, equipped with a corresponding getter function and compiled into an external library which can be linked to Sherpa at runtime. Several specific examples are listed in the following sections.

9.1 External RNG

To use an external Random Number Generator (RNG) in Sherpa, you need to provide an interface to your RNG in an external dynamic library. This library is then loaded at runtime and Sherpa replaces the internal RNG with the one provided.

In this case Sherpa will not attempt to set, save, read or restore the RNG

The corresponding code for the RNG interface is

#include "ATOOLS/Math/Random.H"

using namespace ATOOLS;

class Example_RNG: public External_RNG {
  double Get() 
    // your code goes here ... 
};// end of class Example_RNG

// this makes Example_RNG loadable in Sherpa
External_RNG *Example_RNG_Getter::operator()(const RNG_Key &arg) const
{ return new Example_RNG(); }
// this eventually prints a help message
void Example_RNG_Getter::PrintInfo(std::ostream &str,const size_t width) const
{ str<<"example RNG interface"; }

If the code is compiled into a library called, then this library is loaded dynamically in Sherpa using the command ‘SHERPA_LDADD=ExampleRNG’ either on the command line or in ‘Run.dat’. If the library is bound at compile time, like e.g. in cmt, you may skip this step.

Finally Sherpa is instructed to retrieve the external RNG by specifying ‘EXTERNAL_RNG=Example_RNG’ on the command line or in ‘Run.dat’.

9.2 External PDF

To use an external PDF (not included in LHAPDF) in Sherpa, you need to provide an interface to your PDF in an external dynamic library. This library is then loaded at runtime and it is possible within Sherpa to access all PDFs included.

The simplest C++ code to implement your interface looks as follows

#include "PDF/Main/PDF_Base.H"

using namespace PDF;

class Example_PDF: public PDF_Base {
  void Calculate(double x,double Q2)
    // calculate values x f_a(x,Q2) for all a
  double GetXPDF(const ATOOLS::Flavour a)
    // return x f_a(x,Q2)
  virtual PDF_Base *GetCopy()
    return new Example_PDF();
};// end of class Example_PDF

// this makes Example_PDF loadable in Sherpa
PDF_Base *Example_PDF_Getter::operator()(const Parameter_Type &args) const
{ return new Example_PDF(); }
// this eventually prints a help message
void Example_PDF_Getter::PrintInfo
(std::ostream &str,const size_t width) const
{ str<<"example PDF"; }
// this lets Sherpa initialize and unload the library
Example_PDF_Getter *p_get=NULL;
extern "C" void InitPDFLib(const std::string &path)
{ p_get = new Example_PDF_Getter("ExamplePDF"); }
extern "C" void ExitPDFLib() { delete p_get; }

If the code is compiled into a library called, then this library is loaded dynamically in Sherpa using ‘PDF_LIBRARY=ExamplePDFSherpa’ either on the command line, in ‘Run.dat’ or in ‘ISR.dat’. If the library is bound at compile time, like e.g. in cmt, you may skip this step. It is now possible to list all accessible PDF sets by specifying ‘SHOW_PDF_SETS=1’ on the command line.

Finally Sherpa is instructed to retrieve the external PDF by specifying ‘PDF_SET=ExamplePDF’ on the command line, in ‘Run.dat’ or in ‘ISR.dat’.

9.3 Exotic physics

It is possible to add your own models to Sherpa in a straightforward way. To illustrate, a simple example has been included in the directory ./AddOns/ExampleModel, showing how to add a Z-prime boson to the Standard Model.

The important features of this example include:

To use this model, create the libraries for Sherpa to use by running


in this directory. Then run Sherpa as normal:


To implement your own model, copy these example files anywhere and modify them according to your needs.

Note: You don't have to modify or recompile any part of Sherpa to use your model. As long as the SHERPA_LDADD parameter is specified as above, Sherpa will pick up your model automatically.

Furthermore note: New physics models with an existing implementation in FeynRules, cf. [Chr08] and [Chr09] , can directly be invoked using Sherpa's interface to FeynRules, see FeynRules model.

9.4 External one-loop ME

Sherpa includes only a very limited selection of one-loop matrix elements. To make full use of the implemented automated dipole subtraction it is possible to link external one-loop codes to Sherpa in order to perform full calculations at QCD next-to-leading order.

In general Sherpa can take care of any piece of the calculation except one-loop matrix elements, i.e. the born ME, the real correction, the real and integrated subtraction terms as well as the phase space integration and PDF weights for hadron collisions. Sherpa will provide sets of four-momenta and request for a specific parton level process the helicity and colour summed one-loop matrix element (more specific: the coefficients of the Laurent series in the dimensional regularization parameter epsilon up to the order epsilon^0).

The directory ./AddOns/LH_OLE includes an example interface which follows the (still preliminary) propsal of the 2009 Les Houches workshop ( A sample setup for W+1jet production at LHC 14TeV is included.

The interface:

The setup:

10. Examples

Some example set-ups are included in Sherpa, in the <prefix>/share/SHERPA-MC/Examples/ directory. These may be useful to new users to practice with, or as templates for creating your own Sherpa run-cards. In this section, we will look at some of the main features of these examples.

10.1 LHC_ZJets

This example is for an LHC set-up, with a proton–proton collision at centre of mass energy 14TeV. The final state is an electron–positron pair and up to 4 partons from the matrix element.

  EVENTS = 10000

  BEAM_1 = 2212; BEAM_ENERGY_1 = 7000;
  BEAM_2 = 2212; BEAM_ENERGY_2 = 7000;

  Process 93 93 -> 11 -11 93{4}
  Order_EW 2;
  CKKW sqr(30/E_CMS)
  Integration_Error 0.02 {6};
  End process;

  Mass 11 -11 66 116

  ME_SIGNAL_GENERATOR = Internal Comix

  MI_HANDLER = None  # None or Amisic

Things to notice:

10.2 Tevatron_ZJets

This set-up is very similar to the one above, for LHC_ZJets, but with proton–anti-proton collisions at Tevatron energies.

  EVENTS = 10000

  BEAM_1 =  2212; BEAM_ENERGY_1 = 980;
  BEAM_2 = -2212; BEAM_ENERGY_2 = 980;

  Process 93 93 -> 11 -11 93{4}
  Order_EW 2;
  CKKW sqr(30/E_CMS)
  Integration_Error 0.02 {6};
  End process;

  Mass 11 -11 66 116

  ME_SIGNAL_GENERATOR = Internal Comix

  MI_HANDLER = None  # None or Amisic

Things to notice:

10.3 Tevatron_WJets

The Tevatron W+jets set-up is very similar to the Z+jets example. The only differences are in the final state leptons, and the invariant mass cuts on the lepton pairs.

  EVENTS = 10000

  BEAM_1 =  2212; BEAM_ENERGY_1 = 980;
  BEAM_2 = -2212; BEAM_ENERGY_2 = 980;

  Process 93 93 -> 11 -12 93{2}
  Order_EW 2
  CKKW sqr(30/E_CMS)
  End process;

  Process 93 93 -> -11 12 93{2}
  Order_EW 2
  CKKW sqr(30/E_CMS)
  End process;

  Mass -11 12 1.7 E_CMS
  Mass 11 -12 1.7 E_CMS

  ME_SIGNAL_GENERATOR = Internal Comix

  MI_HANDLER = None  # None or Amisic

Things to notice:

10.4 Tevatron_QCD

This example generates QCD events at the Tevatron, with 2, 3 or 4 final state partons in the matrix element. A run card with an example analysis set-up enabled is also included in this folder, and called Run.analyse.dat. This run card provides an example of using weighted events with Sherpa, and the use of the Enhance_Function and Enhance_Factor tags. To use this run card, as it is not named ‘Run.dat’, the parameter RUNDATA must be specified on the command line, see Input structure.

  EVENTS = 10000

  BEAM_1 =  2212; BEAM_ENERGY_1 = 980;
  BEAM_2 = -2212; BEAM_ENERGY_2 = 980;

  Process 93 93 -> 93 93 93{2};
  Order_EW 0; Max_N_Quarks 4;
  CKKW sqr(20/E_CMS);
  Integration_Error 0.02 {4};
  End process;

  NJetFinder  2  10.0  0.0  1.0


  MI_HANDLER = None  # None or Amisic

Things to notice:

10.5 LEP91

  EVENTS = 10000

  BEAM_1 =  11; BEAM_ENERGY_1 = 45.625;
  BEAM_2 = -11; BEAM_ENERGY_2 = 45.625;

  Process 11 -11 -> 93 93 93{1};
  CKKW pow(10,-2.25);
  Order_EW 2;
  End process;

  Process 11 -11 -> 5 -5 93{1};
  CKKW pow(10,-2.25);
  Order_EW 2;
  End process;

  ALPHAS(MZ) = 0.127
  MASSIVE[5] = 1

  ME_SIGNAL_GENERATOR = Internal Comix

This example shows a LEP set up, with electrons and positrons colliding at a centre of mass energy of 91.25GeV. Two processes have been specified, one final state with two or three light quarks and gluons being produced, and one with a b b-bar pair and possibly an extra light parton.

Things to notice:

10.6 LHC_TTH

This set-up illustrates the possibility of specifying a particular decay chain for the particles in the signal process.

  EVENTS = 10000

  BEAM_1 = 2212; BEAM_ENERGY_1 = 7000;
  BEAM_2 = 2212; BEAM_ENERGY_2 = 7000;

  Process 93 93 -> 6[a] -6[b] 25[h];
    DecayOS 6[a] -> 5 24[c];
      DecayOS 24[c] -> 90 91;
    DecayOS -6[b] -> -5 -24[d];
      DecayOS -24[d] -> 94 94;
    DecayOS 25[h] -> 5 -5;
  End process;


  MI_HANDLER = None  # None or Amisic

The process generated is the production of a Higgs boson in association with a top quark pair from two light partons in the initial state. The Higgs boson decays into a bottom-antibottom pair, while each top quark decays into (anti-)bottom quark and W-boson. The W+ boson in turn decays leptonically, and the W- boson decays to quarks.

Things to notice:

10.7 Tevatron_TopPair

This set-up is very similar to the LHC_TTH example above. There are three notable differences. Firstly, the colliding beams are changed to proton anti-proton at Tevatron energies. Secondly, there is no Higgs boson produced in the core process, but there are two allowed decay channels of the top quark pair. Third, Matrix-Element Parton-Shower merging is enabled using the CKKW tag.

  EVENTS = 10000

  BEAM_1 2212; BEAM_ENERGY_1 980;
  BEAM_2 -2212; BEAM_ENERGY_2 980;

  Process 93 93 -> 6[a] -6[b] 93{1};
    DecayOS 6[a] -> 5 24[c];
      DecayOS 24[c] -> 90 91;
    DecayOS -6[b] -> -5 -24[d];
      DecayOS -24[d] -> 94 94;
  CKKW sqr(20/E_CMS);
  End process;

  Process 93 93 -> 6[a] -6[b] 93{1};
    DecayOS 6[a] -> 5 24[c];
      DecayOS 24[c] -> 94 94;
    DecayOS -6[b] -> -5 -24[d];
      DecayOS -24[d] -> 90 91;
  CKKW sqr(20/E_CMS);
  End process;


  MI_HANDLER = None  # None or Amisic

The process generated is the production of a top pair from two light quarks, with possibly an extra final-state parton. Each top then decays into (anti-)bottom quark and W+(-) boson. One of the W-bosons then decays leptonically, and the other decays to quarks. This time we include processes with either of the two W-bosons decaying leptonically, not just the W-, as in the LHC_TTH example above.

Things to notice:

10.8 Tevatron_UE

In this example, the underlying event has been switched on. The parameters controlling the simulation of multiple interactions can be set in the (mi) section of the run card. For a full list of the available settings, see MPI Parameters.

  EVENTS = 10000

  BEAM_1 = 2212; BEAM_ENERGY_1 = 900;
  BEAM_2 = -2212; BEAM_ENERGY_2 = 900;

  Process 93 93 -> 93 93
  Order_EW 0
  End process

  NJetFinder  2  2.45  0.0  1.0


  MI_HANDLER = Amisic
  SCALE_MIN = 2.45;

Things to notice:

10.9 Tevatron_DiBoson

  EVENTS = 10000

  BEAM_1 =  2212; BEAM_ENERGY_1 = 980;
  BEAM_2 = -2212; BEAM_ENERGY_2 = 980;

  Process : 93 93 ->  12 -11 13 -14 93{2}
  Order_EW : 4
  CKKW sqr(30/E_CMS)
  End process

  Mass -11 12 10 E_CMS
  Mass 13 -14 10 E_CMS

  ACTIVE[6] = 0
  ACTIVE[25] = 0


  MI_HANDLER = None  # None or Amisic

This is a Tevatron set-up with two W bosons produced, and both decaying leptonically. Up to two jets are also included in the matrix element.

Things to notice:

10.10 EGamma

  EVENTS = 10000

  BEAM_1          = 11;
  BEAM_ENERGY_1   = 250.
  BEAM_SPECTRUM_1 = Laser_Backscattering

  BEAM_2          = 11
  BEAM_ENERGY_2   = 250.
  BEAM_SPECTRUM_2 = Monochromatic

  BEAM_SMIN       = 0.3
  BEAM_SMAX       = 1.0

  E_LASER_1          = 1.17e-9      ! Laser energy in GeV
  P_LASER_1          = 0.           ! Laser polarization +-1
  LASER_MODE         = 0            ! 0 = all, 1,2,3 = individual components
  LASER_ANGLES       = Off          ! On/Off
  LASER_NONLINEARITY = On           ! On/Off

  Process : 22 11 -> 11 1 -1
  End process

  NJetFinder  2  0.  1. .4
  ET         11       1.   10000.
  ET          1       1.   10000.
  ET         -1       1.   10000.
  BeamAngle   1  0   -0.9      0.9
  BeamAngle  -1  0   -0.9      0.9
  BeamAngle  11  0   -0.9      0.9

  BUNCH_1         = 22
  ISR_1           = Off

  BUNCH_2         = 11
  ISR_2           = On

  ISR_SMIN        = 0.01
  ISR_SMAX        = 1.0

  ISR_E_ORDER     = 1   ! Perturbative order of electron structure function
  ISR_E_SCHEME    = 2   ! Beta-scheme : 0,1,2 , default = 2 

Things to notice:

10.11 PEPII_BaBar

  EVENTS = 10000;

  BEAM_1 = 11
  BEAM_ENERGY_1 = 9.0
  BEAM_2 = -11
  BEAM_ENERGY_2 = 3.109

  % electron positron -> Y(4S) -> B+ B-
  Process 11 -11 -> 300553[a];
  Decay 300553[a] -> 521 -521;
  End process;
  % electron positron -> Y(4S) -> B0 B0bar
  Process 11 -11 -> 300553[a];
  Decay 300553[a] -> 511 -511;
  End process;

  BUNCH_1         = 11
  ISR_1           = On

  BUNCH_2         = -11
  ISR_2           = On


  ISR_SMIN        = 0.01
  ISR_SMAX        = 1.0

  ISR_E_ORDER     = 1   ! Perturbative order of electron structure function
  ISR_E_SCHEME    = 2   ! Beta-scheme : 0,1,2 , default = 2

    LEVEL  Hadrons

      Multi -0.5 50.5 51 LinErr FinalState

      MultiEmin  22 0.01 -0.5 20.5 21 LinErr FinalState
      MultiEmin 211 0.   -0.5 10.5 11 LinErr FinalState
      MultiEmin 321 0.   -0.5 10.5 11 LinErr FinalState


This example shows a set up for the BaBar experiment at the PEPII collider, with electrons and positrons colliding at a centre of mass energy of 10.58 GeV. It also serves as an example for a setup with asymmetric beams. Two processes have been specified, the production of a B+ B- pair and the production of B0 B0bar pair. Hence, both processes will be mixed according to their respective cross sections into an inclusive sample.

Things to notice:

10.12 LHC_4thGen

This example shows a beyond the Standard Model set-up. In this example, a 4th generation of particles is included, as well as the Standard Model particles. This is one of Sherpa's built-in BSM options, see Models available in Sherpa. For more information on using your own BSM models with Sherpa, see Exotic physics.

  EVENTS = 2000;

  BEAM_1          = 2212
  BEAM_ENERGY_1   = 7000.

  BEAM_2          = 2212
  BEAM_ENERGY_2   = 7000.

  % jet jet -> tau'[-> nutau e- nueb] nutaub'[-> tau+ mu- numub]
  Process 93 93 -> 17[a] -18[b]
    Decay   17[a] ->  16 11 -12
    Decay  -18[b] -> -15 13 -14
  Print_Graphs : Process;
  End process


  MODEL         = SM+4thGen

  ## full description of all parameters with

  ## masses and widths of 4th gen leptons
  MASS[17] = 200;  WIDTH[17] = 3.0;
  MASS[18] = 150;  WIDTH[18] = 2.0;

  ## mixing angle to other generations
  THETA_L14 = 0.; PHI_L2 = 0.;
  THETA_L24 = 0.; PHI_L3 = 0.;
  THETA_L34 = 0.1;


  SCALES = VAR{Abs2(p[0]+p[1])}


    LEVEL  MEs Showers

    PT3    16  11 -12    0. 300.  75  LinErr FinalState
    PT3   -15  13 -14    0. 300.  75  LinErr FinalState
    3Mass  16  11 -12  150. 250.  50  LinErr FinalState
    3Mass -15  13 -14  100. 200.  50  LinErr FinalState

    PT6    11 -12 13 -14 -15 16  0. 2000. 100 LinErr FinalState
    6Mass  11 -12 13 -14 -15 16  0. 2000. 100 LinErr FinalState


Things to notice:

10.12.1 Running Sherpa with AMEGIC++

When Sherpa is run using the matrix element generator AMEGIC++, it is necessary to run it twice. During the first run (the initialization run) Feynman diagrams for the hard processes are constructed and translated into helicity amplitudes. Furthermore suitable phase-space mappings are produced. The amplitudes and corresponding integration channels are written to disk as C++ sourcecode, placed in a subdirectory of LHC_4thGen, which is called Process. The initialization run is started using the standard Sherpa executable, as decribed in Running Sherpa. The relevant command is


The initialization run apparently stops with an error message, which is nothing but the request to carry out the compilation and linking procedure for the generated matrix-element libraries. The makelibs script, provided for this purpose and created in the working directory, must be invoked by the user:


Afterwards Sherpa can be restarted using the same command as before. In this run (the generation run) the cross sections of the hard processes are evaluated. Simultaneously the integration over phase space is optimized to arrive at an efficient event generation.

10.13 LHC_AGC

Another built-in BSM model in Sherpa allows the inclusion of anomalous gauge couplings. An example with an anomalous Z-gamma-gamma coupling is given here.

  EVENTS = 10000

  BEAM_1          = 2212
  BEAM_ENERGY_1   = 7000.

  BEAM_2          = 2212
  BEAM_ENERGY_2   = 7000.

  Process : 93 93 -> 11 -11 22
  Print_Graphs : Process
  Integration_Error : 0.02
  End process

  Mass 11 -11 66.0 116.0
  PT  22  100.0  7000.0

  MODEL         = SM+AGC

  ## Z gamma gamma coupling
  H1_GAMMA = 1.e-4
  H2_GAMMA = 1.e-4
  H3_GAMMA = 1.e-4
  H4_GAMMA = 1.e-4



Things to notice:

10.14 LHC_ADD

This example shows a set-up for the ADD model. This is one of Sherpa's built-in BSM options. For more information on using your own BSM models with Sherpa, see Exotic physics.

  EVENTS = 2000;

  BEAM_1          = 2212
  BEAM_ENERGY_1   = 7000.

  BEAM_2          = 2212
  BEAM_ENERGY_2   = 7000.

  % jet jet -> jet graviton
  Process 93 93 -> 93 39;
  Print_Graphs : Process;
  End process;

  PT 93 150 14000


  N_ED  = 2
  M_S   = 2000
  M_CUT = 2000

  MASS[39] = 100.
  MASS[40] = 100.



    LEVEL  MEs Showers

    PT    39  0. 2000. 100 LinErr FinalState


Things to notice:

10.15 LHC_SUSY

This example shows a beyond the Standard Model set-up, namely a setup for the Minimal Supersymmetric Standard Model (MSSM). This is one of Sherpa's built-in BSM options, see Models available in Sherpa. For more information on using your own BSM models with Sherpa, see Exotic physics.

  EVENTS = 10000;

  BEAM_1 = 2212; BEAM_ENERGY_1 = 7000;
  BEAM_2 = 2212; BEAM_ENERGY_2 = 7000;

  % jet jet -> snu_2[-> chi0_1 numu] smuon_L[-> chi0_1 mu+] + 0-1 jets
  Process 93 93 -> 1000014[a] -1000013[b] 93{1};
    DecayOS 1000014[a] -> 1000022 14;
    DecayOS -1000013[b] -> 1000022 -13;
  Order_EW 2;
  CKKW sqr(30/E_CMS);
  Print_Graphs : Process;
  End process;

  # SUSY spectrum input file
  SLHA_INPUT = LesHouches_SPS1A.dat;


Things to notice:

10.16 NLO_W

This example computes the next-to-leading W-production cross section at Tevatron Run II energies.

  ANALYSIS Internal;
  Process 93 93 -> 11 -12;
  Loop_Generator Internal;
  Order_EW 2;
  End process;
  Process 93 93 -> 11 -12;
  NLO_QCD_Part RS;
  Order_EW 2;
  Enhance_Factor 10;
  End process;
  NLO_Mode 1;
  SCALES NLO{sqr(80.419)};
  BEAM_1  2212; BEAM_ENERGY_1 980;
  BEAM_2  -2212; BEAM_ENERGY_2 980;
  K_PERP_MEAN_1 0.; K_PERP_SIGMA_1 0.;
  K_PERP_MEAN_2 0.; K_PERP_SIGMA_2 0.;
  PDF_SET = cteq6m
        PT        11  0. 500. 100   LinErr FinalState
        PT        -12  0. 500. 100  LinErr FinalState
        Y2        11 -12 -5. 5. 50  LinErr FinalState

Things to notice:

11. Getting help

If Sherpa exits abnormally, first check the Sherpa output for hints on the reason of program abort, and try to figure out what has gone wrong with the help of the Manual. Note that Sherpa throwing a ‘normal_exit’ exception does not imply any abnormal program termination! When using AMEGIC++ Sherpa will exit with the message:

   New libraries created. Please compile.

In this case, follow the instructions given in Running Sherpa with AMEGIC++.

If this does not help, contact the Sherpa team (see the Sherpa Team section of the website, providing all information on your setup. Please include

  1. A complete tarred and gzipped set of the ‘.dat’ files leading to the crash. Use the status recovery directory Status__<date of crash> produced before the program abort.
  2. The command line (including possible parameters) you used to start Sherpa.
  3. The installation log file, if available.

12. Authors

Sherpa was written by the Sherpa Team, see

13. Copying

Sherpa is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. You should have received a copy of the GNU General Public License along with the source for Sherpa; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

Sherpa is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Sherpa was created during the Marie Curie RTN's HEPTOOLS and MCnet. The MCnet Guidelines apply, see the file GUIDELINES and

A. References

B. Index

Jump to:   1  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   U   V   W   Y  
Index Entry Section

1/ALPHAQED(0)6.4.1 Standard Model
1/ALPHAQED(default)6.4.1 Standard Model

A6.4.1 Standard Model
A_146.4.7 Fourth Generation
A_246.4.7 Fourth Generation
A_346.4.7 Fourth Generation
ACTIVE[<id>]6.4 Model Parameters
ALPHA6.4.5 Two Higgs Doublet Model
ALPHA_4_G_46.4.4 Anomalous Gauge Couplings
ALPHA_56.4.4 Anomalous Gauge Couplings
ALPHAS(default)6.4.1 Standard Model
ALPHAS(MZ)6.4.1 Standard Model
ANALYSIS_OUTPUT8.2 Rivet analyses

BEAM_16.2 Beam Parameters
BEAM_26.2 Beam Parameters
BEAM_ENERGY_16.2 Beam Parameters
BEAM_ENERGY_26.2 Beam Parameters
BEAM_SMAX6.2.1 Beam Spectra
BEAM_SMIN6.2.1 Beam Spectra
BEAM_SPECTRUM_16.2.1 Beam Spectra
BEAM_SPECTRUM_26.2.1 Beam Spectra
BUNCH_16.3 ISR Parameters
BUNCH_26.3 ISR Parameters

CABIBBO6.4.1 Standard Model
CKMORDER6.4.1 Standard Model

DECAYMODEL6.11.1 Hadronization parameters

ETA6.4.1 Standard Model
EVENT_MODE6.1.12 Event output formats
EVT_FILE_PATH6.1.12 Event output formats
EW_SCHEME6.4.1 Standard Model

F4_GAMMA6.4.4 Anomalous Gauge Couplings
F4_Z6.4.4 Anomalous Gauge Couplings
F5_GAMMA6.4.4 Anomalous Gauge Couplings
F5_Z6.4.4 Anomalous Gauge Couplings
FeynRules6.4.8 FeynRules model
FILE_SIZE6.1.12 Event output formats
FINITE_TOP_MASS6.4.6 Effective Higgs Couplings
FR_IDENTFILE6.4.8 FeynRules model
FR_INTERACTIONS6.4.8 FeynRules model
FR_PARAMCARD6.4.8 FeynRules model
FR_PARAMDEF6.4.8 FeynRules model
FR_PARTICLES6.4.8 FeynRules model
FRAGMENTATION6.11.1 Hadronization parameters

G1_GAMMA6.4.4 Anomalous Gauge Couplings
G1_Z6.4.4 Anomalous Gauge Couplings
G4_GAMMA6.4.4 Anomalous Gauge Couplings
G4_Z6.4.4 Anomalous Gauge Couplings
G5_GAMMA6.4.4 Anomalous Gauge Couplings
G5_Z6.4.4 Anomalous Gauge Couplings
G_NEWTON6.4.3 ADD Model of Large Extra Dimensions

H1_GAMMA6.4.4 Anomalous Gauge Couplings
H1_Z6.4.4 Anomalous Gauge Couplings
H2_GAMMA6.4.4 Anomalous Gauge Couplings
H2_Z6.4.4 Anomalous Gauge Couplings
H3_GAMMA6.4.4 Anomalous Gauge Couplings
H3_Z6.4.4 Anomalous Gauge Couplings
H4_GAMMA6.4.4 Anomalous Gauge Couplings
H4_Z6.4.4 Anomalous Gauge Couplings
HEPEVT_OUTPUT6.1.12 Event output formats
HEPMC2_GENEVENT_OUTPUT6.1.12 Event output formats
HIGGS_PP_EFF6.4.6 Effective Higgs Couplings

ISR_16.3 ISR Parameters
ISR_26.3 ISR Parameters
ISR_E_ORDER6.3 ISR Parameters
ISR_E_SCHEME6.3 ISR Parameters
ISR_SMAX6.3 ISR Parameters
ISR_SMIN6.3 ISR Parameters

K_PERP_MEAN_16.2.2 Intrinsic Transverse Momentum
K_PERP_MEAN_26.2.2 Intrinsic Transverse Momentum
K_PERP_SIGMA_16.2.2 Intrinsic Transverse Momentum
K_PERP_SIGMA_26.2.2 Intrinsic Transverse Momentum
KAPPA_GAMMA6.4.4 Anomalous Gauge Couplings
KAPPA_Z6.4.4 Anomalous Gauge Couplings
KAPPAT_GAMMA6.4.4 Anomalous Gauge Couplings
KAPPAT_Z6.4.4 Anomalous Gauge Couplings
KK_CONVENTION6.4.3 ADD Model of Large Extra Dimensions

LAMBDA6.4.1 Standard Model
LAMBDA_GAMMA6.4.4 Anomalous Gauge Couplings
LAMBDA_Z6.4.4 Anomalous Gauge Couplings
LAMBDAT_GAMMA6.4.4 Anomalous Gauge Couplings
LAMBDAT_Z6.4.4 Anomalous Gauge Couplings
LUND_FILE6.11.1.1 Using the Pythia routines

M_CUT6.4.3 ADD Model of Large Extra Dimensions
M_S6.4.3 ADD Model of Large Extra Dimensions
MASS[<id>]6.4 Model Parameters
MASS[<id>]6.11.1 Hadronization parameters
MASSIVE[<id>]6.4 Model Parameters
ME_QED6.12.2.1 ME_QED
MODEL6.4 Model Parameters

N_ED6.4.3 ADD Model of Large Extra Dimensions

ORDER_ALPHAS6.4.1 Standard Model
OUTPUT_MIXING6.4.7 Fourth Generation
OUTPUT_PRECISION6.1.12 Event output formats

PATH5. Input structure
PDF_GRID_PATH6.3 ISR Parameters
PDF_LIBRARY6.3 ISR Parameters
PDF_SET6.3 ISR Parameters
PHI_26.4.7 Fourth Generation
PHI_36.4.7 Fourth Generation
PHI_L26.4.7 Fourth Generation
PHI_L36.4.7 Fourth Generation

RHO6.4.1 Standard Model
RUNDATA5. Input structure

SHERPA_OUTPUT6.1.12 Event output formats
SHOW_MODEL_SYNTAX6.4 Model Parameters
SHOW_PDF_SETS6.3 ISR Parameters
SHOW_VARIABLE_SYNTAX6.7.4 Universal selector
SIN2THETAW6.4.1 Standard Model
SLHA_INPUT6.4.2 Minimal Supersymmetric Standard Model
SPECTRUM_FILE_16.2.1 Beam Spectra
SPECTRUM_FILE_26.2.1 Beam Spectra
STABLE[<id>]6.4 Model Parameters
STABLE[<id>]6.11.1 Hadronization parameters

TAN(BETA)6.4.5 Two Higgs Doublet Model
THETA_L146.4.7 Fourth Generation
THETA_L246.4.7 Fourth Generation
THETA_L346.4.7 Fourth Generation

UNITARIZATION_N6.4.4 Anomalous Gauge Couplings
UNITARIZATION_SCALE6.4.4 Anomalous Gauge Couplings

VEV6.4.1 Standard Model

WIDTH[<id>]6.4 Model Parameters
WIDTH[<id>]6.11.1 Hadronization parameters


Jump to:   1  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   U   V   W   Y  

Table of Contents

This document was generated by Frank Siegert on October, 2 2009 using texi2html 1.78.