Project

General

Profile

Artdaq "wish list" responses » History » Version 9

John Freeman, 01/17/2017 05:24 PM

1 1 John Freeman
h1. Artdaq "wish list" responses
2 1 John Freeman
3 1 John Freeman
# a computer running CentOS7 that has artdaq, lbne-artdaq, nodeJS, MongoDB, artdaq-database, etc. already installed.  This computer would be connected to a SLAC RCE with a 10 Gb link, could be connected to the CERN public network (or at least has a well-defined path in and out), and has a moderately large disk that can be used for writing data.  [this may be out of our control, but I've included it to set the stage]
4 1 John Freeman
# an instance of artdaq-database running in MongoDB that has pre-populated entries for 
5 1 John Freeman
## the list of available components:  e.g. 1 or more RCEs, 1 or more SSPs, 1 or more FELIX cards
6 1 John Freeman
## the locations where various BoardReaders should run
7 1 John Freeman
##	the possible locations of EventBuilders
8 1 John Freeman
##	possible location(s) of Aggregators
9 1 John Freeman
##	any other dataflow configuration parameters that are needed
10 1 John Freeman
##	a sample RCE BoardReader and electronics configuration - this can be a shell of what will be needed
11 7 John Freeman
_JCF: I can work on getting this into the DB, although one thing I'm not clear on is this: do we need to get the info into the DB using conftool every time we install on a new host, or can we just copy the DB contents over? If it's the former it may make sense to wait until we have the computer running CentOS7 described above to avoid doing the same things more than once. Also, I should add that right now I have yet to add logic to DAQInterface to make the concept of "possible locations of EventBuilders and Aggregators" meaningful - i.e., DAQInterface doesn't currently care what hosts you specify for the processes, although of course pmt.rb might fail and cause DAQInterface to shut down if you specify hosts to which pmt.rb can't connect._
12 1 John Freeman
#	the ability for an expert user to add another RCE to the list of components or modify the value of a dataflow parameter (mentioned in 2.5)
13 1 John Freeman
#	the ability for an expert user to add parameters to one or more RCE boards in the RCE BR/electronics configuration and the ability to add more boards to the configuration (mentioned in 2.6)  [ideally, this would be more sophisticated than "export the FHiCL file, edit it, and import it"]
14 1 John Freeman
#	a user interface that can present the list of available components to a user, when requested (this user interface and the ones mentioned below do *not* need to be graphical)
15 6 John Freeman
_JCF: right now this is as simple as executing "cat .components.txt" from the base directory of artdaq-utilities-daqinterface. Once we put the allowed components list into the database, I imagine we'll need logic to retrieve the list and then cat it to screen._
16 1 John Freeman
# a user interface that allows a user to pick a set of components to use for a given DAQ session
17 6 John Freeman
_JCF: "<code>./bin/setdaqcomps.sh <component1> <component2> ...</code>"_
18 1 John Freeman
#	a user interface that allows the startup all of the artdaq processes
19 6 John Freeman
_JCF: "<code>./bin/send_transition.sh boot <daqinterface config></code>"_
20 1 John Freeman
#	a user interface that shows the list of available Run configurations (also known as Detector/Electronic configurations) to the user and allows him/her to select one
21 6 John Freeman
_JCF: as I understood it from the meeting, this can be done from the command line with conftool_
22 1 John Freeman
#	a process that is smart enough to build the FHiCL files that need to be sent to the artdaq processes, given the selected Run configuration and readout components
23 6 John Freeman
_JCF: this is handled by DAQInterface using information received during the boot and config transitions_
24 1 John Freeman
#	a user interface that allows the configuration all of the artdaq processes
25 6 John Freeman
_JCF: "<code>./bin/send_transition.sh config <physics config></code>"_
26 1 John Freeman
#	a (possibly simple) mechanism for automatically assigning unique run numbers
27 8 John Freeman
_JCF: With artdaq-utilities-daqinterface commit ca0846d8ad62604678e84d78daf73905c44cfc7f, when <code>./bin/send_transition.sh start</code> is executed the script looks at the run #'s saved in the run records directory (defined in .settings) to determine the number of the most recent run, and sends the next run number as an argument to the "start" transition sent to DAQInterface_
28 1 John Freeman
#	a user interface that allows a user to begin a run (without having to explicitly provide a run number)
29 6 John Freeman
_JCF: See above_
30 1 John Freeman
#	archiving of the configuration that is used in each run
31 6 John Freeman
_JCF: The FHiCL documents used to initialize the artdaq processes are saved in the *.root files. Even without diskwriting on, data about the run is saved in the run records directory and if we're using the database, saved in the database as well. The script "<code>compare_run_record_and_rootfile.sh</code>" in artdaq-utilities-daqinterface can be used to confirm that the FHiCL documents saved in the run records directory and those saved in the output *.root file are the same._
32 1 John Freeman
#	archiving of some amount of run history information, such as begin-run time, end-run time, and number of events in the run
33 9 John Freeman
_JCF: handled via artdaq-utilities-daqinterface commits c995e54eec3f5f85675f26dc42a0e836ee827c35 (total events) and f556188156c9630f4466cba8a75f489024258392 (start and stop times)
34 1 John Freeman
#	a user interface that allows end run; and later, shutdown
35 6 John Freeman
_JCF: <code>./bin/send_transition.sh stop</code> followed by <code>./bin/send_transition.sh terminate</code>_
36 1 John Freeman
#	as shown on slide 13, the "run control" scripts/application should interact with the Cfg Mgmt system to get the list of available components, etc.
37 1 John Freeman
#	I presume that the Process Manager that is mentioned in the slides will be John's DAQInterface plus pmt.rb
38 6 John Freeman
_JCF: correct_
39 1 John Freeman
#	The FHiCL Document Creator may need to be created or DAQInterface may fulfill that role
40 6 John Freeman
_JCF: handled in DAQInterface using information received during the boot and config transitions_