200 likes | 366 Views
AliRoot survey. P.Hristov 11 / 06/2013. Offline framework. AliRoot in development since 1998 Directly based on ROOT Used since the detector TDR’s for all ALICE studies Few packages to install: ROOT , AliRoot , Geant3, AliEn client
E N D
AliRoot survey P.Hristov 11/06/2013
Offline framework • AliRoot in development since 1998 • Directly based on ROOT • Used since the detector TDR’s for all ALICE studies • Few packages to install: ROOT, AliRoot, Geant3, AliEnclient • Optionally use Geant4 or Fluka instead of Geant3 => additional VMC package • Optionally DATE + AMORE for DA and DQM development • Optionally FASTJET + Boost + CGAL for jet studies • Works onLinux & Mac OS • Integration with DAQ (data recorder) and HLT (same code-base) • Abstract interfaces and “restricted” subset of C++ used for maximum portability • Used for simulation, reconstruction, calibration (detector algorithms), alignment, quality assurance, monitoring, and analysis
AliRoot: some statistics • Total Physical Source Lines of Code (SLOC) = 3,437,986 • C++: 2589313 (75.31%) • Fortran: 818387 (23.80%)
AliRoot: Framework, Detectors & Analysis • Report Period: 1999-05-18 to 2013-06-09 • Total Files: 7826 • Total Lines of Code: 2544289 • Developers with commit rights: 181 Analysis PWG’s reorganization Framework & Detectors
Releases and Analysis Tags • Releases: • Release branches every 6 months • First “stable” tag about two weeks after the creation of a branch • Weekly tags to address the porting requests • Extensive local tests, not always able to detect the problems • Real production quality – at the end of the release lifetime • Many porting requests to solve issues or to provide updated functionality • Analysis tags • Twice a week, sometimes more often • Adopt new Root versions only after a test with the same analysis tags
AliRoot survey: Motivation • AliRoot is a big project with many contributors. A survey provides • Structured feedback • Opportunity for “direct democracy” • Almost immediate responses • Goals for such survey • evaluate the current AliRoot state • identify important issues • search for possible improvements • get ideas for redesign/refactoring • provide input to the CWGs and O2 • update the offline plans
AliRoot survey: preparation • Free and powerful survey tool: www.limesurvey.org • Installed @acid.cern.ch • Several iterations to tune the questions and the survey logics • It took much longer to prepare the survey… • Next time we will try more professional approach
Survey: who are we? • What is the level of your programming experience? • Inexperienced. I have only basic knowledge of C++: 0.74% • Less experienced. I have taken some programming course, but most of my understanding comes from ROOT tutorials. I wrote code/scripts to get results and copy/paste code snippets in order to reuse them: 8.15% • Experienced. I know couple of programming languages well (C++/Fortran). I know what Object Oriented code is. I frequently re-use my own code with minor modifications: 25.93% • Very experienced. I have more than 5 years experience in at least two programming languages (C++/Fortran). I know what Object Oriented code is and how to write it. I have contributed several classes to AliRoot. I profile the CPU and memory consumption of my code: 31.11% • Expert. I am very experienced and I have contributed significantly to the AliRoot framework: 8.15%
Level of your programming experience Very experienced Less experienced Experienced Inexperienced Expert
AliRoot experience and fields of interest • How long have you been using AliRoot? 7.6±4.0 years Other: Trigger Grid Technologies, Distributed Computing
Where do you most commonly use ROOT/AliRoot when performing intensive computing tasks?
Comments on the way to run CPU-intense tasks • Own computer to develop then PROOF/grid to analyze data. I also use batch systems directly for testing / local productions • Would need to tick more than one option: desktop/laptop, batch system, GRID • Simulation on Grid, analysis on SAF... • On my desktop/laptop AND on the GRID • I have been also using a batch system for years for analyses that did not need to access ALICE data (e.g. simulations). I used CAF for analyses that need to run on small data samples • I also use CAF very extensively, but for computing tasks, I prefer the Grid • I am not an AliRoot user
Conclusions from the general section • AliRoot is big project with many experienced developers and users • After 15 years of existence AliRoot is still under active development • The accent moved from framework & detectors to development of analysis code • GRID > local > CAF for computing intensive tasks