Project

General

Profile

July 2014 work items » History » Version 7

Kurt Biery, 07/29/2014 03:40 PM

1 1 Kurt Biery
h1. July 2014 work items
2 1 Kurt Biery
3 2 Kurt Biery
These are some notes on the tasks that were discussed at the 15-Jul-2014 Mu2e DAQ meeting [notes initially written by Kurt, additions/corrections welcome].
4 1 Kurt Biery
5 1 Kurt Biery
Planned or desirable deliverables:
6 1 Kurt Biery
# By June 2015, have the 6-server pilot system up and running.  This includes the following functionality:
7 1 Kurt Biery
** one DTC per server
8 1 Kurt Biery
** at least one artdaq EventBuilder process running on each server
9 1 Kurt Biery
** how many real or simulated ROCs per DTC?
10 1 Kurt Biery
** what data rates should be supported?  Between ROCs and DTCs?  Between DTCs and EventBuilders?  To disk?
11 1 Kurt Biery
# By an undetermined date, be able to provide single-server test systems to subdetector groups for ROC development and testing or detector development and testing. Providing such a system does not necessarily imply buying or donating a computer or other hardware. Instead, the DAQ group could provide recommendations on the appropriate server(s), PCIe card(s), network switch(es), etc. that the subdetector group should purchase.  It does imply providing the firmware and software that would be run to acquire and store the data.  This could take the form of a set of instructions for fetching, installing, building, and running the software, or the DAQ group could choose to assist with some of those steps.  The features that would be part of such a system would be the following:
12 1 Kurt Biery
** how would configuration be handled?
13 1 Kurt Biery
** what level of online monitoring would be included?
14 1 Kurt Biery
15 3 Kurt Biery
Software tasks:
16 1 Kurt Biery
# Tag and release the current _mu2e-artdaq_ code [Ron]
17 6 Kurt Biery
# Update the _mu2e-artdaq_ code to use the latest version (as of 15-Jul-2014) of _artdaq_ [Ron]
18 2 Kurt Biery
# Split the _mu2e-artdaq_ code into two packages, one with just the data format classes [Ron & Kurt]
19 2 Kurt Biery
** the repository has already been created:  _mu2e-raw-data_
20 2 Kurt Biery
# Investigate the use of JavaScript as a technology to use as part of providing tools in _artdaq_ that facilitate debugging and testing hardware and firmware [Ron]
21 2 Kurt Biery
** [Kurt] my understanding is that this will proceed in the background as time permits
22 2 Kurt Biery
# Develop a set of C++ classes and FHICL configuration files that demonstrate the reading of individual fragments from hardware (e.g. a DTC or a DTC connected to a real or simulated ROC) or a file.  [Ron]
23 1 Kurt Biery
24 4 Kurt Biery
Hardware tasks:
25 4 Kurt Biery
# Develop the firmware to transfer data over the optical fiber to a real or simulated ROC.  A first step in this may be to get this working in loop-back mode.  (did I get this right?) [Rick]
26 7 Kurt Biery
# step 2 is a real (possibly) simulated ROC to at DTC (real ROC hardware or development board simulating a ROC)
27 7 Kurt Biery
** the real ROC prototype will be back in a couple of weeks (from 29-Jul)
28 7 Kurt Biery
# step 3 would be two or more of these
29 4 Kurt Biery
# Tracker ROC work.  This is outside the scope of the TDAQ subproject and should be paid for with Tracker funds.  [Greg]
30 7 Kurt Biery
** this is under negotiation as of 29-Jul (tracker funds may be hard to find)
31 4 Kurt Biery
32 3 Kurt Biery
Coordination (management) tasks:
33 3 Kurt Biery
# Meet with Rob K. and possibly others to further specify the plan for organizing Mu2e DAQ code, raw data classes, monitoring modules, and other code into packages (possibly separate _git_ repositories and UPS products).  Document the plan [Kurt]
34 1 Kurt Biery
# Meet with Rob K. and possibly others to further specify the plan for breaking data packets that are useful in the online (for efficient network transfers) into data objects that are desirable in the online and offline analysis modules (in _art_).  Document the plan. [Kurt]
35 4 Kurt Biery
# Meet with Cosmic Ray Veto folks to further understand the needs of the CRV detector in terms of readout, triggering, and software filters.  [Mark, Kurt, Ryan]
36 4 Kurt Biery
# Based on the discussion with CRV folks and others, document typical data taking and readout scenarios including sample data blocks at various points in the DAQ system, a description of how data blocks are uniquely identified and grouped together into "events", and the sequence of steps that are needed to select and write different types of "events" to disk.  (Also, define what is meant by "event" in various contexts.)  [TBD]
37 4 Kurt Biery
38 4 Kurt Biery
Controls tasks:
39 4 Kurt Biery
# Install EPICS and CSS on a Mu2e computer and document the steps that are needed to install, configure, control, and monitor typical slow controls entities. (did I get this right?)  [Summer student]
40 4 Kurt Biery
41 4 Kurt Biery
Data processing tasks:
42 4 Kurt Biery
# [under consideration] Contribute to the _art_ modifications that will improve its abilities in an online context.  [TBD]
43 1 Kurt Biery
44 1 Kurt Biery
Goals in the BOE documents:
45 5 Kurt Biery
* Data acquistion
46 5 Kurt Biery
** Implement firmware for DTC transmission of basic readout/data requests and receipt of data over optical links using simulated ROC; Implement initial Mu2e version of artdaq running on single DAQ server.
47 5 Kurt Biery
** Implement firmware for PCIe interface running on DTC. Implement DTC in situ programming via PCIe; Implement software for communication between DAQ server and DTC over PCIe interface; Create timing system PCB design.
48 5 Kurt Biery
** Implement firmware for DTC buffering and transfer of ROC data from single optical link to PCIe interface; Implement artdaq DTC board reader process; order Pilot system components.
49 5 Kurt Biery
* Data processing
50 5 Kurt Biery
** Implement initial Mu2e version of art framework.  Begin OpenCL evaluation for filter applications.
51 5 Kurt Biery
** Demonstrate operation of art framework running on single prototype DAQ server with simulated event data.  Begin testing OpenCL for filter applications.
52 5 Kurt Biery
** Demonstrate optimized tracking filter running under art framework on single DAQ server.  Benchmark preliminary calorimeter filter.  Evaluate options for FPGA data pre-processing (fix-float conversion, unpacking).
53 5 Kurt Biery
* Controls and networking
54 5 Kurt Biery
** Define interface functions and protocols for DCS channel on optical links.  Define CANbus DCS functions.  Define sub-project DCS requirements.
55 5 Kurt Biery
** Define Control/Data and DCS/Management networks.  Define DCS endpoint map.  Begin implementation of ROC microcontroller DCS functions.
56 5 Kurt Biery
** Implement ROC firmware download over DCS optical channel.  Implement ROC CANbus interface and reset.