online reconstruction - E1039-Collaboration/e1039-wiki GitHub Wiki
Online Reconstruction
Data Flow
The online reconstruction requires a dedicated data flow because it runs on its own computer (apart from the decoder) and needs a large part of the data (i.e. hit info) in semi-real time (i.e. 1-2 minutes).
We are going to adopt the following data-flow scheme to begin with. We plan to measure the performance of this scheme to design the next version.
[Main-DAQ decoder] --(Output per spill)--> [ORI file]
| ^
|(Record the status of each OR file) |
V |
[ORI/ORO-file status in SQLite DB] +---------------------+
^ ^ |
|(Query every 10 seconds) |(Record the status of each ORO file) |(Read)
| | |
[Shell script to find new files] --(Launch per ORI file)--> [CPU/GPU OR program]
|
|(Output)
V
[ORO file]
^
|(Read and draw)
|
[Various monitoring programs: OnlMon Viewer, OR Monitor, etc.]
- "Online Reconstruction Input (ORI) file" = ROOT file containing
SRawEvent
objects in TTree. All ORI files are stored under/data2/e1039/online/sraw
. The/data2
directory is accessible on all servers as mounted via NFS. - Status of each OR file = "open", "update" and "close".
- "Online-Reconstruction Output (ORO) file" = ROOT file containing
SRecEvent
andTracklet
objects in TTree. All ORO files are stored under/data2/e1039/online/srec
. - All monitor programs read ORO file to show plots/values.
Reconstruction Program on Multi-CPU
t.b.w.?
Reconstruction Program on GPU
t.b.w.?