Fostering Scientific Analysis: Fun4All - A Powerful Data Processing Tool
Fun4All is a mature data processing framework that started in 2003 to reconstruct and analyze PHENIX data, later adopted by sPHENIX. It handles large volumes of raw data, processing about 1PB DST data per week for user analysis. The design principle emphasizes simplicity and readability for users, allowing them to focus on data analysis rather than computing. The framework's modular structure enables easy creation of custom analysis modules in C++, making it popular among the scientific community for its efficiency and user-friendly interface.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Fun4All Mature - development started 2003 to reconstruct and analyze PHENIX data, adopted by sPHENIX Used to process many PBs of raw data, processes about 1PB DST data/week for user analysis Handles simulation (Geant4 based) and real data reconstruction (PHENIX raw data, sPHENIX Test Beam) Modular design driven by necessity to solve real problems, not by some concepts of beauty Complexity is bad, keep it simple (and readable, avoid opaque fancy language constructs). Users should spend their time analyzing data, not solving computing problems
Structure of Fun4All YOU Output Managers Input Managers Fun4AllServer data objects DST DST Raw Data (PRDF) Raw Data (PRDF) Analysis Modules Simulated PRDF HepMC/Oscar HepMC Empty Calibrations Histogram Manager Root File PostGres DB File That s all there is to it (8000 lines of code)
Keep it simple How to write your own Analysis Module Needs to be written in C++, your module inherits from a base class Implement those 6 methods (skip the ones you do not need) Init(): called once when you register the module with the Fun4AllServer InitRun(): called before the first event is analyzed and whenever data from a new run is encountered process_event (): called for every event ResetEvent(): called after each event is processed so you can clean up leftovers of this event in your code EndRun(): called at the end of a run End(): Last call before we quit Modules can be chained up. No difference between user and reconstruction modules
ePHENIX Fully developed G4 model, including digitization and reconstruction
More than just pretty event displays Tracking Efficiency Upsilon Reconstruction Hadronic Calorimeter Test Beam Jet Reconstruction EmCal Test Beam Contains all you need to simulate and analyze data NOW EmCal Hadron Rejection Rich PID
Summary Large active user community (PHENIX, sPHENIX, fsPHENIX, ePHENIX) Very active development for s/fs/ePHENIX, many reco/analysis modules readily available Guaranteed to be around and supported until the EIC starts - it will be used for sPHENIX Users are generally happy with its ease of use, no steep learning curve to get started