Detector geometry

Each module consists of several (mostly quite a lot) of volumes. Each volume has a certain medium assigned which defines the volumes physical properties (steel, air, vacuum, concrete a custom mixture and so forth).

Inspecting the geometry

A simulation run dumps the used geometry at <prefix>_geometry.root. This file can be browsed using ROOT, volumes can be drawn etc. For instance, to draw the geometry as-is, do

auto geoMgr = TGeoManager::Import("<prefix>_geometry.root");
geoMgr->GetTopVolume()->Draw();

This can of course also be done in an interactive ROOT session.

Material densities

Material densities can be changed at runtime from the outside. There is a global setting as well as a setting per module. The local settings take precedence over the global setting. The default for all parameters is 1.

To scale the overall density of the geometry by a factor 2, for instance, run the simulation with

o2-sim <args> --configKeyValues "SimMaterialParams.globalDensityFactor=2"

To scale densities per module, on can do so for instance for the TPC and ITS by running the simulation like

o2-sim <args> --configKeyValues "SimMaterialParams.localDensityFactor=ITS:1.5,TPC:1.2"

Medium properties

As mentioned, a medium defines the physical properties of a volume. Some of them can be changed at runtime as shown in the following.

Energy thresholds

When a particle traverses the detector, a certain interaction with the material (also called physics process) can lead to the production of secondary particles. In reality, all of those particles would be produced, however, in simulation one has the possibility to suppress the production of particles below a certain energy threshold. The following cut parameters are available:

  • CUTGAM: gammas,
  • CUTELE: electrons,
  • CUTNEU: neutral hadrons,
  • CUTHAD: charged hadrons,
  • CUTMUO: muons,
  • BCUTE: electron bremsstrahlung,
  • BCUTM: muon and hadron bremsstrahlung,
  • DCUTE: delta-rays by electrons,
  • DCUTM: delta-rays by muons,
  • PPCUTM: direct pair production by muons.

They are set globally here.

It is possible to set specific parameters for each medium. For most modules, there exists a text file which is parsed at runtime. As an example, the files for the passive modules are here.

It is also possible to change parameters on the fly. To do so, first extract a JSON file with all current parameters.

o2-sim-serial -n0 --configKeyValues "MaterialManagerParam.outputFile=o2_medium_params.json"

This will leave you with the o2_medium_params.json. It contains all media per module and the parameters in there can be set by the user. A new parameter configuration is injected with

o2-sim --configKeyValues "MaterialManagerParam.inputFile=o2_medium_params_modified.json" [<further_arguments>]

Special controls

Some physics processes can be switched on or off. The global default settings are here.

In the same way as the energy thresholds, they can also be tweaked at runtime by manipulating a o2_medium_params.json and re-inject it.

IMPORTANT NOTE: At the moment, any local changes on the special controls per medium take no effect when using Geant4. Only the global settings will affect the behaviour of the transport code

Magnetic field

…under construction…