1 / 14

PhAT The PHOBOS Analysis Toolkit

PhAT The PHOBOS Analysis Toolkit. Judith Katzy (MIT) for the PHOBOS Collaboration. The PHOBOS experiment at RHIC. 150 000 Silicon channels ~450 ADC + TDC channels for TOF, plastic scintillator counters…. Up and running since 2000 Several physics analysis accomplished.

ronni
Download Presentation

PhAT The PHOBOS Analysis Toolkit

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. PhATThe PHOBOS Analysis Toolkit Judith Katzy (MIT) for the PHOBOS Collaboration

  2. The PHOBOS experiment at RHIC 150 000 Silicon channels ~450 ADC + TDC channels for TOF, plastic scintillator counters… • Up and running since 2000 • Several physics analysis accomplished

  3. The Phobos Analysis Toolkit • Based on ROOT version 2.25 (upgrade to 3.01 in process) • About 400 classes • About 15 developers • Makes full use of ROOT (I/O, Graphics, Containers, auto documentation, inter-process communication,..) • Used for all PHOBOS data processing & persistent data, online, PhatDAQ • Interface to Oracle (G.Heintzelman) • Interface to GEANT (A.Olszewski, A.Trzupek,K.Wozniak)

  4. TPhEvent TPhEvent HitContainer TPhVertex HitContainer TPhVertex TrackContainer Phat Analysis ComponentsP.Decowski, MIT, G.Heintzelman, BNL, G.Roland, MIT, P.Steinberg, BNL TPhObjManager TPhModule TPhModContext TPhDetector Calibration TPhObjManager TH1F TTree … StartAnalysis() StartRun() Process(TPhEvent *e) EndRun() EndAnalysis()

  5. Reconstruction & Analysis Chain • Design Criteria: • definition of standard processing chains • bookkeeping of module parameters during standard reconstruction • change of processing chains and module parameters without recompilation Realization: TPhModule: Smallest processing unit Example: noise calculation TPhSuperModule: Processing chain = list of modules in specific order to perform a comprehensive processing task Example: silicon signal processing ModuleLibrary: Class with a list of Modules and SuperModules Filled by default after compilation using setup-macros Versioning via CVS version stamps Setup-Macros: Set module parameters Add modules into supermodules, Write (super)modules to module lib Implementation: 152 Modules, 14 Supermodules

  6. TPhDSTs(P. Decowski, MIT, N.George, ANL , K.Gulbrandsen,MIT,M.Reuter,UIC, P. Steinberg, BNL) Old storage design: Stream TPhEvents into file Read back using GetNextEvent() slow with increased data volume • Design Criteria: • quickly read in partial events • selectable tags • keep original interface (TPhEvents) • The Solution: • Tree based TPhDST underneath data file • Tree stores “SubEvents” = part of event including all pointer dependence • TPhEvent with selected info can be dynamically reconstructed • Tree stores “TagDB” = basic types containing relevant physics • information • drawable to perform first analysis / data selection • about 10 % overhead in data volume

  7. PHOBOS Online Data Flow PHOBOS VME/ROC EventBuilder (PhatDAQ) DM RCF RAID SLOW CONTROL EventDistributor Calibration DataValidation MasterAlarmer OnlineMonitoring Oracle LabView ROOT

  8. PHOBOS Data acquisition - PhATDAQ (P.Sarin, MIT, A. Sukhanov,BNL) VME 30 MB/sec 30 MB/sec 3kB TOF (data transfer) Event Builder phatdaq Data mover UDP PHOBOS Trigger Silicon RAID Gigabit network memory 30MB/s TPhSubEventArrays:TObjArray 12ms Root streamer 1CPU,2.25 ~28 MB/s File 1event = 300 kB • CurrentlyData transfer rates not limited by ROOT streamer!

  9. Online Monitoring - Design(B.Holzman, BNL, J.Katzy, MIT, G.van Nieuwenhuizen, MIT, P.Steinberg BNL) • Online Monitoring Needs: • direct access to data from DAQ • CPU optimized data reconstruction • (fast) data analysis & warning mechanism • event display • histogram display with easy&fast access • Solution: • all data transfer via unix socket (poll/push) • distributed processing • separate clients for each controlling task • master alarmer for all (LabView&ROOT) • process status display • master GUI with navigator to access histograms • and choose from available event displays

  10. Online Monitoring – Implementation EventBuilder (PhatDAQ) Master Alarmer TPhOnEventDistributor TPhOnDistClient (raw data) TPhOnSocketDataFile TPhMonitorMod TPhSiliconDistClient (silicon hits) TPhMonitorMod TPhOnSocketDataFile TPhEventDisplay TPhOnSocketDataFile TPhOnlineGUI TPhOnSocketDataFile DAQ format TPhEvent Char. string Inherited classes Different instances of the same class

  11. File management based on ROOT Daemon P.Decowski • Basic idea: Access distributed disks on a linux farm using rootd & TNetFile. • Have one central place where all nodes can find information • about the data file location. • DB : ASCII file, ORACLE • Hardware: IDE disk • $5k / TB (“distributed IDE”) • compare to >$ 30k / TB (one central RAID) • Data Transfer: rootd(aemon) transfers data to actual node with 4.5 MB/sec • disk read/write 6-7 MB/sec (cpu bound) • comparable with nfs • User interface: Transparent to the user (TPhDST(“rootd:/….”) • Database (RootDB) knows location of files (ASCII file, Oracle DB) • Experience: 12-node “pharm” used as production environment for last 12 month • accessing 2.5 TB of files on disk • moving to 80-node farm at RCF with ~ 9TB of disks accessible • Outlook:still moving data to CPU – ideal application for PROOF

  12. Summary • Phat is a framework build on top of ROOT • Phobos DAQ and online system based on ROOT • Phobos’ DST structures TTree based • rootd fast & cheap solution for disk management • Have a look at www.phobos.bnl.gov and www.rhic.bnl.gov/~phobos/PhatSrc/USER_Index.html

  13. The Wish List • PROOF functionality • Poll/Select functionality in TSocket • Allowing cross reference pointers across branches in TTrees

  14. Benchmarking File I/O The test: 2300 events, read in a event loop, no selection, file access via rootd The result: Real Time(s) CPU Time(s) Files containing TPhEvents: 202 133 Files containing trees with SubEvents and SummaryParameters all Branches: 305 157 Summary+Vertex+Trigger 50 36 Summary+Vertex+Trigger+Spectrometer 201 93

More Related