INTRODUCTION:
Goals of committee: deliver a recommendation to the Run II Computing Steering Committee for a package to support physics analysis needs for Run II.
Survey revealed that the collaborations, while not having a near term need for very highperformance or complete functionality, do want to have a decision made very soon so they can begin the transition away from existing packages (PAW) and not have to make any additional transitions during run II. Thus, they are asking for a product that is available now with most features, will satisfy the full set of functional requirements soon, and will be guaranteed to be supported throughout run II.
Discarded PAW (no support, doesn’t run on 64 bit systems) and LHC++ (maturity, portability)
Concentrated on ROOT, NIRVANA, and commercial/shareware packages, typified by MATLAB and IDL as commercial products and OCTAVE as shareware
Objective statements about candidate products
ROOT:
1) ROOT is a complete, full-featured package that meets the functional requirements
2) There are some trivial unacceptable features (use of CMZ, lack of build scripts) which should not be a stumbling block, but will require a formal collaboration with the ROOT team
3) There is a large, world-wide user base, but so far limited use for serious HEP analysis
4) ROOT can cope with the CDF and D0 data models
5) ROOT has an effective internal data format well matched to HEP needs
6) The present version of CINT is a potential serious drawback (buggy, undocumented, limited C++ features, hard to support, poorly engineered). This will require a decision to enhance/upgrade/replace, which would require significant work.
7) the user interface is not very friendly
8) The interconnectedness of the various modules is substantial. External modules must conform to (ROOT specific non-standard) ROOT protocols to be functional.
9) The package is not highly engineered (ie, it has grown organically rather than been designed). The current implementation reflects this evolution, for example, it has not kept up with the C++ language standard (has its own container classes, etc.) Even beyond CINT, the product has many bugs.
10) It will require some relatively straightforward customization to support casual users
11) There is an active and responsive support team with good archives and an active mailing list
NIRVANA:
1) NIRVANA could become the core of a full package that meets the functional requirements, but itis not there yet.
2) It has excellent plotting facilities and GUI.
3) It is a well engineered package, highly modular.
4) The proposed full featured NIRVANA adopts a sound strategy of relying on standards and distinct components each with their own support (like PYTHON)
to
provide plug-and-play capability
5) We would have complete control of NIRVANA development
6) There is no large user community for existing components, and only limited use outside FNAL
7) A minimum of 6-12 months would be required to include the scripting language, overall framework and HEP specific features
8) There will be no extensive experience with the full version of NIRVANA before the start of run II.
COMMERCIAL PRODUCTS:
1) licensing costs are unclear, especially for university collaborators
2) dealing efficiently with very large data files is not yet demonstrated
3) not optimized for HEP style analysis (concentrates on unbinned rather than binned distributions, doesn’t support histograms as dynamic objects as needed for online use
4) many attractive features, quickly getting much closer to our style of analysis: very nice scripting languages, good interfaces to FORTRAN and
C++, excellent visualization, data models that support user defined structures, highly portable, etc.
SHAREWARE:
1) Octave typically lags one release behind the commercial alternative. This can be a problem since needed features may only be in the most recent commercial releases
2) Octave does not support Matlab visualization, but instead rfelies on the gnuplot package which is totally inadequate.
CONCLUSIONS:
Either ROOT or Nirvana could meet the functional and support requirements
ROOT would require a dedicated team of three people, up to at least the beginning or run II, for maintenance and support, especially for CINT improvement/replacement and GUI upgrades (see Rob Kennedy’s slides in appendix 1) and to incorporate NIRVANA like visualization capabilities. The support load might ease somewhat after the start of Run II.
Adoption of ROOT would be contingent on forging an effective collaboration with the ROOT team. The collaborative agreement must explicitly specify, at a minimum, the decision making procedures for the future direction of ROOT, plans for the future of CINT, future support committments, and any intellectual property issues associated with ROOT.
NIRVANA would require a dedicated team of three people for the next 12 months to add features not currently supported (see Phillippe Canal’s proposed plan in appendix 2). The support load would probably ease somewhat at that point.
the major differences between ROOT and NIRVANA are:
ROOT exists now and is immediately usable, if buggy; NIRVANA supports certain styles of analysis well already but would not offer full PAW like functionality for some time
ROOT has a larger current user base and better possibilities to leverage off of outside support
NIRVANA would be under our complete control
NIRVANA is better engineered and would likely require less support in the long term (but we would need to supply all support locally)
NIRVANA offers better possibilities of easily integrating 3rd party products
Commercial products, while improving rapidly, are not close enough to our traditional styles of analysis to be exclusively adopted today (although they may very well be completely acceptable by the beginning of RUN II)
RECOMMENDATIONS FOR RUN II:
We recommend that ROOT be adopted as the standard physics analysis package for Run II, contingent on a collaborative agreement with the ROOT team. It should be recognized that this recommendation depends critically on timing and on sharing development with outside collaborators, and the steering committee should assess the validity of these assumptions in evaluating the recommendation. In particular, if the requirement for an immediate choice is being driven by on-line needs (which may not require the full functionality of an off-line analysis package immediately), it needs to be determined if the components of NIRVANA that already exist are adequate for the immediate needs.
LONG-TERM RECOMMENDATIONS:
It is highly likely that by the end of RUN II (or by the time of the LHC) that commercial components will be heavily used for analysis tasks. Commercial offerings should continue to be investigated and made available (perhaps on limited platforms). The Computing Division should also initiate formal collaboration with the LHC++ project so as to have some influence on the choices made and direction taken. These two initiatives, while lower priority than the immediate ROOT support and development needs, should position us to take full advantage of expected evolution of these products.
------- End of Forwarded Message