Run II Physics Analysis Software Functional Requirements Group
Requirements must separately address the domains of on-line, interactive and
batch processing. Most likely this will be through specifying the requirements
for the most common environment (probably interactive), and giving additional
requirements needed to support online and batch.
Requirements are organized into 6 major categories.
- Providing access to large streams of physics events (including efficient
access to individual events in the midst of a larger data sample.)
- Selecting events based on programmed selection criteria
- Reducing data samples
- Preparing various statistical distributions of various mathematical
functions of data in the selected events
- Linking in high level language programs to process event data prior to
plotting (including HEP math libraries)
- Compatability with offline reconstruction code
- Rapid prototyping
- Modifying selection criteria and plotted functions interactively
- Fitting the distributions
- Comparing and performing calculations on different distributions
- Preserving the selection criteria and functions for later use or to pass
along to others (eg, scripting language)
- Saving samples of events in a variety of specialized formats for later
analysis
- Accessing these specially formatted event samples to make plots, fits,
statistical outputs, etc. (including compatability with run-I formats?)
- Preparing presentation quality graphical output
- interactive utilities for visualizing experimental data
- automatic document generation (including a good equation editor)
- Batch processing
- Sharing data structures among users
- Shared dynamic access by several clients
- Multi-processing (parallel processing using distinct data streams)
- Debugging and profiling
- Modularity - ability to link individual modules into user code
- Access to source code to allow customization
- Robustness
- Web based documentation
- Commonality with other labs and experiments (use of standards)
- Portability
- Scaleability
- Performance
- User Friendliness