1 / 12

Event Builder Input

Slice Test DAQ Software what we did in Florida, and what problems may be lurking beneath the surface…. Event Builder Input. GenericFED class encapsulates XDAQ communication between detector-dependent software, event builder readout unit (Ichiro, Rick). XDAQ GUI. EmuFED. FileReaderDDU.

olaf
Download Presentation

Event Builder Input

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Slice Test DAQ Softwarewhat we did in Florida, and what problems may be lurking beneath the surface…

  2. Event Builder Input • GenericFED class encapsulates XDAQ communication between detector-dependent software, event builder readout unit (Ichiro, Rick) XDAQ GUI EmuFED FileReaderDDU GenericFED EmuConfigFED RU HardwareDDU xdaqApp EventReader bool getNextEvent() DDUReader

  3. Event Builder w/Trackfinder • Only need an EventReader::getNextEvent() routine • Writing a routine which reads (destructively) the Sector Processor FIFOs, stores in memory, and parses events • File-reading version already exists (Holger/Darin) • Just need to merge with the HAL interface • After that's done, the XDAQ-ification is easy.

  4. Event Builder Output • Format is ORCA-readable (G. Bruno) Event Header Readout Unit Header (Chamber data: DCC) FED Header (DDU) DDU data FED Trailer Readout Unit Trailer Readout Unit Header (Trackfinder crate) Trackfinder data Readout Unit Trailer Event Trailer

  5. Issues: Event Synchronization • Right now, the Event Builder assumes the events all come in the same order from all inputs • Not always the case: events can get lost • We need to make some phony TriggerInterface for the EVB which tells it which trigger number to do next. Maybe based on the level 1 accepts in the chamber data?

  6. Peripheral Crate Controller • Replaces C routines in cfeb_control • Verified at test crates in Fermilab, UCLA, Florida • Sends same signals to VME as cfeb_control • Practical Advantages: • Sends start and stop signals to boards automatically • User doesn't need to do by hand • Can keep many crates & boards in memory simultaneously • Configuration done in XML (Alex) • Want to hear Valeri’s experience with using it for slow control

  7. Peripheral Crate Controller Singleton CrateSetup CCB TMB ALCTController VMEModule Crate DAQMB VMEController DDU MPC

  8. XDAQ Crate Control • Only three buttons: • Configure • Enable • Disable

  9. XDAQ Crate Control + Event Builder

  10. Issues: Winning market share • Cfeb_control is a huge GUI with a button for almost every subroutine in the system. • Do we need to compete with that? • How else can we get the electronics experts to use (and develop and maintain) the new code?

  11. Issues: Maintaining Crate Code? • I claim our code makes the correct VME calls for five kinds of boards. • I don’t claim to understand any board’s VME calls. • Who can provide? • Meaningful names for all those hardcoded register and address numbers? • All boards • Cleanup of vestigal code? • Especially ALCT • This code will be in CMS longer than many of us! • It should correspond explicitly to the hardware manuals • A HAL rewrite may be in order someday

  12. Slice Test Software Summary • XDAQ/C++ Crate Control  • Event Data Structure  • Including Sector Processor data  • Expect to be done soon • Combined Event Building  • Just need to deal with event synchronization

More Related