----------------------------------------------------------------------- Minutes of MICAC reco framework subcommittee meeting - 17th Jan 2006 ----------------------------------------------------------------------- Attendees: Nathaniel, Robert, Sue, Jon, Sergei, Caius, George, Chris Absent: Rustem, Brett, Jim http://www.hep.ucl.ac.uk/~cbs/Talks/Reco/NewFramework/MICAC_Subcommittee_Meetings.html Agenda: 1) ROOT team feedback - Sergei http://home.fnal.gov/%7Eavva/minos/software/RootIO.pdf 2) TClonesArray vs STL - Sue http://www.hep.umn.edu/%7Eschubert/recotest/ 3) How do we converge on making a decision to work on this - All ------------------------------------------------------------------ 1) Sergei presented Phillipe's tests of I/O with the new candidates. In summary, the I/O speed was as Phillipe expected and led Sergei to conclude that the things that give us flexibility (e.g. base class pointers, inheritance) slow down the I/O. The fastest data structures to I/O are vectors of concrete objects. A number of possibilites for speeding up I/O were then suggested: - Remove CandDigits and record them as concrete objects in vectors - Rewrite the record structure to have fewer smaller objects and more larger ones - Decouple the data structure into two layers. A persistent layer of concrete objects and a second layer which constructs the handles. The last solution is the best, but requires significant changes to the proposed framework. 2) Sue presented an I/O comparison using records containing digits and strips. She showed that reading a data structure containing a vector of handles was slower than reading one with a TClonesArray of objects plus reference arrays for rebuilding the handles. The speed up with TClonesArray comes about because memory can be allocated once and reused. The rebuilding of the handles was also shown to be a small fraction of the total read time. Nathaniel asked that the tests be repeated with vector rather than vector. 3) Chris gave impressions from Collab meeting: People would be happy to work on a fully functional new framework to re-code an algorithm for example. However, the basics of the framework would have to be in place, and that would probably have to come from this group. Generally collaborators were concerned that the ntuples would still be available. Sergei announced that Minerva had decided not use ROOT for it's software framework. Instead they have chosen GAUDI. Sergei's work on the new framework will therefore not be continued in his Minerva role. Summary: ------- - Sue will continue to perform speed tests with vectors and TClonesArrays. - Given the results of the I/O tests with the current framework and the pseudo-loss of Sergei as a driving developmental force, the committee are asked to think about viable alternatives to the current proposal. Furthermore, at this stage it may be reasonable to consider the restructuring of the candidate framework and the I/O model as more-or-less independent problems.