|
|
http://cern.ch/LHCb-release-area/DOC/gauss/generator
The first phase of the Gauss simulation software consists in generating pp collisions and the decay of unstable particles. The generator events are then given to the simulation phase where they are tracked inside the detector volumes. Interfacing a new external generator to Gauss usually means to write a new Production tool.
The generator sequence uses one main algorithm Generation calling several tools to perform specific actions needed during the generation of events. Generally, the logic of the generation sequence is the following:
The locations where the various tools are executed are:
The main algorithm and the abstract interfaces of these tools are located in the package Gen/Generators.
At the end of the Gauss job, various counters are printed to compute cross-sections, efficiencies and to monitor the generation behaviour. They are described in more details here.
The main algorithm is called Generation. It has the following options which can be set to obtain different configurations:
Option Name |
Default Value |
Description |
SampleGenerationTool |
"MinimumBias" |
Name of the Sample Generation Tool to be used in the generation. Defines the kind of sample which will be produced. |
EventType |
30000000 |
Event type of the sample which will be generated. Event type conventions are described in the note. |
HepMCEventLocation |
"/Event/Gen/HepMCEvents" |
Location where to store generated events in HepMC format. |
GenHeaderLocation |
|
Location where to store GenHeaders. |
GenCollisionLocation |
|
Location where to store information on collisions. |
PileUpTool |
"FixedLuminosity" |
Name of the Pile Up tool used to determine the number of pile-up interactions in each event. |
DecayTool |
"EvtGenDecay" |
Name of the Decay tool used to decay all hadrons. If empty, all hadrons will be left undecayed. |
VertexSmearingTool |
"BeamSpotSmearVertex" |
Name of the Smearing tool used to smear the collision vertex. If left empty, no smearing is applied. |
FullGenEventCutTool |
"" |
Name of the Full Event Cut tool to use to apply generator level cuts and reject events base on all the properties (including pile-up interactions). If left empty, no cut will be applied at this level. |
Option Name
Default Value
Description
Luminosity
2.e32/cm2/s
Value of the instantaneous luminosity.
CrossingRate
30*megahertz
Visible beam crossing rate.
TotalXSection
102.4*millibarn
Total cross section.
Option Name
Default Value
Description
Luminosity
2.e32/cm2/s
Value of the instantaneous luminosity.
CrossingRate
30*megahertz
Visible beam crossing rate.
TotalXSection
102.4*millibarn
Total cross section.
FillDuration
7*3600*s
Duration of the fill.
BeamDecayTime
10*3600*s
Beam decay time.
Option Name
Default Value
Description
NInteractions
1
Number of interactions per event
Write a tool inheriting from the base class IPileUpTool and which overloads the 2 mandatory virtual functions:
Option Name
Default Value
Description
ProductionTool
PythiaProduction
Name of the Production tool to use to generate interactions.
DecayTool
EvtGenDecay
Name of the Decay tool to use.
LhaPdfCommands
"lhacontrol lhaparm 17 LHAPDF", "lhacontrol lhaparm 16 NOSTAT"
Commands to setup LHAPDF library.
Option Name
Default Value
Description
ProductionTool
PythiaProduction
Name of the Production Tool to use to generate interactions.
DecayTool
EvtGenDecay
Name of the Decay tool to use to decay excited states.
CutTool
LHCbAcceptance
Name of the Cut tool to apply on the main interaction.
LhaPdfCommands
"lhacontrol lhaparm 17 LHAPDF", "lhacontrol lhaparm 16 NOSTAT"
Commands to setup LHAPDF library.
InclusivePIDList
List of PDG IDs of particles to produce inclusively.
Option Name
Default Value
Description
ProductionTool
PythiaProduction
Name of the Production Tool to use to generate interactions.
DecayTool
EvtGenDecay
Name of the Decay tool to use to decay excited states.
CutTool
LHCbAcceptance
Name of the Cut tool to apply on the main interaction.
LhaPdfCommands
"lhacontrol lhaparm 17 LHAPDF", "lhacontrol lhaparm 16 NOSTAT"
Commands to setup LHAPDF library.
SignalPIDList
List of PDG IDs of particles to produce inclusively.
Clean
false
Generates clean events putting the clean event in .
Option Name
Default Value
Description
ProductionTool
PythiaProduction
Name of the Production Tool to use to generate interactions.
DecayTool
EvtGenDecay
Name of the Decay tool to use to decay excited states.
CutTool
LHCbAcceptance
Name of the Cut tool to apply on the main interaction.
LhaPdfCommands
"lhacontrol lhaparm 17 LHAPDF", "lhacontrol lhaparm 16 NOSTAT"
Commands to setup LHAPDF library.
SignalPIDList
List of PDG IDs of particles to produce inclusively.
Clean
false
Generates clean events putting the clean event in .
Option Name
Default Value
Description
ProductionTool
PythiaProduction
Name of the Production Tool to use to generate interactions.
DecayTool
EvtGenDecay
Name of the Decay tool to use to decay excited states.
CutTool
LHCbAcceptance
Name of the Cut tool to apply on the main interaction.
LhaPdfCommands
"lhacontrol lhaparm 17 LHAPDF", "lhacontrol lhaparm 16 NOSTAT"
Commands to setup LHAPDF library.
SignalPIDList
List of PDG IDs of particles to produce inclusively.
Clean
False
Generates clean events putting the clean event in .
MaxNumberOfRepetitions
500
Maximum number of times the hadronization can be repeated before cancelling the event.
Option Name
Default Value
Description
ProductionTool
PythiaProduction
Name of the Production Tool to use to generate interactions.
DecayTool
EvtGenDecay
Name of the Decay tool to use to decay excited states.
CutTool
LHCbAcceptance
Name of the Cut tool to apply on the main interaction.
LhaPdfCommands
"lhacontrol lhaparm 17 LHAPDF", "lhacontrol lhaparm 16 NOSTAT"
Commands to setup LHAPDF library.
The provided sample generation tools should already cover all needs.
Option Name Default Value Description Commands Settings for standard minimum bias List of commands to setup PYTHIA. BeamToolName "CollidingBeams" Name of the Beam tool used to generate beam parameters.
To interface a new external generator (for example MyGen) to Gauss, a new production tool must be written together with additional pieces of code to setup the external generator or to modify its behaviour. All these parts should be placed in a new cmt package called Gen/LbMyGen, depending on the base package Gen/Generators. In particular, it is important to use inside the external generator the same random number generator than the one used in Gauss (and based on the Gaudi Random Generator Service), in order to ensure a reproducible behaviour of the generator sequence. Examples can be found in the packages Gen/LbPythia and Gen/LbHerwig.
Then write a tool inheriting from the interface IProductionTool and implementing the following functions:
Last update: 13 December 2006
Please send questions or comments to Patrick Robbe