ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the...

21
ALICE ANALYSIS EXPERIENCE WITH ROOT ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration

Transcript of ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the...

Page 1: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

ALICE ANALYSIS EXPERIENCE WITH ROOT

ROOT Users Workshop, Saas-Fee, 11-14 March 2013Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration

Page 2: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei 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?

Page 3: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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...

Page 4: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

ALICE analysis experience with ROOT

4

ROOT – THE FOUNDATION OF ALICE SW

SimulationReconstruction

Analysis

Frameworks

CDB

Page 5: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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.

Page 6: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 7: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 8: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 9: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 10: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 11: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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.

Page 12: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 13: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 14: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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 (?)

Page 15: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 16: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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)

Page 17: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 18: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 19: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 20: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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

Page 21: ROOT Users Workshop, Saas-Fee, 11-14 March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.

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