The settings file reference¶
To return to the main DAQInterface wiki, click here
The settings file contains parameters used when running DAQInterface that are rarely meant to be changed. DAQInterface reads it in when it's launched, and finds it via the DAQINTERFACE_SETTINGS environmental variable. The contents of the file typically looks something like the following:
log_directory: /tmp data_directory_override: /tmp record_directory: $HOME/run_records package_hashes_to_save: [ artdaq-demo, artdaq-core-demo, artdaq ] productsdir_for_bash_scripts: $HOME/path_to_product_dir_not_yet_defined/products boardreader timeout: 60 eventbuilder timeout: 30 aggregator timeout: 30 max_fragment_size_bytes: 1000000
You'll want to change many of these parameters when using DAQInterface to run an experiment's software (dune-artdaq, sbnd-artdaq, etc.). With that in mind, these parameters can be described as follows:
log_directoryrefers to the location on the filesystem where you want the artdaq logfiles produced when running your DAQ to be saved.
data_directory_overrideis an optional parameter; if it appears in the settings file then *.root files get saved to the directory specified by this parameter, rather than the directory specified by the fileName parameter of art's RootOutput module.
record_directoryrefers to the directory on your host where metadata, etc., about the runs you'll perform gets saved; this is referred to below as the "run records directory", and you'll need to create it.
package_hashes_to_saverefers to the names of the packages installed in the srcs/ subdirectory set up during the MRB installation of the artdaq-based DAQ system whose git commit hashes you want saved in the run records directory for a given run. Please note that if you're not using an MRB-installed artdaq-based DAQ system (e.g., if your artdaq-based DAQ system is just set up as a ups product) then you'll want to leave this list empty, as you won't have access to the git repos of the packages.
productsdir_for_bash_scriptsrefers to the products/ directory where Bash scripts will search for the xmlrpc_c package in order for them to send xmlrpc commands to artdaq processes and the root package in order for the bin/rootfile_event_count.sh script to be able to count the events saved to file in a run; most likely this is either in the products/ directory local to the installation of the artdaq-based system you plan to use, or in some common products/ area on the host.
max_fragment_size_byteseffectively describes the largest event which can pass through the system; if you know you'll have events larger than its default setting in your experiment, you'll want to increase its value.
There are also the optional process timeout parameters. One may wish to fine-tune these timeouts depending on an experiment's conditions. The parameters to add are called
eventbuilder timeout and
aggregator timeout; the first two should be self-explanatory, the third refers to the timeout applied to both the DataLogger and Dispatcher. So, e.g., we could set timeouts like so (values supplied are just randomly chosen for the example):
boardreader timeout: 15 eventbuilder timeout: 40 aggregator timeout: 30