The various stages are typically produced by distinct programs or subprograms of program packages. The general structure of the beam simulation and the event generator packages at SLD are a Jazelle template<> control bank and a program called a processor<>. Standard nomenclature for event generators (and the beam simulation package) is built using the expression MCxxx, where xxx is an arbitrary length name that identifies the package. Examples would be MCSLC for the beam simulation or MCKORZ for the Koralz tau event generator. The control bank name would be MCxxxP.TEMPLATE and the call to the package from IDA<> would be PROCESSOR MCxxx. The code for MCxxx would be found in the DUCS Section DUCSMCxxx.
The control bank contains various user settable parameters that control the execution of the program. For example, the MCDIAG generator can generate a specified number of particles of a given type with certain momenta and the specification of these parameters is done in the control bank, MCDIAGP.TEMPLATE.
Note: Many event generators have an initialization phase which requires certain input parameters such as beam energy. Often this initialization is very time consuming compared to the time to generate an event and the user may find that fluctuating the beam energy causes some generators to reinitialize for each event and thus take a long time per event.
Each generator in the SLD collection has its own history and set of peculiarities despite the appearance in what follows to give them all a uniform description. In particular, users should beware of tinkering with the code in a generator, as in, "I have a better idea than the author for a random number generator to use in this generator". In the case of one set of authors we have explicitly promised to make NO modifications to their code without their expressed approval. So, please, check with the SLD generator czar (Gary Bower<>) or the author before you modify a generator. Generators that include higher order effects can be very subtle programs.
PV = Production Version exists (Y=yes, N=no) VX = VAX sharable exists (Y=yes, N=no) AL = ALPHA shareable exists (Y=yes, N=no) St = Status (R = Recommended, W = works, U = Unknown, N = does not work)
Name PV VX AL St Description ---- -- -- -- -- ----------- Bhabhas: MCBHAG Y N N U Bhagen MCBHLM Y Y Y R Bhlumi - T-Channel only MCBZ Y Y Y R BhlumiZ - Wide angle (ie, with S-channel) MCEEG N N N U Mana & Martinez MCUBAB N Y Y W Unibab - Wide angle (ie, with S-channel) Heavy Leptons: MCBREM N N N N Bremmus MCKORZ Y Y Y R Koralz MCLEPT N N N U Mark II package Hadronics: MCHRWG54 Y N N U Herwig 5.4 MCHRWG57 Y Y Y W Herwig 5.7 MCL63 Y Y Y W Jetset 6.3 MCL72 N N N U Jetset 7.2 MCL73 Y Y Y W Jetset 7.3 MCL74 Y Y Y R Jetset 7.4 + Improved Cleo B decay package MCLUND Y Y Y W Jetset 6.3 + B decay package MCUCLA Y N N U UCLA hadronization model ee -> n gammas MCRADC N N N U Berends & Kleiss SUSY: MCSUSY Y Y Y U Diagnostic: MC1TRK Y N N U MCDIAG Y Y Y R Two photons: MCTOWG Y N N U SLC Muons: MCMUBG Y N N U Cosmic rays: MCCOS Y Y Y U MCHWK Y N N U Kendall "rotating planes" model Electron-Proton Collisions!?: MCEP Y Y Y U Lepto 5.2
The output of detector simulation is a set of Jazelle banks generally called the Raw Data banks. These banks are very specific in content and structure to the particular detector system that produces them. These banks are ALMOST always identical to the banks that are produced by the SLD online system when it is taking data.
Early in SLD offline software history there was a suite of programs known as the Fast Monte Carlo or FASTMC which simply "smeared" particle tracks from the generator, digitized them and wrote the results in to Raw Data banks. This was done to in order to have some kind of crude simulation for testing. This system is no longer used but remnants may occassionally be encountered.
The current detector simulation uses the CERN package, GEANT, and is sometimes referred to as the Full Simulation or Slow Simulation package to contrast it to the old FASTMC. GEANT is a very large but well documented package and the SLD interface to it is also very large. For each detector system in SLD there are a set of constant<> files that describe the geometry and materials of the detector as well as parameters which control execution of the simulation in the detector such as step size as a particle is being tracked through the detector. To get the information in the SLD constant files into the common block form used by Geant each system has a set of SLD written initialization programs.
To run the simulation in IDA the command is PROCESSOR GSIM. Most detector systems have a multi-level description from very simple to very complex. For example, the calorimeter can simulate the passage of an electron by the "shower parameterization" method (faster but less accurate) or the full EGS shower program. Or for a detector the detail level of the geometry can very between levels depending on the need. These levels are use selectable in templates or constant files.