ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the...
-
Upload
tamsyn-webster -
Category
Documents
-
view
214 -
download
0
Transcript of ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the...
ALICE ANALYSIS EXPERIENCE WITH ROOT
ROOT Users Workshop, Saas-Fee, 11-14 March 2013Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration
ALICE analysis experience with ROOT
2
OUTLINE
ROOT – baseline for ALICE software The path to analyzing ALICE data Analysis ‘habits’ and practice User requests User requests User requests ROOT6 – a challenge?
ALICE analysis experience with ROOT
3
ROOT – THE FOUNDATION OF ALICE SW ALICE adopted ROOT as baseline since 1998
Birth of AliRoot – the offline framework Using from the beginning the most important
ROOT features persistency model, reflection, containers, ...
Contributing to ROOT development in many areas
Geometry, 3D graphics, event display, VMC
ALICE analysis users were "born" with ROOT ROOT is today a tool for their daily work and is
expected to just work...
ALICE analysis experience with ROOT
4
ROOT – THE FOUNDATION OF ALICE SW
SimulationReconstruction
Analysis
Frameworks
CDB
ALICE analysis experience with ROOT
5
ALICE USER PATH TO ANALYSIS
Write my analysis as a task processing one event at a time (event mixing is a special case)
Using documented examples Processing stages well formalized according to the TSelector model
Configure an analysis manager object, choosing the appropriate data handler (ESD, AOD, MC)
Describing with a simple macro the libraries to be loaded or files to be compiled run-time
Optionally configuring with simple setters a plug-in handling distributed analysis Describing in the form of a chain the data to be processed (set of files or full
productions) Run the analysis steering macro: this will run locally or deploy the
analysis Specifying the backend (LOCAL, PROOF, GRID)
Merging the results is either automatic (PROOF) or triggered by a second run of the steering macro in what we call "terminate" mode.
ALICE analysis experience with ROOT
6
ALICE USER PATH TO ANALYSIS
Once my analysis task is validated on limited amount of data, request inclusion in a "production train" Just fill a simple text-based description of my module via a
web form, requesting input datasets The train operator (one per PWG) will validate my module
which will be fist thoroughly tested (memory and CPU-wise)
Trains for each PWG run twice a week Following AliRoot analysis tags
Get the merged result for a full production in ~1-2 days average
ALICE analysis experience with ROOT
7
EVENT MIXING
Very much used procedure in analysis suffering from combinatorial background (e.g. π0→γγ)
Requires combining tracks from events which are alike (in multiplicity or some other topology)
We support 2 models: In-memory mixing, using some customized buffer of
events and mixing among them Custom event handler accessing 2 events at the same
time (possibly selecting on meta-data and removing limitations given by buffers)
ROOT has no support yet for this kind of event access
ALICE analysis experience with ROOT
8
ALICE USER PATH TO ANALYSIS
Generally users are very positive about the functionality offered by ROOT and the analysis framework• Very good productivity (all data processed 5 times), ½
weeks turnaround cycle, ~100% success rate
~40 trains
~20000 jobs p
er tra
in
~ 3000 jobs r
unning in avera
ge at any given
time la
st year
Between 10 and 100 w
agons
~ 15-20% of u
sed re
sourc
es for o
rganize
d
analysis
ALICE analysis experience with ROOT
9
The slides in this section contain the results of a poll made among ALICE analysis users. These are their opinions and suggestions for small improvements in many cases, which may not be so much gratifying for
the developer, but for their daily work would represent a big help…
USER REQUESTS
ALICE analysis experience with ROOT
10
HISTOGRAMS & HISTOGRAM GRAPHICS Improvements in the errors treatment
Store statistical & systematics Styles editable, handle drawing of multiple histograms Allow editing drawing order Allow scaling the statistical uncertainties (how the plot will look at different
statistics) Allow resetting errors or scaling with arbitrary function (different than the
scaling of the histogram)
Histogram “groups” Uniform graphics style for the components Apply changes to all with a single operation, even if plotted in
different pads Correct re-scaling for fonts in labels, legends, axes for “connected”
histograms in adjacent pads. Now different scaling needed to preserve aspect ratio and one wrong
mouse move can spoil one hour of work
ALICE analysis experience with ROOT
11
HISTOGRAMS & HISTOGRAM GRAPHICS TPaveStats: possibility to display only fit info, w/o any item of
the stats (now at least one has to be kept) Possibility to compare histograms with different binning Possibility to scale/divide/shift graphs
For division: automatic extrapolation between points with different possibilities (linear, spline etc)
Fix other discrepancies between graphs and histograms (like bin numbering, conversion graph->histogram, …)
For graphs, could points have a label besides X/Y? Many purpose usage, from graphics to meta-data
Compatibility issues between different histogram types TH2, TH3 inherit from TH1, but not THn, why not a base class?
One cannot write a general function applying to TH1 and THn without specializing it.
ALICE analysis experience with ROOT
12
HISTOGRAMS & HISTOGRAM GRAPHICS There are still many nice features out there
worth looking at and integrating in ROOT e.g pgfplots, very easy to integrate with LaTeX
Provide additional exchange histogram formats Some people using features from other applications
like: matlab/gnuplot/pgfplots/origin/etc) Add support for color scatter plots (i.e.
combination of COLZ & SCAT), for e.g. dEdx plots
ALICE analysis experience with ROOT
13
HISTOGRAMS & HISTOGRAM GRAPHICS There are still many nice features out there
worth looking at and integrating in ROOT e.g pgfplots, very easy to integrate with LaTeX
Provide additional exchange histogram formats Some people using features from other applications
like: matlab/gnuplot/pgfplots/origin/etc) Add support for color scatter plots (i.e.
combination of COLZ & SCAT), for e.g. dEdx plots
ALICE analysis experience with ROOT
14
FITTING
Sometimes root doesn't find a simple fit “I think it is a general remark that root should move to the best
known fitting procedure which there is and not even grant the option anymore to use any obsolete ones”
The old fit panel is really obsolete
Integral/IntegralError for fits are rarely calculated properly and not even an error is given if the IntegralError is 0 although the errors on the function itself are large
Include Crystalball function in standard root fitting functions Currently only included in roofit (?)
ALICE analysis experience with ROOT
15
2D GRAPHICS & GUI
Improvements for legends Changing the line and marker of a given entry Allow blank lines for comments Change the order with the mouse (reflected in the
drawing order of histograms) Pre-fill existing content in the editor
Add more shapes like TEllipse, TDiamond + possibility to rotate them
Markers More marker styles, complete the set empty/filled, user
defined Version with black outline and colored content
ALICE analysis experience with ROOT
16
2D GRAPHICS & GUI
Add some templates for styles Possibility to change the margins of a canvas interactively Possibility to embed vectorized graphics (e.g. eps) in a
canvas without losing the vectorization properties (e.g. ALICE logo) as a default operation handled by ROOT
Possibility to undo most operations I.e. recording the changes done by the last operations which are
revertible TCanvas::SaveAs
Possibility to save the text content in a separate tex file so that the style can be adapted by TeX/LaTeX (a la gnuplot)
SaveAs/Load also for histogram graphics (a la copy/paste via the clipboard)
ALICE analysis experience with ROOT
17
ACLIC
Extend ACLiC functionality to handle multiple files, controlled by a meta-file information (like a simplified Makefile) Typically a single hierarchical level is
enough This would allow automatic support for
PAR-like libraries
ALICE analysis experience with ROOT
18
PROOF
How to better address scalability and stability issues in many-user environment? All worked well when we had 24/7 operator
and few users, not the case now. People are in need of a fast-response
system with fast-track queues for their tests … which are not so simple anymore and may
involve several input/output files
ALICE analysis experience with ROOT
19
MISCELLANEOUS
Merging of THnSparse can blow memory Is it possible to have a better-optimized memory usage
pattern for them? Need for a database-like data structure that can be
easily updated Like a tree allowing easy addition of branches or editing
existing ones Could a task-based analysis model (like the core of our
analysis framework) be supported in ROOT? Including generic data containers and examples Specially useful in case of PROOF analysis, but not only Would allow generalizing the selector-based event loop
analysis in an experiment-independent way
ALICE analysis experience with ROOT
20
ROOT 6 – A CHALLENGE?
ALICE was always a pioneer in testing at large scale the most recent ROOT releases, or even the trunk In a production environment this becomes more and
more hard to do… ROOT 5 will still be used for some time
We need the stability of ROOT 5, but also some of the new features that will be requested/implemented Depending on the migration efforts, we would need a
development branch with well controlled and tested releases still kept in ROOT 5 for a while
ALICE analysis experience with ROOT
21
CONCLUSIONS
ROOT was a path of success for ALICE ALICE analysis users quite happy overall, they can certainly
do their work using the provided tools Small glitches in graphics, users will be happy if
addressed We are in a stage of producing paper-quality figures
Many users – many requests Certainly not everyone expressed their opinions or wishes in
our small inquiry Some subjects (I/O, trees, performance) were barely or not at
all touched Few concerns related to the migration to ROOT 6
Timeline not known, implications worrying