aliroot survey p.hristov 11/06/2013. offline framework aliroot in development since 1998 directly...
TRANSCRIPT
AliRoot survey
P.Hristov
11/06/2013
2
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 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 on Linux & 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
3
AliRoot: some statistics Total Physical Source Lines of Code (SLOC) =
3,437,986 C++: 2589313 (75.31%) Fortran: 818387 (23.80%)
4
5
6
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
Framework & Detectors
Analysis
PWG’s reorganization
7
AliRoot: some statistics
8
9
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
10
v5-03-Release: porting requests
11
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
12
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
13
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%
14
Level of your programming experienceIn
experi
ence
d
Less
experi
ence
d
Experi
ence
d
Very
experi
ence
d
Expert
15
Familiarity with C++
16
Familiarity with Root
17
AliRoot experience and fields of interest How long have you been using AliRoot?
7.6±4.0 years
Other: TriggerGrid Technologies, Distributed Computing
18
Where do you most commonly use ROOT/AliRoot when performing intensive computing tasks?
19
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
20
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