Run II Physics Analysis Software Requirements Checklist
DATA ACCESS
- Access rates (online):
- Access rates (offline):
- Serial vs random access:
- Granularity of access:
- Foreign Input and Output Formats:
- Specialized output formats:
DATA ANALYSIS
Scripting Language:
- full featured scripting language
- analysis tool's object model
- extract data from events
- express complex mathematical expressions
- debugging facilities
- interface the scripting language to dynamically
linked compiled high level languages
User Control:
- control functions
- Mathematical operations
- Results of analysis available to users
- command line recall and interacive command line editing.
Data Selection:
- program selection criteria using extracted data
- display selection criteria as text
Input/Output:
- support its own object I/O format.
- allow its own format object files to be read or written from compiled programs.
- read or write object files in foreign formats
- write selected event objects to one or more output streams
- object definition language and/or be able to define new object formats programmatically.
- read events in one format, convert and write them out in a different format.
- virtual streaming
Numeric and Mathematical Functionality:
- accurate and precise numerical functionality, including double precision.
- Analysis capabilities applied to fetched data as well as subsequent renditions
- Functions operating on multiple data sets
- fit, parameterize, and calculate statistical quantities from data
- user control of fitting algorithms.
Offline Compatibility:
- tailor the sequence of mathematical operations
- ability to include external software in their analysis.
- functionality of the analysis package linked into user defined code.
Prototyping:
- prototyping of simple versions which can later be expanded upon.
- Prototyped sequences contain the full interface of
an arbitrarily complex version.
DATA PRESENTATION
- Interactive visualization:
- Presentation quality graphical output:
- Formal publication of graphical output:
USABILITY
- Batch vs. interactive processing:
- Sharing data structures:
- Shared access by several clients:
- Parallel processing (using distinct data streams):
- Debugging and profiling:
- Modularity (user code):
- Modularity (system code):
- Access to source code:
- Robustness:
- Web based documentation:
- Use of standards:
- Portability:
- Scalability:
- Performance:
- User Friendliness: