ROOT Review planning

→ Europe/Zurich
32/1-A24 (CERN)

32/1-A24

CERN

40
Show room on map
Danilo Piparo (CERN), Fons Rademakers (CERN)
Root Planning Meeting 31-7-2013

Present: Bertrand, Danilo, Valeri, Peter, Crtistina, Marco, Bill (R),
Philippe (R), Paul (R)

ACTIONS:
o Marco-Valeri: follow up with Sebastien the integration of the new
Gaudi plugin service in Athena (Marco on holiday starting next week)
o Danilo: follow up the lcg Gaudi build with root6 especially during
Marco's vacation
o Peter: provide a standalone example to reproduce the issue with
pragmas for schema evolution.

News (Danilo)
o Fons, Benedikt and Axel on holiday, Vassil back today from vacation
o Bertrand: working on the settings of the optimisation level of the jit,
verified that clang compiles on Win with VS2010 although problems with
stl are still there.
o Paul: working on the interface of callfunc in collaboration with
Philippe
o Philippe: add to the old genreflex the switch relative to pcms present
in the root6 version. The switch has no effect but it's a step towards
the transparent replacement of root5 with root6 in the experiments' build
systems. Fixed the file format for classes whih have a custom collection
proxy (Atlas). This is not root6 specific, but had to be tackled first.
o Cristina: Upgraded infrastructure for supporting nested enums, polishing
the interface in collaboration with Philippe.
o Danilo: made genreflex available in root6. The executable has the same
look and feel of the root5 genreflex. All the functionalities relative to
the selection rules are not there, but this can be tried out by the
experiments to challenge their build systems.

Status of Plugin Manager Migration
o Marco: backward compatibility of the boost/reflex-free solution reached
full LHCb software stack compiled with new Gaudi plugin service, created
branch with the new service: useful for Atlas.
o Marco+Valeri: one usecase in Atlas is not covered presently out of the
box. Atlas decided not to use the Gaudi macros (now modified to leverage
the new plugin system) but an extension of those in order to accomodate
some metadata linked to the factories. It is not very difficult to add
this to the new reflex-free implementation.
o Marco: given that now the two missing pieces to try out root6 with LHCb
are ~there (plugin service and genreflex, although not yet 100% functional)
an lcg nightly was setup together with Victor with the trunk of ROOT and
the reflex-free Gaudi branch.
o Marco: a reminder for future work. While RELAX will not be needed anymore,
we will need some continuity during the migration to root6. The build
patterns rely on the presence of some files related to this product and we
have to find a way to make it work.

ATLAS
o Valeri: in Athena Reflex is used for two reasons: the creation of plugins
(as in Gaudi, by construction) and for (de)serialisations in the conversion
service, to swich between transient and persistent representation of objects
and viceversa.
These two aspects that can be tackled separately (concurrently).
Valeri implemented a solution for the latter case, while Sebastien worked on
the plugin service.
Valeri introduced two classes to replace Reflex::type and Reflex::Object::invoke.
One of the issues was that ROOT did not provide a way to replace the latter
construct which allows to call a method of an object using its name and a vector
of void* for the arguments. Indeed it was not possible to pass a collection of
void*. This will done with a new TMethodCall signature (Philippe is in the loop
and had an exchange with Valeri already).

ALICE
o Peter: there was a discrepancy in the reconstruction using root6 and root5.
More specifically, a difference in kshort mass and the number of tracks refitted
back to the inner tracker. Andrei and al found a bug in the geometry (TGeoXtru):
the new version was committed only in Root6 at the time and by now it also
propagated to 5.34.09. There is a partial fix, but some pathological cases are
still there. Good news is that: 1) work is ongoing to fix also the corners of the
phase space, 2) root6 has nothing to do with it.
o Philippe: Alice did not move away from 5.34.08 so they did not see initially the
bug there. Unfortunately a migration would be needed for a minor bug found in the IO,
which is linked to split stl collections in branches whose name contains at least twice
the same substring.
o Peter: about schema evolution pragmas. Alice has some very wrong pragmas for the
schema evolution. There is some mess from alice side (a plain mistake, already spotted and
fixable), but even when everything is correct macro, there are problems.

LHCb
o Marco: nothing left after the discussion about plugin manager and nightlies.

CMS
o Bill: all the progress was made by Paul. Working on the function call interface.
Some residual issues with pointer and references returned. These are easy to fix (1-2
days to implement).
Some prioritisation of tasks was given: TEnum is important, property list less.
o Danilo: are there plans of root6 testing? Bill: the work being done aims to remove
reflex from the CMSSW framework using root5. The management of CMS is the one that
will decide what to do with root6.
There are minutes attached to this event. Show them.
    • 16:00 → 16:05
      Minutes of Last Week 5m
      Speaker: Danilo Piparo (CERN)
      Slides
    • 16:05 → 16:10
      Progress made by the ROOT team 5m
      Speaker: Danilo Piparo (CERN)
      Slides
    • 16:10 → 16:15
      Status of the plugin manager migration 5m
    • 16:15 → 16:25
      ATLAS 10m
      Speaker: Dr Valeri Emil Fine (Brookhaven National Laboratory (US))
      Slides
    • 16:25 → 16:35
      ALICE 10m
      Speaker: Peter Hristov (CERN)
    • 16:35 → 16:45
      LHCb 10m
      Speaker: Marco Clemencic (CERN)
    • 16:45 → 16:55
      CMS 10m
      Speaker: Dr William Tanenbaum (Fermi National Accelerator Lab. (US))