Framework Parameters
The Allpix Squared framework provides a set of global parameters which control and alter its behavior:
-
detectors_file
: Location of the file describing the detector configuration (introduced in Section 3.3). The only required global parameter: the framework will fail to start if it is not specified. -
number_of_events
: Determines the total number of events the framework should simulate. Defaults to one (simulating a single event). -
skip_events
: A number of events (and therefore event seeds) to be skipped at start of the run. After skipping, the fullnumber_of_events
will be processed starting from the new event seed. Defaults to zero, i.e. starting with the first event seed. -
root_file
: Location relative to theoutput_directory
where the ROOT output data of all modules will be written to. The file extension.root
will be appended if not present. Default value ismodules.root
. Directories within the ROOT file will be created automatically for all module instantiations. -
log_level
: Specifies the lowest log level which should be reported. Possible values areFATAL
,STATUS
,ERROR
,WARNING
,INFO
,DEBUG
,TRACE
andPRNG
where all options are case-insensitive. Defaults to theWARNING
level. More details and information about the log levels, including how to change them for a particular module, can be found in Section 3.8. Can be overwritten by the-v
parameter on the command line (see Section 3.5). -
log_format
: Determines the log message format to display. Possible options areSHORT
,DEFAULT
andLONG
, where all options are case-insensitive. More information can be found in Section 3.8. -
log_file
: File where the log output should be written to in addition to printing to the standard output (usually the terminal). Only writes to standard output if this option is not provided. Another (additional) location to write to can be specified on the command line using the-l
parameter (see Section 3.5). -
output_directory
: Directory to write all output files into. Subdirectories are created automatically for all module instantiations. This directory will also contain theroot_file
specified via the parameter described above. Defaults to the current working directory with the subdirectoryoutput/
attached. -
purge_output_directory
: Decides whether the content of an already existing output directory is deleted before a new run starts. Defaults tofalse
, i.e. files are kept but will be overwritten by new files created by the framework. -
deny_overwrite
: Forces the framework to abort the run and throw an exception when attempting to overwrite an existing file. Defaults tofalse
, i.e. files are overwritten when requested. This setting is inherited by all modules, but can be overwritten in the configuration section of each of the modules. -
random_seed
: Seed for the global random seed generator used to initialize seeds for module instantiations. The 64-bit Mersenne Twistermt19937_64
from the C++ Standard Library is used to generate seeds. A random seed from multiple entropy sources will be generated if the parameter is not specified. Can be used to reproduce an earlier simulation run. -
random_seed_core
: Optional seed used for pseudo-random number generators in the core components of the framework. If not set explicitly, the valuerandom_seed + 1
is used. -
library_directories
: Additional directories to search for module libraries, before searching the default paths. See Section 4.4 for more information. -
model_paths
: Additional files or directories from which detector models should be read besides the standard search locations. -
performance_plots
: Enable the creation of performance plots showing the processing time required per event both for individual modules and the full module stack. Defaults tofalse
. -
multithreading
: Enable multithreading for the framework. Defaults totrue
. More information about multithreading can be found in Section 4.3. -
workers
: Specify the number of workers to use in total, should be strictly larger than zero. Only used ifmultithreading
is set totrue
. Defaults to the number of native threads available on the system minus one, if this can be determined, otherwise one thread is used. -
buffer_per_worker
: Specify the buffer depth available per worker for buffered modules to cache partially processed events until execution in the correct order can be guaranteed (see Section 4.10). Defaults to256
.