You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/DetectorSimulation.md
+45-19Lines changed: 45 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,31 +13,55 @@ Detector simulation, the simulation of detector response from virtual particle e
13
13
b) the conversion of those traces into (electronic) signals in the detector readout (usually called digitization).
14
14
15
15
The first part is handled by the `o2-sim` executable. The second part is handled in the `o2-sim-digitizer-workflow`.
16
-
17
-
# Documentation of `o2-sim`
18
16
19
-
The purpose of the `o2-sim` executable is to simulate the passage of particles emerging from a collision inside the detector and to obtain their effect in terms of energy deposits (called hits) which could be converted into detectable signals.
17
+
## Key new features with respect to AliRoot
20
18
21
-
## Command overview
22
-
***Basic help:** Help on command line options can be obtained with `o2-sim --help`
23
-
***Typical example:** A typical (exemplary) invocation is of the form
-**distributed system based on FairMQ** that is splitting event generation, particle transport and IO into separate asyncronous components that can be deployed on different machines
22
+
-**sub-event parallelism** making it possible to transport a single big event in a short time and to reduce memory consumption
23
+
-**parallelism** independent on transport engine
24
+
-**configuration via pre-defined parameter classes and ini/text files**
25
+
-**clear separation of transport and digitization** - each phase can be run fully independently
26
26
27
-
which would launch a simulation for 10 pythia8 events on the whole ALICE detector but ZDC and PHOS, using Geant4 on 2 worker processes.
28
-
***Generated output**: The simulation creates at least the following files:
29
-
30
-
31
-
| file | description |
32
-
| ----------------- | ---------------- |
33
-
| `o2sim.root` | contains kinematics and hits |
34
-
| `O2geometry.root` | contains the ROOT geometry created for simulation |
35
-
| `o2sim_grp.root` | the grp parameters |
36
27
28
+
# Documentation of transport simulation
29
+
30
+
The purpose of the `o2-sim` executable is to simulate the passage of particles emerging from a collision inside the detector and to obtain their effect in terms of energy deposits (called hits) which could be converted into detectable signals. It is the driver executable which will spawn a topology of sub-processes that interact via messages in a distributed system.
37
31
38
-
## Main configuration Options
32
+
## Usage overview
33
+
***Quick start example:** A typical (exemplary) invocation is of the form
| -h,--help | Prints the list of possible command line options and their default values. |
54
+
| -n,--number | The number of events to simulate. |
55
+
| -g,--generator | name of a predefined generator template to use (such as pythia8, pythia8hi). Configuration of generations is explained in a dedicated section. |
56
+
| -e,--engine | Select the VMC transport engine (TGeant4, TGeant3). |
57
+
| -m,--modules | List of modules/geometries to include (default is ALL); example -m PIPE ITS TPC |
58
+
| -j,--nworkers | Number of parallel simulation engine workers (default is half the number of hyperthread CPU cores) |
59
+
| --chunkSize | Size of a sub-event. This determines how many primary tracks will be sent to a simulation worker to process. |
60
+
| --skipModules | List of modules to skip / not to include (precedence over -m) |
61
+
| --configFile | A `.ini` file containing a list of (non-default) parameters to configure the simulation run. See section on configurable parameters for more details. |
62
+
| --configKeyValues | Like `--configFile` but allowing to set parameters on the command line as a string sequence. Example `--configKeyValues "Stack.pruneKine=false"`. Takes precedence over `--configFile`. Parameters need to be known ConfigurableParams. |
63
+
| --seed | The initial seed to (all) random number instances. Default is -1 which leads to random behaviour. |
39
64
40
-
control of verbosity
41
65
42
66
## Configuration via Parameters
43
67
@@ -273,4 +297,6 @@ o2::eventgen::DeepTrigger
273
297
274
298
## Development
275
299
276
-
# Documentation of `o2-sim-digitizer-workflow`
300
+
# Documentation of the digitization step
301
+
302
+
Digitization, the transformation of hits produced in the transport simulation to electronics detector output, is steered by the `o2-sim-digitizer-workflow` executable.
0 commit comments