# Presentation: 359185

## Physics Applications Project Status February 2007

- Physics C++ Applications
- C++ Language Support
- ROOT
*(Products Support)*

## Agenda

- Physics C++ Applications
- 20 min
- C++ Language Support
- 15 min
- Root
- 10 min
- Product Support
- 10 min

## Administrative Project Documents

- Latest Quarterly Status Reports
- In DocDB:_[https://cd-docdb.fnal.gov:440/cgibin/ShowDocument?docid=1983](https://cd-docdb.fnal.gov:440/cgibin/ShowDocument?docid=1983)_
- C++ Language Support      (Jan 12, 2007)
- Physics C++ Applications   (Jan 12, 2007)
- Entries on _[Activities Information Page](http://wwwserver2.fnal.gov/cfdocs/project_services/index.cfm)_
- with Project Definition links
- ROOT
- C++ Language  (new)
*Physics C++ Applications *(new)
- New Physics Applications central project page
- Older contents on CEPA pages should be brought up to date

## Physics C++ Applications

- Project Definition
- Newly on the Activities page, but not actually a new project definition
- Description
- Provide and support high-quality libraries and applications as part of a core of common applications for multiple HEP experiments and developer groups. Specific areas include:
- Implementation of the new standard randoms library.
- The HepPDT/HepMC/StdHep suite.
- The ZOOM and CLHEP softare libraries.
- The GenVector package in the LCG libraries.
- The Phystat statistical software repository.

## Physics C++ Applications

- Stakeholders:
- code developers among FNAL staff
- FNAL users and in the non-FNAL HEP community.
- Experiments and projects which have chosen to depend on specific applications
-  Applications developers
- Deliverables
- J16-compliant implementation of random package submitted for Boost (and thus also made available for HEP applications). (February 07)
- Operative Phystat statistical software repository.

## Physics C++ Applications

- Random Package
- Implementation and validation for the Random package are completed
- Push to get the documentation in place to submit this to Boost reasonably soon
- Obtained assistance with Boosts changed build system in January
- Phystat Repository
- Has experienced significant birthing pains due to the choice of Plone
- Apparently only one person has the expertise to make sensible enhancements.
- Progressing slowly
- We are seeing a level of hits on the site which is higher than our pessimistic expectations.
- The chairman of the steering committee has expressed intention to encourage the experts to contribute their packages so as to make this site more useful.
- We need to match this with keeping up improvements in the mechanical aspects.

## Physics C++ Applications

- HepMC and HepPDT
- Finding good acceptance on the CERN end and in Monte Carlo generators including Pythia and thePeg.  The “HepMC suite” are in the “completed but under very active Enhancement” phase of the product cycle.
- Libraries
- A few flaws in CLHEP were fixed,
- including one that was easy to fix because related code had been developed for the implementation of the J16 randoms standard
- Largely, CLHEP, ZOOM, and GenVector efforts have been very minimal.

## Physics C++ Applications

- Effort Level
- 1.4 FTE this quarter.
- Fair agreement with the 1.35 FTE allotted in the submitted budget numbers
- serious variance against the nominal 0.00 indicated as allocated in the Crystal Reports.  I assume the Crystal Reports number is not yet accurate.
- Monetary expenses for this activity have been nil this quarter.
- We anticipate needing to send people to the Boost conference in the Spring to keep up expertise.

## Physics C++ Applications

- Outlook
- Completion of reference Random library
- Final legwork for Boost acceptance
- Making sure CERN-based experiments have a way to use this cleanly
- HEP-specific add-ons to Random package
- All distributions and engines in CLHEP
- Next major area: Boost expertise
- Goal is to be able to smooth use of Boost packages when/where they will help HEP efforts
-  Phystat – A critical time
- But results are dictated mainly by steering-committee drumming up contributed material
- Not a lot of effort unless site problems occur
- Very little work on new code development or libraries

## Physics C++ Applications

- Biggest anticipated issue:
- Acquiring Boost expertise will best be accomplished by travel to the Boost workshop
- Aspen, in May
- Ideally 3-4 people should attend to become better versed in Boost packages
- We will give a presentation on Random, but this is not the primary reason for being there

## C++ Language Support

- Project Definition
- Newly on the Activities page, but not actually a new project definition
- Description
- Provide a core of high-level C++ expertise, and to use that talent to assist ongoing and future HEP activities.
- Specific areas include:
- Represent FNAL and HEP interests in the evolution of C++ by participation on the J16 C++ Standards committee
- Preparation and delivery of courses and selected topics on C++ programming and related issues
- Creation and integration of C++-specific tools and capabilities, in areas such as profiling
- Introduction and advocacy for HEP community use of top-quality non-HEP-originated code libraries and packages, e.g., the Boost libraries

## C++ Language Support

- Stakeholders:
- Code Developers among FNAL staff and users.
- Future C++ code developers in HEP and other scientific areas.
- FNAL representatives to the J16 C++ Standards committee (currently W. Brown and M. Paterno)
- Deliverables
- Attendance of J16 meetings and contributions (of interest to HEP) to the next C++ standard.
- Presentation of Accelerated C++ course (summer).
- Creation, coordination and presentation of mini-courses in the Selected Topics in Computer Programming Series
- These are not tied exclusively to the C++ language.
- Attendance and presentation of one or more items at the Boost workshop (May 2007)

## C++ Language Support

- Fall J16 meeting in Oregon
- Markedly successful.  Our careful responses to the comments of the specialized/expert world of random number gurus, elicited by submission of the “final” proposal for the standard random library, were incorporated without exception into the actually final proposal.
- We are hosting a working group meeting of the C++ Libraries committee January 22-24.
- This is a genuine work time, needed to advance the state of polish of the proposed standard.
- There will be a second such meeting this year (Toronto, February), which we will probably not be able to attend.
- That will not hurt our influence over what is in the standard, since we will have been “pulling our weight” at the meeting here.

## C++ Language Support

- Selected Topics in Computer programming
- A new series of mini-courses
- Somewhat expert level, but focused on areas which are of key importance to the most critical code developers for the experiments.
- A list appears on the newly constructed Physics Applications web page.
- Profiler tools are being put to use in the context of Geant4 studies.

## C++ Language Support

- Effort Level
- 1.0 FTE this quarter.
- A bit less than the 1.15 FTE allotted in the submitted budget numbers
- Actually, significantly less since the effort for developing new courses (.50 FTE) has started.
- Upward fluctuation during the library working group meeting will bring this closer to nominal
- Monetary expenses for this activity include the trip to J16 in Oregon
- We need to send one person (per agreement) to the Oxford J16 this Spring – should be W. Brown
- Combining it with a presentation at Oxford ACCU
- There is going to be one extra meeting this year, in Toronto in July
- We should be able to send a representative

## C++ Language Support

- Outlook
- C++ standard is going to include many of the points critical to HEP
- Certain areas still need serious attention
- Special Topics in Computer Programming series development will be a major area

## C++ Language Support

- Biggest anticipated issues:
- The C++ Standards Committee is adding  meetings and workshops
- To polish the final proposed standard
- Library workshop
- Was held here in January
- Successful – many issues taken care of
- Concepts workshop in February
- We don’t need to attend that
- Extra full committee meeting Toronto (July)
- We should participate, but how?
- The Fall meeting is Sept 29 (FY07)
- Meaning that one extra meeting falls into the tightest fiscal year
- But the budget resolution would be in FY08...

## ROOT (short) STATUSJanuary 2007

- Paul Russo
- Philippe Canal

## Released Versions

- ROOT is continuing to evolve rapidly:
- 			5.10/00 March 2, 2005. (Production Release)		5.11/02 April 19, 2006.
- 			5.12/00 July 15, 2006. (Production Release)
- 			5.14/00 Dec 15, 2006. (Production Release)
- Special Notes:
- LCG SEAL and ROOT teams merged.
- ROOT license is now ***LGPL***.
- Current focus of the Fermi ROOT team is the revamping on CINT (see last slide).

- 2006

## 5.14/00 Features

**New tutorials directory structure**
- A few CINT bug fixes.  Upload of alpha version of CINT 7
- An interface to a new package, UNU.RAN, (Universal Non Uniform Random number generator for generating non uniform pseudo-random numbers)
- A new package **spectrum** is introduced with its own library **libSpectrum**. The classes **TSpectrum** and **TSpectrum2** previously in libHist have been moved to this new library.
- Added ‘connector’ with GDML
- Numerous improvements in the following package/area
- GUI.
- Graph and histograms
- I/O and TTrees
- PROOF
- Geometry
- OpenGL
- Reflex/Cintex
- MathCore and MathMore
- SQL, XML support
- See http://root.cern.ch/root/Version514.news.html for complete list.
- Last but not least: a new version of the Users Guide

## Next Releases

- The next production release (will be version 5.16) is planned for June 07.
- The current development version will be 5.15/01.
- first development release end of February (5.15/02)
- Another one around the ROOT Workshop, March 07 (5.15/04)
- possibly a 3rd one before the pro release.

## Ongoing work

- The following are re-scheduled for later to allow for more aggressive schedule for CINT improvement
- Thread-safety of ROOT I/O (Fermi)
- Enable Improvement on operator new and remove memory leak in TTree TBranchElement (FERMI)
- The work is done and needed further testing and detailed walk through by ROOT team.
- Proof development (CERN)
- Robustness, Packetize, Resource Scheduling, I/O performance, Session management
- GUI and Graphics (CERN)
- long list of things ...
- See the last ROOT team meeting for the gory details
- Also in this ROOT team meeting, is a long term view of what improvement/direction ROOT is going.

## Products Support

- Several commercial products used to be actively supported in the PAT days
- TOSCA/Opera2D/Opera3D (AD)
- Purify
- Insure
- Totalview (fairly large user body)
- Today, we are providing cursory support
- License purchase and mechanics
- Upgrades and information
- These products are not a designated product or activity

## Products Support

- Currently, the support for these products is done on a legacy basis
- IDS group, as “successors” of the PAT Visualization group!
- David Sachs and Mark Fischler
- Not all that much time and effort is absorbed
- But at times, for example when moves to new Linux versions invalidated licensing, they require attention
- TOSCA was moved to using dongles on PCs to minimize the administrative attention needed

## Products Support

- Problems with that arrangement:
- No basis for deciding whether to continue a given product
- Each costs about $10K per year
- Should some of these be discontinued or changed ?
- Would it be right to institute chargebacks ?
- No actual person, group or activity vested with the authority or responsibility for making those decisions
- Group leader has been routinely authorizing renewals and putting the costs in each year’s budget
- Any non-trivial support needs may be under an unsuitable structure
- Example – Distribution of the TOSCA dongles
- probably should be done via helpdesk, but...
- helpdesk has never been given this responsibility

## Products Support

- It looks like the way to resolve these problems is on the table:
- Bob Bernstein looked at the issue of whether chargeback is sensible
- And he did have the authority/responsibility
- Decision on the answer for each product has not been made yet.
- The CD financial people will provide a means of deciding whether to discontinue a product
- David Sachs has provided some usage info
- We are taking a conservative position (continuing each product) until any decision is made
- We will at some point transfer the distribution of TOSCA/OPERA dongles to helpdesk
- It was agreed that keeping them in ADS/IDS is not right

## Products Support

- Is Resolution of these problems imminent?
- Bob Bernstein had agreed to take on certain decisions, but he is gone from his role now
- The policy guidelines were never put in writing (or bits)
- And Bob’s statement that “I will take over this responsibility” is nebulous now.
- The transfer of TOSCA to the helpdesk is not a sure thing
- We had prepared for this more than a year ago
- The helpdesk always had more pressing items than accepting the transfer of know-how