ALICE feedback to the ROOT Program of Work P. Hristov 14/06/2013.

Slides:



Advertisements
Similar presentations
Foundation Level Course
Advertisements

Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
JAS in SDA. My Experience My assignment was to use JAS to read SDA data and make plots. –I used OSDA and OSDAphysics to read SDA data. OSDA and OSDAphysics.
1 ADVANCED MICROSOFT POWERPOINT Lesson 5 – Using Advanced Text Features Microsoft Office 2003: Advanced.
Microsoft Visual Source Safe 6.01 Microsoft Visual Source Safe (MVSS) Presented By: Rachel Espinoza.
XML Technologies XML Basics  What is XML?  Why use XML?  How to write XML? 1XML Technologies David Raponi.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Chapter 2: Exploring the Desktop The Complete Guide to Linux System Administration.
Maintaining and Updating Windows Server 2008
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
WorkPad 4 Quick Start WorkPad 4 Quick Start  Business Optix brings the rigor and discipline of business modelling and design into.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Overview of Mini-Edit and other Tools Access DB Oracle DB You Need to Send Entries From Your Std To the Registry You Need to Get Back Updated Entries From.
Ch 26 & 27 User Interfaces.
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
ROOT Graphics Release planning – June 2006 See also the Graphics Work Package Program of Work on the web.Graphics Work Package Program of Work.
- Circle markers produced by TAsimage: They do not match was is produced on screen. The line width is too thick. Some other markers need to be tune a bit.
-Problem with the Fill Color/Style on PS: 2 problems pending. Need to be fixed soon. Working on it. -Make some “session capture”: To show some “Typical.
Tools and software process for the FLP prototype B. von Haller 9. June 2015 CERN.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Microsoft ® Office Access ™ 2007 Training Choose between Access and Excel ICT Staff Development presents:
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Advanced Level Course. Site Extras Site Extras consist of four categories: Stationeries Site Trash Designs Components.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
Ranjeet Department of Physics & Astrophysics University of Delhi Working with Origin.
1 Lecture 19 Configuration Management Software Engineering.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Learning Web Design: Chapter 4. HTML  Hypertext Markup Language (HTML)  Uses tags to tell the browser the start and end of a certain kind of formatting.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Session 1 SESSION 1 Working with Dreamweaver 8.0.
CHAPTER TEN AUTHORING.
Experiences, limitations and suggested improvements The ALICE DQM Software and ROOT ROOT Users Workshop Barthelemy von Haller & Adriana Telesca for the.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop The Future of THtml Plans and Status of ROOT’s documentation facility.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
Graphing and statistics with Cacti AfNOG 11, Kigali/Rwanda.
“Paper” output Root Graphics Workshop 16/07/2010.
Debugging and Profiling With some help from Software Carpentry resources.
SiD Workshop October 2013, SLACDmitry Onoprienko SiD Workshop SLAC, October 2013 Dmitry Onoprienko SLAC, SCA FreeHEP based software status: Jas 3, WIRED,
Migration from Savannah to JIRA Alina Grigoras A.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
McGraw-Hill Career Education© 2008 by the McGraw-Hill Companies, Inc. All Rights Reserved. Office Excel 2007 Lab 2 Charting Worksheet Data.
MATLAB for Engineers 4E, by Holly Moore. © 2014 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. This material is protected by Copyright.
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.
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
Graphics Work Package ROOT release 5.28 Review Root meeting 11/06/2010.
ROOT Users Workshop, Saas-Fee, March 2013 Andrei Gheata, Jan Fiete Grosse-Oetringhaus for the ALICE Collaboration.
TM Complete Detailing for Concrete & Steelwork Brenden Picton / Paul Hellawell GHD.
THtml rev 2.0 Status and Plans of ROOT’s documentation facility Axel Naumann / Fermilab.
Distributed Logging Facility Castor External Operation Workshop, CERN, November 14th 2006 Dennis Waldron CERN / IT.
A. Gheata, ALICE offline week March 09 Status of the analysis framework.
CERN IT Department CH-1211 Genève 23 Switzerland t ALICE XROOTD news New xrootd bundle release Fixes and caveats A few nice-to-know-better.
Observing the Current System Benefits Can see how the system actually works in practice Can ask people to explain what they are doing – to gain a clear.
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Some topics for discussion 31/03/2016 P. Hristov 1.
Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2, Masaki.
Maintaining and Updating Windows Server 2008 Lesson 8.
2001 ROOT Workshop The Summary. Content Most Requested Request already satisfied Build and Distribution Web Page Information and Documentation.
Analysis Model Zhengyun You University of California Irvine Mu2e Computing Review March 5-6, 2015 Mu2e-doc-5227.
Barthélémy von Haller CERN PH/AID For the ALICE Collaboration The ALICE data quality monitoring system.
Made with OpenOffice.org 1 Beyond the Single Page Steve Oualline OpenOffice Writer.
Power Point Mistakes Contrasting background and text Microsoft Office PowerPoint 2007 enables users to quickly create high-impact, dynamic presentations,
Online Database Work Overview Work needed for OKS database
Working in the Forms Developer Environment
Unit Six: Labels In this unit… Review Adding Text to Maps
Presentation transcript:

ALICE feedback to the ROOT Program of Work P. Hristov 14/06/2013

Outline 2  “Short” time frame considered, no discussion on the Run3 upgrade needs  ROOT 5: general feedback  ROOT 5: specific feedback presented during the ROOT workshop in March  The ALICE DQM Software and ROOT, Barthelemy von Haller & Adriana Telesca  ALICE analysis experience with root, Andrei Gheata & Jan Fiete Grosse-Oetringhaus  ROOT 6: first experience

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, A.Gheata3

ROOT provided key features  C++ database interface  Plugin mechanism  GUI  Macros  XML We could have done the same with a palette of tools, here we got it all at once Quick, kind and effective support Still, anything can always be improved… Experience 11/03/2013 Barthélémy von Haller & Adriana Telesca, ALICE, PH department, CERN 4

ROOT 5: feedback on organization  Stability of the Root tags  We experienced some problems with the latest Root tags that led to an extensive verification procedure with the AliRoot analysis tags built against the current Root version in production and the new tag  Better “synchronization”  Root meetings are usually overlapping with the ALICE software meetings  “Sudden” transition to GIT => changes on the ALICE built servers  Savannah->JIRA: Savannah was redirecting to JIRA but JIRA was not ready… 5

ROOT 5: general support 6  Support for the network file access  We are using xrootd, etc. and we want to be sure that the Root interfaces are always up-to-date  ROOT integration with xrootd v.4 and especially the handling of data buffering  Support for AliEn. We have to be sure that the interface is working correctly  Support for Proof. The stability of the CAF is essential for many analyses  “Recalibration” of rootmarks: the scaling between the rootmarks and hepSPEC was lost last year (2012)

ROOT 5: specific observations and requests 7

Histograms & histogram graphics 8  Histograms hierarchy is wrong  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.  Compatibility issues between different histogram types  Axes are not easy to manipulate  Responsibilities are unclear (histo, pad, axis)  Time-based axes should be far easier to use  Objects ownership, e.g. THStack (main histo is destroyed, not the others)  Improvements in the errors treatment, store statistical & systematic errors  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)

Histograms & histogram graphics 9  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 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, make graphs similar to histograms, points with labels, etc.

Histograms & histogram graphics 10  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. dE/dx plots

Fitting 11  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 Crystal ball function in standard root fitting functions  Currently only included in roofit (?)

2D graphics & GUI 12  GUI: powerful but writing them is tough, error prone and pretty verbose  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

2D graphics & GUI 13  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)

ACLiC 14  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

PROOF 15  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

Miscellaneous 16  Sometimes obscure or inconsistent class interfaces  E.g. TMessage::EnableSchemaEvolution() does actually nothing if not used in conjunction with TSocket  E.g. Zoom is a property of TH1 != draw option and log scale are properties of TPad  Web  View and manipulate ROOT objects like in a TCanvas/GUI  Using ROOT as a simple library (no TApplication)  We want our core files and stack traces

Miscellaneous 17  Support  Too often the answer is « Why don’t you do it this way? » instead of fixing the issue  C++ standard or ROOT standard ?  STL, Boost, Collections and types

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 18

ROOT 6: first experience 19  Compilation is possible after modification of 240 files  Removing #ifdef __CINT__ … #else # error Not for compilation #endif  Problems (may be we need additional options to rootcling)  #pragma link C++ defined_in “header.h” doesn’t work => explicitly list all the classes from the file as pragmas  no access to protected and private nested structures/classes for the building of dictionaries  warnings about non-implemented pragmas, i.e. #pragma link off all methods  data model evolution pragmas commented out, i.e. #pragma read sourceClass="AliHLTTriggerMenuItem" version="[1-3]" targetClass="AliHLTTriggerMenuItem:…  CINT-specific code commented out, i.e. G__lasterror_linenum()  Change in TH1::Intergal(…) interface

ROOT 6: first experience 20  The compilation takes longer than before  It is possible to load macros  It is possible to compile macros  It is possible to exit from the AliRoot session  AliRoot expectedly doesn’t work root [0] TFile * f = TFile::Open(" root") Warning in : no dictionary for class AliRawEventV2 is available Warning in : The StreamerInfo from root does not match existing one (AliRawEventV2:1) The existing one has not been used yet and will be discarded. Reading the file root will work properly, however writing object of type AliRawEventV2 will not work properly. Most likely the version number of the class was not properly updated [See ClassDef(AliRawEventV2,1)]. Fatal: (cl==0 || info==0) && (cl!=0 || info!=0) violated at line 2118 of `/home/phristov/alice/root/io/io/src/TStreamerInfo.cxx' aborting  Work on the dictionaries is needed…

Code name « redemption » 1. No major new features 2. Fix the (base) classes inheritance and interfaces o Hopefully it can even be backward compatible 3. Make ROOT web friendly 4. Make ROOT looks nice o GUI and graphics need a modern look and feel o Simplify GUI programming while you are at it Prepare ROOT for the next 20 years and protect future users from mistakes made 20 years ago. My ideal ROOT 7 11/03/2013 Barthélémy von Haller & Adriana Telesca, ALICE, PH department, CERN 21