Creating an artdaq demo package¶
What are the major initial areas for artdaq demo package?
- the repositories and demonstration system
- documenting the steps to install, build, and run the demo system [added]
- documenting of artdaq APIs, configuration, and tools
What should be done first?
- write down the function and purpose of the demo package.
- The purposes of the package are to demonstrate
- the components of the system that are currently available. These include the art framework, the data transfer and event building function, the control message infrastructure, the state behavior of the full system and individual processes, and the tools for managing the MPI program.
- the ease with which experiment-provided analysis modules and hardware interfaces can be added to the system
- several sample art modules
- the tools that are available to help with simulation data and data analysis
- [please see the list of sample demo steps below]
- make a list of the components (including code) that will need to be in place for it to work.
- what qualifier(s)
- presumably there are UPS product bundles that will handle most of this
- identify the structure of the repository and the name of it and its parts.
- make notes on how to move existing pieces into place (from existing repos) within the new repo and the changes that will be needed.
What should be done second?
- identify the documentation that already exists that can be referred to or copied to reflect the new demo
- identify the things in artdaq and in the new package that need new or expanded documentation
- identify a place and a structure for the documentation
- move existing things into place and modify as needed
- ETH rather than MPI? (I presume yes)
- what qualifiers for UPS products
- how to bundle all of the UPS products that are needed (probably a solved problem)
Sample demo steps:
- install all necessary UPS packages
- set up an environment for development and building the demo package (directories and env vars)
- checkout the demo package
- build the demo package
- start the basic demo system, and use the existing scripts (and ds50MasterControl.sh) to send it "init", "start", "stop", and "shutdown" commands
- what should be included in the basic demo system?
- 2 fragment receivers, each configured to use a simulated V1720 generator
- 2 event builders
- compression turned on?
- sample analysis modules
- ROOT output to disk
- no aggregator, in this initial version?
- use art to display the characteristics of the events in the file
- add another fragment receiver
- switch one of the fragment generators from V172xSimulator to something else
- select different art modules in the event builder
- select whether to write out raw, compressed, or both types of data products
- create a new data type and associated "sim" generator and run it in the system
- create a new art analysis module and run it in the system