Innovative Software Algorithms and Tools Parallel Sessions Summary

Irwin Gaines

Fermi National Accelerator Laboratory, P.O .Box 500, Batavia, IL 60510

**Abstract.** A variety of results were presented in the poster and 5
parallel sessions of the Innovative Software, Algorithms and Tools
(ISAT) sessions. I will briefly summarize these presentations and
attempt to identify some unifying trends.

# Introduction {#introduction .INTRODUCTION}

An exciting thread running through many of these presentations is the
quiet revolution of enabling technologies. New programming languages
(C++ and Java), programming methodologies (object orientation), GUIs,
open source techniques, and Grid technologies are being more and more
widely used and are enabling better science. Most of the presentations
emphasized the innovations that resulted from creative use of these new
tools and technologies, and so rather than seeing religious wars about
the technology choice, discussions focused on effective use of a variety
of techniques, resulting in very productive sessions.

# Presentations

I have divided the presentations up into several broad categories for
discussion. In all cases the reader is referred to the full writeups of
each talk for more details.

## Accelerators and Control Systems

Four papers discussed applications involving accelerator (and
experiment) control systems. Two papers from Fermilab presented, first,
the online modeling of the Fermilab accelerator using accurate beam
physics computation classes, integrated into the control system with
database lookup for device information. Class libraries are provided for
Lie Algebra and Automatic Differentiation, and a beamline library for
lattice construction and hierarchy and analysis. The use of Object
Oriented C++ was stressed. Examples were given of an online comparison
between a model of the Main Injector 8 GeV line and the readings form
the beam position monitors.

A second Fermilab talk discussed an offline beamline matching
application based on open source software, including many of the same
class libraries described in the previous talk, but with lots of
additional functionality not available online due to the limited online
user interface. The system is designed to provide graphical feedback,
with full user specification of all aspects of the beamline element
matching problem, adaptable for special needs, and running on both Unix
and Windows platforms. The work benefited both from the use of C++ and
from an open source philosophy making it easier to share code.

Another talk in this area described a runtime tailorable architecture
used in the KEK control system, wit an authoring interface for
developers and component based tailorability by integration for end
users. Java and BML (beans markup language) were used). Finally, the
KLOE integrated dataflow (KID) in an experiment data acquisition system
was presented, again with differing developer (C based library) and user
(Uniform Resource Identifier \[URI\] interpreter) views.

## Shared Code

Two talks discussed sharing code. Tony Johnson described the FreeHEP
initiative, a library of Hep-wide Java software, some HEP specific and
some general purpose. The libraries are fully open source, all available
in cvs, web browsable, freely reusable, with a preview area for half
baked ideas. General purpose code includes 2D vector graphics, Studio (a
common base GUI for application development), Java access to C++
objects, and java package dependency tools. HEP specific packages
include the hep.physics package (including 3- and 4-vectors, jet finding
and event shape routines), and XML particle property database, hep.io
packages including StdHEP and ROOT input output, an interface to the
AIDA package of abstract interfaces for data analysis, and Hep 3D event
display utilities. This project is a fruitful exploration of techniques
for sharing code using open source methods, and for extensive use of
Java.

Jon Thaler presented the Lattice package that he has written for CLEO.
This project makes object relationship into an object; allows adding and
removing connections between objects, associating data with each
connection, and a complete set of data access methods. Specifications
are to be flexible with minimal impact on existing code. Mappings are
persistent over read/write cycle and optimized for data access at
expense of slower data insertion. Jon provides both a generic
implementation and a CLEO specific interface derived by inheritance. He
provides many powerful data access methods. Other experiments at the
talk were quite interested in making use of the package.

## Reconstruction and pattern recognition techniques

Five papers described innovative techniques for track finding, vertex
finding, and data analysis. Topics included vertex finding using hits
before tracking, faster track finding using z finders and hit filters,
simultaneous vertex and track fitting, reuse of tracking code in
different experiments, and a bias free technique to search for new
physics.

Different talks focused on mathematical methods, innovative algorithms,
or computing techniques (like object orientation) that provide clear
advantages. One new approach was to reduce the enormous combinatorics
present in hadron collider experiments by taking advantage of the
differences between physics and pileup events to clean up the event
before starting tracking. First, a z finder algorithm uses rapid one
dimensional histograms generated by pairs of hits to identify the
primary z vertex. Then, a hit filter algorithm is able to quickly
identify hits coming from high Pt tracks originating at the primary
vertex. Efficiencies and performance were shown for complex Atlas
events, with excellent efficiency above 2 GeV Pt.

Andrew Haas showed a new elastic fitting approach which simultaneously
fits hits, tracks, primary and secondary vertices. He takes advantage of
continuing optimization as the fitting procedure can reassign hits to
tracks and tracks to vertices. He also uses an improved "ghostbuster"
track seeding algorithm to better choose triplets of hits to use for
candidate tracks. He applied these techniques to the problem of tracking
and verticizing in the new D0 central fiber tracker.

Sijin Qian presented a Kalman Filter track finding and fitting program
that has been successfully reused in two experiments and several
different environments. OO/C++ is now mature enough for development and
debugging by non experts. A stable framework in which to implement code
is important. The use of C++ and object orientation makes long distance
collaboration easier, and makes reuse possible

Bruce Knuteson described SLEUTH, a quasi model independent new physics
search strategy. Its motivation is too many competing candidate
theories, so there is a need to perform generic searches and a need to
quantify "interestingness" of a few strange events a posterior. His
strategy is to use final state variables and use exclusive final states
(since presence of extra objects in an inclusive search changes
interpretation); He assumes the existence of standard object
definitions: e, mu, tau, jet, gamma, b, c, missing Et, W, Z. He creates
a general rule to select variables for any final state (there are lots
of final states); for example, to look for SUSY, look for final state
particles with large Pt, and use as variables sums of Pt (of leptons,
jets, gamma/W/Z) and missing Et.

For an algorithm he puts variables into the unit box, searches for
interesting regions, finds fraction of hypothetical experiments that
would see something this interesting; starting with background, he
transforms these events to get uniform distribution in unit box. Voronoi
diagrams divide box up using density of events; search for region with
greatest excess of events; generate lots of pseudo experiments to get
probability of the excess in the data interesting region. Results: he
finds Monte Carlo leptoquarks with \> 3.5 sigma in 80% of experiments
(but sees no new physics in 40/80 D0 final states yet)

## Using distributed resources

One ISAT parallel session took place on a day emphasizing grids and
worldwide computing, which included plenary talks, a VLSC (very large
scale computing) parallel session, and a working group on worldwide
computing. The ISAT session focused on use of grids to perform real life
scientific calculations and analysis.

Harvey Newman discussed Worldwide Distributed Analysis and Data Grids
for Next-Generation Physics Experiments. He considered some of the
upcoming challenges of new generation experiments, and surveyed some of
the R&D projects working on Grid solutions, including PPDG and GriPhyN.
Data Grids offer the possibility of better global resource use and
faster turnaround, building information and security infrastructures,
and coordinated use of computing, data handling and network resources.

Consistent with the overall aims of the ACAT conference, Harvey sees
both an opportunity and an obligation for HEP/CS collaboration, with
high energy and nuclear physics as both an early adopter and leading
developer of DataGrid technology

Bill Allock focused on Grod Components, reporting on Protocols and
Services for Distributed Data-Intensive Science coming from the Globus
project. There are two major categories of tools: data transport and
access tools, typified by GridFTP; and replica management tools, which
maintain mapping between logical collections of files at different
physical locations. Replica manager components include replica catalog
definition, a low level replica catalog API (application programmer
interface), and a high level reliable replication API. These tools,
which are available now are the start of a full set of grid tools to
provide transparent and efficient access to widely distributed
collections of data.

Myron Livny reported on the Condor-G project, a computation management
agent for multi institution grids. He emphasized the current real life
use of grid techniques for science. He described the solution of the
NUG30 computing problem which was able to deliver 11 CPU years of
compute time in 7 days using an international array or processors. The
project started with existing Condor tools to manage collections of
workstations, and added the G to Condor by adding GSI based
authentication services, adding specific support for the Grid universe,
and adding glide-in tools. Heavy use was made of existing Globus Grid
tools.

Iosif Legrand described a set of modeling tools to simulate the
performance of large scale distributed systems. The tools were
originally developed in the context of the MONARC project to model
architectures for LHC (Large Hadron Collider) experiment computing. He
described the design and development of the tool, the elegant GUI to
specify simulation parameters and to publish results, validation of the
tool against measurements on real systems, and the use of the tool to
predict behavior in a large scale CMS high level trigger production
exercise.

As was true in previous sessions, these talks demonstrated that the grid
is already a real entity, and making use of grid tools and techniques is
enabling new or better science.

## Miscellany

Two final papers defied classification. One described a Component based
architecture supporting scientific workflow (for support of the CRISTAL
project constructing the CMS electromagnetic crystal; calorimeter).
Software components were described using the standard UML modeling
language. The second discussed mathematical techniques for image
matching, used to search the internet for specific content.

# Conclusions

A major conclusion is that high energy and nuclear physicists have
absorbed many of the new computing technologies and are making effective
use of them to further their science. Further, it is clear that the
computing challenges represented by experiments in these fields are an
attractive proving ground for computer scientists to show off their
wares. Conferences such as this one provide useful meeting grounds where
the problems and the technologies can confront one another, and point
the way for specific collaborations between experimental physicists and
computer scientists.