OM - Experts Only¶
Starting the backend processes¶
One dispatcher running on the assembler:
On the evb machine, set up the DAQ UPS project, and then:
$ dispatcher --config <config.fcl> --section <secname>
On the near1 machine, similarly:
$ online-monitor --config <config.fcl> --section <secname>
where config.fcl is the configuration file, and <secname> is the section name you want the dispatcher to read.
You can configure everything on the command line with:
$ dispatcher -k key=value,key2=value2,key3=value3
where key,value are the same as values entered by FCL.
For the dispatcher, the most important variables are the shared memory segment key, the shared memory size, and the port number for incoming connections.
For the online monitor, the most important variables are the host and port numbers to connect to the dispatcher.
Examples exist in uboonedaq/projects/config/sebs/test_dispatcher_ubooneConfig.fhicl
One thing NOT in that configuration is the connection database configuration. You should add:
plexusInterface: sqlite plexusConnection: /home/tagg/connection.db
or, on command line, add this argument:
That connection.db file is checked into git in the online monitor area. It is a transcription of the Hoot Gibson connections DB, plus some PMT connections.
To use the Hoot Gibson directly, you need:
plexusInterface: posgresql plexusConnection: "host=fnalpgsdev.fnal.gov port=5436 dbname=uboonedaq_dev user=uboonedaq_web password=argon!uBooNE"
but this method means that PMT channels will remain unmapped.
I believe the connections database to be incorrect.
A useful tool is the offline-monitor, which generates histogram files from raw ubdaq files. To run it
(assuming you're in development_daq/build)
$ bin/offline-monitor <input_file.ubdaq>
Useful options I sometimes run with:
$ bin/offline-monitor -k timeBetweenWrites=300,plexusInterface=sqlite,plexusConnection=/home/tagg/connection.db,update_existing_file=1,outputDirectory=/datalocal/tagg/ /data/lukhanin/NoiseTests/TestRun05-2015_5_11_14_1_15-2-0.ubdaq --start 5 --skip 1 -n 10
This starts at event 6, does every other event, up to event 10. It sets the output directory to my private area, and update the file.
By default, offline-monitor creates the output file in the current directory, and processes every event in that file (which can take a long time!)
Also useful: do_threads=0 deserializes the thread generation for running under debugger.
(note need to do 'setup -q e7 gdb')