1 23.july 2012jörn adamczewski-musch trb / hadaq plug-ins for dabc and go4 jörn adamczewski-musch...

13
1 23.July 2012 Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting, 23.07.2012

Upload: sibyl-nichols

Post on 17-Jan-2016

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

123.July 2012 Jörn Adamczewski-Musch

TRB / HADAQ plug-ins for DABC and Go4

Jörn Adamczewski-Musch

GSI, Experiment Electronics: Data Processing group

EE-meeting, 23.07.2012

Page 2: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

223.July 2012 Jörn Adamczewski-Musch 2

Outline

• Motivation

• Go4 trb v2/v3 unpacker and .hld user event source

• DABC plugin for hadaq

• Tests and Experience

• Conclusions

Page 3: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

323.July 2012 Jörn Adamczewski-Musch 3

Motivation

Goal: Integration of TRB frontends to CBM (PANDA, R3B?) test DAQ

• Read out TRB data with DAQ software DABC

• Combine hadaq events with mbs/roc/spadic data(common trigger or sync message)

• Data analysis with Go4 framework (process hadaq .hld files)

• Online monitoring with Go4 (at DABC stream server)

Page 4: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

423.July 2012 Jörn Adamczewski-Musch 4

Go4 implementations

• File input for .hld files (THadaqEventSource)

• knows HADES hadtu / event / subevent formats

• each hadaq event is wrapped “as is” in a MBS subevent

• MBS output event is passed to subsequent unpacker

• Data analysis class (THadaqUnpackProc)

• Can dump any hadaq-formatted data

• Unpacking and histogramming of TRB v2 and v3 formats

• Time bin correction/calibration

• Channel correlations + delta t evaluation (configurable)

• Special MCP mapping for PANDA-DIRC / Mainz (Cahit Ugur)

Repository: https://subversion.gsi.de/go4/trunk/applications/hadaq-go4

Page 5: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

523.July 2012 Jörn Adamczewski-Musch

.hld file

5

Hadaq-go4 data flow

TGo4MbsEvent THadaqUnpackEvent

THadaqUnpackProcTHadaqEventSource

TGo4MbsSubEvent std::vector<UShort_t> fLCoarseTimestd::vector<UShort_t> fLFineTimestd::vector<UShort_t> fTCoarseTimestd::vector<UShort_t> fTFineTime

“MBS Container”

File Input

Unpack, analysis

Page 6: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

623.July 2012 Jörn Adamczewski-Musch 6

DetectorEvent

processorMBS

container DAQEvent

processorDABC

“Unpacker” step “Detector” step

TRB

MBS

ROC

ROOT Tree i/o

MBS

TRB

ROC

DETN

DET1

DETNDAQDAQ

DET1

Go4 trbmonitor for CBM testbeam monitoring

“Tracking” step

Tracker

TracksEvent

Track1

TrackN

processor

hadaq-go4 adjusted to CBM beamtime framework (classes TTrb*.cxx):https://subversion.gsi.de/cbm/ROC/trunk/onlinemonitor/trbmonitor

Composite processorTTrbProc Composite Event

TTrbEvent

Page 7: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

723.July 2012 Jörn Adamczewski-Musch 7

DABC hadaq plugin

• Read .hld files

• Wrap hadaq event into MBS subevent

export to .lmd file or stream server (-> Go4)

combine hadaq and mbs data (to do!)

• Receive data from TRBnet hubs via udp sockets

• Combine hadaq subevents from different trb inputs

• Export control variables to shared memory

• connect to HADES eventbuilder controls / EPICS

• Write .hld files

Repository: https://subversion.gsi.de/dabc/trunk/plugins/hadaq

Full HADES

eventbuilder!

(daq_netmem,

daq_evtbuild)

Like Go4

event source

CBM beam tests

Page 8: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

823.July 2012 Jörn Adamczewski-Musch 8

DABC hadaq components

Classes:• HldFile –

input and output of hld file format• HldInput –

read hadtu format from file• HldOutput-

write hadtu format to file• UdpDataSocket –

receive hadtu packets from trb frontend (single stream)• MbsTransmitterModule –

wrap hadtu format into mbs event container• CombinerModule –

eventbuilding of hadtu format from several data streams• Observer –

Control system interface to hades shared memoryExample application configurations:

• HldConverter.xml – read hld file and write to lmd file

• HldServer.xml – read hld file and serve at mbs transport server

• NetmemServer.xml – receive trbnet data at 1 udp socket and serve events at mbs transport/stream

server• EventBuilder.xml -

receive trbnet data at n udp sockets and do a full eventbuilding

Page 9: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

923.July 2012 Jörn Adamczewski-Musch 9

Use case : converter, online monitoring server

hadaq::UDPDataSocket

hadaq::MbsTransmitterModule

OutputInputmbs::

ServerTransport

“eventbuilding mode”

TRBnet hub

hadaq::HldInput

.hld file

UDP/IP GbE

mbs::LmdOutput

.lmd file

NetmemServer.xml

HldConverter.xml

HldServer.xml

stream server, transport server

Page 10: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

1023.July 2012 Jörn Adamczewski-Musch 10

Use case: HADES event builder

hadaq::CombinerModule

Input1 ServOut

Input0

Input2

Input..

Input..

Input N

hadaq::UDPDataSocket

hadaq::MbsTransmitterModule

OutputInput

FileOuthadaq::UDPDataSocket

hadaq::HldOutput

.hld filehadaq::Observer

EPICS IOC/dev/shm

HADES ebctrl

HADES medm GUI

dabc Parameters

EPICS PV“worker statistics”

EventBuilder.xml

Page 11: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

1123.July 2012 Jörn Adamczewski-Musch 11

Use case: CBM beamtest DAQ

hadaq::CombinerModule

Input1 Output

Input0

Input2

Input..

Input..

Input N

hadaq::UDPDataSocket

hadaq::MbsTransmitterModule

OutputInput

mbs:: Combiner

MBS

FileOutput

ROC

SPADIC

ServOutput

TRB

“Supercombiner”

hadaq::UDPDataSocket

roc::Combinerspadic::

Combiner

mbs::Combiner

.lmd file

Page 12: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

1223.July 2012 Jörn Adamczewski-Musch

PANDA-DIRC@Mainz (C.Ugur):

• hadaq-go4 for offline analysis of .hld files(acquired with old HADES production eventbuilder)

Used for MAMI beamtimes June and July 2012

• dabc_run NetmemServer.xml + hadaq-go4 for online monitoring:

Usable, but dabc fails for high event rates >40kHz? ?? Mb/s(queue full, or crash) => dabc v1.9 debugging! Fine tuning of buffer setup!

• dabc_run EventBuilder.xml + hld file output + hadaq-go4:

Works with 1 trb input up to some event rate limit, see above

can not yet deliver performance (100kHz writing) of old hadaq eventbuilder!

Tests with udp data sender simulator (JAM):

• dabc_run EventBuilder.xml + hld file output + hadaq-go4 + EPICS ioc + MEDM gui

With 5 UDP streams, localhost (10kHz/1000Bytes/ 20s spill): 19 Mbyte/s with file to local disk (41 Mb/s without file)

Limit: hld file io -> queue back pressure -> 60% dropped events

12

Tests + Experience

Page 13: 1 23.July 2012Jörn Adamczewski-Musch TRB / HADAQ plug-ins for DABC and Go4 Jörn Adamczewski-Musch GSI, Experiment Electronics: Data Processing group EE-meeting,

1323.July 2012 Jörn Adamczewski-Musch 13

Conclusions

Go4 analysis of hld files and trbdata from DABC online is ready(still under development)

Go4 trb classes adjusted for CBM online monitoring framework

DABC plugin for trbnet udp inputs is readyTODO: trb/mbs super combiner implementation for CBM

DABC can almost emulate the HADES production eventbuilder! (missing: RFIO, disk load balancing, multi-EBserver tests..)

DABC hadaq modules still lack performance of HADES eventbuilderTODO: optimization of i/o implementations + memory set upDABC v1.9 debugging (stability? error recovery?)