As indicated in Chapter 9: Physics,
the software for an experiment falls into three main categories:
physics simulation, experiment hardware simulation, and analysis.
(There can be, of course, various other utility software involved
such as that used for calibration of detectors and electronics but
we'll focus on these three primary tasks.) In fact, a large experiment
might split software assignments among three groups: one to produce
the basic physics simulators, one to simulate the detector hardware,
and a third to produce the analysis software.
Long before the experiment begins to run , the analysis group will
rely on the simulation software to produce realistic data on which
the analysis programs can "practice". The process will
require a bootstrap approach as the software of each team develops.
For example, the analysis software will only need crude simulator
data initially to debug the code. The detector software will become
more realistic once the detectors begin to undergo calibration tests
and produce data on which to tune the simulators. Feedback from
the analysis programming could correct possible errors in the detector
and physics programs.
Ideally the simulated data would eventually reach such a degree
of realism that it would allow for "double-blind" tests
of the analyzes to reduce systematic biases.
We will continue with our demonstration of experimental simulation
and data analysis with our mass drop example. Though it deals rather
trivial physics, it will help to illustrate the basic concepts and
techniques involved in developing the simulation and analysis programs
to support a actual experiment.