Artdaq 3 details - art-daq/artdaq GitHub Wiki

artdaq 3 details

  • command line -c
    • config snippets next to files in repository
  • shared memory interface: [[details on lock-free buffer management]]
  • art is now run as a separate process and managed through the SharedMemoryEventManager. More details [[shared memory interface|here]].
  • Aggregator has been split into “Dispatcher” and “DataLogger” applications
  • MPI can no longer be used for data transfer between EventBuilders and DataLoggers or DataLoggers and Dispatchers
  • artdaq Input sources are defined differently; RawEventQueueReader no longer has to be overloaded.
    • See artdaq-demo:source:artdaq-demo/ArtModules/DemoInput_source.cc for new Input Source configuration
    • See artdaq-core-demo:source:artdaq-core-demo/Overlays/FragmentType.hh for function to generate Fragment type map

Debugging notes

  • See artdaq-demo:The_artdaq-demo_Examples
  • General/overall: tonMg 0-63; toffM -nTraceLock 2-63; toffM -nSharedMemoryManager 23,24
  • DataLogger to art: toffMg 2-63; tonM 2-63 -nSharedMemoryEventReceiver

Configuration changes

daq..expected_events_per_bunch # Number of events expected per bunch (Almost always should be 1)
daq..expected_fragments_per_event # Number of fragments expected per event
daq..max_fragment_size_bytes # Maximum size of fragments to be stored in Shared Memory
daq..max_event_size_bytes # Maximum size of events
daq..buffer_count # Number of shared memory buffers
daq..routing_token_config # Routing token configuration for routing data from EventBuilders to DataLoggers/DataLoggers to Dispatchers
daq..overwrite_mode # True for Dispatchers, makes the shared memory able to overwrite old data instead of causing backpressure when full

⚠️ **GitHub.com Fallback** ⚠️