1 / 17

Performance of neutron detector tools at SNS

Performance of neutron detector tools at SNS. Klemen Vodopivec. Spallation Neutron Source Oak Ridge National Laboratory. September 20, 2016. Overview. Python for calibration & diagnostics Data rates, structured data format Optimization. Detectors d ata flow. Data acquisition.

Jimmy
Download Presentation

Performance of neutron detector tools at SNS

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. Performance of neutron detector tools at SNS Klemen Vodopivec Spallation Neutron SourceOak Ridge National Laboratory September 20, 2016

  2. Overview • Python for calibration & diagnostics • Data rates, structured data format • Optimization

  3. Detectors data flow • Data acquisition LVDS/optics • Calibration & diagnostics • Live display • Data reduction Custom TCP/IP EPICSv4 EPICSv4

  4. Detector diagnostics use cases • Detect malfunctioning • Optimization • Monitoring • Pre-processing verification

  5. Detector diagnostics requirements • Python • Matplotlib plotting • Run on demand • Usually requires well-known sample • 100+ detectors simultaneously • CA for setup, PVA for data

  6. Screenshots – 2D image

  7. Screenshots – event analysis

  8. Screenshots – event time of flight

  9. Screenshots – count distribution

  10. Screenshots – channel distribution

  11. Data rates (cross fiber detector) • Data modes • Production – 8 bytes per event • Diagnostic – 48 bytes per event • Typical rates – 1000 events/s per detector • Number detectors – 30-40 • Max data rate – 1.5MB/s

  12. Data rates (He3 tube detectors) • Data modes • Production – 8 bytes per event • Diagnostic – 20 bytes per event • Typical rates – 10k – 500k events/s per detector • Number detectors – 10-120 • Max rate – 100MB/s

  13. Python struggle • Data receive – approx 50% CPU • Big custom structure unpacking • High update frequency – small packets • Data processing – approx 30% CPU • GUI – 15% CPU • Max data rate – 1000 ev/s for cross fiber detectors

  14. The (obvious) solution

  15. The (obvious) solution – cont’d Python C extension • PVA data • Receive using EPICS v4.5 C++ API • Unpack • Generate plot data • Plot-ready data • numpy array • Detectors setup • C extension init • GUI • Matplotlib • PyQT

  16. Results • Higher throughput • Easily 30+ cross fiber detectors • Multi-threaded receive & processing • Robustness • Potential for other detector types

  17. Thanks

More Related