|
The GEANT - DIRAC simulation program
Version 2.69
[Last release 2.69/10 24.10.2005]
|
O.Gorchakov(JINR), P.Zrelov (JINR), V.Yazkov (NPI)
User's Guide
Click
here
for the User's Guide of Version 2.63
|
The GEANT - DIRAC simulation program
Version 2.69
Table of Contents
|
Introduction
|
|
The GEANT-DIRAC code is main simulation program for the
DIRAC experiment at CERN.
The code is written in frame of the GEANT 3.21 package.
The Version 2.69 of the GEANT-DIRAC code
(the geant-dirac.tar.gz archive)
can be downloaded from the directory:
/afs/cern.ch/user/g/gortchak/public/geant-dirac/version2.69
Some features of the code:
- The geometry, positions and materials of the detectors are initialized
in the program by reading the external files
common with offline program Ariane (currently det2002_68.dat and
mod2002_32.dat for 2002 year)
[3].
These datafiles (and datafiles for 1999 - 2001 years) can be downloaded
from the directory
/afs/cern.ch/user/d/diracww/public/offline/ariane/data
- The results of simulation is kept in standard output file
(by default buffer.dat, but this name can be changed through
appropriate data card). This file contains the full
"history" of each detected particle.
See
"Monte Carlo block format" in
[3] about the format of this file.
The file includes the information about version of the code,
specific format, seeds for random number generator both
for geant-dirac and for particle generator,
which was used in the case (when the initial kinematics
is read from external file, the ordinal event number is
written instead of seeds). The information about the
reactions, times, parameters of the vertices, particle
codes, particle momenta and energies are written for
the paricles which hit the detectors and for their
"parent" particles. Information on the detectors measurements
includes
- Identification (Detector/Plane)
- Coordinates X,Y,Z of an intersection of the track with
the detector
- Time of interaction
- Ionization losses
- Momentum components PX,PY,PZ at this intersaction.
The file is written in NETWORK ENDIAN byte order.
There is also possible to write this file
in simplified form ("reduced" format).
- The approximation
[7]
of the magnetic field map, based on the measurements
[2] is used in the program.
- The following event generators can be used:
- for the particles coming from dimesoatom ionization
- for all particles coming from the target
- for the paticles emitted into the setup channel only.
Right-handed reference system is used in the program : the
origin is at the center of target, Z-axis is along the secondary beam
(the coordinates, which are written into the file buffer.dat,
correspond to the same coordinate system as in the Ariane program).
The program works under operating systems UNIX
and Windows 95/98/NT.
For the description of previous versions see version 2.5
[1] and
version 2.6 manuals.
1. Installation
|
|
To install the files from geant-dirac.tar.gz archive, type
tar xvfz geant-dirac.tar.gz
The directory geant-dirac will be created. Inside this directory
there will be the files geant-dirac.cmz,
geant-dirac.car and the directories magnet_data
and instruction.
Where
- DB -
flag indicating that input file is written in "DB" format
FILE - geometry file name
MODF - "materials" file name
OUTF - output file name
KINF - input (kinematics) file name
TRIG - total number of events to process
HADR - hadronic process
= 4 for FLUKA
others for GHEISHA
SWIT - user flags
- SWIT(1) = K + 10*N + 1000*M
- K choice between standard (=0) and reduced (=1) output format
- N size of event data block in output file (currently 10)
- M opportunity to add M user words to the output file for each event
(by default M=0)
- SWIT(2) = XYZ*100+L
- setting the version number of the geant-dirac code
(current version 2.61) and opportunity to use event weight
as real*4 word
- SWIT(3) - type of generator
= 0 Generator of proton-nucleus
interactions
= 1 GENER code
= 2 GENtLeman code
= 3 A2pi generator
= 4 multipurposes generator (with possibility of using multiple interactions in the target)
- SWIT(4)
this switch is used for debugging
= 1 - printing the contents of KINE
and VERT banks for each event
= 2 - printing the contents of HITS
bank only
= 3 - printing the contents of KINE, VERT and HITS
banks
- SWIT(5)
switching to test version of the setup geometry (=1)
- SWIT(6)
to switch off filling of buffer.dat file (=1)
- SWIT(7)
to switch off filling of buffer_c.dat file (=1)
- SWIT(8)
to control of program performance by filling of
geant-dirac.err file (=1)
- SWIT(10) -
choosing of target type:
= 1 Beryllium
= 2 Titanium
= 3 Nickel
= 4 Molybden
= 5 Platinum
DEBU - 3 words: first event to debug, last event to debug, control
frequency
RUNG - 2 words: run number, first event number in the run
RNDM - 2 words: initial random number seed
AUTO
= 1 automatic computation of the tracking medium
parameters
= 0 user tracking medium parameters
LOSS -
energy losses fluctuations
= 1 resticted fluctuations (in case of generation of
delta-rays)
= 2 full fluctuations
CUTS - energy cuts in GeV
Starting batch version:
|
|
- Simplest way to start the program is to type
geant-dirac (Enter)
- Other possibility is to use LSF Batch system
which provides a Motif - based Graphical User Interface for submitting a job in the queue
Starting interactive version:
|
|
- Type
geant-dirac
- Then in reply on "Workstation type", press Enter
in case of X11 or motif (then Enter ) in case of Motif user interface
- To draw the setup, type the name of needed macros (for example,
for viewing top view of the whole setup) exec diracxz2
- Then to see the tracks (from, for example, 100 interactions in
the target), type
trig 100
- To quit the program, type
quit
Output of the program:
|
|
-
buffer.dat - binary MC block. This file can be read by
ARIANE
[3],
by READBUFFER code (for simple testing)
[11]
and by
PICASSO code
(for vizualization and debugging)
[12]
- buffer_c.dat - ASCII MC block (for debugging)
- distr.his - RZ file with histograms (hitmaps and ionization losses
distributions for the setup detectors)
- rndm.dat - contains random number seeds (recorded at every 500 events)
Figure: Screen view for the geant-dirac session with the Motif user
interface
2. Structure of CMZ file
|
|
CMZ file consists of the following patches (in brackets names of the decks)
- BD (blockdata)
- MAIN (dirac; head program for batch version)
- GXINT1 (gxint321; head program for interactive version with X11 graphical interface)
- GXINT2 (gxint321; head program for interactive version with the Motif graphical interface)
- GEOM1 (obsolete)
- GEOM2 (obsolete)
- GEOM4 (ugeom, parculc, rcntyz, a1, a2, a3, prod, sec2pr, pr2sec, st2tl, st2tr,
dginit, dginitdb, rotatematrix, geometry, geometrydb, materials, transp, euler, axes, mxv, matx, maty,
matz, fshgeometry, fshgeometry, scifigeometry, msgcgeometry,
mdcgeometry, horhodoscopesgeometry,
cherenkovcountersgeometry, preshowersgeometry,
muoncountersgeometry, verhodoscopesgeometry;
subroutines for specification of the setup geometry)
- INIT
- uginit; program initialization
- ubook; booking of histograms
- GENERAL
- gukine; initial kinematics
- gustep; user operations on each step of tracking: recording of hits in data structure JHITS etc.
- gutrak; control of tracking for each track
- gutrev; control of event
- uglast; program termination
- umate; materials definition
- guphad, guhadr; the user routines which are called at each step when a hadronic process
has been selected
- udet; detectors definition
- guout; perform all the processing at the end of the event and output the relevant
data structures
- guout2; filling of histograms
- targint1, targint2, targint3; find the interaction number and the time of interaction
in the target
- hitscorr; correction of hits coordinates
- mech2; copies the character-type names of the interaction mechanisms
into Hollerith characters
- byteswp; performs byte swapping
- MAGNET (gufld, trackd, a0take, entr1, bfield, jjfun, test; magnetic
field subroutines)
- FOPEN (ufiles1, ufiles2)
- $KUMACS
- install, incl; macroses for installation of the source code and needed environment
- makefile
- jobcrds; data records
- flukaaf; data file for FLUKA
- diracxz2, diracyz2, diryzm21, diryzm22, dirxzm21, diracyz1, dirxzm22; macroses for
the interactive version
- instruct; instruction, html file
- distr; macros to process file "distr.his"
- kine; input file for testing
- $VERSION (v2.00, . . . , v2.60, v2.61, v2.69)
- GCDES (obsolete)
- DDES (obsolete)
- GCM ($gclist, $gccuts, etc.; various geant321 sequences)
- DDESM (ddesm; various user defined sequences)
- BACKGR (not used in this version)
- TEST
3. Program flow chart
|
|
The following chart shows the program structure. The geant-dirac routines is marked by red.
The routines which belong to geant321 itself is done by black. See GEANT manual for details.
- MAIN (GXINT)
- GZEBRA initialization of ZEBRA system, dynamic core allocation
- UGINIT user initializations
- GINIT initialize the GEANT common blocks
- UFILES1 open data records file (jobcrds.dat)
- GFFGO read data records
- UFILES2 open input, output and others files
- GZINIT initialize the memory manager
- GPART fill the data structure JPART with the particle properties
- GPIONS store the standard ions constants in the JPART
- GMATE creation of the material data structure JMATE
- DGINITdb read geometrical information from external file
/DGINIT
- UGEOM define the geometry of
the components of the setup, tracking medium parameters etc.
- FSHgeometry
- SCIFIgeometry
- MSGCgeometry
- MDCgeometry
- VerHodoscopesGeometry
- HorHodoscopesGeometry
- CherenkovCountersGeometry
- CherenkovCountersGeometrynew
- CherenkovCountersGeometryHeavy
- AeroGelCountersGeometry
- PreshowersGeometryNew
- PreshowersGeometry
- MuonCountersGeometry
- GGCLOS process the geometrical information for particle transport
- UMATE define additional materials
- UDET define the detectors parameters
- GPHYSI compute energy loss and cross-section tables and store them in the JMATE
- UBOOK booking of histograms
- GRUN event processing
- GTRIGI initialization
- GTRIG process one event
- GUKINE define initial kinematics
- GUTREV control of event
- GTREVE
- GUTRAK control of tracking for each track
- GTRACK
- GTGAMA
/GTELEC
- GUSWIM
- GRKUTA
/CHELIX
- GUFLD magnetic field subroutines
- /CHELX3
- /GTMUON
- GUSWIM
- GRKUTA
/CHELIX
- GUFLD magnetic field subroutines
- /CHELX3
- /GTNINO
- /GTNEUT
- /GTHADR
- GUPHAD the user routines which are called at each step when a hadronic process has been selected
- GUHADR the user routines which are caled at each step when a hadrinic process has been selected
- GHEISH
/FLUFIN
- GUSTEP user operations on each step of tracking: recording of hits in data structure JHITS etc.
- GUSWIM
- GUOUT perform all the processing at the end of the event and output the relevant data structures
- GUOUT2 fill the histograms (hitmaps and energy losses)
- GTRIGC cleaning of memory for next event
- UGLAST user actions at the end of the program
- GLAST standard GEANT termination
4. Setup geometry
|
|
- VOLM general volume
- TARG target
- MARG, MARV, MARH target station
- FLN1, FLV1 flange
- BEL1, BEV1 sylphon
- TR11, TV11 tube
- TRB1, TRV1, OPZ2, OSZ2 wide tube
- TR12, TV12 tube for primary beam
- TR13, TV13 tube for secondary beam
- FLB1 exit flange of thick vacuum tube
- FLM1, FVM1 flange
- FLM2, FVM2 flange
- MEM1 membrane
- FLN2, FLV2 flange
- TRB2, TRV2 tube for primary beam
- MSG1, MSG2, MSG3, MSG4, MS1, MS2, MS3, MS4 basic volumes for microstrip gas chambers
- VMC1 - VMC9, VM10 - VM17 elements of MSGC construction
- FIB1, FIB2, FBS1, FBS2 fibre detector volumes
- Ionization hodoscope (IH)
- First plane DDX1
Slabs S11 - S19, S110 - S116
- Second plane DDX2
Slabs S21 - S29, S210 - S216
- Third plane DDXH (Slabs SH1-SH8) for run numbers less than 3428
Third plane DDX3 (Slabs S31-S39, S310-S316) for run numbers greater or equal to 3428
- Forth plane DDX4 (Slabs S41-S49, S410-S416) only for run numbers greater or equal to 3428
- SUPI, SUP1, SUP2, ROWI, PHML, PHMV support and photomultipliers for DEDX - for run numbers less than 3428
- VIH1 - VIH9 elements of new ionisation hodoscope construction - only for run numbers greater or equal to 3428
- FLN3, FLV3 flange
- FL31, FV31 flange
- MCOL membrane
- TRB3, TRV3 tube for secondary beam
- FLN4, FLV4 flange
- FL41, FV41 flange
- CWAL, CWLO, CWUP wall for collimator
- COLL, HCOL collimator
- FLN5, FLV5 flange
- PHOL hole for primary beam
- TRB4, TRV4 tube for primary beam
- TRB5, TRV5 tube for primary beam
- FLN6, FLV6 flange
- BEL2, BEV2 sylphon
- FLN7, FLV7 flange
- TRB6, TRV6 tube for secondary beam
- FLN8, FLV8 flange
- TRB7, TRV7 tube for secondary beam
- FLN9, FLV9 flange
- TRB8 tube for secondary beam
- TRB9, TRV9 tube for secondary beam
- FLNA, FLVA flange before flat vacuum chamber
- MAG1, MAG2, MAG3, MAG4, MAG5 magnet
- MGC1, MGC2, MGC3, MGC4, MGC5 coils
- MGAP gap between magnet poles
- SCR1 - SCR7 magnetic screens
- FLNB, FLVB flange before flat vacuum chamber
- FCH1 - FCH6, VCH1 - VCH6 flat vacuum chamber
- FLNC, FLVC flange after flat vacuum chamber
- VCMB membrane of flat vacuum chamber
- EPOX, EPOA, FLND, FLVD flange after flat vacuum chamber
- VFF1 - VMF4 - additional volumes for magnetic field setting
- FLOO floor
- STN1 support for magnet
- WAL1, WAL2, WAL3, WAL4 left shielding walls
- WAL5, WAL6, WAL7, WAL8 right shielding walls
- WAL9 transverse shielding wall
- HWAL hole for primary beam
- CLN1, CLN2, CLN3, CLN4, CLN5 ceiling
- BLK1 - BLK3 beton blocks supporting muon filters and preshowers
- BM1 - BM3 beton blocks supporting some other elements of the setup
- Front drift chamber
- VD01, VL01, VD1L, VD1R,
FA00, FR00, FRA0, FRR0 frames
- Additional elements for the drift chambers
- Support frames for the drift chambers
CRD1 - CRD5, CRA1 - CRA5, PLAT
- Support for the drift chambers
STT1 - STT8, STA1 - STA8, STD1, SHV1 - SHV3,
SHA1 - SHA3, STB1, STB2
- LEFT - auxiliary volume for left telescope
- Left telescope drift chambers
D1XL, D1YL, D1Wl, D2XL, D2YL, D2WL,
VD11, VL11, VD12, VL12, VD13, VL13
L_1X, L_1Y, L_2X, L_2Y, L31X, L31Y, L32X, L32Y,
VW11, VW12, VW13 - mylar windows
WXA, WXF, WYA1 - WYA3, WYF1 - WYF3 wares
FA00, FR00, FRA0, FRA1 - FRA3, FRR1 - FRR3 frames
- Left vertical hodoscope
VH1, VL1 - VL18
- Left horizontal hodoscope
HH1, HL1 - HL18
- Left Cherenkov counter
VC1, VC1I, VC10, VC1U, VC11, VC12, V101-V105, CHL1, CHL2
- Left preshower
PRLE, PRE1, PL1 - PL8
- Left absorber
BOXL
BOX1 - BOX5 (these blocks are the same for both telescopes)
- Left muon counter
MUSL, ML1 - ML28
- RIGH - auxiliary volume for right telescope
- Right telescope drift chambers
D1XR, D1YR, D1WR, D2XR, D2YR, D2WR,
VD21, VL21, VD22, VL22, VD23, VL23,
R_1X, R_1Y, R_2X , R_2Y, R31X, R31Y, R32X, R32Y,
VW21, VW22, VW23 - mylar windows
WXA, WXF, WYA1 - WYA3, WYF1 - WYF3, wares
FA00, FR00, FRA0, FRA1 - FRA3, FRR1 - FRR3 frames
- Right vertical hodoscope
VH2, VR1 - VR18
- Right horizontal hodoscope
HH2, HR1 - HR18
- Right Cherenkov counter
VC2, VC2I, VC20, VC2U, VC21, VC22, V201-V205, CHR1, CHR2
- Right preshower
PRLE, PRE2, PR1 - PR8
- Right absorber
BOXR
BOX1 - BOX5 (these blocks are the same for both telescopes)
- Right muon counter
MUSR, MR1 - MR28
Figure: Two software models of the ionization hodoscope.
Left: old hodoscope with 3 planes (till run number 3428).
Right: new hodoscope with 4 planes.
5. Detectors
|
|
- MSGC set - Microstrip Gas Chamber
- FIBR set - Fiber Detector
- FSH set - Ionization Hodoscope (Forward Scintillation
Hodoscope)
- FSHV1:
Detectors (separate slabs) S11 - S19, S110 - S116
- FSHV2:
Detectors (separate slabs) S21 - S29, S210 - S216
- FSHH :
Detectors (separate slabs) SH1 - SH8
- DRFT set - Drift Chambers
- Detectors
D1XL, D1XR, D1YL, D1YR, D2XL, D2XR, D2YL, D2YR,
L_1X, L_1Y, L_2X, L_2Y, L31X, L31Y, L32X, L32Y,
R_1X, R_1Y, R_2X, R_2Y, R31X, R31Y, R32X, R32Y,
- LEFT set - Group of Left Arm Detectors (excluding drift
chambers and Cherenkov detectors)
- VLH:
Detectors (separate slabs) VL1 - VL18
- HLH:
Detectors (separate slabs) HL1 - HL16
- PRLEFT:
Detectors (separate slabs) PL1 - PL8
- MULEFT:
Detectors (separate slabs) ML1 - ML28
- RIGH set - Group of Right Arm Detectors (excluding drift
chambers and Cherenkov detectors)
- VRH:
Detectors (separate slabs) VR1 - VR18
- HRH:
Detectors (separate slabs) HR1 - HR16
- PRRIGH:
Detectors (separate slabs) PR1 - PR8
- MURIGH:
Detectors (separate slabs) MR1 - MR28
- CHER set - Cherenkov detectors
- CHL1, CHL2 (left arm)
- CHR1, CHR2 (right arm)
6. Magnetic field
|
|
This version uses the final approximation of the magnetic field
[7].
On the cover page the region occupated by magnetic field (measured
in the channel aperture) is presented in two projections. On the figures
below the components of the magnetic field is presented for
the median plane of the magnet y = 0.
Figure:
The components of the magnetic field in the median plane at y = 0
(measured area)
7. Generators
|
|
Currently the following event generators can be used:
- The generator of proton-nucleus interactions
on the base of modified FRITIOF code [4-6].
This generator is used for background estimations.
Full archive fritiof6m.zip and the corresponding instruction
(compressed postscript file mfritiof.zip)
can be downloaded from the directory
/afs/cern.ch/user/z/zrelov/public/geant-dirac/version2.6/generator
The file kine_f.dat containing about 10^5 events can be downloaded
from the same directory. To read this file by the geant-dirac program
SWIT(3) should be set to 0.
- Program GENER [8].
It generates particles coming from the target according to the
inclusive angular and momentum distributions obtained using FRITIOF-6.
Interactions are generated inside time intervals of 300 ns duration.
This generator can be used to study of the trigger scheme.
There is a possibility of dimesoatom generation. SWIT(3) = 1.
- New event generator GENtLeman
[9].
The generator uses the modified FRITIOF-6m code.
It is possible to use
any of the targets Be, Ti, Mo, Ni, Pt. SWIT(3) = 2.
- Two specialized A2pi generators. SWIT(3) = 3.
-
written by Oleg Gortchakov.
-
written by Cibran Santamarina Rios
(/afs/cern.ch/user/d/diracww/public/offline/generator/).
8. References
|
|
- P. Zrelov, V. Yazkov: The Geant-Dirac Simulation
Program Version 2.5.
Installation Remarks. Dirac Note 98-08, December 1998. Back
- M. Gallas, O. Gorchakov, R. Hosek, A. Kuptsov, L.Nemenov, A. Raimondo, V. Yazkov and P. Zrelov:
Magnetic measurement report, DIRAC Note 98-06, 1998. Back
- D. Drijard, M. Hansroul, V. Yazkov:
The DIRAC Offline User Guide. Back
- V.V. Uzhinskii: Modified code FRITIOF. User's Guide. JINR Comm.,
1996,E296192.
- Gunhuyag B., Uzhinskii V.V.: Modified FRITIOF code: Negative Charged Particle
Production in High Energy NucleusNucleus Interactions. JINR Comm., 1996, P296419.
- M.I.Adamovich et al.: Complex analysis of gold interactions with photoemulsion nuclei
at 10.7 GeV/nuclon within the framework of cascade and FRITIOF models.
Z.Phys.A 358, 337351 (1997).
- The approximation was done by O.Gortchakov.
Back
- S. Trusov, V. Yazkov. On the event generator: utilization.
Back
- J. Saborido and P. Zrelov: New event generator for
the DIRAC experiment. Under preparation. Back
- P. Zrelov: READBUFFER code.
This program can be downloded from
/afs/cern.ch/user/z/zrelov/public/readbuffer/220202
Back
- P. Zrelov. PICASSO: Software Development
Tool For The GEANT-DIRAC Simulation Program. Under Preparation.
Back
Oleg Gorchakov
oleg.gorchakov@cern.ch .
24 October 2005