The program SIMDET simulates the response of an LC detector for e+ e- physics in a fast and flexible manner. The main objectives of the program are threefold:
The basic components of the detector are assumed to be:
The program applies Gaussian smearing to charged particle momenta and calorimeter energies and directions. Impact informations for charged particles are also provided.
After simulation, only charged pions, electrons, muons, isolated photons and neutral kaons as well as clusters exist. These objects are divided into three classes: charged particles, calorimetric clusters (with deposited energies only due to neutrals) and isolated neutrals. The sum of their energies equals the total measured event energy. Tracking efficiencies and charge mismeasurement are also taken into account. Low energy muons are interpreted as pions. In version 2, simple energy flow is implemented in the sense that the tracker energies of charged particles are subtracted from the total cluster energies.
A lot of changes and improvements were made with respect to version 1 of SIMDET September 1996; hence the old version should be considered as obsolete. This document describes SIMDET V2.0 which does not yet implement the proposed common output interface!
The code of SIMDET V2.0 is found here. A PATCHY/CMZ CAR file as well as straight Fortran souce is supplied.
SIMDET has a built in interface to PYTHIA for internal event generation via subroutine SIPYTH. Alternatively, events generated by other programs can be used for detector simulation; subroutine SIEVTI provides an example for an input interface. If the structure of the generated events does not coincide with common /LUJETS/ of PYTHIA, subroutine SIPREP should fill the arrays K(I,...), P(I,...) and V(I,...). In all cases, NEVENT specifies the number of events to be processed.
The detector parameters used are defined in subroutine SIDETR. The naming convention is self explanatory. It should be noted, however, that the CDR does not specify the resolution parameters for forward and very forward tracking. Hence, the corresponding numbers given in SIDETR should be considered as a first trial. Detection and tracking of forward muons (in subroutine SIFWMU) is based on an example by R.Bruni and R.Nania presented in DESY 97-123E. The luminosity detector (inside the mask) responds only to high energetic electrons (subroutine SILUMI).
Booking of histograms is provided in subroutine SIBOOK.
After selection of all particles which might give a response in the detector (subroutine SIPART), charged particle tracking and impact parameter estimations are steered by subroutine SICHPA.
Finding of calorimetric clusters (with pointers to the associated tracks) and isolated particles is performed in subroutine SIDIVN. Energies of photons and electromagnetic cluster as well as energies of isolated hadrons and hadronic cluster are smeared according to the corresponding energy resolution parameters.
For clusters, the energies of associated charged particles are subtracted from the total deposited energies (subroutine SIFLOW) so that the remaining cluster energy is only due to neutrals. Pointers to the locations of the associated charged particles are stored in a packed form for each cluster. Their number is limited to a maximum of 10, a number which seems to be sufficient even for high statistics simulations.
The simulation finishes by providing all measured objects in subroutine SISTOR and, if requested, by filling the array VECP(I,K) which allows to use directly the physics analysis package VECSUB (a product from SLAC/DELPHI). In addition, the program allows to write all objects to an external file (subroutine SIWDST) so that analysis can follow externally. In this case it is recommended to add a header to each event, an example is provided.
The program exist as Fortran as well as a PATCHY/CMZ CAR file. If the CAR file is used, the 'use' selection SIMDET selects the simulation material, while NOSIMU selects the code without any detector response. This enables physics studies at the parton level or gerenator level.
Please note that in the main program error handling routines are inserted. These are of relevance for hp plateforms only.
Please link the CERN libraries and the lund/jetset74 libraries.
Logical unit number | Default file name | Contents |
---|---|---|
6 | simdet.res | debugging information like the history of a few events and histograms |
7 | simdet.gen | input events generated by an external program |
11 | simdet.evt | simulated and reconstructed objects for further analysis |
12 | simdet.hist | PAW histogram file |
This describes the SIMDET V2.0 output structure which does not yet implement the proposed common output interface! Each event contains a header record and a series of records for charged particles, clusters and isolated neutrals, in this order.
Event header record:
Offset | Variable name | Data type | Meaning |
---|---|---|---|
1 | INSTATE | INTEGER | ISR flag, PYTHIA default: |
0 = no radiation, 1 = ISR & Beamstrahlung, 2 = ISR only, 3 = Beamstrahlung | |||
2 | SQRTS | REAL | nominal collider cms energy [GeV] |
3 | SIGMA | REAL | Cross section [fb] |
4 | IDCLASS | INTEGER | Reaction identifier, user defined |
5 | NLINES | INTEGER | Number of particle records in the current event, as produced by JETSET |
6 | SQSACT | REAL | Event related cms energy |
7 | FIELD | REAL | Magnetic field [T] |
8 | NCHAPA | INTEGER | Number of charged particles |
9 | NCLUST | INTEGER | Number of clusters |
10 | NISOPA | INTEGER | Number of isolated particles, only neutrals |
Charged particle record:
Offset | Name | Data type | Description |
---|---|---|---|
1 | Px | REAL | x-component of momentum [GeV] |
2 | Py | REAL | y-component of momentum [GeV] |
3 | Pz | REAL | z-component of momentum [GeV] |
4 | E | REAL | Energy [GeV] |
5 | m | REAL | mass of particle [GeV] |
6 | P | REAL | absolute value of momentum [GeV] |
7 | Q | REAL | charge of particle |
8 | Imp(R,phi) | REAL | transverse impact parameter, in units of sigma |
9 | Imp(R,z) | REAL | Longitudinal impact parameter, in units of sigma |
10 | line | INTEGER | line number in the LUND record |
This record is repeated NCHAPA times.
Calorimetric cluster record:
Offset | Name | Data type | Description |
---|---|---|---|
1 | Ex | REAL | x-component of E vector [GeV] |
2 | Ey | REAL | y-component of E vector [GeV] |
3 | Ez | REAL | z-component of E vector [GeV] |
4 | E | REAL | Energy of cluster [GeV] |
5 | pointer | INTEGER | 1000*loc2 + loc1 |
6 | pointer | INTEGER | 1000*loc4 + loc3 |
7 | pointer | INTEGER | 1000*loc6 + loc5 |
8 | pointer | INTEGER | 1000*loc8 + loc7 |
9 | pointer | INTEGER | 1000*loc10 + loc9 |
10 | number | INTEGER | Number of charged particles in cluster |
This record is repeated NCLUST times.
Isolated neutral particle record:
Offset | Name | Data type | Description |
---|---|---|---|
1 | Px | REAL | x-component of momentum [GeV] |
1 | Px | REAL | x-component of momentum [GeV] |
2 | Py | REAL | y-component of momentum [GeV] |
3 | Pz | REAL | z-component of momentum [GeV] |
4 | E | REAL | Energy [GeV] |
5 | m | REAL | mass of particle [GeV] |
6 | P | REAL | absolute value of momentum [GeV] |
7 | Q | REAL | charge of particle |
8 | dummy | REAL | not used |
9 | dummy | REAL | not used |
10 | line | INTEGER | line number in the LUND record |
This record is repeated NISOPA times.