Generation

Configuration related to the generation phase.

Main Generation Configuration

class Gaussino.Generation.GaussinoGeneration(*args, **kwargs)[source]

Bases: GaussinoConfigurable

Configurable for the Generation phase in Gaussino.

Main

Variables

WriteHepMC (bool, optional) – default: False

Generation modules

Variables
  • SampleGenerationTool (str, optional) – default: 'SignalPlain'

  • SampleGenerationToolOpts (dict, optional) – default: {}

  • PileUpTool (str, optional) – default: 'FixedLuminosityWithSvc'

  • ProductionTool (str, optional) – default: 'Pythia8ProductionMT', for Pythia8 there are 2 possibilities: 'Pythia8Production' (shared) and 'Pythia8ProductionMT' (thread-local) interface

  • ProductionToolOpts (dict, optional) – default: {}

  • DecayTool (str, optional) – default: ''

  • CutTool (str, optional) – default: ''

  • CutToolOpts (dict, optional) – default: {}

  • FullGenEventTool (str, optional) – default: ''

  • FullGenEventToolOpts (dict, optional) – default: {}

Monitoring

Variables

GenMonitor (bool, optional) – default: False

Particle gun options

Variables

ParticleGun (bool, optional) – default: False

Beam options

Todo

Custom B1Particle and B2Particle are not available yet!

Variables
  • BeamMomentum (float, optional) – default: 3.5 * units.TeV

  • BeamHCrossingAngle (float, optional) – default: 0.0 * units.mrad

  • BeamVCrossingAngle (float, optional) – default: 0.0 * units.mrad

  • BeamEmittance (float, optional) – default: 0.0037 * units.mm

  • BeamBetaStar (float, optional) – default: 3.1 * units.m

  • BeamLineAngles (list, optional) – default: [0.0 * units.mrad, 0.0 * units.mrad]

  • InteractionPosition (list, optional) – default: [0.0 * units.mm, 0.0 * units.mm, 0.0 * units.mm]

  • BunchRMS (float, optional) – default: 82.03 * units.mm

  • Luminosity (float, optional) – default: 2.47e29 / (units.cm2 * units.s)

  • TotalCrossSection (float, optional) – default: 91.1 * units.millibarn

  • RevolutionFrequency (float, optional) – default: 11.245 * units.kilohertz

__apply_configuration__()[source]

Main configuration method for the generation phase. It applies the properties of the generation phase right after the main Gaussino configurable, but before the detector transport and geometry configurables: GaussinoSimulation and GaussinoGeometry.

_configure_gen_monitor() list[source]

Creates the monitoring algorithm for the generation step: GenMonitorAlg.

Returns

list of algorithms

Return type

list

_configure_generation() list[source]

Configuration method for the generation other than a particle gun. The idea is to set all the modules required for the main generation algorithm.

  • sample generation tool

  • decay tool,

  • cut tool,

  • production tool,

  • pile-up tool,

  • vertex smearing tool,

The main generation algorithm could be either Generation or ReDecayGeneration.

Returns

list of algorithms

Return type

list

_configure_genonly() list[source]

Configures a dedicated algorithm in case we skip the simulation part

  • ReDecaySkipSimAlg when used in ReDecay mode,

  • SkipSimAlg otherwise.

Returns

list of algorithms

Return type

list

_configure_hepmc_writer() list[source]

Creates an algorithm responsible for wrtiting the generator data in HepMC format to a file:

  • WriterRootTree to a root file,

  • WriterAsciiTree to a txt file,

  • WriterHEPEVT to an evt file.

Raises

ValueError – if unknown writer provided

Returns

list of algorithms

Return type

list

_configure_pgun() list[source]

Sets up the ParticleGun algorithm.

Todo

Set up & test passing of the options to particle gun tools in a similar way that is done for the main generation algorithm.

Raises

AttributeError – if ParticleGun chosen to be the main generation algorithm, but no options were passed to the configurable ParticleGun

Returns

list of algorithms

Return type

list

_set_beam_parameters()[source]

Sets up all the beam parametres of BeamInfoSvc service.

_set_cut_tool(sgt)[source]

Sets up the cut tool.

Parameters

sgt (ConfigurableMeta) – Sample generation tool configured earlier.

_set_decay_tool(gen_alg, sgt)[source]

Sets up the decay tool.

Parameters
  • gen_alg (ConfigurableMeta) – Generation or ReDecayGeneration algorithm

  • sgt (ConfigurableMeta) – Sample generation tool configured earlier

_set_full_gen_evt_cut_tool(gen_alg)[source]

Sets up the FullGenEventCutTool.

Parameters

gen_alg (ConfigurableMeta) – Generation or ReDecayGeneration algorithm

_set_pileup_tool(gen_alg)[source]

Sets up the pile-up tool.

Todo

Pass on the pile-up tool options via PileUpToolOpts.

Parameters

gen_alg (ConfigurableMeta) – Generation or ReDecayGeneration algorithm

_set_production_tool(sgt)[source]

Sets up the production tool.

Todo

So far, only Pythia8Production and Pythia8ProductionMT are supported.

Parameters

sgt (ConfigurableMeta) – Sample generation tool configured earlier.

Raises

ValueError – if unsupported ProductionTool provided.

_set_redecay_signal_generation()[source]

Sets up the ReDecay equivalent of the signal generation tool.

Todo

Needs testing and revising!

Raises

ValueError – if SignalPIDList not in the options

Returns

ReDecaySignalGeneration

Return type

ConfigurableMeta

_set_sample_generation_tool(gen_alg) ConfigurableMeta[source]

Sets up the sample generation tool, i.e. MinimumBias, Inclusive, etc.

Parameters

gen_alg (ConfigurableMeta) – Generation or ReDecayGeneration algorithm

Returns

SampleGenerationTool

Return type

ConfigurableMeta

_set_vertex_smearing_tool(gen_alg)[source]

Sets up the vertex smearing tool.

Todo

Investigate if any options need to be passed via GaussinoGeneration.

Parameters

gen_alg (ConfigurableMeta) – Generation or ReDecayGeneration algorithm

static eventType() str[source]

Checks is the event type was set, otherwise returns an empty string

Todo

Rethink this.

Returns

event type

Return type

str

only_generation_phase = False

options set internally by Gaussino()

output_name = False

options set internally by Gaussino()

redecay = False

options set internally by Gaussino()