It would be nice to be able to group art-related parameters in Dispatcher config files in an 'art' block
We already have the ability to group art-related configuration parameters inside an 'art' block in EventBuilder and DataLogger config files, and it would be nice to be able to do that in Dispatcher config files also.
The majority of the work to do this is already implemented in DataReceiverCore::initializeDataReceiver(). It is just a change to DispatcherCore::initialize() that is needed, and I will submit that soon.
The reason that this came up is the following: at protoDUNE, there are separate Dispatcher_N.fcl files for each of the 1..N partitions. Typically, all of those config files are identical, so it would be nice to be able to put the bulk of the config in a dispatcher_standard.fcl file and include that in each of the Dispatcher_N.fcl files. In order to do that most easily, it would be nice to have the art parameters grouped in a block.
#1 Updated by Kurt Biery 10 months ago
I have created feature/22291_DispatcherConfigArtBlock branches in the artdaq and artdaq-utilities-daqinterface repositories with changes for this Issue.
The code changes have been committed to the artdaq repo.
A sample config change has been committed to the daqinterface repo.
To test this change, I suggest enabling the logfile-based TRACE messages that print out the art pset in DispatcherCore and DataReceiverCore and comparing the results between tests in which the Dispatcher1.fcl file does, and does not, have the art block.
- tonS -n Dispatcher1_DispatcherCore 3
- tonS -n Dispatcher1_DataReceiverCore 3
- and look in the dispatcher log file (e.g. in daqlogs/dispatcher in an artdaq-demo system)
#4 Updated by Eric Flumerfelt 9 months ago
Reviewed code and performed suggested tests. Note that this change results in a new configuration domain, and may be sufficient to move the minor version number.
With that in mind, I will defer merging into development until we have discussed the ramifications of this change.
#6 Updated by Kurt Biery 9 months ago
Thanks for reviewing this.
My goal was to make this change backward-compatible. That is, I wanted to make it similar to the behavior in DataReceiverCore, where the art-block is handled, if it is there, but the art parameters are still successfully pulled out of the configuration, even if the art-related ones are not in an "art" block.
If I've succeeded, then I'm hopeful that this change won't necessarily mean a new configuration era. If not, please let me know so that I can fix it. :)