GALEPH documentation
Table of contents
GALEPH NEWS GAL GAL:GALEPH.NEWS
--------------------------------------------------------------------
The current version is GALEPH 25.3 which is maintained
as GAL253 OLDLIB, TXTLIB, GEO, CORR,CRA on GAL
or GAL:GAL253.HLB, .OBJ, .GEO, .COR, .CRA on VXCRNA
In the following GALEPH stands for GALxxx, xxx being the version #
--------------------------------------------------------------------
On CERNVM
GALEPH OLDLIB Current Historian lib.
GALEPH TXTLIB Current object (IBM flag is activated)
GALEPH CARDS Run data cards
GALEPH CORR Corrections cards (current correction set is
mandatory)
GALEPH NEWS news file
GCORxxx FORTRAN compile file of the routines modified by GALEPH CORR
GCORxxx TEXT text file of the modified routines
TPCSIM OLDLIB current TPCSIM historian library
TPCSIM TXTLIB current TPCSIM library
GALRUN EXEC To prepare a GALEPH run in batch or interactive
It creates a GALEFF EXEC A or a GALEPH BATCH A.
(see HELP GALRUN )
GALEFF EXEC Example of job generated by GALRUN.
------------------------------------------------------------------
On VXCERN / ALWS
The library has the following flag set: VAX
GAL:GALEPH.HLB Galeph historian library
.OLB Galeph library file
.OLB_D Galeph library file in DEBUG mode
.FOR Galeph fortran file
.CORR Current correction file (mandatory)
.NEWS Last news about the current version
GAL:GCORxxx.FOR compile file of the routines modified
by the correction file
.OBJ object file of the modified routines
GAL:GALEPH.CARDS Standard set of data cards
GAL:TPCSIM.HLB current TPCSIM historian library
.OLB current TPCSIM library
_D.OLB current TPCSIM library in debug mode
The following command files exist:
GAL:GALRUN.COM Prepare and execute a GALEPH run
- The version is maintained on VAX8600 and on IBM/MVS under HISTORIAN
- To extract the documentation it is enough to run an Historian job
to get a full compile file with the flag DOC on.
on the VAX the procedure is as follow:
$ HISTOR P=galeph.HLB,C=galeph.doc,F,D
get the usual blabla from HISTORIAN , then type :
*DEFINE,DOC
ctrl Z
The file galeph.doc will contain the header of each subroutines.
To select a part of the documentation do the following:
$ HISTOR P=galeph.HLB,C=galeph.DOC,Q,D,K
*DF DOC
*E FILDOC.CONTACT get general doc., steering doc, geom. doc
and list of contact people.
ctrl Z
In this example you will suppress the description of individual
subroutines.
- Following rules have been applied to the writing:
1. - The HLB is organized in SETS. All routines in a SET start
with 2-letter code :
following groups are defined:
- group ASxxxx (Aleph Simulation)
contains all steering routines, I/O routines. All subroutine
names start with AS .
- group AGxxxx (Aleph Geometry using Geant3)
contains all geometry routines: deck names are made of AGzz,
zz stands for the 2 letter-code of a detector.
- group Cxxxxx (CAlorimetry routines)
- group Exxxxx (ECal routines)
- group Gxxxxx (replacement of Geant routines,
and GUser routines)
- group Hxxxxx (HCal routines)
- group Ixxxxx (ITC routines)
- group Lxxxxx (LCal routines)
- group Mxxxxx (MUon chamber routines)
- group Sxxxxx (SiCAL routines)
- group Txxxxx (TPC routines)
- group Vxxxxx (VDet routines)
- group Xxxxxx (Xlti level Trigger routines)
2. - The first comdeck is VERSION which contains the version #
and the date of the current version. The next comdeck is NEWS
which contains last news and modifications.
3. - A set starts with a *CD setNEWS and ends with a *CD setEND.
the *CD setNEWS contains a description of the set and a
description of the modifications made for a new version.
3. - Documentation is done as follow:
- variables in COMMON are described in the COMDECK itself
behind an Historian card *IF DOC
- There is a *SET DOC which contains *DECK xxDOC with the
documentation for this set behind a card *IF DOC
- each subroutine starts with a header of the type:
SUBROUTINE ASCEVE
---------------------------------------------------------------
- F.RANJARD - 850328
! Close the event:
do analysis
save event on tape
- called by ASPRUN from this .HLB
- calls ASANAL, AUCGSI, ASWEVE from this .HLB
RDMOUT from KERNLIB
*IF .NOT.DOC ----------------------------------------------
then the code follows the card *IF .NOT.DOC
4. - all GEANT3 variables in a COMMON have a 'G' as 1st letter
when they are real and in 2nd letter when integer.
So do not use 'G' in 1st or 2nd position of a variable to
avoid ambiguities.
5. - All GEANT3 subroutines start with 'G' so DO NOT start GALEPH
subroutine with 'G'.
6. - All GEANT3 common blocks start with a 'G' so DO NOT start
GALEPH common blocks with a 'G'.
7. - All variables in COMMON have 6 letters of which 2 are the
2 first letters of the COMMON block name.
8. - Logical flags start with 'F'.
Counters or flags set by data cards start with 'I'.
Counters depending of the event start with 'N'.
Character lists or flags start with 'T'.
Maximum number of elements set in a list start with 'M'.
Integer variables or flags set at the beginning of the
job and not reset by data cards start with 'J'.
Absolute pointers into banks start with 'K'.
Offset inside banks start with 'L'.
Parameters used to define array dimensions start with 'L'.
GALEPH makes use of the following packages :
GEANT3 geom. + draw. + track
GHEISHA hadronic package
TPCSIM TPC digitization
ON CERNVM
GALEPH is maintained under IBM VM/CMS at CERN on the GAL minidisk
described below :
address 196 userid PUBXU
GALEPH library is compiled with IBM VS compiler .
Minidisks are given a nick-name stored either on CERN P-disk
(GIME NAMES file) or ALEPH GENERA-disk (GIMEGRP NAMES file). A
general way to find GALEPH files is obtained with the command
ALEP_GET LIST under VM/CMS. This exec will list all ALEPH info
stored in GLOBALV.
DISKS Nickname Access mode
-----------------------------------
UDISK UDISK U
CERNPAMS CERNPAMS *
GAL GAL F
GENERA GENERA G
PAM'S | disk
-----------------------------
GEANT | CERNPAMS
GEANG | CERNPAMS
GEANH | CERNPAMS
GEANX | CERNPAMS
TXTLIB'S | disk
-----------------------------
GEANT | UDISK
GENLIB | P
PACKLIB | P
GALEPH | GAL
TPCSIM | GAL
BOS77 | GENERA
ALEPHLIB | GENERA
GRAFLIB | P (HPLOT/GKS library)
HISTOR OLDLIB'S | disk
-----------------------------
BOS77 | GENERA
ALEPHLIB | GENERA
GALEPH | GAL
TPCSIM | GAL
TEXT FILES | disk
-----------------------------
GXINT | UDISK
To run the program , the first thing to do is to create an object
file .OBJ or a library file .OLB . To do so you must define the
version of the program you want by means of Historian flags :
INTER interactive version
DOC documentation (in this case the code is suppressed)
On the VAX to get GALEPH.OBJ using GHEISHA hadronic package :
-----------------------------------------------------------
@ HISTOR P=GALEPH.HLB,C=GALEPH.FOR,F,1
*EX
@ FOR/DEB/NOOPT GALEPH
On CERNVM to get GALEPH TXTLIB
------------------------------
HISTOR P="GALEPH OLDLIB F" C="GALEPH FORTRAN A"
HCR(P,C,F,B)
*EX
DATE 93 ! '93 geometry
DEBUG 1 5 1 ! debug events 1 - 5
DISPLAY 0 / ! no display, mandatory on IBM
PROCESS 'TRAC' 'HITS' 'DIGI' 'TRIG' ! must be there *
FILO 'MYGAL.EPIO ! save in EPIO format
FILI 'MYKINE.EPIO' ! read generated events
SETS 'ITC' 'VDET' 'TPC ' 'ECAL' 'HCAL' 'MUON' 'LCAL' 'SICA' ! analog signals
TIME 50 ! time left to end job
NEVT 1 -500 ! must be there *
ENDQ ! must be there *
on VAX :
The command file GAL:GALRUN.COM is intended to prepare several
kinds of GALEPH jobs in interactive or batch mode.
To invoke GALRUN : @ GAL:GALRUN
then follow the instructions, there is an HELP command for beginners.
or on CERNVM :
Exec GALRUN on GAL minidisk, is intended to prepare several kinds
of GALEPH jobs in interactive (DEBUG available ) or batch mode. User
has to enter his choices through panels (see HELP GALRUN or GALRUN ?.
To invoke GALRUN just issue the GALRUN command.
A more detailed description can be obtained by GALRUN HELPCMS.
PANELS
------
4 panels are available allowing the user to enter parameters .
The first one is always displayed when invoking GALRUN. It is used
to select or create a set of defaults . The existing user defaults
sets names are displayed on this panel. It is possible to select
an existing default set without going through the other panels :
the parameters used are those stored by a previous pass. To remove
a default set just overwrite some character(s) on the name(s).
Panel 3 is used for input/output files specifications:
historian input, data cards, printout file
EXAMPLE OF JOB CREATED BY GALRUN
-----------------------------------
/* GALEFF EXEC */
trace c
'GIME PUBXU 197 G (QUIET'
'GIME PUBXU 196 F (QUIET'
'GIME PUBXU 210 * (QUIET'
'GIME CERNSYS 19A U (QUIET'
'FI 07 DISK GALEPH CARDS A2'
'FI 06 DISK GALEPH OUTPUT '
'EXEC CERNLIB GALxxx ALEPHLIB BOS77 GEANT GENLIB '
'LOAD GCORxxx (RESET GALEPH NOAUTO LIBE NOCLEAR DUP MAP REP INV'
if rc > 4 then exit
'SETSTOR EF'
'START'
if rc = 0 then do
'ERASE GALxxx MAP '
end
The main idea in building the BOS bank organisation has been to
associate a bank to each flow coming from or going to a store
(Mc.event.store or Data.Base).
Looking at DFD 4.1 - Simulate ALEPH - the following processes are
described :
4.1.1 - Generate interactions - produces "primary event truth"
which consists of 3 banks :event header ASEV, vertices VERT and
tracks KINE.
4.1.2 - Simulate data tacking conditions - modifies the "primary
event truth" to produce the "primary event" which has exactly the
same structure and consists of the same banks ASEV, VERT and KINE.
4.1.3 - Track through apparatus - using some "tracking constants"
and "tracking conditions" produces the "tracking results" and a
"track element".
"tracking constants" consist of the following banks :
-particle data type
-data base geometry banks for every detectors
"tracking conditions" consist of steering data cards .
"tracking results" consist of the same banks ASEV, VERT and KINE
extended during tracking.
"track element" consist of 2 common blocks TRKCOM and GCKING
4.1.4 - Create signals - using some "analog conditions" and
"analog constants" produces some "signals" from the "track
element".
"analog conditions" consist of:
-calibrations : xxCA
-run cond. and parameters (digit.) : xxPA
"analog constants" consist of:
-read-out geometry : xxRD
"signals" consist of banks for every detectors of the type : xy HT
4.1.5 - Apply saturation and store analog signals - using the
banks filled at tracking time by the process "create analog
signals", apply saturation effects if necessary and filled the
"event store".
4.1.6 - Create digitisings - using the banks previously defined
xxCA, xxPA and "signals" xy HT creates digitisings keeping if
necessary the cross-correlations between kinematics, signals and
digitisings in banks such as :
-raw data : xxDI
-MC digit : xxDT and xxTD
The banks should be of type "tabular" with a miniheader
describing the # of words/row and the # of rows. In case of a
"tabular" type bank the following relation exists between the
length of the bank and the content of the miniheader:
bank length = # of words/row * # of rows + 2
If this relation is not verified , it means that the bank is not
of type "tabular".
If the bank is NOT of type "tabular" , it is strongly RECOMMENDED
that the first word of the bank is the header length of the bank.
A set of intrinsic functions are kept in *CD BMACRO to get the #
of words/row, the # of filled rows, the # of free words, the index
to the next free row, the Lth element of the NRth row ( integer or
real) in a bank of "tabular" type known by its index, the index to
the NRth row:
LCOLS(ID), LROWS(ID), LFRWRD(ID), KNEXT(ID), ITABL(ID,NR,L),
RTABL(ID,NR,L), KROW(ID,NR), LFRROW(ID)
The following banks will be written onto tape before the 1st event
- the ALEPH run header bank 'RUNH', NR=0
- the particle bank 'PART', NR=0
- the GALEPH run header banks'Axxx', NR=0
- the KINE run header bank 'KRUN', NR=0
and all data base banks used by GALEPH and which have been modified
by data cards.
all necessary parameters are taken from the data base.
The following banks will be written onto tape for each event.
- the ALEPH event header bank 'EVEH', NR=event# + run# * 65536
- the event generator status 'KEVH', NR=0
- the kinematics banks 'VERT', NR=vertex#
'KINE', NR=track#
'KVOL', NR=0
or 'FKIN', 'FVER', 'FPOI' NR=0
- the hit banks 'xxHT', NR=0
- the digit banks 'xxDI', NR=0
- the relation hit/track
or
- the relation digit/track 'xxDT'
- the GALEPH event header bank 'ASEV', NR=0
Next banks are booked, filled and added to the 'E' list by
detector people. In the bank name 'xy' stands for:
- x is the 1st letter of the detector.
- y is either the 2nd letter of the detector or a hit/digit type
such as: 'P' for 'pad' or 'W' for 'wire'.
i.e. TPC could have TPHT (hit on pad), TTHT (hit on trigger pad),
TWHT (hit on wire).
name = xx HT , NR = 0 , ND = lhdr(=2) +lw*lhit
By convention a HIT is all the information you need to make the
digitisation without redoing the Geant3 tracking.
HIT bank is filled during tracking (that means 1 track at a
time). The input to the HIT module is a track element.
1 lw # of words/hit I
2 lhit # of hits I
lhdr+1 I
--- --- -- to be defined by det. people
lw last word of 1st hit
----
lw*lhit last word of last hit
Raw Data information , the format is given by the read out. if
it is possible follow the ALEPH convention : miniheader of 2 words
as follow :
name = xxDI , NR = 0 , ND = lhdr +lw*ldig
1 lw # of words/digit
2 ldig # of digits
lhdr+1 - lw*ldig -- to be defined by det. people I
Each bank starts with the standard miniheader of 2 words.
The 1st address is 0.
name = xxDT , NR = [1,4] , ND variable , FORMAT is Integer
give the correlations between digits and tracks (between signals
and tracks in calorimeters)
INTEGER LMHLEN, LMHCOL, LMHROW
PARAMETER (LMHLEN=2, LMHCOL=1, LMHROW=2)
C
COMMON /BCS/ IW(1000)
INTEGER IW
REAL RW(1000)
EQUIVALENCE (RW(1),IW(1))
C
COMMON /NAMCOM/ NARUNH, NAPART, NAEVEH, NAVERT, NAKINE, NAKRUN
& ,NAKEVH, NAIMPA, NAASEV, NARUNE, NAKLIN, NARUNR
& ,NAKVOL, NAVOLU
C
Standard name-index definition
NAxxxx name-index of bank 'xxxx'
index of bank 'xxxx' is Kxxxx = IW(NAxxxx)
NAxxxx are set to 0 in ASINIT and defined at
booking time.
PARAMETER (LFIL=6)
COMMON /IOCOM/ LGETIO,LSAVIO,LGRAIO,LRDBIO,LINPIO,LOUTIO
DIMENSION LUNIIO(LFIL)
EQUIVALENCE (LUNIIO(1),LGETIO)
COMMON /IOKAR/ TFILIO(LFIL),TFORIO(LFIL)
CHARACTER TFILIO*60, TFORIO*4
C
Logical unit definitions
LFIL number of logical units
LGETIO input data file logical unit (def=1)
LSAVIO output data file logical unit (def=2)
LGRAIO graphics logical unit (def=3)
LRDBIO relationnal data base logical unit (def=4)
LINPIO input data card logical unit (def=5)
LOUTIO print out logical unit (def=6)
LUNIIO (1-lfil) equivalent to LGETIO --- LOUTIO
TFILIO (1-lfil) name of the file assigned to LUNIIO (1-lfil)
TFORIO (1-lfil) file format : 'EPIO' or 'DAIO' or ' '
' ' means nativ format
PARAMETER (LOFFMC = 1000)
PARAMETER (LHIS=20, LPRI=20, LTIM=6, LPRO=6, LRND=3)
PARAMETER (LBIN=20, LST1=LBIN+3, LST2=3)
PARAMETER (LSET=15, LTCUT=5, LKINP=20)
PARAMETER (LDET=9, LGEO=LDET+4, LBGE=LGEO+5)
PARAMETER (LCVD=10, LCIT=10, LCTP=10, LCEC=15, LCHC=10, LCMU=10)
PARAMETER (LCLC=10, LCSA=10, LCSI=10)
COMMON /JOBCOM/ JDATJO,JTIMJO,VERSJO
& ,NEVTJO,NRNDJO(LRND),FDEBJO,FDISJO
& ,FBEGJO(LDET),TIMEJO(LTIM),NSTAJO(LST1,LST2)
& ,IDB1JO,IDB2JO,IDB3JO,IDS1JO,IDS2JO
& ,MBINJO(LST2),MHISJO,FHISJO(LHIS)
& ,IRNDJO(LRND,LPRO)
& ,IPRIJO(LPRI),MSETJO,IRUNJO,IEXPJO,AVERJO
3 ,MPROJO,IPROJO(LPRO),MGETJO,MSAVJO,TIMLJO,IDATJO
5 ,TCUTJO(LTCUT),IBREJO,NKINJO,BKINJO(LKINP),IPACJO
6 ,IDETJO(LDET),IGEOJO(LGEO),LVELJO(LGEO)
7 ,ICVDJO(LCVD),ICITJO(LCIT),ICTPJO(LCTP)
8 ,ICECJO(LCEC),ICHCJO(LCHC),ICLCJO(LCLC)
9 ,ICSAJO(LCSA),ICMUJO(LCMU),ICSIJO(LCSI)
& ,FGALJO,FPARJO,FXXXJO,FWRDJO,FXTKJO,FXSHJO,CUTFJO
& ,IDAFJO,IDCHJO,TVERJO
LOGICAL FDEBJO,FDISJO,FHISJO,FBEGJO,FGALJO,FPARJO,FXXXJO,FWRDJO
& ,FXTKJO,FXSHJO
COMMON /JOBKAR/ TITLJO,TSETJO(LSET),TPROJO(LPRO)
1 ,TKINJO,TGEOJO(LBGE),TRUNJO
CHARACTER TRUNJO*60
CHARACTER*4 TKINJO,TPROJO,TSETJO,TITLJO*40
CHARACTER*2 TGEOJO
C
PARAMETER (LERR=20)
COMMON /JOBERR/ ITELJO,KERRJO,NERRJO(LERR)
COMMON /JOBCAR/ TACTJO
CHARACTER*6 TACTJO
C
ITELJO = 1 if TAXION = STOP, END or FATAL
KERRJO = error code
NERRJO(1-lerr) = error counters
1 not enough space to book bank (ALBOS)
2 not enough space for Geant3 banks (AURCEC)
3 HCAL error (HCAL module)
4 ECAL error: missing banks (ECAL module)
5 ITC error: bank too small (ITDAQ)
6 event did not terminate (ASEVST)
7 VDET error (VDET module)
TACTJO = action to be taken: RETURN, NEXT, STOP, END, FATAL
INIT
JOB parameters set by data cards
LOFFMC MonteCarlo offset to define experiment # ,
run type, event type and event status
LHIS histogram flag dimension
LPRI print flag dimension
LTIM time limit dimension
LPRO process flag dimension
LRND maximum number of random generator seeds
LBIN pseudo-histogram number of bins
LST1 1st dimension of the statistic array
LST2 2nd dimension of the statistic array
LSET set array dimension
LTCUT tracking cut array dimension
LKINP kinematic parameter array dimension
LDET number of detectors
LGEO number of components
LBGE number of geo. name-indices
JDATJO date of the day
JTIMJO time of the day
VERSJO program version number
NEVTJO current event #
NRNDJO first random number used by the current event
FDEBJO debug flag of the current event
FDISJO display flag of the current event
FBEGJO (1-ldet) beginning of detector module flags
TIMEJO (1-ltim) time in msec
1 initial time given by TIMED (ASIJOB)
2 time left given by TIMEL (ASIEVE)
3 time elapsed since beginning of job (ASCRUN)
4 time
5 time spent before 1st event (ASIEVE)
6 time spent to end the run (ASCRUN
NSTAJO statistic array
IDB1JO first trigger to be debugged
IDB2JO last trigger to be debugged
IDB3JO period to keep 1st random number
IDS1JO first trigger to be dispayed
IDS2JO last trigger to be displayed
MBINJO pseudo-hist. number of bins
MHISJO if > 0 histograms are required
FHISJO (1-lhis) histogram flags
set to TRUE in ASIEVE
1 VDET hit process
2 ITC -----------
3 TPC -----------
4 ECAL -----------
5 LCAL -----------
6 SATR -----------
7 HCAL -----------
8 MUON -----------
9 SICAL -----------
11 apply trigger process
12 RDST process
IRNDJO (1-lpro) set of random numbers
1 kinematics root
2 tracking root
3 hit root
4 digitizing root
5 trigger root
6 RDST root
IPRIJO (1-lpri) print flags
1 VDET
2 ITC
3 TPC
4 ECAL
5 LCAL
6 SATR
7 HCAL
8 MUON
9 SICAL
11 TRIGGER process
12 RDST process
13 draw each track element during an interactive session
14 output banks (ASRUNH, ASEVST)
15 input banks (ASRETP)
16 KINE and VERT banks
17 track element at each step (GUSTEP)
18 IMPA banks
19 geometry
20 PART bank
MSETJO maximum number of sets defined for the job
MPROJO maximum number of blocks processed during the j
IPROJO (1-lpro) = 1 if the block must be processed
AVERJO ALEPHLIB version #
IEXPJO experiment #
MGETJO = 1 if blocks are read from disk/tape
MSAVJO = 1 if blocks are saved onto disk/tape
TIMLJO time required to run 1 event and end the job
IDATJO date of the requested survey file
IRUNJO run number
TCUTJO energy cuts used during tracking
1 for electrons
2 gammas
3 charged hadrons
4 neutral hadrons
5 muons
IBREJO Bremsstrahlung cross-section mode:
= 1 simple parametrization of the energy
spectrum of gammas
= 2 more sophisticated approach
NKINJO number of kine parameters in BKINJO
BKINJO (1-lkinp) kinematics parameters
1 sigma of the x-vertex
2 - - - - - - y-vertex
3 - - - - - - z-vertex
4 beam energy in cms for full event generator
'a la LUND'
5 theta direction of the JET if a single jet
event has been required
6 phi direction of the JET
4 particle type# if single PART has been required
5 momentum range of generation of the single PART
6 min and max value
7 cos(theta) direction range of the single PART:
8 min and max value.
IPACJO = 1 GHEISHA
= 2 TATINA
= 3 CASCADE
IDETJO (1-ldet) digitization type for detector 1-ldet
= 0 means the corresponding detector has not
been selected on a SETS data card
= i means det.# i has been selected
the order is the following:
VDET, ITC, TPC, ECAL, LCAL, SATR, HCAL, MUON
SICA
IGEOJO (1-lgeo) = 0 means the component is absent
= 1 means the component is present
the order is the following:
VDET, ITC, TPC, ECAL, LCAL, SATR, HCAL, MUON
SICA, BPIP, QUAD, PMAT, COIL
LVELJO (1-lgeo) geometry level in the range [0,3]
ICVDJO (1-lcvd) VDET run condition flags
ICITJO (1-lcit) ITC run condition flags
ICTPJO (1-lctp) TPC run condition flags
ICECJO (1-lcec) ECAL run condition flags
ICLCJO (1-lclc) LCAL run condition flags
ICSAJO (1-lcsa) SATR run condition flags
ICHCJO (1-lchc) HCAL run condition flags
ICMUJO (1-lcmu) MUON run condition flags
ICSIJO (1-lcsi) SICA run condition flags
FGALJO if .TRUE. (default) write GALEPH banks
FPARJO if .TRUE. use geantino parametrization in calo.
FXXXJO if .TRUE. write Fxxx output banks
FWRDJO if .TRUE. write Raw Data on a separate record
FXTKJO IF .TRUE. drop low momentum tracks (FYXX pack.)
FXSHJO IF .TRUE. drop low momentum showers (FYXX)
CUTFJO momentum cut (FYXX package)
IDAFJO adbscons daf version #
IDCHJO date of last change of adbscons daf
TVERJO tpcsim version #
TITLJO program title
TSETJO (1-lset) list of selected detectors by SETS data cards
TPROJO (1-lpro) list of selected process by PROC data cards
TKINJO kinematic type flag
TGEOJO (1-lgeo) 2 letter-codes of various components:
VD, IT, TP, EC, LC, SA, HC, MU, SI, BP, QU, PM,CO
EB, HB, MB, MM, MC
TRUNJO Run title (up to 60 characters)
COMMON /KINCOM/ IPROKI,ECMSKI,IDEVKI,ISTAKI,WEITKI
& ,NOTRKI,NITRKI,NIVXKI
C
KINEmatic definition
IPROKI process identification
ECMSKI beam energy in the center of mass
IDEVKI event process identification
ISTAKI status word
WEITKI event weight
NOTRKI NOtracking marker word
NITRKI # of input tracks
NIVXKI # of input vertices
PARAMETER (LETRK=27, LITRK=11, LNTRK=10)
COMMON /TRKCOM/ ITRKEL(LITRK), TRKELE(LETRK), TRKNXT(LNTRK)
& , FTRHAD
LOGICAL FTRHAD
COMMON /TRKKAR/ TRKVOL
CHARACTER*4 TRKVOL
C
track element (TRKELE defines the point before the step, TRKNXT after)
ITRKEL track element integer parameters
1 track number
2 stack-track number (=0 means "primary")
3 vertex number
4 particle type
5 volume name (hollerith)
6 volume number
7 = 0 not in a selected sensitive volume
> 0 in a selected sensitive volume
8 = 1 when entering a new volume or starting a new
particle ( step length = 0.)
2 when leaving a volume
3 when leaving the experimental set-up
0 otherwise
9 = 1 when track looses its identity
2 when energy below cut
3 when shower is produced
10 slot# of the volume
11 tracking type
TRKELE starting point of the current step
(1-7) X, Y, Z, cosA, cosB, cosC, P before the step
8 total energy before the step
9 track length before the step
10 Time Of Flight before the step
11 length of the step to be done
12 energy lost during this step
13 mass
14 charge
15-17 X, Y, Z offsets of the cumulative transformation
from the ALEPH system to the detector system.
18-27 rotation matrix elements for the cumulative
tranformation from the ALEPH to the local system .
TRKELE(27)=0. indicates the null rotation.
TRKNXT end point of the current step
(1-7) X, Y, Z, cosA, cosB, cosC, P after the step
8 total energy after the step
9 track length after the step
10 T.O.F. after the step
FTRHAD hadronic interaction flag
TRKVOL volume name (character*4)
C
PARAMETER (LGKINE=100)
COMMON/GCKING/KGCASE,NGKINE,GKIN(5,LGKINE),GTOFD(LGKINE)
& ,IGFLGK(LGKINE)
C
KGCASE process name (4 Hollerith char.)
NGKINE number of secondaries produced
GKIN 1,I Px of Ith-secondary
2,I Py
3,I Pz
4,I E
5,I Geant particle #
GTOFD filled by Gheisha
additional delay introduced by some
nuclear processes
IGFLGK = 0 means store the track in STAK
= 1 means store the track in KINE/VERT
COMMON/GCMATE/NGMAT,NGAMAT(5),GA,GZ,GDENS,GRADL,GABSL
C
NGMATE current material number
NGAMAT name of current material
GA atomic weight of current material
GZ atomic number -------
GDENS density -------
GRADL radiation length ---
GABSL absorption length ---
REAL PI, TWOPI, PIBY2, PIBY3, PIBY4, PIBY6, PIBY8, PIBY12
REAL RADEG, DEGRA
REAL CLGHT, ALDEDX
INTEGER NBITW, NBYTW, LCHAR
PARAMETER (PI=3.141592653589)
PARAMETER (RADEG=180./PI, DEGRA=PI/180.)
PARAMETER (TWOPI = 2.*PI , PIBY2 = PI/2., PIBY4 = PI/4.)
PARAMETER (PIBY6 = PI/6. , PIBY8 = PI/8.)
PARAMETER (PIBY12= PI/12., PIBY3 = PI/3.)
PARAMETER (CLGHT = 29.9792458, ALDEDX = 0.000307)
PARAMETER (NBITW = 32 , NBYTW = NBITW/8 , LCHAR = 4)
C
ALDEDX = constant used in the computation of DEDX in GeV
CLGHT = speed of light in cm/nsec
NBITW = number of bits in a machine word
NBYTW = number of bytes in a machine word
LCHAR = number of characters in a machine word
- Read data cards in BOS free format
--> DATE IDATJO
IDATJO yymmdd = date of the required survey file
--> DEBUG LOUTIO / IDB1JO IDB2JO
LOUTIO if given and .GT.0 unit# on which to print
IDB1JO 1st event to be debugged
IDB2JO last event to be debugged
IDB3JO frequency to record last random number
--> DISPLAY LGRAIO / IDS1JO IDS2JO
LGRAIO = 0 suppress all references to display routines
mandatory on IBM/VM if you don't want graphic .
> 0 unit# on which to display
IDS1JO 1st event to be displayed
IDS2JO last event to be displayed
--> FDBA 'fname ftype * | DAF | GIME tid addr '
full name of the data base to read in.
--> FGEO 'fname ftype * | CARDs | GIME tid addr '
full name of the .GEO file ( EXTRACARDS file) to be
read in.
--> FIDUCIAL ALRMAX ALZMAX ALFIEL ALECMS
mandatory
ALRMAX max. radius of ALEPH (in cm.)
ALZMAX max. z (in cm.)
ALFIEL magnetic field (in gauss)
ALECMS beam energy in the center of mass (in gev)
--> FILI 'fname ftype fmode | alephtype | GIME tid addr '
input file name of the file to be read in.
--> FILO 'fname ftype A | alephtype'
output file name of the file to be written out.
--> FXXX 'trflag' 'shflag' 'CUTF' pmom
'trflag' = 'DRTK' if tracks have to be dropped (def)
= 'KPTK' if tracks have to be kept
'shflag' = 'DRSH' if showers have to be dropped (def)
= 'KPSH' if showers have to kept
pmom momentum cut (tracks with momentum < pmom will
be dropped. must be preceeded by 'CUTF'.
the 'KINE' and 'VERT' banks will be replaced
by 'FKIN', 'FVER' and 'FPOI' banks.
--> GEOMETRY 'component(n)' LVELJO(n) ...
gives for each component of the apparatus the
geometry level required in the range [0,2].
if a component is not given , its geometry level
is assumed to be = 1.
a component must start with its 2 letter-code:
VD, IT, TP, EC, LC, SA, HC, MU, BP, CO, QU, PM, TS
--> HISTOGRAM n1 n2 n3 .....
or 'nam1' 'nam2' 'nam3' ....
FHISJO(n) if n.le.LHIS then FHISJO(n) = .TRUE.
FHISJO can be used to trigger groups of hist.
name= VDET, ITC , TPC , ECAL, LCAL, SATR, HCAL, MUON
n= 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
TRIG, RDST
11 , 12
hist. booked by flag FHISJO(n) could be in the
range : n*100 to n*100+99
--> IMPACT 'name1' 'name2' .... 'namei' ...
VDET, ITC, TPCI, ECAL, LCAL, SATR, HCAL, MUON
track parameters will be stored at the entrance
of the detector volume 'namei' for all primaries
TPCO
track parameters will be stored at the exit
point of the TPC gas volume for charged particles
--> KINEMATICS 'TKINJO' p1 p2 ......
TKINJO kinematic type : 'PART' , 'USER
BKINJO (1-lkinp) kinematic parameters
1 sigma x-vertex (in cm.)
2 --- y-vertex (in cm.)
3 --- z-vertex (in cm.)
4 particle type (PART)
5 - 6 momentum range (PART)
7 - 8 cosine(theta) range (PART)
4 - 8 free (USER)
--> PRINT n1 n2 .....
or 'nam1' 'nam2' ...
IPRIJO (1-lpri) if n.le.LPRI then IPRIJO(n)=1
name = VDET, ITC, TPC, ECAL, LCAL, SICA, HCAL, MUON
n = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
TRIG 11 Trigger process printout
OUTP 14 print the list of output BOS banks
INPU 15 print the list of input BOS banks
KINE 16 print 'KINE' and 'IMPA' BOS banks
TREL 17 print each track element delivered by GEANT3
DRAW 18 draw each track element (GUSTEP very slow)
GEOM 19 print Geant3 geometry banks and ALEPH decay bank
PART 20 print particle data bank
--> PROCESS 'TPROJO(n)' .....
TPROJO (1-lkey) process names
if TPROJO(n) .eq. TKEYS(j) then IPROJO(j)=1
TKEYS contains following process:
KINE, TRAC, HIT, DIGI, TRIG, RDST
--> RNDM process# / IRNDJO(1,process#) IRNDJO(2,pro) IRNDJO(3,pro)
process# [1,6] for the following processes:
KINE, TRAC, HITS, DIGI, TRIG, RDST
IRNDJO are integers which will
be used as roots for the random generator of
the 1st processed event.
there is 1 to 3 roots per process depending on
the random number generator used:
RNDM 1 root
RANECU 2 roots
RANMAR 3 roots
to initialize RANMAR with the 2 lab seeds:
RNDM n / lab1 lab2 -1
--> RUN IRUNJO TRUNJO
IRUNJO run number
TRUNJO run title ( 60 char. at most)
--> RUNC 'xxdetname' ICxxJO(n) ......
xxdetname detector name starting by its 2-letter code
ICxxJO (1-LCxx) run condition flags for this detector
--> SETS 'TSETJO(n)' ..........
TSETJO (1-lset) list of sets to be considered for analog
signals and digitization.
any setname must start with the 2 letter-code
of the detector it belongs to:
VD, IT, TP, EC, LC, SI, HC, MU
in case an outer detector (EC, LC, SI, HC, MU)
is not selected the detector is physically
dropped.
MU should not be selected without HC.
HC should not be selected without EC.
if EC is not selected the shower parametrization
will not be turned on and as a consequence the
computer time per event will be longer.
--> STATISTICS MBINJO(n) ....
MBINJO bin size of pseudo histograms
1 # of tracks per event (def.=150)
2 # of 'primaries' per event (def.=10)
3 maximum size of the stack per event (def.=15)
--> TIME TIMLJO
TIMLJO necessary time to execute last event and end
the job
--> TCUT TCUTJO(n) .....
TCUTJO (1-ltcut) kinetic energy cuts used during tracking
should be used by specialists only
1 gamma kinetic energy cut (def=.005)
2 electron kinetic energy cut (.005)
3 hadron kinetic energy cut (.01)
4 neutral hadron kinetic energy cut (.01)
5 muon kinetic energy cut (.01)
--> TPCSIM require TPC digitization
--> NEVT IEV1JO -IEV2JO
IEV1JO 1st event# to be processed
IEV2JO last event# to be processed
--> ENDQ last data card : must be there
Geometrical constants can be input via BOS data cards read
from the logical unit set by a UNIT N data cards.
The rules to write data cards are the same as the ones
described for the input data cards in *DK DATDOC.
--> ENDQ last data card
Two possibilities are offered to build a partial geometry set-up:
1. - Modify the fiducial radius and/or maximum extension along
beam line on the FIDUcial card, keeping all detector geometry
as read from Data Base.
This will activate only the detectors fully contained inside
the fiducial volume.
2. - Keep the overall fiducial volume and suppress the unwanted
detectors by a GEOM 'xxyy' 0 card.
( xx should be among the official list of detector 2 letter code, yy being
free )
An array of flags IGEOJO is set up in the common /JOBCOM/,
each index corresponding to a component of the set-up, in the
following order:
VD, IT, TP, EC, LC, SA, HC, MU, CO, BP, QU, PM, TS
The value 1 means that the corresponding detector geometry
has been selected and is contained inside the fiducial volume.
The kinematics is steered in ASKINE.
It is possible to generate internally USER type of event,
for more details look at KINGAL documentation.
Or to generate a single particle of a given type in a given
range of momentum and cosine(theta).
The choice is triggered by data card:
KINE 'USER' svx svy svz --- free for user ------------------
KINE 'PART' svx svy svz part# pmin pmax cthemin cthemax
The smeering of the primary vertex around (0.,0.,0.) is defined by:
svx, svy, svz
The tracking is performed by GEANT3. The steering routine is GTREVE
called by ASPEVE.
Multiple-scattering, energy loss and electromagnetic process are done by
GEANT3 packages.
Hadronic processes are performed by GHEISHA.
Tracking is performed depending on the type of the particle:
gamma, electron, charged had., neutral had., muon
The primary vertex is stored in VERT bank and primary tracks in KINE
banks.
The secondaries can be stored either in VERT+KINE banks or in STACK bank.
The user makes the choice.
A track receives 2 numbers : a track number IGTRA and a stack number
IGSTAK. When the track belongs to the KINE bank ("primary track") the stack
number IGSTAK = 0.
Tracking starts with the first track of the KINE bank and continues with
all tracks stored in the STAK bank until it is emptied . Then it continues
with the next track in the KINE bank.
(look at GEANT3 manual the TRAK chapter for more details)
Control is given to the user in GUSTEP after a step is performed or when
entering a new volume in GTRACK. At this level a track element is avalaible
in the GEANT common block /GCTRAK/, /GCSETS/, /GCKINE/. Secondaries are
stored in /GCKING/.
If the track element is in a selected sensitive volume (IGDTYP>0 and SETS
data card) and it is a charged particle or a photon in the ECAL, the common
/TRKCOM/ is filled in and control is transferred to the corresponding module
xxHIT, where it can be used in conjonction with the common /GCKING/ which
contains the secondaries and /GCMATE/ which contains the current material
parameters.
Then in case of production of secondaries during the last tracking step ,
control is transferred to ASKTRK to store the secondaries either in the
standard KINEmatics banks or in a temporary STACK. The track element can be
stored in the JGXYZ bank if debug or display of the event is required.
New tracks are stored in routine ASKTRK:
PRIMARIES are stored in 'KINE' banks, non primary tracks are stored in
the stack and loose their identity after the tracking.
A particle is called a PRIMARY if it is a daughter of a primary and it
is produced in the inner part of the apparatus (up to the TPC outer wall
but the TPC endplate and ITC endplate), and its momentum is above 100Mev.
DISPLAY display routines
This chapter describes the subroutines used by the display option
of the standard Batch version of GALEPH.
If the display flag is activated ,the program will :
- initialize the display process by calling ADINIT once.
- produce a capture file on unit LGRAIO (default 3) containing 2 typical cut
views of the requested events ( call ADVIEW).
The initial step will initialize some constants needed by the drawing
package ( scale factors , seen or unseen volumes ) by a call to GUINTI.
Then it will build once the standard views of the event,i.e.
- one X-Y cut view at Z=0.
- one Y-Z cut view at X=0.
In order to save time , those views of the geometrical set-up are built
once and stored in view banks by subroutines ADXY and ADRZ. They are
recalled in each event when needed.
The event processing step calls ADVIEW after each event in ASCEVE.
The display of the tracks is superimposed to the display of the set-up
in each of the defined cut views,toguether with a picture header and a title.
In the Y-Z view , R is plotted instead of Y .
The detector geometry is described in terms of volumes in which the
tracking is performed according to the tracking parameters of the media
filling the volumes. The basic concepts needed to define a volume are the
following:
-SHAPE identification specifying the geometrical shape (tube,cone,box..)
and its dimensions in the attached local reference system LRS.
-TRACKING MEDIUM parameters to be associated with a particular volume.
-PHYSICAL PROPERTIES of the material which fills the volume.
Furthemore, as long as it is not positionned in the ALEPH reference system
ARS, a volume is an entity without any spatial relation with the ALEPH
set-up.
Full details about the GEOMETRY package of GEANT3 can be found in the
GEANT3 users guide (DD/EE/84-1).
Each detector or component of a detector has to be defined as a VOLUME
qualified by:
NAME : unique 4-character name
SHAPE : 4-character name of a system supplied shape
if necessary,one can add new shapes
NMED : tracking medium number corresponding to this volume
PAR : array containing the volume parameters
NPAR : number of parameters to be used (may be 0)
By convention , a unique initial volume is defined as a TUBE named ALEF,
matching the outside boundaries of the entire set-up. The reference system
attached to this volume is the ALEPH reference system ARS.
Inside this initial volume , contents will be positionned , becoming
daughters of the mother volume.
The daughters can become ,in the same way, a mother for their contents
and so on... These operations will develop a tree structure of volumes at
deeper and deeper levels (up to 15 are allowed).
The tracking medium properties of the contents replace the ones of the
mother within the region they occupy.
Each shape has a local reference system LRS whose origin and axes are
those defined for this particular shape :
- polycone : cylindrical coord., the origin can be chosen by the user
along the z-axis.
- tube : cylindrical coord., the origin is at the center.
- box : cartesian coord., the origin is at the center.
- trapezoide : cartesian coord., the origin is at the center.
In order to position a volume of given shape and dimensions inside a
mother volume, the user must specify the translation and the rotation of the
local reference system with respect to the mother reference system.
x,y,z : position of the origin of the local reference system in the mother
reference system
irot : rotation matrix number describing the orientation of the local
reference system with respect to the mother reference system.
If no rotation is needed,irot can be set to 0.
Here is a description of the tree implemented in this primary version
of the program.
Naming convention : all volume names should start with the two letters code
of the detector they are connected to ,that is to recall them:
VD : for Vertex detector
IT : for ITC detector
TP : for TPC detector
EC : for e-gamma detector
HC : for hadron detector
LC : for Luminosity calorimeter detector
SI : for Silicon calorimeter detector
MU : for Muon detector
CO : for Coil components
BP : for Beam pipe elements
QU : for Super quadrupole elements
PM : for Passive material ( cables, electronics,...)
TS : for trigger scintillator elements
The first level (ALEF mother volume) and the second level (artificial
volumes containing real detectors) are described in the main routine of the
geometry package :AGEOME .
LEVEL 1 : The MOTHER volume is defined as a TUBE named ALEF filled with
air inside coil field (AIF).
LEVEL 2 : Real detectors are grouped into artificial volumes to reduce
the search through the ALEF tree at tracking time. Each of them corresponds
roughly to a part of the apparatus. The contents of these volumes are
defined in routines specific to the detector involved (i.e. content VDET of
volume CDET will be defined in routine AGVDET).
These artificial volumes are of type 'polycone' or 'tube' .
Their z-axis coincides with the ALEF tube axis. Their LRS origin coincides
(for the moment) with the ARS origin.
The artificial volumes containing the end-caps B are positionned by a 180
degrees rotation around Y axis of the corresponding end-caps A.
DAUGHTER # 1 : beam pipe region.
Tube named BTUB .Tracking medium is called ' Beam pipe region '(AIF).
RMIN = 0.
RMAX = maximum extension of the compensators region
ZMAX = maximum extension of the compensators region
This volume has 4 different types of contents positionned inside BTUB :
1 - BPIP corresponding to the central part of the beam pipe.
2 - BCON corresponding to the conical end of the beam pipe (2 copies).
3 - BCOM corresponding to the compensators region connecting the beam
pipe to the standard LEP tube ( 2 copies ).
4 - BPSP corresponding to the supports of VERTEX ( 2 copies ) and ITC
(4 copies ) attached to the pipe.
DAUGHTER # 2 : central detector region.
Tube named CDET. Tracking medium ' Central det.region ' (AIF)
RMIN = BTUB RMAX in the intersection region
RMAX = e-gamma barrel RMIN
ZMAX = e-gamma barrel ECBL ZMAX
This volume has 3 contents positionned inside CDET :
1 - VDET corresponding to the vertex detector
2 - ITCR corresponding to the ITC region up to the TPC inner wall.
3 - TPCR corresponding to the TPC region up to the e-gamma
DAUGHTER # 3 : e-gamma barrel region.
Tube named ECBL. Tracking medium 'EC barrel region ' (AIF)
RMIN = e-gamma RMIN
RMAX = COIL RMIN
ZMAX = ECBL module ZMAX
This volume has 12 identical contents positionned inside ECBL :
1 - EBAR corresponding to one e-gamma barrel region ,i.e. one barrel
module and the corresponding rail to support it.
DAUGHTER # 4 : e-gamma end cap A region.
Polycone named ECEA . Tracking medium 'EC endcap region' (AIF)
RMIN = BTUB RMAX
RMAX = COIL RMIN
ZMIN = ECBL ZMAX
ZMAX = Hadron cal. end-cap HCEA ZMIN
This volume has 5 contents positionned inside ECEA :
1 - ECPA corresponding to the e-gamma end-cap A
2 - LCEA corresponding to the Luminosity calorimeter detector A
3 - SATR corresponding to the Luminosity track detector A
4 - EPBM corresponding to the Passive Material between barrel and endcap
modules
5 - EPAA corresponding to the Passive Material Above end cap A
DAUGHTER # 5 : e-gamma end cap B region ECEB (see ECEA for definition )
ECEA and ECEB are two different volumes instead of the same volume
positionned twice,to allow different relative positions of ECPA (ECPB) ,
LCEA (LCEB),SATR , EPBM, EPAB inside the volume.
DAUGHTER # 6 : coil region
Tube named COIL . Tracking medium called 'Coil region' (AIF).
RMIN = COIL RMIN
RMAX = Had. barrel HCBL RMIN
ZMAX = HCBL ZMAX
This volume has 3 contents positionned inside COIL :
1 - COBY corresponding to the coil central part .
2 - COEN corresponding to the coil end parts.Two copies are positionned
symetrically at each end.
DAUGHTER # 7 : Beam forward region.
Polycone named QUEA . Tracking medium called 'Quadrupole region ' (AIF)
RMIN = 0.
RMAX = HCEA RMIN
ZMIN = BTUB ZMAX
ZMAX = fiducial volume ZMAX
This volume has 2 contents positionned inside QUEA :
1 - QUAA corresponding to the forward region outside the coil
2 - QUPU corresponding to the forward pumping station region
DAUGHTER # 8 : Beam backward region QUEB (see QUEA for definition )
QUEA and QUEB are 2 different volumes to allow different relative positions
inside the volume.
Similarly , QUEB has 2 contents QUAB and QUPU.
DAUGHTER # 9 : hadron calorimeter barrel region.
Tube named HCBL . Tracking medium called 'Hadron bl region ' (AOF)
RMIN = Had. cal. barrel RMIN
RMAX = Muon inner barrel plane RMAX
ZMAX = Had. cal. barrel ZMAX
This volume has 12 identical contents positionned into HCBL at different
phi locations:
1 - HBAR corresponding to one hadron barrel detector region
DAUGHTER # 10 : hadron calorimeter end cap A region
Polycone named HCEA . Tracking medium called 'Hadron ec region ' (AIF)
RMIN = Had. end-cap RMIN
RMAX = COIL RMIN then Had. end-cap RMAX
ZMIN = ECEA ZMAX
ZMAX = MUON inner end cap plane ZMIN
This volume has 2 contents positionned inside HCEA :
1 - HCPA corresponding to the hadron end cap A
2 - EPBX corresponding to passive material lying above the inner part
of the endcap. It is mainly the second part of the ECAL barrel
electronic boxes, the Ecal and HCAL endcap electronic boxes.
Contributions from inner detectors cables appear also here.
DAUGHTER # 11 : hadron calorimeter end cap B HCEB (see HCEA definition )
It contains similarly HCPB for the HCAL endcap B and EPBX for the
passive part.
DAUGHTER # 12 : muon detector region
Polycone named MUON . Tracking medium called 'Muon region ' (AOF)
RMIN = varying with RMAX of all defined volumes.
RMAX = ALEF RMAX
ZMAX = ALEF ZMAX (fiducial volume)
This volume has 3 contents positionned inside MUON :
1 - MUBO corresponding to the barrel outer muon detector
2 - MUEA corresponding to the end cap A muon detector.
3 - MUEB corresponding to the end cap B muon detector.
materials:
1 - Compensator average material, mixture of stainless steel and air
tracking media:
1 - Beam vacuum :vacuum (material #16),not sensitive,inside field
2 - Beam pipe :aluminum (material #9),not sensitive,inside field
3 - Beam pipe end : stainless steel (material #20),not sensitive,inside field
4 - Compensators : average material ,not sensitive,inside field
volumes:
-BPIP : tube filling space from the beam line to the beam pipe
included in the central region,filled with medium # 2, positionned inside
BTUB with LRS =ARS
It has 1 content:
-BPVA :tube filling space from beam line to inner beam pipe ,
filled with medium # 1 positionned inside BPIP with LRS = ARS .
-BCON : polycone filling space from the beam line to the beam pipe
included in the conical end part,filled with medium # 3 ,positionned inside
BTUB with its LRS translated compared to the ARS.Two copies are positionned
symetrically at each edge of the central part.
It has 1 content:
-BCVA :polycone filling space from beam line to inner beam pipe
in the end part region ,filled with medium # 1 ,positionned inside
BCON with LRS = ARS .
-BCOM : tube filling space from the beam line to the BTUB RMAX in
the compensators region,filled with medium # 4 ,positionned inside BTUB
with its LRS tranlated compared to the ARS. Two copies are positionned
symetrically at each edge.
It has 1 content:
-BVAC :tube filling space from beam line to inner beam pipe
filled with medium # 1 positionned inside BCOM with LRS = ARS .
-BPSP : tube corresponding to one support ring for the Vertex detector
or the ITC ,filled with medium # 2 , positionned six times in BTUB ( 2
copies for the VDET supports, 4 copies for the ITC supports) with its
LRS translated compared to the ARS.
materials:
1 - Coil body average material, mixture of air and aluminum
tracking media:
1 - COIL body :average material,not sensitive,inside uniform field
2 - COIL body :average material,not sensitive,inside non uniform field
3 - COIL body :average material,not sensitive,outside field
4 - COIL reinforcements region:air (mat #15),not sensitive,in uniform field
5 - COIL reinforcements region:air (mat #15),not sensitive,outside field
6 - COIL reinforcements rings:alu (mat #9),not sensitive,in uniform field
7 - COIL reinforcements rings:alu (mat #9),not sensitive,outside field
8 - COIL reinforcements rings:alu (mat #9),not sensitive,in nonuniform field
9 - COIL end plates:inox (material #20),not sensitive,in non uniform field
volumes:
-COBY:tube filling the body (conductor,insulator..)central region, filled
with medium air outside field, positionned inside COIL with LRS identical to
Aleph Reference System (LRS = ARS).It has 4 contents strictly overlapping
the mother:
-COBI:tube filling the body (conductor,insulator..) central region up to
the conductor , filled with medium# 1 (see above), positionned inside COBY
with LRS identical to ARS.
-COBO: tube filling the body (insulator..) central region above the
conductor, filled with medium# 3 (see above), positionned inside COBY with
LRS identical to ARS.
-COIN :tube filling the inner region of the reinforcements and
junctions, filled with medium# 4 , positionned inside COBY with LRS =ARS
-COUT :tube filling the outer region of the reinforcements and
junctions, filled with medium# 5 , positionned inside COBY with LRS = ARS
-COCI :tube filling the central inner junction of the the two halves of
the COIL ,filled with medium# 6 , positionned inside COIN with LRS = ARS
-COCO :tube filling the central outer junction of the the two halves of
the COIL ,filled with medium# 7 , positionned inside COUT with LRS = ARS
-COMI :tube filling the intermediate inner reinforcement ring filled
with medium# 6 , positionned inside COIN with the LRS translated along z
compared to the ARS . 6 copies are positionned symetrically in each half
of the coil in COIN.
-COII :tube filling the inner part of inner reinforcement ring filled
with medium #4 , positionned inside COMI with the LRS identical to COMI LRS.
-COMO :tube filling the intermediate outer reinforcement ring, filled
with medium# 7 , positionned inside COUT with the LRS translated along z
compared to the ARS. 6 copies are positionned symetrically in each half of
the coil in COUT.
-COIO :tube filling the inner part of outer reinforcement ring filled
with medium #5 ,positionned inside COMO with the LRS identical to COMO LRS.
-COEN :tube filling the end part of the COIL , filled with medium air in
non uniform field.Two copies are positionned symetrically at each edge of
the COIL ,with the LRS translated along z compared to COIL ARS.
-COBE: tube filling the body (insulator,cryostat..) end region , filled
with medium# 2 (see above), positionned inside COEN with LRS translated
along z compared to COEN LRS.
-COEP :tube filling the end plate closing the coil edges ,filled with
medium# 9 , positionned inside COEN with the LRS translated along z
compared to the COEN LRS .
-COEI :tube filling the edge inner reinforcement ring filled with
medium# 8 , positionned inside COEN with the LRS translated along z
compared to the COEN LRS .
-COEO :tube filling the edge outer reinforcement ring, filled with
medium# 8 , positionned inside COEN with the LRS translated along z
compared to the COEN LRS .
materials:
1 - PVC Mixture defined from its elementary components
2 - ECAL Barrel light average material for stack 1+2
3 - ECAL Barrel dense average material for stack 3
4 - ECAL Barrel average material around the stacks defined as a mixture
5 - ECAL Barrel end stack average material defined as a mixture
6 - ECAL Endcap light average material for stacks 1+2
7 - ECAL Endcap dense average material for stack 3
8 - ECAL resin pressure bag in endcap petal defined as a compound mixture
9 - ECAL Endcap average material on left of stack,defined as a mixture
10 - ECAL Endcap average material on right of satck,defined as a mixture
11 - ECAL average material for electronic boxes of barrel and petal modules
All compound mixture properties are determined using EGS formulae.
tracking media:
All tracking media related to ECAL are in the uniform field of the coil.
1 - ECAL barrel or endcap module:air(material #15),not sensitive
2 - ECAL aluminum frame:aluminum (material #9),not sensitive
3 - ECAL barrel average medium around the stack(see #4 above),not sensitive
4 - ECAL barrel average medium at end of stack(see #5 above),not sensitive
5 - ECAL barrel average medium for stack 1+2(#2 above),sensitive if required
6 - ECAL barrel average medium for stack 3 (#3 above),sensitive if required
7 - ECAL endcap average medium for stack 1+2(#6 above),sensitive if required
8 - ECAL endcap average medium for stack 3 (#7 above),sensitive if required
9 - ECAL endcap passive average on left of stack(#9 above),not sensitive
10 - ECAL endcap passive average on right of stack(#10 above),not sensitive
11 - ECAL pressure bag medium in petals(#8 above), not sensitive
12 - ECAL electronic box medium (#11 above), not sensitive
volumes:
The overall structure of the barrel is made of 12 artificial volumes :
-EBAR:tube section filling one barrel module region,filled with medium #1
(see above), positionned inside ECBL with the Local Reference System
translated and rotated according to their relative position in the ECBL .
The overall structure of a module region is made of 2 volumes:
-EBMO :trapezoide representing one module, filled with medium# 2,
positionned into EBAR.
-EBRA :trapezoide representing the rail attached to a module ,filled
with medium# 2, positionned into EBAR.
A module EBMO has one content :
-EBIN :trapezoide filling the inner space of a module,leaving out the
front and back plates,as well as the overall alu box,filled with medium # 3
positionned inside a EBMO with its LRS translated along the 3 axes compared
to the corresponding EBMO reference system.
The inner part of a module EBIN is made of 3 volumes:
-EBND :trapezoide filling the end part of a module at the edge of the
stack,filled with medium#4.Two copies are positionned symetrically at each
edge of EBIN with the LRS translated along the 3 axes of the EBIN.
It has one content:
-EBEP :box filling the end plate of a module, filled with medium# 2. One
copy is positionned in EBND with the LRS translated along the y axis of EBND
-EB12 :trapezoide filling the active stacks (1+ 2) regions filled with
medium# 5 , positionned with LRS translated along the 3 axis of EBIN.
-EBS3 :trapezoide filling the third stack region of a barrel module
filled with medium# 6 , positionned as EB12.
An end-cap region is made of one volume:
-ECPA(ECPB) :polycone filling the end cap region,filled with medium # 1,
positionned inside ECEA (resp. ECEB) with the LRS translated if necessary
along x,y and z-axis of the ECEA/ECEB and rotated according to the offset.
-ECMO :polygone filling one end cap petal filled with medium# 2. 12
copies are positionned inside ECPA( ECPB ) with their LRS translated and
rotated according to their relative position in the ECPA ( ECPB ).
A module ECMO is made of 3 volumes:
-ECIN :trapezoide filling the inner space of a module,leaving out the
front and back plates,as well as the overall alu box, filled with medium# 10
positionned inside a ECMO with its LRS translated along the 3 axes compared
to the corresponding ECMO reference system.
-ECEX :trapezoide filling the empty space of the gas seal regions,filled
with medium #1 and positionned inside ECMO with the LRS tranlated along z
in mother LRS.Two copies of different depth are positionned (front and back)
The inner part of a module ECIN is made of 3 volumes:
-EC12 :trapezoide filling the active stacks 1+2 region filled with medium
# 7 , positionned with their LRS translated along the 3 axis of ECIN .Due
to its complex shape,two copies of EC12, with different dimensions, are used
to describe the full sensitive volume of stacks 1+2.
-ECS3 :trapezoide filling the stack 3 region of an endcap module,filled
with medium# 8 , positionned as EC12.
As for stack 1+2 , two copies of ECS3,with different dimensions, are used
to described the whole stack 3.
-ECRB :trapezoide filling the resin pressure bag behind the front plate,
filled with medium #11,positionned inside ECIN with its LRS translated along
the Y axis compared to the corresponding ECIN reference system LRS.
materials:
1 - HCAL average material in the barrel part, computed from a mixture of
the components (iron,plastic tube , gas)
2 - HCAL average material in the end cap part, computed in the same way.
tracking media:
1 - HCAL barrel or encap module region :air,not sensitive,outside field.
2 - HCAL barrel medium :average (material #1), sensitive,outside field
3 - HCAL end cap medium:average (material #2), sensitive,outside field
volumes:
The overall structure of the barrel HCBL is made of 12 volumes:
-HBAR corresponding to one double-barrel region, filled with medium #1,
positionned inside HCBL with the LRS rotated compared to the ARS.
Each volume HBAR contains 2 volumes HBMO and 2 volumes HBME:
-HBMO:trapezoide representing one module , filled with medium #2 (see
above), 2 copies are positionned inside HBAR with their Local Reference
System (LRS) rotated and translated according to their relative position
into HBAR.
-HBME:trapezoide representing the last plate of a module,filled with a
medium in plain iron.Two copies are positionned inside HBAR with their LRS
rotated and translated according to their relative position inside HBAR.
-HBN1,HBN2:box(para) filling the space left for cables at each edge of
the modules, filled with medium # 1 (AOF ) ( this medium will be modified
for cables), 2 copies are positionned symetrically at each edge of HBMO,
their LRS are translated along the 3 axes of the HBMO.
Two more copies of different sizes are also positionned inside HBME to build
the full notches.
-HCPA(HCPB) :polycone filling the Hadron end cap detector,filled with
medium #1,positionned inside HCEA (resp. HCEB ) with the LRS translated (if
necessary) compared to the ARS.
An HCPA (HCPB)volume contains 6 identical sectors :
-HCMO :polycone corresponding to one sector,filled with medium #3 .
6 copies are positionned inside HCPA ( HCPB) , their LRS are rotated
according to their relative positions in the HCAP.
Each HCMO has one content:
-HCME :polycone corresponding to the last iron plane of a sector,filled
as volume HBME.
In case of detailled geometry,two extra volumes are defined.
-HBLA :box corresponding to a streamer plane.23 copies of increasing size
are positionned inside HBMO.They are filled with a compound material made
of a mixture of argon gas and PVC walls, sensitive in the non uniform
field.
-HCLA : polycone corresponding to a streamer layer of the endcap sector.
22 copies (filled with same material as HBLA) are positionned inside HCMO
Furthermore , in this case , the material used to build HBMO and HCMO
does not include the streamer gas mixture.
materials:
1 - ITC mixture of gas and wires inside chamber body
2 - ITC average material for inner wall
3 - ITC average material for connectors and electronics parts
4 - ITC average material for outer wall
5 - ITC average material for cables
tracking media:
1 - ITC region :air, not sensitive, inside field (tracking parameters may
be different from those of AIF medium).
2 - ITC gas medium :mixture(average # 1), sensitive,inside field
3 - ITC inner wall medium :mixture (average #2),not sensitive,inside field
4 - ITC electronics parts medium:mixture(average #3),not sensitive,in field
5 - ITC outer wall medium :mixture (average #4),not sensitive,inside field
6 - ITC end plates medium: aluminum (material #9),not sensitive,inside field
7 - ITC cables medium :mixture (average #9),not sensitive,inside field
volumes:
-ITCR:tube filling the space from the inner wall of the ITC to the inner
wall of the TPC,and up to the TPC edges along z, filled with medium# 1 (see
above), positionned inside CDET with the Local Reference System identical
to the Aleph Reference System (LRS = ARS).
ITCR has two contents : ITC and ITND
-ITC :tube filling the whole region of the ITC including the inner and
out walls but not the end parts , filled with medium# 2, positionned
inside ITCR with the LRS = ARS.
ITC has two contents : ITWI and ITWO
-ITWI :tube filling the inner wall region of the ITC, filled with
medium# 3, positionned inside ITC with the LRS =ARS.
-ITWO :tube filling the outer wall region of the ITC filled with medium#
5, positionned inside ITC with the LRS = ARS.
-ITND :tube filling the end part region of the ITC filled with medium #1,
positionned inside ITCR with the LRS translated along z compared to the ARS.
2 copies are placed symetrically at each edge of ITC.
ITND has 3 contents : ITEP , ITSP , ITRG
-ITEP :tube filling the end plate region of the ITC filled with medium#
6, positionned inside ITND with the LRS translated along the z axis
compared to the ARS.
-ITSP :polycone filling the support region of the ITC filled with medium
#6 ,positionned inside ITND with the LRS identical to ITND LRS.
-ITRG :tube filling the outer ring support region of the ITC filled with
medium #6 ,positionned inside ITND with the LRS translated along z .
ITSP has 2 contents : ITEL , ITCA
-ITEL :tube filling the connector and electronic region of the ITC filled
with medium #4 ,positionned inside ITSP with the LRS translated along z.
-ITCA :polycone filling the cable region of the ITC filled with medium
#7 ,positionned inside ITSP with the LRS identical to the ITSP LRS.
materials:
1 - LCAL Xe-CO2 mixture defined according to percentages of components.
2 - LCAL light average material for stacks 1+2
3 - LCAL dense average material for stack 3
tracking media:
1 - LCAL calorimeter volume :air ,not sensitive,inside field
2 - LCAL alu frame medium :aluminum,not sensitive,inside field
3 - LCAL passive gas medium :gas mixture,not sensitive,inside field
4 - LCAL back plate :iron, not sensitive,inside field
5 - LCAL average medium for stack 1+2 :sensitive if required,inside field
6 - LCAL average medium for stack 3 :sensitive if required,inside field
volumes:
-LCEA (LCEB):tube filling the overall LCAL region , filled with medium
#1 (AIF), positionned inside ECEA (resp. ECEB) with the Local
Reference System (LRS) translated according to the relative position in the
Aleph Reference System (ARS).
-LCMO :tube section filling one module, filled with medium# 2 (see
above), 2 copies are positionned inside LCEA (LCEB)with the LRS translate
and rotated ( 180 deg. around z-axis for one copy ) according to their
reletive position in the LCAL .
-LCIN :tube section filling the inner space of a module,leaving out the
front plate,the inner and outer walls of the tube but not the side walls.
filled with medium# 3, positionned inside LCMO with the LRS translated
along the z-axis of the LCMO.
-LCBP :tube section filling the back plate volume of a LCAL module,
filled with medium# 4, positionned inside LCMO with the LRS translated
along the z-axis of the LCMO.
-LCSI :box filling the side inner wall region along the sides but
outside the stacks ,close to the inner wall filled with medium #2
positionned inside LCIN with the LRS translated along the 3 axis of the
LCIN. Two copies are positionned symetrically in Y.
-LCSO :box filling the side outer wall region along the sides but
outside the stacks ,close to the outer wall filled with medium # 2
positionned inside LCIN with the LRS translated along the 3 axis of the
LCIN. Two copies are positionned symetrically in Y.
-LC12 :tube section filling the active stacks 1+ 2 regions filled with
medium# 5, positionned inside LCIN with the LRS translated along the Z axis
of the LCIN.
-LCS3 :tube section filling the third stack region , filled with medium#
6, positionned inside LCIN with the LRS translated along z-axis of the LCIN.
-LCCA :tube section filling the region between stack 3 and the iron back
plate, filled with medium #2, positionned inside LCIN with the LRS translate
along z-axis of the LCIN.
-LCSW :box filling the side inner wall region along the stacks filled
with medium# 2, positionned inside LC12 (resp. LCS3) with the LRS
translated along x- and y-axis of the LC12/LCS3. 2 copies are positionned
symetrically in Y.
-LCSG :box filling the side gas gap region along the stacks filled with
medium# 3, positionned inside LC12 (resp. LCS3)with the LRS translated
along x- and y-axis of the LC12/LCS3. Two copies are positionned
symetrically in Y.
-LCDL :tube filling the supporting rods through the stacks filled with
medium# 2, positionned inside LC12 (resp. LCS3)with the LRS translated
along x- and y-axis of the LC12/LCS3. Two copies are positionned
symetrically in Y.
tracking media:
1 - MUON chamber medium :air,sensitive,whithout field
2 - MUON overall region : air,unsensitive , outside field
volumes:
-MUBO :tube filling the region of the barrel outer layer, filled
with medium #2, positioned inside MUON with its LRS same as MUON's.
-MUEA :polycone filling the region of the end A, filled with
medium #2, positioned inside MUON with its LRS same as MUON's.
-MUEB :polycone filling the region of the end B, filled with
medium #2, positioned inside MUON with its LRS same as MUON's.
-MMIA :tube section filling the region of the inner middle angle
modules of A side, filled with medium #2, positioned inside MUEA
with its LRS translated along with Z axis to the center of these
modules.
-MMOA :tube section filling the region of the outer middle angle
modules of A side, filled with medium #2, positioned inside MUEA
with its LRS translated along with Z axis to the center of these
modules.
-MMBA :box filling the region of the bottom one of the middle
angle modules of A side, filled with medium #2, positioned inside
MUEA with its LRS translated along with Z axis to the center of
this module and rotated according to its relative orientation.
-MCIA :box filling the region of the inner endcap modules of A
side, filled with medium #2, positioned inside MUEA with its LRS
translated along with Y and Z axis to the center of these modules.
-MCOA :box filling the region of the outer endcap modules of A
side, filled with medium #2, positioned inside MUEA with its LRS
translated along with Y and Z axis to the center of these modules.
-MMIB :tube section filling the region of the inner middle angle
modules of B side, filled with medium #2, positioned inside MUEB
with its LRS translated along with Z axis to the center of these
modules.
-MMOB :tube section filling the region of the outer middle angle
modules of B side, filled with medium #2, positioned inside MUEB
with its LRS translated along with Z axis to the center of these
modules.
-MMBB :box filling the region of the bottom one of the middle
angle modules of B side, filled with medium #2, positioned inside
MUEB with its LRS translated along with Z axis to the center of
this module and rotated according to its relative orientation.
-MCIB :box filling the region of the inner endcap modules of B
side, filled with medium #2, positioned inside MUEB with its LRS
translated along with Y and Z axis to the center of these modules.
-MCOB :box filling the region of the outer endcap modules of B
side, filled with medium #2, positioned inside MUEB with its LRS
translated along with Y and Z axis to the center of these modules.
-MUB1 :box filling the physical modules of the inner layer of the
barrel, filled with medium #1 (sensitive), positioned inside HBAR
with its LRS translated and rotated according to its relative
position.
-MUB2 :box filling the physical modules of the outer layer of the
barrel, filled with medium #1 (sensitive), positioned inside MUBO
with their LRS translated and rotated according to their relative
position.
-MUM1 :box filling the physical modules of the inner layer of the
middle angle, filled with medium #1 (sensitive), positioned inside
MMIA, MMBA, MMIB and MMBB with their LRS translated and rotated
according to their relative position.
-MUM2 :box filling the physical modules of the outer layer of the
middle angle, filled with medium #1 (sensitive), positioned inside
MMOA and MMOB with their LRS translated and rotated according to
their relative position.
-MUC1 :box filling the physical module of the inner layer of the
endcap, (the actual shapes of the physical modules are not boxes)
filled with medium #1 (sensitive), positioned inside MCIA and MCIB
with their LRS translated and rotated according to their relative
position.
-MUC2 :box filling the physical module of the outer layer of the
endcap, (the actual shapes of the physical modules are not boxes)
filled with medium #1 (sensitive), positioned inside MCOA and MCOB
with their LRS translated and rotated according to their relative
position.
materials:
1 - TPC horizontal feet average (mixture of aluminum and air)
2 - TPC vertical feet average (mixture of aluminum,stainless steel,air)
3 - TPC cables average (mixture of copper,PVC, air)
4 - IPC cables average (another mixture of copper,PVC,air)
5 - Electronics boxes average(mixture of copper,aluminum PVC and air)
tracking media:
All tracking media are obviously unsensitive.
1 - TPC horizontal feet : average material,inside field
2 - TPC vertical feet : average material,inside field
3 - TPC cables medium :average material, inside uniform field
4 - TPC cables medium : average material, in non uniform field
5 - ITC cables medium :average material, inside uniform field
6 - ITC cables medium : average material, in non uniform field
7 - Electronic boxes medium :average material, inside uniform field
8 - Electrinic boxes medium: average material, in non uniform field
volumes:
-EPBM:tube filling the region between the Ecal barrel and petal modules,
filled with air in field.
EPBM has 12 contents :
-ETHF:tube section filling the region of the TPC horizontal foot filled
with medium #1 (see above),positionned inside EPBM with the LRS identical to
EPBM LRS,and angular range depending on copy #(#1 around 0 degree,#2 around
180 deg).
-ETVF: similar to ETHF but for vertical TPC feet(medium #2), with angular
ranges around 90 deg for copy#1 and 270 deg for copy #2.
-ETCA: tube section,filling the TPC cables phi region,filled with medium
#3 ,positionned inside EPBM with the LRS identical to the (EPBM) LRS ,the
angular range depending on the copy # (#1 around 30 deg,#2 around 60 deg,#3
around 120 deg ,#4 around 210 deg ,#5 around 240 deg and #6 around 330 deg )
-EICA: tube section,filling the ITC cables phi region,filled with medium
#5 ,positionned inside EPBM with the LRS identical to (EPBM) LRS,the angular
range depending on the copy # (#1 around 150 deg,#2 around 300 deg ).
-EPAA(EPAB): tube,filling the passive part above Ecal petal modules but
below the Coil.As it is filled by the 24 electronic boxes of the barrel
modules, 12 calibration boxes ( on side B only ) , 8 cables bunches from
inner detectors and 4 slots from TPC pipings,it was choosen to fill it with
the most frequent material, i.e. electronic box medium defined as # 7 above.
Then it is partly overwritten by volumes made of other materials.Up to now
20 contents are defined:
-EPCA: tube section corresponding to the space between two electronic
boxes of a barrel module (in EPAA case) or to the space left at the end of
the calibration boxes ( in EPAB case).12 copies are positionned in each case
with the LRS identical to the EPAA(EPAB) LRS, the angular range depending on
the copy # (#1 is centered around 15 deg,the next ones obtained by adding 30
degrees each ).
-ETCA: same volume as above , but with different dimensions along R and z
axis.As well, 6 copies are positionned with angular ranges as explained
before.
-EICA:same volume as above, with different dimensions along R and z axis.
As above , 2 copies are positionned with angular ranges as explained before.
-EPBX: tube,filling the passive part above Hcal inner endcap modules but
below the Coil.As it is filled by the 24 electronic boxes of the Ecal petal
modules, Hcal electronic boxes, end part of the 24 electronic boxes of the
Ecal barrel modules, 8 cables bunches from the inner detectors and 4 slots
from TPC pipings,it was choosen to fill it with the most frequent material,
i.e. electronic box medium defined as #8 above.Then it is partly overwritten
by volumes made of other materials.Up to now 20 contents are defined:
-EPCB: tube section corresponding to the space between two electronic
boxes of a barrel module,filled with air in non uniform field.12 copies are
positionned with the LRS identical to the EPBX LRS , the angular range
depending on the copy # ( #1 is centered around 15 degrees,the next ones
obtained by adding 30 degrees each).
-ETCB: same volume as above ETCA, but filled with medium # 4.
6 copies are positionned with angular ranges as explained before.
-EICB:same volume as above EICA,but filled with medium #6. 2 copies are
positionned with angular ranges as explained before.
materials:
1 - QUAD body average material
2 - Pumping stations and valves average material
tracking media:
1 - QUAD tube volume :air ,not sensitive,outside field
2 - QUAD body average medium :QUAD body material,not sensitive,inside field
3 - Pumps and valves medium :material as above,not sensitive ,ouside field
4 - vacuum in quad medium :vacuum (#16),not sensitive, in quad field
5 - vacuum in pumps medium :vacuum (#16),not sensitive, outside field
volumes:
QUEA ( QUEB) has two contents :
-QUAA:tube filling the end A quadrupole body ,filled with medium # 2
(see above), positionned inside QUEA with the LRS translated according to
the relative position in QUEA.
-QUAB: same as QUAA for the end B region.
-QUPU: tube,filling the pumping station and valves region, filled with
medium #3 ,positionned inside QUEA(QUEB) with the LRS translated relative to
the ARS.
QUAA ( QUAB) has one content :
-QUVI: tube,filling the vacuum part of the quadrupole,filled with medium
#4 ,positionned with the LRS identical to the QUAA(B) LRS.
QUPU has one content :
-QUVA: tube,filling the vacuum part of pumps region,filled with medium
#5 ,positionned with the LRS identical to the QUPU LRS.
materials:
1 - TPC average material for the inner cage
2 - TPC average material for outer cage
3 - TPC average material for end plates computed from mixture of components
(equivalent to air and aluminum mixture)
tracking media:
1 - TPC inner cage : average material ,not sensitive,inside field
2 - TPC gas medium : argon (material #19), sensitive,inside field
3 - TPC outer cage : average material , not sensitive, inside field
4 - TPC end plates : equivalent average material,not sensitive,inside field
volumes:
-TPC :tube filling the active region of the TPC ,filled with medium #2
(see above), positionned inside TPCR with the Local Reference Systeme (LRS)
identical to the Aleph Reference System (LRS = ARS).
-TPHF :tube obtained by automatic division of TPC along z to cut it into
two halves.
-TPWI :tube filling the inner wall region of the TPC, filled with
medium# 1, positionned inside TPCR with the LRS = ARS.
-TPWO :tube filling the outer wall region of the TPC filled with medium#
3, positionned inside TPCR with the LRS = ARS.
-TPEP :tube filling the end plate region of the TPC filled with the
medium# 4, positionned inside TPCR with the LRS translated along the z axis
compared to the ARS. Two copies are positionned,one at each end of the
TPC.
Materials used:
1 - Air..........: Standard Geant3 material
2 - Aluminum.....: Standard Geant3 material
3 - Carbon Fiber.: Used in VDET support. Properties measured in lab.
4 - Honeycomb....: Used in VDET support. Properties measured in lab.
5 - Rhoacell 70..: Used in VDET support. Properties measured in lab.
6 - Silicon......: VDET active elements material. Defined in AGEOME
Tracking media:
1 - VERTEX DETECTOR VOLUME.: Air, not sensitive, inside field
2 - CF-RO SANDWICH SUPPORT.: Carbon Fiber-Rhoacell 70 compound, "
3 - CF-HO SANDWICH SUPPORT.: Carbon Fiber-Honeycomb compound, "
4 - CARBON FIBER SUPPORT...: Carbon fiber, "
5 - SILICON DETECTORS......: Silicon, sensitive, inside field
6 - ALUMINA PLATES.........: Aluminum, not sensitive, inside field
7 - VDET ELECTRONICS.......: " "
Volumes:
1 - VDET........: Tube filling the space from the outer wall of the
beam pipe to the maximum radius needed by VDET
components in R, up to the TPC edges in Z. It is
filled with medium #1, positioned inside CDET with
no translation and no rotation. Not seen.
1.1 - VBDY......: Tube with radii identical to those of VDET and Z
limited to the space occupied by the physical
modules ( sides ) of the Mini-Vertex. Filled with
medium #1, positioned inside VDET with no
translation and no rotation. Not seen.
1.2 - VDSP......: Tube with radii identical to those of VDET and Z
length ranging from VBDY edge to VDET edge. It is
filled with medium #1. Two copies are positioned
simmetrically inside VDET with no rotation for
the first one and with a 180 degrees rotation for
the second one. The two both are translated along
Z and not seen by the drawing package.
1.1.1 - VDS0....: Tube placed inside VBDY with no rotation and no
translation, and the same Z length. It is the
central part of the Mini-Vertex support, and
its minimum and maximum radii are read from the
Data Base geometrical constants. It is filled with
medium #3 and seen by Geant3 drawing package.
1.1.2a- VDL1....: Tube placed inside VBDY with no rotation and no
translation, and the same Z length. It's the space
needed by the physical modules of the Mini-Vertex
inner barrel. Its radii are calculated accordingly.
Filled with medium #1, it is not seen.
1.1.2b- VDL2....: Same as VDL1, but for the outer barrel instead.
1.2.1 - VDCF....: Tube placed inside VDSP with no rotation and Z
translated to its inner end, thus touching VDS0.
It is the support rings that keep in place the
barrel sides. Filled with medium #4 it is seen by
the drawing package.
1.2.2 - VDS1....: Tube placed inside VDSP with no rotation and a Z
traslation. It is part of the support, filled with
medium #2 and seen.
1.2.3 - VDS2....: Tube placed inside VDSP with no rotation and a Z
translation. It is the long lateral part of the
support, joining the central part to the aluminum
pipe holders. Filled with medium #3 and seen.
1.2.4 - VDS3....: Cone placed inside VDSP with no rotation and a Z
translation. It is filled with medium #2 and lies
between VDS1 and VDS2. Seen.
1.2.5 - VDAC....: Tube placed inside VDSP with no rotation and a Z
translation. It is the aluminum ring right at the
end of the support and holds to the pipe. It is
filled with medium #6 and seen.
1.1.2.1 - VDBX..: Box defining the space of a single side of a Mini
Vertex barrel. Its length and width are those of a
physical module, as defined in the Data Base, just
like its thickness, that of a silicon crystal plus
the alumina support. It is filled with medium #1
and not seen. Several copies of VDBX are placed
inside VDL1 (currently 12) and VDL2 (currently 16)
translated along R and rotated along Z. Note that
in the inner barrel the silicon is facing the beam
axis, while in the outer barrel it is facing the
outside.
1.1.2.1.1 - VDAL: Box defining the alumina support of a side. It is
filled with medium #6 and placed inside VDBX with
the same length and width. Its thickness is
computed outside the program taking into account
the true thickness, the holes and the reinforcing
bars that are not detailed described in the monte
carlo. It is seen by the drawing package.
1.1.2.1.2 - VDCD: Box defining silicon crystals ( active elements )
of the Mini Vertex. It's filled with medium #5 and
placed in VDBX with the same width. This volume
is actually made of four crystals, but this
subdivision is only taken into account in the
digitization part of the montecarlo. Seen by the
drawing package.
1.1.2.1.3 - VDEL: Box defining preamplifier chips and their frame
in a barrel side. It is filled with medium #7 and
its dimension are equivalent dimensions computed
from the true complicated structure of the thing.
Two copies of it are placed in VDBX at each Z end
of the active zone VDCD. Seen.
An interactive graphic version can be set up for development
and debugging purposes.
For now , it runs on VAX and IBM-VM/CMS ( provided you get enough virtual
storage ).
In this version the user can call one by one and in any order the
basic functions of the GALEPH Monte-Carlo:
-Design or modify the geometry description
-Exploit the drawing package to visualise any set of components
in an adequate way.
-Change the running conditions on an event by event basis
To activate this version one must use the Historian flag INTER and
recompile the following routines:
ASCEVE,ASIPAC,ASPRUN,AGTPCH,GAXEPH
Those routines may be compiled on a separate .OBJ file (VAX) or TEXT
file (VM/CMS) and used in the linking step of your job (GALINT TEXT
or GALINT.OBJ).
INTERACTIVE on VAX
The steering Data cards file must be assigned to FOR007 which will be read by
the program.
As the dialogue with the user is under control of ZCEDEX,make sure it is
available on your machine.
As in the standard user application job,you can read your own Historian
correction set and/or fortran and/or binary files in the GALRUN exec:
Do not forget to include in the .obj files 'USER$LIBRARY:GXINT.OBJ'.
REMEMBER not to put a DISPLAY 0 card in your steering data cards as this
would prevent any graphics output from running.
INTERACTIVE on VM/CMS
This mode can be obtained via running mode 8 or 9 (or 4 if you have
already a module) of exec GALRUN.
You can keep your GALINT TEXT and use it at load time specifying it
on panel 3 (files). Do not put a DISP 0 card to be able to open a
capture file. In the ZCEDEX environment in CMS you can have access
to some useful CMS commands (FILELIST , XEDIT ...)
ASCEVE: no automatic standard views are displayed
ASIEVE: FDISJO flag is activated for every event
ASPRUN: a special routine is activated which initializes the
interactive package (GINTRI) and gives control to the
interactive control routine (GINTER).
AGTPCH: The maximum turning angle in the field for the TPC is limited
to 3 degrees (instead of 120) to display nice curling steps.
GAXEPH: This deck includes a set of subroutines which may be called
by the interactive commands:
GTRIG: processes an event and closes it.
GTRIGI: initialises an event.
GUKINE: generates kinematics.
GULAST: job termination.
GUVIEW: draw some typical views of ALEPH with header and text.
GUINTI: Initialisation routine for the drawing partof the program.
it computes some scaling factors and sets the 'fake' volumes as
unseen.
All commands are described in GEANT3 user's guide ,section XINT.
They are organised in 4 menus:
-Drawing commands
-Graphic control commands
-Geometry commands
-General control commands
Among the Graphic contol commands , a useful one is the command
'CAPTure n ' to create a GKS metafile on unit n.
The user must be aware that some logical units are reserved for special
use and that GEANT is not fully protected against such a usage.
In particular , units 11 to 13 are reserved for ZCEDEX and unit 10
(unfortunately used by GEANT as an example...) is reserved for GKS.
Ecole Polytechnique / RAL
Last update Jan 88
J.Badier
R.Clifft
I.Karyotakis
M.Rumpf
H.Videau
1) Ecal geometry and readout description
2) Sort of Tracking Information
3) Parametrisation Criteria
4) Analog Signal Generation :
. Track segment signal
. Shower point signal
. Shower point Generation
5) Running Conditions for Analog signal
6) Standard histograms for Analog signals
.Axis systems 'ALEPH' is general system (OX,OY,OZ)
used for track segment processing
O theoritical interaction point
OZ beam direction (beam e-)
OX horizontal and pointing towards
the centre of LEP
OY third axis (almost vertical)
'GERBE' Shower local system used
for shower signal allocation.
.Theta polar angle with OZ
.Phi azimuthal angle around OZ axis
tan(Phi)= Y/X
where X,Y,Z are point coordinates in
Aleph system.
.subcomponent # ISC =1 end cap z>0
ISC =2 Barrel
ISC =3 end cap z<0
.Module # MODUL = 1,12 in each subcomponent
Module #1 starts at Phi = -32 mrads
.Angular offsets
- The whole ECAL is tilted by -32 mrads
around Z axis against ALEPH system
- End caps are rotated by - PI/12 around
Z axis against the barrel
.Stack Each module contains 3 stacks
stack1 contains 10 planes
stack2 " 23 "
stack3 " 12 "
.Planes
Numbered from 1 to 45
Plane #1 is close to inner face of ECAL
.Rows (Theta divisions)
Each module is divided along Theta in rows
numbered with index j increasing with Theta.
End cap z>0 j= 1,50 ( 50 rows)
Barrel j= 51,178 (128 rows)
End cap z<0 j=179,228 ( 50 rows)
Total 228 rows
Remark: there are 5 rows overlapping in barrel and
end cap z>0 (same for end cap z<0)
To follow online conventions,these rows
have not the same numbers even if they refer
to same theta divisions (total =218).
End cap z>0 j= 46, 50 <--> Barrel j= 51, 55
End cap z<0 j=179,183 <--> Barrel j=174,178
.Columns (Phi divisions)
Barrel contains 32 columns /module
total = 384
Numbering is done from 1 to 384 (index i) increasing
with Phi.
Each End cap module is divided in 2 subsectors
Each subsectors is divided in 4 regions:
Region 1 4 columns row j= 1 , 8
2 8 j= 9 ,24
3 12 j=25 ,40
4 16 j=41 ,50
In each region columns are numbered continuously
in the whole end cap:
Region 1 i= 1--> 96
2 i= 1--> 192
3 i= 1--> 288
4 i= 1--> 384
Remark: The angular offset of 32.7 mrads represents
exactly 2 columns of the barrel or of region 4 of the
end caps.
--- > Column # 1 starts at the edge of module #1
of the barrel (phi=-32 mrads) and at half of module #1
of the end caps.
.Tower
A tower is an intersection of a row and
a column.A tower is completely defined when the two
indices i and j are specified.
.Tower storey
Intersection of a tower and a stack
.Tower address
Tower address is stored in a 32 bits word :
BIT# 3 11 000
1 65 210
--------------------------------
< j >< i >00
Theta Phi
ADDRESS = 2**2 * i + 2**16 * j
bits 0 and 1 are cleared and reserved for reconstruction
program.
Adresses are sorted in increasing order.
The ECAL geometry package is included now in ALEPHLIB
The aim:
in the Monte Carlo answer any of the following questions,
given a POINT (x,y,z) in the Aleph frame or any frame related
to this one find the elements to which it belongs i.e:
SUBCOMPONENT (end cap A, barrel, end cap B)
THEN MODULE (one of the 12 pieces of equipment
making each subcomponent)
THEN PLANE and subsequently TUBE (wire)
OR STACK
OR ROW (division in theta) via the SUBSECTORS
in the end caps
OR COLUMN (division in phi) via the REGIONS
in the end caps
We can get compound elements:
TOWER= ROW x COLUMN
STOREY= TOWER x STACK = ROW x COLUMN x STACK
PAD= TOWER x PLANE = ROW x COLUMN x PLANE
The description of the geometry of these entities, their
relationships with the development of the mathematical tools
is given in the draft:
ECAL GEOMETRY PACKAGE (M.Rumpf/H.Videau)
The interfaces:
__ from the Data Base (until further notice :data statements)
we get the quasi non redundant information defining the
geometry this is then expanded at initialisation time
into a description more suitable for a convenient access .
Routine ECDFRD is called from ECIRUN for initialisation of
the ECAL geometry package.
a special action is taken when generating a shower:
the definition of the geometry (base planes) is then rotated
in the shower frame to speed up the searchs (routine ECSGEO).
__ to the user via a set of functions or routines answering
the questions.
In GALEPH,these are the following :
EFNDPL finds plane # [1,45]
EFNDLG finds row # [1,228]
EFNDCL finds column # [1,384]
Example: IPL=EFNDPL(ISC,IMD,P,SYSTM)
where IPL is the plane number, SYSTM indicates if we are
in the Aleph frame (ALEPH) or in the shower frame (GERBE),
P is the point (x,y,z), ISC is the subcomponent number, IMD
the module number.
Handling of the change of frame.
The routine ECSGEO rotates the base planes and defines
a new set in a special common. This is transparent to
the user. The program does not check that ECSGEO has been
called before to make any request with SYSTM='GERBE'.
Be aware.
This gives an autonomous package usable in any context
if the two interfaces are kept clean. It will be expanded
in view of the reconstruction with routines making
the reciprocal computation of the limits and points of
interest for a geometrical entity like tower, ..
At each tracking step,control is given to ECAL via a call
to routine ECHIT which drives analog signals generation for ECAL.
The information we have at our disposal is located in the array
"Track Element" (/TRKCOM/) which contains mainly :
- Tracking flags
- coordinates at the beginning of the step (trkele (1-->3)
- direction " " (trkele (4-->6)
- coordinates at the end of the step if any (trknxt (1-->3)
_ direction " " (trknxt (4-->6)
and some additionnal informations .
a) If track is NOT entering a new volume AND
tracking NOT starting a new particle
---> One step complete in the sensitive volume.
Process this track segment (routine EHTRKE)
b) If Track does not interact AND its energy > Cutoff
---> Have a look to end of step
If parametrisation criteria satisfied (EHCUTF) then
Create a Shower (EHSHOW)
Stop Tracking for this track
Else return to tracking to complete the step.
Triggered by EC Running condition ICECJO(5) = 1
via Steering data card :
RUNC 'ECAL' 0 0 0 0 1 0 0 0 0 0 for example.
When fast tracking with shower parametrisation is requested,
electron and positron track elements in the sensitive region
of ECAL are tested to see whether or not they satisfy the
necessary conditions for parametrisation.
These conditions, which have been set up using studies with the
EGS program, require that the shower produced by the electron
positron loose no more than an energy, CUTFEH, across any boundary.
At present CUTFEH = 40 MeV.Two regions are defined in depth
consisting of
(a) storeys 1 and 2, plus spacers,
(b) storey 3, plus the material before HCAL.
The boundaries referred to are the back(or front) of the current
region and its lateral limits.
Routine EHCUTF,called from ECHIT, makes the decision whether
or not to parametrise and sets the subroutine argument flag
MFLAG: 1=YES 0=NO
Routine EHCUTF calls the routines EHEDGE, to check the lateral
losses from the shower, then EHGEOB or EHGEOE to check losses
from the back(or front) of the barrel or end cap regions
respectively.
Routine EHTRAN is a service routine and EHCUTP contains all
constants involved
ATTENTION : Le traitement des elements de trace n'est
valable que pour les electrons,positrons et photons.
Les hadrons sont provisoirement traites dans la routine
EHDEPT.La validite de GHEISHA n'a pas ete testee.
Les elements de traces ainsi que les points d'une gerbe
contribuent a la generation du signal.La fluctuation de
ce signal est decrite par le parametre DNRJ :
DNRJ = ( DSIGNAL/SIGNAL ) * SQRT( ENERGIE )
Experimentalement , selon les auteurs :
.16 < DNRJ < .2
. Contribution d'un segment de trace.(SUBROUTINE EHDEPT)
-----------------------------------
Les coupures au niveau EGS sur les electrons et les photons
ainsi que le champ magnetique doivent etre fixes. On evalue
alors :
- PARGEV : Nombre d'elements de traces par gev d'energie
deposee : c'est l'inverse de l'energie moyenne
d'un element de trace.
- DELTAL : 1. / PARGEV
Condition TEDEPO='VERY FAST'
----------------------------
On ne cree aucun signal pour une fraction DEPRHO des elements
de trace.Pour les autres,la contribution NRJ au signal est
proportionelle a l'energie deposee par l'element de trace :
NRJ = TRKELE(12) * FASTNR
DEPRHO et FASTNR sont calcules a partir de DNRJ et PARGEV
de facon a exprimer le signal en kev et a retrouver la
precision en energie :
Condition TEDEPO='FLUCTUATED' (defaut)
----------------------------
On conserve la contribution NRJ :
NRJ = TRKELE(12) * ENRJ
ENRJ est tire aleatoirement selon une distribution de la forme
~
|__.
| |
| |
| |
| <------ RHODEP = 1. - RHO
|__|________________.
| RHO |
|___________________|____ENRJ
| |
FLUCT1 FLUCT2
C'est une approximation grossiere d'une distribution de
Landau.RHO est un parametre qu'on doit choisir.FLUCT1 et
FLUCT2 s'en deduisent.
.Contribution d'un point d'une gerbe.(SUBROUTINE EHDEPS)
-----------------------------------
Condition TIRAGE='VERY FAST'
----------------------------
Le nombre de points tires pour simuler une gerbe d'energie
ENER est choisi selon une loi de Poisson correspondant a un
nombre moyen egal a ENER / DNRJ ** 2.
Condition TIRAGE= 'FLUCTUATED' (defaut)
--------------------
Le nombre moyen de points tires vaut : ENER * PARGV1
PARGV1 est convenablement ajuste.La contribution au signal
est tiree selon la distribution suivante:
~
|__.
| |
| |
| |
| <------ RHODEP = 1. - RHO
|__|________________.
| RHO |
|___________________|____ENRJ
| |
ENMAX1 ENMAX2
ENMAX1 et ENMAX2 sont calcules de facon a exprimer le signal
en kev et a retrouver la precision en energie.
.Generation d'un point d'une gerbe (subroutine EHGERB)
---------------------------------
La distribution spatiale des points de la gerbe est
factorisee en deux expressions , l'une longitudinale ,
l 'autre transversale. Le nombre de points tires depend
de l'option relative au depot d'energie.
Distribution longitudinale (SUBROUTINE EHLOTI)
--------------------------
Le tirage est effectue selon la methode decrite dans la
note ALEPH 87-9 EMCAL 1.
Distribution transversale (SUBROUTINE EHTRTI)
-------------------------
La loi est de la forme :
dn/dr = A * r / ( r + r0 * s ) ** AK
- A est une normalisation.
- AK decrit le comportement loin du coeur :
- AK = 3.15 + .044 * ENER
- r0 ne depend que de l'energie .
- s est l'abcisse longitudinale.
- Si ENER < EMINRA , pas de distribution radiale.
Une description plus detaillee des parametres utilises
se trouve dans la subroutine EHPASR qui remplit le common
EHPASH.
Run conditions are defined through character variables
(see below) in the ECAL code.
Values can be changed via Steering Data Card :
RUNC 'ECAL' N1 .... N10 where Ni is ICECJO (i) new value.
with the following correspondance Indices <--> characters
_______________________________________________________________
I Integer . Character . Values
I--------------------------------------------------------------
I ICECJO . . 0 . 1 . 2
I index . . Default . .
I--------------------------------------------------------------
I (1) . TCUTRK . 'NO CUT' .'CUT TRACK' .
I (2) . TSMEAR . 'NO SMEARING'.'SMEARING' .
I (3) . TIRAGE . 'FLUCTUADED' .'VERY FAST' .
I (4) . TEDEPO . 'FLUCTUADED' .'VERY FAST' .
I (5) . TPARAM . 'NO' .'ELEC' . 'ALL'
I______________________________________________________________
TCUTRK = Define if track elements must be cut in several segments.
Intersections with virtual wire planes are computed and
pseudo gas track elements generated and sent to energy
deposition routines .
This condition is not applied to e+,e- and photons
Values 'NO CUT'/'CUT TRACK' (default 'NO CUT')
TSMEAR = Define if smearing to be done on energy deposition point
(Dummy implementation)
Values 'NO SMEARING'/'SMEARING'(default 'NO SMEARING')
TEDEPO = For track element energy deposition
See Analog signal generation
TIRAGE = For shower point energy deposition
See Analog signal generation
TPARAM = 'NO'/'ELEC'/'ALL' default = 'ALL'
NO --> no parametrisation requested
ELEC --> parametrisation requested for e+,e- only
with RUNC 'ECAL' x x x x 1 x x x x x
ALL --> parametrisation requested for e+,e-,Hadrons
with RUNC 'ECAL' x x x x 2 x x x x x
Steering data card :
HIST 4
triggers histograms for both analog and digit processes.
Warning : histograms limits have been computed for 'LUND' or
'PART' generator.For 'USER' generator,the limits
are those of 'LUND' and can be not suitable.
Changes can be made in ECBOOK .
List of histogram numbers and content:
439 track elements for photons : plot of length of tracks
elements versus their energy
xx' : energy in keV 0.< E < 0.05 binning = 50x50
yy' : length in cm 0.< l < 20.
440 track elements for both e+ and e- (see above)
xx' : energy in keV 0.< E < 0.05 binning = 50x50
yy' : length in cm 0.< l < 5.
441 distribution of the sum of the analog signals in stack 1 + 2
for the barrel
xx' : energy in MeV binning = 100
automatic limits calculation
442 distribution of the analog signal in stack 3 for the barrel
xx' : enery en MeV binning = 100
automatic limits calculation
443 same as 441 but for endcap
444 same as 442 but for endcap
445 plot of the sum of analog signals on the odd planes
versus the sum of analog signals on the even planes
xx' : signal in MeV binning = 50x50
yy' : signal in MeV 0.< E < xmax
xmax = Pmax * 500 (LUND or USER)
xmax = Pmax *1000 (PART)
446 distribution of the total analog signal on the wires
xx' : signal in MeV binning = 100
automatic limits calculation
447 longitudinal profile of the wires (analog signal)
xx' : n. of the plane binning = 45
yy' : signal in MeV
448 number of hits per wires planes (analog level)
xx' : n. of the plane binning = 45
yy' : number of hits
449 distribution of the sum of the analog signal on all the
towers
xx' : signal in MeV binning = 100
automatic limits calculation
450 distribution of the sum of the analog signal on all the
towers in the stack 1
xx' : signal in MeV binning = 100
automatic limits calculation
451 distribution of the sum of the analog signal on all the
towers in the stack 2
xx' : signal in MeV binning = 100
automatic limits calculation
452 distribution of the sum of the analog signal on all the
towers in the stack 3
xx' : signal in MeV binning = 100
automatic limits calculation
455 plot of the sum of digital signals on the odd planes
versus the sum of digital signals on the even planes
xx' : signal in MeV binning = 50x50
yy' : signal in MeV 0.< E < xmax
xmax = Pmax * 500 (LUND or USER)
xmax = Pmax *1000 (PART)
modified E.LANCON 06-DEC-90
1) Decide which tower will be processed
2) generate noise on towers ( and add real events )
3) Digitise each storey
4) Suppress zeroes
5) Correct output tower digits
6) Generate time sampling on wire analog sum , and generate noise
on wire signals
7) Digitize wire planes and analog sums , correct output wire digits,
apply zero supression , and create wire banks
9) Generate trigger banks
10) Run conditions and parameters
11) Standard histograms for digitisation.
INPUT
Tower information is in bank ETHT, NR=0
Wire planes information is in bank EWHT,NR=0
History is not used in this part.
OUTPUT (see Bank Description for details)
* Tower digits are in bank ETDI, NR=0 ( same structure as ETHT )
* Wire digits are in bank EWDI, NR=0 (for modules above threshold).
* Digital wire sums are in bank EWHE, NR=0.
* History is not modified but if requested ( EDSAVG = 'YES' ) we
add a new bank 'ENDI' which contains digitisation history for
towers.
* Trigger banks are ETTR ( towers ) and EWTR ( Wire planes )
We use the table MAPETC to tag tower to be processed, following
conditions:
EDNOXT = 'ALL' : process all physical tower
= 'HITS' : only tower given in ETHT bank
= '+ONE' : same as 'HITS' + all adjacent towers (default)
We will also take into account the 'Real event tower' in case of
mixing with a real event.
The noise is described as two components:Correlated noise (same on
every storey ) and Uncorrelated.
* Generate correlated noise with mean value and sigma
EDMCOR = mean value in keV
EDSCOR = sigma in keV
* For each channel,the mean value of the noise is ZERO, and the
sigma is the one observed in the dedector (function EDSNOI).
The noise's sigma is SQRT( 308.*c**2 + 665.), in fC, C in nF
is the capa of the storey. We compute the capa as proportional
to the storey surface, and normalised to the capa in the
center of the barrel. This function is renormalized
so that the noise corresponds to the one observed in the
detector.
This depends mainly ( only, within +-4% ) on stack and theta
index.So, we compute the 3*114 values ( symetric in theta )
on first call and access then a table for successive calls.
* we have only 3 parameters to describe the noise amplitude:
EDTNOI(3) gives the conversion fC => keV and can be adjusted
to increase/decrease the noise.
* The actual noise ( correlated + uncorrelated ) for each channel
is saved if EDSAVG = 'YES'
* 'Add real event' is not yet implemented. It will interfere with
points 1) and 2) ( we do'nt generate noise on real events ) and
is controled by the condition EDMIXR = 'YES'
This is the transformation from signal to ADC hits. We have
to notice that there are 2 ADC per channel, with different gains
and pedestals,and we have also to take into account the gain's
variation due to the calorimeter itself. However, the On-line
system will correct gain and pedestals; so the only thing to
simulate is the error on this correction:
* The High Gain (HG) to Low Gain (LG) ratio can be measured using
the test capacitor in the multiplexor. Reading LG when HG is near
saturation ( ~500 channels over threshold ) give this HG/LG ratio
to .1 %.
* The pedestal value can be measured with precision ( .1 counts ).
But the integer arithmetic in the On-line system limits the preci-
sion to half a count.
* Uniformity of the calorimeter (gain in the chambers + electronic)
is supposed to be good within +- .5 %. The HG/LG error is then
negligible, we have only to simulate this +- .5% error on the gain
(which is uncorrelated, because all correlated effects are supposed
to be measured and taken into account in the On-line correction )
* Maximum value in the ADC's correspond to about 120 GeV per storey.
We do'nt need to check ADC saturation.
Digitisation is then simply the choice of a gain value ( nominal gain
EDTGAI(3)+error EDTGER(3) full width fraction) and a pedestal rounding.
The gain value is saved if EDSAVG = 'YES'
The cuts are defined in ADC counts, as x time the noise's sigma,
rounded to next integer. This is done in routine EDTCUT which return
the ADC threshold as function of the 3 storey indices and a 'cut level'
This threshold is taken from the EZTH bank and is the same
for M.C. and real data.
Two scheme are implemented :
* EDZSUP ='SINGLE CUT',we output all tower in which one storey is
over threshold 1 ( parameter EDCUT1 )
* EDZSUP ='DOUBLE CUT',we output only towers in which one storey
is over threshold 1 AND one storey in this tower or in one adjacent
tower is over threshold 2 ( parameter EDCUT2 )
The on-line output will be corrected, and put in some physical unit.
We suppose here that this is keV, and we convert ADC counts in keV.
The dynamical range is then about 10**8 ( 27 bits ). We correct
also the saved gain value to be integer and in 10**-6 unit. These
parameters are KALEDT(3)
noise on wire signals
The analog sum on wires is sampled at 8 different time SAMTIM(I) .
The noise is generated in keV on each wire planes and on the analog
sums , with both coherent and uncoherent contributions : PLCOHE and
PLUNCO for wire planes , SMCOHE and SMUNCO for the sums .
digits, apply zero supression , and create wire banks
Wire informations are digitized from keV in ADC counts according
to conversion factors CONPLA for wire planes and CONSUM for the
analog sums . Gains 1 or 8 are chosen with respect to saturation
levels SATPLA and SATSUM ( in ADC counts ) .
Then digitized wire informations are converted to keV using the
selected gain , and the digital sum per module is performed over
the 45 planes .
Finally two output banks are created : EWHE which contains the
digital sums of the 36 modules , EWDI which contains the 45 wire
plane signals and the 8 analog sums for each module with a digital
sum above threshold ICUTMO .
The trigger signals are generated for Towers, then for wire planes.
TOWERS:
We group the signal for all towers in a cell ( 24 phi cells
corresponding to each electronic box , 12 theta corresponding to
the on-line grouping ) and then add a gaussian noise with sigma
in ETTNOI(12,3) function of theta and stack number. The relative
weight for stack 1,2,3 is in ETSTWE(3).
WIRE PLANES:
We sum over the odd and even planes the (signal+noise) obtained
previously in step 6.
CONDITIONS
**********
index in ICECJO value in ICECJO() default = 0
/ /
6 EDNOXT = '+ONE' 0 process also adjacent towers
'HITS' 1 process only tower with hits
'ALL' 2 process all towers
7 EDMIXR = 'NO' 0 No real event to be mixed with simulated one
'YES' 1 Mix real event ( not implemented...)
8 EDSAVG = 'NO' 0 Don't save toer noise and gain
'YES' 1 Save it in bank 'ENDI'
9 EDZSUP = 'SINGLE CUT' 0
'DOUBLE CUT' 1 > see point 4) suppress zeroes
PARAMETERS
**********
-------- tower digitisation --------
EDTMCO = mean correlated noise ( keV ) 0.
EDTSCO = sigma of correlated noise ( keV ) 1600.
EDTNOI(3) = noise ampiltude ( keV per fC ) 170., 170., 300.
KALEDT(3) = ADC calibration ( keV per count ) 4000, 4000, 7200
EDTGAI(3) = inverse of KALEDT ( signal => ADC )
EDTGER(3) = gain error ( fraction,full width ) 3* .01
-------- wire plane ------
PLCOHE = sigma of wire plane coher. noise ( keV ) 300.
PLUNCO = sigma of wire plane uncoh. noise ( keV ) 1000.
SMCOHE = sigma of analog sum coher. noise ( keV ) 17100.
SMUNCO = sigma of analog sum uncoh. noise ( keV ) 7550.
CONPLA = conversion factor for wire plane signals 1600.
( ADC counts to keV )
CONSUM = conversion factor for analog sums 25600.
( ADC counts to keV )
SATPLA = saturation level for gain 8 on wire plane 3500.
( ADC counts )
SATSUM = saturation level for gain 8 on analog sum 3000.
( ADC counts )
-------- zero suppress --------
EDCUT1 = nb of noise sigma for thres. 1 3.
EDCUT2 = nb of noise sigma for thres. 2 5.
ICUTMO = threshold ( keV ) on wire digital sum 100000
-------- trigger generation --------
ETTNOI(12,3) = sigma of trigger noise per cell 12 * 35000.
12 * 35000.
12 * 60000.
ETSTWE(3) = relative wheight of the 3 stacks 3*1.
Steering data card :
HIST 4 or HIST 'ECAL'
triggers histograms for both analog and digit processes.
Warning : histograms limits have been computed for 'LUND' or
'PART' generator.For 'USER' generator,the limits
are those of 'LUND' and can be not suitable.
Changes can be made in ECBOOK .
List of histogram numbers and content:
456 distribution of the total digital signal on the wires
xx' : signal in MeV binning = 100
automatic limits calculation
457 longitudinal profile of the wires (digital signal)
xx' : n. of the plane binning = 45
yy' : signal in MeV
458 number of hits per wires planes (digital level)
xx' : n. of the plane binning = 45
yy' : number of hits
459 distribution of the sum of the digital signal on all the
towers
xx' : signal in MeV binning = 100
automatic limits calculation
460 distribution of the sum of the digital signal on all the
towers in the stack 1
xx' : signal in MeV binning = 100
automatic limits calculation
461 distribution of the sum of the digital signal on all the
towers in the stack 2
xx' : signal in MeV binning = 100
automatic limits calculation
462 distribution of the sum of the digital signal on all the
towers in the stack 3
xx' : signal in MeV binning = 100
automatic limits calculation
463 number of hits towers per event (digital level)
xx' : nb of hit binning = 100
0.< nb < 100.
version 1.0 15- march -1987
2.0 1-december-1987
This is a short review of the Montecarlo Software
released for the HCAL.
For details about the content of I/O banks see BOS Banks Descri-
ption Long Write-Up (Aleph Note 86-57).
It'is possible simulate the response of the Hadron Calorimeter
using different levels of details in the geometry description
and different methods in the shower developement inside the
detector. In any case an Analog Signal and a Digital Pattern
are created in the same Row Data Format.
Trigger and History information are also available.
1) Flowchart
2) Hcal geometry description
3) Tracking: . full generation of showers (GHEISHA)
. parametrisation of showers
4) Analog Signal Generation :
. Track segment signal
. Shower spot signal
5) Digital Signal Generation
6) Running Conditions
Run initialisation
------------------
HCIRUN initialize variables and read geometry data base for HCAL
----- HRDDAF get HCAL banks and store the content in commons
----- HCSECO Calculate Geometrical quantities from the D.B.
----- HCBOUN calculate theta boundaries of towers
----- HRDTRI get trigger banks and store the content in
common
----- HRDGAL get HCAL banks used only in Galeph
IF the HCAL is set with "SET" Data Card:
----- HCNAMI Define formats of HC Bos banks
----- HCINIT Initialize local and counter commons
----- HCINPA Load the parametrisation costants
Loop over the events
--------------------
event initialisation
HCIEVE initialize variables and counters
event tracking + hits
HCHIT steering routine process each track element
: 'track element'-> JDHCSE (temporary bank)
(1) = 'Average Medium' geometry Description
In the Debug case and if a new track begins
----- HNEWTK add a new row in the HCTH work bank
----- HCTRAK process track element in the AVERAGE MEDIUM case
-----HCCYL trasform to cylindrical coordinates
I-----------------------------------------------I
I----- HCFITU find fired tubes I
I -----HCTKSP take in account spacersI
I----- HCSTSE fill JDHCSE bank I
I-----------------------------------------------I
IF interacting particle and parametrisation flag is on
THEN...
Select parametrisation type
IF "geantino" parametrisation
if an interaction occours
----HHCUTG define parametrisation condition
----CATINO parametrize shower
else
----HCSHOW trate a geantino step
endif
IF "standard" parametrisation
----- HCPARS parametrize a shower
.initialisation of shower generation
------HCSETP evaluate starting coordinates
------HCPOTL evaluate shower potential length
.loop on generated spots
------HCLEAV check if the shower leave the starting
module and in this case change step(HCCHST)
------HCPROJ find spot projection on nearest plane
------HCBACK find spot coordinates in plane R.S.
I-----------------------------------------------I
I----- HCFITU find fired tubes I
I -----HCTKSP take in account spacersI
I----- HCSTSE fill JDHCSE bank I
I-----------------------------------------------I
ENDIF
(2) = 'Detailed Geometry' Description
----- HCCOIN process track element
----- HYTRSF trasform to plane coordinates
I-----------------------------------------------I
I----- HCFITU find fired tubes I
I -----HCTKSP take in account spacersI
I----- HCSTSE fill JDHCSE bank I
I-----------------------------------------------I
Analog signals + digital patterns
(1)+(2)
HCASIG create analog signals + digital pattern + trigger
: Fill Hit and History Banks
------ HCGEST Generate streamers (function NHCSTR)
+ saturation effects:JDHCSE -> JDHCHI
------ HCCRDI Create digital pattern + Fill Hit Wire bank
: JDHCHI + JDHCSE -> 'HWHT'
------ HCCRTO Create Tower signal and store informations
in Hit Tower bank: JDHCHI -> 'HTHT'
-----HCTOW evaluate tower coordinates
-----HCDEAD Take in to account dead zones
-----HCSTEN evaluate energy released
------ HCTRGA Create and fill Tower Trigger Signal
: 'HTHT' -> 'HTTR'
------ HCTRGD Create and fill Tube Trigger Signal
: 'HWHT' -> 'HWTR'
------ HCHISE Update JDHCSE bank with
History informations
------ HCHIST Fill History banks:
'HWTD'=>track # -> fired tubes
'HTTD'=> " -> fired storeys
'HWDT'=>tube # -> tracks
'HTDT'=>tower # -> tracks
------ HCSTAT Do statistics
------ WDROP Drop JDHCSE+JDHCHI temporary banks
Digitisation
HCDIGI Create and Fill Digitisation Banks
------ HCFORA Format Digit Tower Bank
: 'HTHT' -> 'HTDI'
------ HCFORD Format Digit Wire Bank
: 'HWHT' -> 'HWDI'
------ HCSTAT Do statistics
----- HCVRTX verify if the track vertex in inside HCAL
----- WDROP Drop JDHCTH,JDHCET History temporary banks
Close Run:
---------
HCWSUM Print Statistics
Two levels of geometry description have been implemented.
- Level one hereafter called 'average medium' (default)
- Level two hereafter called 'detailed geometry'
The level two can be chosen at compile time using the Historian flag
HCDETAIL . The routines which must be recompiled are those
defined whit the Historian SET IFHCDET
To use this level insert the following cards in your input file:
*DF HCDETAIL
*E IFHCDET
The 'average medium' definition has been fully described in AGDOC.
It must be recalled that ,in this case, the barrel and the end-caps of the
Hadron Calorimeter are defined respectively as a tube called 'HCBL'
and two polycones called 'HCEA' (z>0) and 'HCEB' (z<0).
In the GEANT3 frame the description is done down to level
of modules ('HBMO') and sextants ('HCMO').
Finally to take in to account the regions crossed by the cables of inner
detectors, two insensitive box per barrel module called 'HBN1','HBN2'
have been defined.
The numerical values used to build the 'average medium' geometry
are contained in HCGEOM common.
The physical constant used to define the End-Cap 'average material'
and the Barrel 'average material' are given in the following table:
I----------I--------I----------I
I I Barrel I End-Cap I
I----------I--------I----------I
I A I 55.51 I 55.52 I
I Z I 25.85 I 25.85 I
I Density I 5.46 I 5.52 I
I Rad.Len. I 2.55 I 2.52 I
I----------I--------I----------I
The description of sensitive planes inside each module or sextant
is done outside the GEANT3 frame.
The HCAL sampling is assumed to be 7.2 cm. The average cross dimension
of the tubes and the width of the tube sensitive plane are assumed to
be respectively 1.025 cm and .9 cm.
The definition of streamer tube layers has been done
within Geant3 .
The barrel layers are defined as 23 volumes of type 'BOX' named
HBLA and positioned inside the volume 'HBMO'.
The end cap layers are defined as polycones and positioned inside
'HCMO' with name HCLA .
A layer is 1 cm. thick and is filled (at the moment) with air.
The numerical values used are stored in HCGEOM common
.Axis systems used in HCAL MonteCarlo
'ALEPH' is the general system (OX,OY,OZ)
used for track segment processing
O theoritical interaction point
OZ beam direction (beam e-)
OX horizontal and pointing towards
the centre of LEP
OY third axis (almost vertical)
'CYLINDRICAL' is a general system with:
.O theoretical interaction point
.R SQRT(X**2 + Y**2)
.Theta polar angle with OZ
.Phi azimuthal angle around OZ axis
tan(Phi)= Y/X
where X,Y,Z are point coordinates in
Aleph system.
'MODULE' is the local reference system of a
barrel module or an end-cap sextant
with the conventions defined in GEANT3
'PLANE' is the local bidimensional system
defined on the tube layer used
for computation of fired tubes and
projections on wires of track segments
X is the axis parallel to the wires
Y is the normal one
'SHOWER' Shower local system used
for shower signal allocation.
. z axis is parallel to the shower axis
.theta polar angle with shower axis
.phi azimuthal angle with shower axis
.subcomponent # IHCPOR = 1 end cap z>0
IHCPOR = 2 Barrel
IHCPOR = 3 end cap z<0
.Module # IHCMOD = 1,24 in barrel
IHCMOD = 1,6 in end-caps (sextants)
.Angular offsets
- There are no angular offsets in HCAL
respect the Aleph Reference System
.Stacks Each module contains 2 stacks
stack1 contains 11 planes
stack2 " 12 " in barrel
stack2 " 11 " in end-caps
.Planes
Numbered from 1 to 23 in Barrel
Numbered from 1 to 22 in End-Caps
Plane #1 is close to inner face of HCAL
The data concerning planes are stored in the
HNG2 Bos bank.
.Rows (Theta divisions)
The theta bins are arranged in order to obtain
constants the trasverse dimension of towers.
The algorithm used is described in the
HADCAL note 84/01
Each portion is divided along Theta in rows
numbered with index j increasing with Theta.
End cap z>0 j= 1,17 ( 17 rows)
Barrel j= 14,49 ( 36 rows)
End cap z<0 j= 46,62 ( 17 rows)
Total 62 rows
Remark: there are 4 rows overlapping in barrel and
end cap z>0 (same for end cap z<0)
.Columns (Phi divisions)
Barrel contains 4 columns /module
total = 96
Numbering is done from 1 to 96 (index i) increasing
with Phi.
Each End cap portion is divided in 3 regions
Region 1 4 columns j= 1, 4 j=59,62
2 8 j= 5,10 j=53,58
3 16 j=11,17 j=46,57
In each region columns are numbered conti-
nuously in the whole end cap:
Region 1 i= 1--> 24
2 i= 1--> 48
3 i= 1--> 96
.Tower
A tower is an intersection of a row and
a column.A tower is completely defined when the two
indices i and j are specified (same definition of Ecal tower).
The total number of towers in Hcal is 4776.
.Tower storey
Intersection of a tower and a stack.
.tube #
Barrel
-----
The # of tubes contained in each plane
is a variable number.
A group of eigh tubes is build toghether in a
'eighfold'. The # of eighfolds in a plane
increase from 9 (inner part of barrel) to 13
(outer part of barrel).
The algorhitm to find fired tubes take in account
the spacers inside the planes(routine HCTKSP).
The positions and the dimensions of spacers are
those of the final project. These informations are
in the data_base in the HBAR common.
End-Caps
________
The # of tubes contained in each plane is:
160 in the inner part (planes 1-7)
320 in the outer part (planes 8-22)
The tubes are groupped toghether in a 'double
eightfold' which contain 16 tubes.
The algorhitm to find fired tubes take in account
the iron frames inside the planes(routine HCTKSP).
The dimensions of iron frames are also the definitive
ones and the numerical values are stored in the
HEND common.
.Dead Zones
The routine HCDEAD take in account the dead
zones not described in GEANT3 frame and kill
track elements and spots in these regions.
A list of these dead zone is done in
HADCAL note 84/05.
The numerical values used follow the Aleph
technical Report 1984 and are stored in
HCGEOM COMMON.
The particle tracking through the Hadron Calorimeter
is provided by GEANT3 .At each tracking step the control is
given to the routine HCHIT which drives the generation of
signals in HCAL.
At this level it is possible to choose between two different
approches:
1) if the flag HCDETAIL has been selected at compile time
the tracking is performed by the GHEISHA (hadronic interactions)
and EGS (electr. interactions) routines implemented
in GEANT3 (slower tracking).
2) if the 'average medium' geometry has been selected at
compile time then the developement of the showers can be done
either by parametrisation (default) (fast tracking) or by
full generator using Run Condition Data Card.
Each track entering a tube generates a # of streamers
proportional to the projection along the wire direction
in order to simulate HCAL.
In the HCHIT routine the following assumptions
are made:
a) the neutral particles are ignored
b) any track entering a new volume is ignored
(in this case the length of the track segm. is 0.)
The routines HCCOIN (Detailed geometry) and HCTRAK
(average medium) evaluates the projection along the wire
direction of track elements.
In the 'detailed geometry' case HCCOIN is entered only
if the track elements in a sensitive volume and the
information about layer # is done by GEANT.
routine HCTRAK which calculates (if they exist) the intersections
of track elements with active planes and finds also the
layer #.
In both cases a temporary bank JDHCSE is filled with
the information about the spazial localisation of the track
elem. (tube#,layer#,mod# ecc.) and the projection itself.
The spatial information is provided by HCFITU and HCTKSP
routines.
When the run condition 'PARAMETRISATION ON' is active
the control of the program is given to the routine HCPARS
which parametrizes the longitudinal and lateral profile of
the shower if the following conditions are satisfied:
1) An interaction with matter occurred and such a # of secondaries
(NGKINE> 1) has been produced
2) The particle momentum P is greater than a fixed cutoff
(HSHEMN=8 GeV)
3) The particle is a hadron or a gamma or an electron.
The shower parametrization is obtained using an algorithm
'a la Della Negra' described in the HADCAL note 83/01.
At the shower starting point the program evaluates some
quantities (potential length,visible energy ecc.)
and trasforms the coordinates in the 'SHOWER' ref. sys.
(HCPOTL,HCSETP).
The energy deposition,according to the longitudinal profile,
is obtained cutting the shower in slices of such a thickness
that each slice contains only one sensitive plane.
In each slice a fraction delta(E) of the
shower energy (E) is deposited according to the formula:
delta(E) = E [(1-C)*e(x) + C*h(y)]
where C is the fraction of the energy released by the
hadronic component of the shower(C=HCOEF0=0.716)
e(x) and h(y) are functions of the variables x=Be*(S-So)/Xo
and y=Bh*(S-So)/Lo.
(S-So) is the distance of the slice from the shower origin,
Xo and Lo are the radiation length and the interaction length
of the medium, Be and Bh are dimensionless coefficients which
depends logarithmically on E.
Finally to take in account the spread of energy in each
slice ,the energy delta(E) is divided in N spots of energy
delta(E)/N where N is choosen in such a way to ensure the
correct fluctuation on delta(E) by the statistical error
on N. The energy released in a single spot is a constant, and its
value is directly connected to the resolution of the calorimeter
E(one spot) = (res**2) = 0.608 GeV
Since the energy associated to the spot is much greater than that
one associated to a single streamer (120 MeV), then the energy
of each spot is distributed equally into 4 sub-spots of energy:
E (one sub-spot) = (res**2)/4 = 152 MeV
The sub-spots are then distributed laterally in space
according to a lateral profile parametrized assuming
an exponential law
dE = K exp[-R/L(s)]*dR
where L(s) is a function of the distance from the shower
origin.
In order to obtain a digital pattern the spots are
projected onto the nearest sensitive plane (HCLEAV,HCPROJ).
The algorithms take into account every change in module #
or in portion # during the shower development.
If the projection is not found or falls in a not active
region (spacers,iron frames etc.) the spot is killed.
Finally the HCBACK routine trasforms the spot coordinates
back to the 'PLANE' ref.sys and allows the calculation of the
tube and layer address using HCFITU and HCTKSP routines.
Also in parametrisation case the temporary bank JDHCSE
is filled. The bank content is the same as in the case of the full
generator but RW(JDHCSE+8) where
RW(JDHCSE+8) = projection on wire (full generator mode)
RW(JDHCSE+8) = spot energy (parametrization mode)
At the end of the event tracking througth the apparatus,
the information collected in the JDHCSE temporary bank
is used to create the Analog Signal.
This is done by the HCASIG routine which drives the
whole process.
The data coming from the parametrised showers ('shower
spot signal') contain just the information about the energy
released by each spot.
At this level, the program must only organize them in order
to assign the correct energy to each HCAL storey and to take
into account dead zones (HCDEAD routine).
On the contrary the data coming from the GEANT tracking
through the HCAL ('track segment signal') needs a further
step in order to obtain energy information.
The manipolation of track segments is performed in the
HCGEST routine, where the saturation effects related to the
presence of more than one track element in the same tube region
are taken into account.
In order to estimate the # of streamers produced in each tube,
the sum of the lengths of the different track segments projected
along the wire (DX) is used:
Nstreamer = 1 if DXHCSTRE)
HCSTRE is an experimental value obtained from test run data
which represents the dead region along the wire due to
the space charge generated by the streamer process.
The number of streamers is calculated by the NHCSTR function
called in the HCGEST routine.
The Energy (in GeV) associated to each streamer is obtained
by means of HCSTEN function using the experimental single
streamer distribution.
The values of the experimental distributions and the
conversion factors are stored into the HCCONG common.
When the analog signal is created, the routine HCTOW
calculates the tower adress i,j with the rules described
in the documentation (geometry part). The filling and the formatting
of the output banks is independent of the choosen algorithm
(parametrisation, full generator).
From this point onwards the program forgets the
definitions of 'track segment' and 'shower point'.
Tower information are in bank HTHT, NR=0
Wire planes information are in bank HWHT,NR=0
History information are in the HWTD,HTTD,HWDT,HTDT banks ,NR=0
Trigger information are in HTTR (towers) and HWTH (Wires)
(see Bank Description for details on this part)
The analog and digital signal outputs are stored
in HTDI and HWDI banks rispectively.
The input banks to make digitisation are HTHT and
HWHT banks.
The Data Formatting is done in the HCDIGI routine
which drives:
HCFORA routine for the Tower signal
HCFORD routine for Wire signal
The analog signal output contains:
.Tower address
.Energy in front stack (MeV)
.Energy in back stack (MeV)
.Tower address
Tower address is stored in a 32 bits word :
BIT# 0 15 23 31
range < 1 - 96 >< 1-62>< 1-3 >
--------------------------------
< i >< j >
Phi Theta
Adresses are sorted in increasing order.
The wire signal output contains:
.cluster adress (32 bits word)
BIT# 0 7 15 23 31
range < 0-255>< 1-15 >< 0-22>< 1-36 >
--------------------------------
< a >< b >< c >< d >
where
a. adress of last tube in cluster (*)
b. cluster width
c. layer number
d. electronic module number 1-12 end-cap A
13-24 barrel
25-36 end-cap B
(*) the range is 0-255 in barrel
0-159 in end-caps
The trigger signals are generated first for Towers, and then for wires .
Also for the trigger signals the input are the hit banks HTHT,HWHT.
.HCTRGA routine creates the TOWER TRIGGER SIGNAL
.HCTRGD routine creates the TUBE TRIGGER SIGNAL
The TOWER TRIGGER SIGNAL contains the energy released (in MeV)for each of
the 192 trigger regions in which the HCAL is sub-divided
The Trigger Regions 1-48 are in the END-CAP A
" " " 49-144 are in the BARREL
" " " 145-192 are in the END-CAP B
The TUBE TRIGGER SIGNAL contains the # of fired planes for each of
the 36 HCAL electronic modules
Only the first three Run conditions are defined (among the allowed 10)
The default values are 0.
Values can be changed via Steering Data Card :
RUNC 'HCAL' N1 N2 .... N10 where Ni is ICHCJO (i) new value.
CONDITIONS
**********
index in ICHCJO value in ICHCJO() default = 0
/ /
1 0 'STANDARD PRINTOUT' (active if DEBUG flag is ON for the event)
prints a run summary of the event
1 'BANKS PRINTOUT' (active if DEBUG flag is ON for the event)
prints temporary and output banks for HCAL
2 'FULL PRINTOUT' (active if DEBUG flag is ON for the event)
prints informations about each tracking step
(slows execution)
2 0 'PARAMETRISATION ON' showers are parametrized
1 'PARAMETRISATION OFF' showers developed by GHEISHA
***warning*** this run condition is not active within
HCDETAIL version .In this case no parametrization
algorithms are used!
3 0 'DEAD ZONE ON ' the dead zones inside HCAL are taken in account
1 'DEAD ZONE OFF' the dead zones inside HCAL are neglected
4 0 'INDUCT. EFFECT ON' the induction effect is taken in account
1 'INDUCT. EFFECT OFF' the induction effect is neglected
5 0 'TUBE INEFF. ON' the tube inefficiency is taken in account
1 'TUBE INEFF. OFF' the tube inefficiency is neglected
6 0 'DEAD TUBE ON' the dead tube is taken in account
1 'DEAD TUBE OFF' the dead tube is neglected
ITHIT is called from GUSTEP to generate hit data in the ITC. The
necessary input consists of a track element and the description of
the ITC readout geometry, provided by /TRKCOM/ and /ITWIRC/.
For each tracking step the hit information is accumulated in a
named bank IHIT which is added to the 'E' list.
The contents of the IHIT bank may be printed in a readable form
by ITPRHT (from the ALEPHLIB).
At the start of tracking for each event a routine ITNOIS is called
to enable random noise hits to be generated according to the expected
distribution. Noise hits can be distinguished from genuine hits as
the Id of the associated track is set to zero. The noise
distribution is not yet implemented in the present version. Hits from
stack tracks are identified by storing minus the parent track number
as the track identifier in IHIT.
The hit information is computed by calculating the intersection of
the track elements with imaginary cylinders at the inner and outer
radii of the 8 sense wire layers. This is done using a cubic spline
representation of the track elements. As the tracking steps in the
ITC can be larger than the spacing of the sense wire layers a single
track element can have intersections with several different layers.
All the intersections found for each track element are sorted by
increasing path length so that the order of the stored hits follows
the path of the track. For each hit wire the closest distance of
approach of the track and the angle within the drift cell are stored,
together with the Z coordinate, dip angle and time of flight.
The creation of digitisings in the ITC is handled by subroutine
ITDIGI. First an index of the hits is produced by wire number.
For each wire in turn ITDRFT is called with the list of all the
hits recorded for that wire. In general there may be several hits
to consider for a single sense wire due to close tracks passing
through the same cell.
The stored drift distance is smeared by a resolution determined by
the IRRF database bank before calculating the drift time. Hits that
end up outside the cell limits are discarded. This accounts for some
of the ITC inefficiency.
For each recorded hit the drift time is computed by lookup in a
linear interpolation table. This table is derived from the
parameterization of drift distance from time obtained from the IDRP
database bank.
The drift times are added to the time of flight and stored in a
temporary wire pulse bank, ITWP. Next induced pulses are
propagated along the wires in both directions to the front end
electronics. At present signals are assumed to travel along the
wires at the speed of light without attenuation or reflections but
the possibility is retained to implement a more realistic
simulation with pulse shapes and size of signal being considered in
some future version.
At this stage further physical effects can be introduced such as
cross-talk between channels and the effects of the amplification
stage on the signals. These would be handled by subroutines ITXTLK
and ITAMP which presently exist as dummy versions.
Finally, ITDAQ simulates the data acquisition producing the raw
data bank for the ITC and producing the required trigger bits.
Correlation banks are also produced so that the digitisings can be
related to the GEANT tracks. The contents of the IDIG bank and the
correlations to the tracks may be printed in a readable form by
ITPRDI (from the ALEPHLIB).
IAPROX
Compute the closest distance of a track element to the sense wire.
.......................................................................
IRUCHK
Correct approximate intersection point of track element at given
radius from quadratic formula using the gradient of the cubic formula
at the predicted point.
.......................................................................
ISBEND
Compute the apparent measured Z coordinate, ZM, for a hit at a given
Z position along the wire. This is done by linear interpolation in a
lookup table generated from the parametrization of "true Z" as a
function of "measured Z". The coefficients of the parameterization are
obtained from the IZNL bank.
........................................................................
ISBGIN
Generate lookup table for use in ISBEND. This is an initialisation
entry point of ISBEND.
........................................................................
ISPLIN
Calculate cubic spline coefficients of track element and return
coordinates of requested point on track element.
.......................................................................
ISPLIO
Entry point of ISPLIN for subsequent calls for the same track
element avoiding recalculation of spline coefficients.
.......................................................................
ITALIG
Transform coordinates of track elements from ALEPH system to local
system of misaligned ITC.
........................................................................
ITAMP
This routine is intended to simulate the effects of the ITC
front-end electronics on the signals arriving at the ends of the
sense wires. It is a dummy as readout effects are not implemented.
This will only be done if thought necessary on the basis of
experience with the real chamber.
........................................................................
ITASIG
Termination of the HITS stage for the ITC.
If no hit has been generated during the current event ITNOIS is
called to generate noise hits. The IHIT bank may be printed by a
call to ITPRHIT depending on the values of the print flags.
........................................................................
ITBINT
Calculate the ITC theta bin number corresponding to a coincidence
time for the R-Phi-Z trigger. The bin number returned is in the
range 1 to 256. If the time is outside the range of binning zero
is returned. The bins correspond to equal time slices starting a
specified time after the beam crossing.
........................................................................
ITDAQ
Simulate the ITC readout and trigger.
-------------------------------------
1. Access the end of wire signals from the bank ITFN.
2. Create work banks:
JDITNW - Flag which wires have received hits.
JDITAB - Store result of time-expansion.
JDITDC - Store digitised drift time result.
JDIZSC - Store digitised time-difference result.
3. For each hit sense wire in turn
3.1 Find the times of the first signals to arrive at each end.
3.2 Calculate the digitised values in subr. ITSDIG and store results
in the work banks.
4. Create bank IDIG for raw data format.
Fill it using JDITDC, JDIZSC.
5. Simulate the ITC trigger (subr. ITRPP) using JDITNW, JDITAB.
6. Create and fill trigger banks ITTR, IXRP.
7. Create and fill digits to hits correlation bank, IDHR, from JDITAB.
8. Put output banks on 'E' list and drop work banks.
........................................................................
ITDCNS
Initialisation routine for drift constants and resolution.
----------------------------------------------------------
1. Set values for hardware efficiency from IEFF bank.
2. Set parameters for drift-time relation and resolution from IDRP and
IRRF database banks.
3. Setup lookup table for drift-time relation (ITDTGO).
.......................................................................
ITDIGI
Create Digitisings for the ITC
------------------------------
1. Drop banks IDIG, IDHR, ITTR, IXRP if existing.
2. Sort the hits in IHIT by wire number.
3. For each hit wire
4.1 Find the list of hits for the wire.
4.2 Calculate the drift time for each hit in the list (ITDRFT).
4. Propagate signals to front-end electronics (subr. ITTOFE).
5. Generate cross-talk on adjacent channels (subr. ITXTLK).
6. Amplify final front-end signals (subr. ITAMP).
7. Simulate the readout chain. Create digitisings and trigger (ITDAQ).
8. If print flag set print out ITC digitisings (subr. ITPRDI).
9. Add hits and digits to the run summary counts.
........................................................................
ITDRFT
Calculate the drift times for all hits in a single ITC cell.
------------------------------------------------------------
1. On first entry per event create work bank for wire pulses, otherwise
expand the work bank as necessary.
2. Find layer number of hit wire and set parameters of cell size.
3. For each hit on the wire
3.1 Skip this hit randomly rejected by wire inefficiency function.
3.2 Smear drift distance by resolution function (ITRES).
3.3 Compute drift_time (ITDTIM).
3.4 Calculate pulse_time as time_of_flight + drift_time.
3.5 Store Hit.ID, Wire_ID, pulse_time in work bank.
.......................................................................
ITDTGO
Initialise lookup table of drift time from drift distance using
parameterization of drift distance from drift time from IDRP database
bank.
.......................................................................
ITDTIM
Entry point of ITDTGO to return drift time corresponding to given
drift distance by linear interpolation in lookup table.
.......................................................................
ITHIT
Generate the hits in the ITC.
-----------------------------
1. If first entry for current event then
1.1 Drop IHIT if existing.
1.2 Create IHIT bank for hits.
1.3 Create noise hits, track number = 0. (subr. ITNOIS).
2. RETURN if track element is entering or leaving ITC (no finite step
inside sensitive volume).
3. RETURN if track is neutral.
4. Transform coordinates in TRKELE, TRKNXT according to misalignment
of ITC wrt. ALEPH system (ITALIG).
5. Compute spline coefficients for track element (ISPLIN) and obtain
coordinates at mid point of track element. Calculate coefficients
of quadratic approximation to variation of distance, R, from beam
axis along track element.
6. For each wire layer DO
6.1 Solve quadratic formula for intersections of track element with
inner and outer radial boudaries.
6.2 Check accuracy of predicted intersection point using full cubic
spline formula and correct found intersection point using the
local slope of the spline if the quadratic approximation is
outside tolerance.
7. Sort all found intersections in order of increasing distance along
track element.
8. For all adjacent pairs of intersections on the same wire layer DO
8.1 Determine the portion of the track element that lies within
the inner and outer radial boundaries.
8.2 Compute the sag of this section by comparison of the midpoint
using the spline formula (ISPLIO) with the average of the start
and end points of the section.
8.3 If the sag exceeds tolerance for consideration of the section
as a straight line keep dividing the section in half until it
is within tolerance. Each subdivided fraction of the segment
may then be approximated as a straight line.
8.4 For each subdivision of the segment DO
8.4.1 Calculate the range of sense wires close to this piece.
8.4.2 For each wire possibly "hit" by this section DO
8.4.2.1 Calculate the closest point of approach to wire.
8.4.2.2 Correct local wire position allowing for wire sag
and recompute the closest distance to the track.
8.4.2.3 Calculate the angle within the cell of the track.
8.4.2.4 Check "hit" position lies within cell boundaries.
8.4.2.5 Interpolate time of flight at "hit" point.
8.4.2.6 Fill hit data into IHIT bank, expanding if needed.
Stack tracks are flagged by setting the track
number negative in the IHIT bank.
8.4.2.7 Check if last hit was on same wire and caused by
adjacent piece of subdivided track element. Keep
only the one closest to the sense wire.
........................................................................
ITIRUN
Initialise ITC routines.
------------------------
1. Abort job if ITC run conditions are illegal.
2. Store bank name indices in /ITNAMC/.
3. Declare bank formats.
4. Get geometry banks from the database (GTSTUP, ALGTDB).
5. Initialise readout geometry (subr. ITWINI).
6. Initialise drift time constants (subr. ITDCNS).
7. Initialise trigger parameters (subr. ITRGPA).
8. Initialise alignment constants (ITROTI).
9. Optionally print readout geometry (ITPGEO).
10. Initialise run summary counters.
........................................................................
ITMSK1
ITC trigger logic routine. Map 48 ITC trigger segments onto 18 bits
(12 bits for phi segmentation of calorimeter barrels, 6 bits for
endcaps). See ALEPH 86-87, "ITC Trigger Implementation in GALEPH".
N.B. This note contains an obsolete description of the trigger.
........................................................................
ITMSK2
ITC trigger logic routine. Set final 72 trigger bits according to
which theta sectors are enabled. See ALEPH 86-87.
........................................................................
ITNOIS
Generate noise hits in the ITC. Not yet implemented as likely noise
is not yet known.
........................................................................
ITPGEO
Print ITC readout geometry, chamber alignment and readout
electronics parameters if ICITJO(2).NE.0.
........................................................................
ITPHIM
Evaluate the 288 ITC trigger masks for the RPP and SPP.
-------------------------------------------------------
Each individual mask consists of a set of wires, one or two per layer,
in a radial pattern. A particular mask is satisfied when a sufficient
number of different layers have hit wires belonging to the mask.
The result of each mask is encoded as an eight bit value representing
which of the eight ITC layers have received hits for the mask.
The pattern of wires forming the masks repeats in sectors 48 times
around the chamber in phi. See ALEPH-TRIGGR 85-4 "The ITC R-Phi
processor". (Obsolete note).
1. Set all RPP and SPP masks results to zero.
2. For each sector
2.1 For each mask in the current sector
2.1.1 For each layer
2.1.1.1 If any wires in the mask are hit then
2.1.1.1.1 Set the layer bit for this mask.
2.1.1.1.2 Store the expanded time-difference
values for the hit wire(s).
2.1.2 Evaluate the time coincidence result and store the
theta bin number for this mask, 0 if unsuccessful.
(subr. ITZCOI).
........................................................................
ITRES
Smear ITC drift distance.
-------------------------
1. Use parameterization coefficients from IRRF database bank to
calculate the smearing on drift distance at the given distance
from the sense wire.
2. Multiply the distance smearing by a unit gaussian and add it to
the true drift distance.
........................................................................
ITRGPA
Set trigger conditions from IXCR database bank.
........................................................................
ITROTI
Initialise ITC alignment constants.
Compute a transformation matrix for track elements to a slightly
imperfectly aligned ITC. The Euler angles and displacement of
the origin are obtained from the database.
........................................................................
ITRPP
Simulate ITC R-Phi and R-Phi-Z trigger processors.
--------------------------------------------------
N.B. The R-Phi-Z trigger is not useable at present.
1. Select random start time for clock for Z-processor.
2. Fill wire hit array and expanded time-difference array from work
bank data, one element per ITC wire plus "wrap-around" entries
at phi=0 and phi=2pi to simplify mask testing algorithm.
Wires marked as "Bad" in the IXBW bank are always set "on" for
evaluating the trigger masks.
3. If debug print selected print wire hit array.
4. Test all masks for RPP and SPP (subr. ITPHIM).
5. Combine RPP masks in groups of 6 to form 48 phi sectors.
6. Reduce the number of masks from 288 to 192 by ORing the result of
some pairs of the original masks. Fill data for the IXRP bank from
the resulting 192 masks.
7. Map ITC phi sectors to final 72 bits for RPP (ITMSK1, ITMSK2).
8. If debug print selected print RPP results.
9. If debug print selected print SPP mask results from ITPHIM.
10. For each calorimeter theta sector
10.1 Group valid SPP masks within theta bin into 48 phi sectors.
10.2 Set theta bit in control word for mapping to calorimeter
correlation bits.
10.3 Set trigger bits for SPP for this theta bin (ITMSK1, ITMSK2).
11. If debug print selected print final SPP results.
........................................................................
ITSDIG
Calculate digitised values of the ITC data for one wire.
--------------------------------------------------------
1. Drift_time_TDC = (Offset - Time_at_readout_end)/Bin_width .
2. Perform time-difference expansion (subr. ITTEXP).
3. Store Z scalar value and time-difference value in work banks.
........................................................................
ITTEXP
Perform time expansion calculation for one wire.
------------------------------------------------
1. ZT0 = least_count * Zero_bin
2. Pulse_time = ZT0 - (time_A + TERR + - time_B) *
layer_expansion_factor
3. Z_scalar = Pulse_time / least_count
4. Set digitisation to zero if outside allowed range.
........................................................................
ITTOFE
Propagate induced wire signals to the front-end electronics.
------------------------------------------------------------
1. Create work banks to store end of wire signals.
2. Get IHIT, ITWP banks.
3. For each wire signal in ITWP
3.1 Get Hit.ID, wire.ID, Pulse_time
3.2 Get Z coordinate of hit from IHIT bank
3.3 Smear the true Z according to the resolution from IZRS.
3.4 Calculate time difference at wire ends (ISBEND).
3.5 Calculate signal time at each end.
3.6 Store results in work banks, expanding if necessary.
4. Copy work banks to ITFN, ITFP banks. Drop work banks.
........................................................................
ITWINI
Initialise readout geometry and time expansion constants.
---------------------------------------------------------
1. Get data from database.
2. Calculate phi offset of each layer and phi range of each cell in
radians.
3. Calculate expansion factors, delay times, pulse lengths for each
layer according to ratio of radii and values for layer 8.
4. Initialise "S-bend" parametrization (ISBGIN).
........................................................................
ITWSUM
Print run summary.
........................................................................
ITXTLK
Generate cross-talk at the ITC electronics.
-------------------------------------------
This is not yet implemented. Needs knowledge of chamber behaviour.
........................................................................
ITZCOI
Perform SPP trigger coincidence for one mask.
---------------------------------------------
1. If hit layers are insufficient for SPP then RETURN (theta bin=0).
2. For each time-difference pulse
calculate the leading and trailing edges using the pulse length.
3. Sort the pulse edges by increasing time.
4. Calculate the number of clock pulses required to scan the whole
range of pulses and the time of the first clock pulse.
5. Until complete time range scanned or a valid trigger found do
5.1 Advance by one clock tick.
5.2 Adjust set of fired layers according to the rising and falling
pulse edges passed during clock tick.
5.3 Test for valid layer combination for a trigger. Store time
if found.
6. If valid trigger found then compute ITC theta bin (subr. ITBINT).
........................................................................
ITHIT ---> ITNOIS Generate random noise hits (dummy).
ITALIG Transform track elements.
ISPLIN Compute spline coefficients for track element.
IRUCHK Correct approximate intersection points.
AUARCM Compute phi displacement from wire.
ITASIG ---> ITNOIS Generate random noise hits (dummy).
ITPRHT Printout IHIT bank.
ITDIGI ---> ITDRFT Compute drift times in a single cell.
---> ITRES Smear hit by resolution function.
---> ITDTIM Interpolate drift time.
ITTOFE Propagate signals to front-end electronics.
ITXTLK Generate cross-talk at electronics (dummy).
ITAMP Simulate amplification of signals (dummy).
ITDAQ Simulate readout and trigger.
---> ITSDIG Convert drift time to digitisation.
---> ITTEXP Perform time-expansion
calculation for Z value.
ITRPP Simulate trigger processors.
---> ITPHIM Evaluate basic masks.
---> ITZCOI Perform SPP
coincidence.
---> ITBINT
ITMSK1 Map trigger sectors.
ITMSK2 Map trigger sectors.
ITPRDI Printout results of digitisation.
ICITJO(1) = 0 Not used in current version. (Obsolete option).
(2) = 0 Trigger debug level (no printout).
1 Debug level suitable to look at an event in detail.
2 Extremely detailed trigger debug for checking the
time-coincidence logic of the SPP.
(3) = 0 Not used in current version. (Obsolete option).
Previously specified trigger processor option.
This is now obtained from the database.
(4) = 0 ITC alignment debug level (no printout).
1 Print track elements before and after transformation,
very detailed.
The ITPA card is no longer used. The correct trigger configuration
is now obtained from the IXCR database bank.
The following additional HISTORIAN flags are used in the ITC code.
*IF DEF,HEX - This is for machines (other than VAX or IBM) which
need to use the hexadecimal data statements in
the trigger routines. This flag is provided because
hex is not ANSI standard so that alternative integer
data is provided in case machines don't accept hex.
However, some patterns of integer data are "illegal"
on some machines, e.g. sign bit only set.
Since these flags only occur in an "OR" combination it is not
necessary to use them if you already select VAX or IBM.
P. H. Hansen
NBI 170288
-----------------------------------------------------------------------
Detector components:
Subdetector : LCAL has 2 subdetectors numbered
1 for z < 0
2 for z > 0
Quadrant : Each subdetector has 4 quadrants numbered
0 for x < 0, y > 0
1 for x > 0, y > 0
2 for x > 0, y < 0
3 for x < 0, y < 0
Module : LCAL has 4 modules numbered
1 for z < 0, x < 0
2 for z < 0, x > 0
3 for z > 0, x < 0
4 for z > 0, x > 0
Storey (Stack) : Each module has 3 storeys (stacks)
Layer (Plane) : Each module has 38 wire-planes
9 in 1st storey
20 in 2nd storey
9 in 3rd storey
Tube : Each plane has 20 tubes containing 4-5
proportional wires each.
Tower (Pad) : Each storey is divided into 384 towers
characterised by their
column (along x) and row (along y).
The address of a tower is encoded:
IPAD = ICOL + (IROW-1)*16 + (MODU-1)*512
Trigger sector : Each subdetector is divided into 12 trigger
sectors containing 64 towers in each storey.
The sectors are azimuthal wedges , approximately
30 degrees each . Contrary to the modules,
the sectors are numbered according to the
ALEPH convention:
C
C X ^ Y
C 15 16 \ | 3 4
C 14 17 \ | 2 5
C 13 18 \| 1 6
C ------------ ------------------------- ------->Z
C 24 19 |\ 12 7
C 23 20 | \ 11 8
C 22 21 | \ 10 9
C
Local coordinates: The local module system is the global system
translated along z to the front plate of Lcal,
and (in the case of misalignment) it is tilted
so the x-y plane coincides with the front plate.
Sensitive volume : The sensitive volume is defined by the tube
boundaries.
Constants : The geometry constants are stored in banks
LCAL : external dimensions of a module.
LMTY : internal dimensions of a module.
LLAY : constants specific for a wire plane.
LWRG : constants specific for a pad row.
LSCO : position of a subcomponent.
LSLO : position of a module.
Other constants are stored in the banks
LCEL : constants characterizing the electronics.
LCSH : constants used in shower parametrization.
The constants are transferred to *CD LCCOMC
Shower parametrisation for electrons:
Longitudinal hit distribution:
dN/ds = E/Ec * b*(b*s)**a * exp(-bs) /GAMMA(a+1)
Ec = 0.032 GeV
a = 1.834 + 0.450*LOG(E)
b = 0.539 - 0.013*LOG(E)
Transverse hit distribution:
d(dN/dS)/dR = (dN/dS)exp(-R/R0)/R0
R0 = 0.01 + 1.11*s*b/a
(s in radiation lengths, R in cm)
-----------------------------------------------------------------------
LCIRUN Initialise run
LCNAMI Establish name-indices.
LCHIT Controls tracking in LCAL.
?LCSHOW EM shower parametrisation.
CAHIST Fill 'LWHI' and 'LSHI' (Track-to-hit relators)
?LCTRAK Minimum ionising tracking.
CAHIST Fill 'LWHI' and 'LSHI' (Track-to-hit relators)
LCASIG Control analog signal processing.
CAFIHT Fill 'LWHT' and 'LTHT' (Hit banks)
LCSATU does nothing.
LCTRHT Fill 'LTTR' (Trigger data).
LCDIGI Control digitalisation.
LCADC Fill 'LTDI','LWDI' (Tower and wire data)
Convert 'LTTD' to MeV.
LCTRDI Convert 'LTTR' to MeV.
LCWTRI Fill 'LWTR' (Wire trigger data).
?LCNOIS Add electronic noise.
Add a constant term to Delta(E)/E.
LCPAD add energy to a storey channel.
LCROC Simulate read-out controller.
Zero suppression and dynamic range.
LCWSUM Print LCAL run summary.
.........................................
Utility routines for geometry desription:
LCFRAL Translate global coordinates to local ones.
LCSTRT Translate local z to plane number.
LCSAMP Finds trigger amplifier for a tower address IPAD.
LCAMP contains the table of trigger amplifiers.
LCXYPA Finds IPAD for a given space-point.
Checks sensitive volume.
.........................................
Utility routines for debugging:
LCBKPR Print the Lcal banks.
---------------------------------------------------------------
data card RUNC 'LCAL' I1 I2
I1 controls print level for events under DEBUG
(=3 will print everything)
I2 if I2 .NE. 0 , noise will be suppressed
Muon chambers consist of two layers of streamer tubes with their
wires in parallel with each other. Each layer of tubes has two layers
of readout strips, one has strips in parallel with wires, another
has strips perpendicular to wires.
In the MUON part of GALEPH, each physical muon chamber is
regarded as a module which is filled completely with a sensetive
medium. The correspondences between the GALEPH defined volumes and
the physical modules are followings.
MUB1 -- inner layer of barrel
MUB2 -- outer layer of barrel
MUM1 -- inner layer of middle angle
MUM2 -- outer layer of middle angle
MUC1 -- inner layer of endcap
MUC2 -- outer layer of endcap
The modules in the barrel and the middle angle have a shape of
boxes. The shapes of the modules in the endcaps are not regular. But
MUC1 and MUC2 are defined as boxes, because GEANT3 does not allow
to define an arbitrary shape.
The origin of a local reference system (LRS) is positioned at the
center of the box. The Z axis of the LRS is perpendicular to the tube
wire planes and from inside (interaction point) to outside. The X axis
of the LRS is in the wire plane and perpendicular to the wires. The Y
axis of the LRS is along with the wire directions.
The terms used for describing the geomrtric demension of modules
are always related to this definition of LRS. The width of modules
means the dimension along with X axis, the length of modules means
the dimension along with Y axis, and the thickness of modules means
the dimension along with Z axis. The exeptions are the modules in
the endcaps, the terms "width" and "length" are not obiviosly clear,
so the terms "length of X direction in ALEPH" and "length of Y
direction in ALEPH" are used in BOS bank descriptions.
There are 12 modules in the inner layer of the barrel
subcomponents and 12 in the outer layer. The tube wires of these
modules are at the Z direction of the ALEPH system (beam direction).
Then the position of a slot could be defined by a radius and an
azimuthal angle (0, pi/6, pi/3,...). The theta and phi of 3 axis of
a LRS in the ALEPH system have relations with ANGLE (the azimuthal
angle of the module) as
theta phi
X pi/2 ANGLE+pi/2
Y 0 0
Z pi/2 ANGLE
There are 10 modules in the inner layer of each middle angle and
9 in the outer layer. The tube wires of these 38 modules are rotated
from slot to slot but perpendicular to the Z direction of the ALEPH
system. However the position of a slot could still be defined by a
radius and an azimuthal angle. The theta and phi of 3 axis of a LRS
in the ALEPH system have relations with ANGLE as
A side:
theta phi
X 0 0
Y pi/2 ANGLE-pi/2
Z pi/2 ANGLE
B side:
theta phi
X pi 0
Y pi/2 ANGLE+pi/2
Z pi/2 ANGLE
There are 4 modules in the inner layer of each endcap
subcomponent and 4 in the outer layer. The tube wires of these 16
modules are along with the X direction of the ALEPH system (
horizontal). The configuration of 4 slots inside one subcomponent
is the same from the inner layer to the outer layer, but is
differenr from A side to B side, they can be reresented as the
diagrams followed. (View from +Z)
A side: __________________________________
| | |
| | |
| | |
| 2 | 1 |
| | |
| | |
|----------------| |
| |+| |
| |-----------------|
| | |
| 3 | 4 |
| | |
| | |
----------------------------------
B side: __________________________________
| | |
| | |
| | |
| 3 | 2 |
| | |
| | |
| |-----------------|
| |+| |
|----------------| |
| | |
| 4 | 1 |
| | |
| | |
----------------------------------
The numbers in these diagrams refer to the slot numbers. The theta
and phi of 3 axis of the LRS in the ALEPH system are followings.
A side (slot 1 and 4) :
theta phi
X pi/2 3pi/2
Y pi/2 0
Z 0 0
A side (slot 2 and 3) :
theta phi
X pi/2 pi/2
Y pi/2 pi
Z 0 0
B side (slot 1 and 2) :
theta phi
X pi/2 pi/2
Y pi/2 0
Z pi 0
B side (slot 3 and 4) :
theta phi
X pi/2 3pi/2
Y pi/2 pi
Z pi 0
The orientations of the LRS are different from the slots at the right
side to those at the left side, because the real shapes of these modules
are not boxes so that the lengths of tubes in these modules are variable.
MUHIT is called from GUSTEP to generate hit data in MUON. Since the
muon detector of ALEPH has only digital outputs, the hit data of MUON
are only intermediate.
MUHIT is called each time a track reaches a sensitive volume of MUON
(MUB1, MUB2, MUM1, MUM2, MUC1 or MUC2). One calling of MUHIT deals with
the generation of all hit signals from this module by the track.
MUGETC is called from MUHIT first to get all concerned constants
from BOS bank xxG1 and xxRD and to store those into common block
/MUSGCN/. The only exception is that in the case of MUC1 or MUC2, the
length of eightfold tubes can not be fixed, then the pointer to the
corresponding module is kept in /MUSGCN/. A function MUNSTA is called
by MUGETC to find the address of a slot in the BOS bank xxG1 and xxRD
from the slot number.
MUSTRM is called from MUHIT to generate streamers. It calles MUTRSF
to transform the track elements from ALEPH system to LRS. Then in
MUSTSG, the track element is extrapolated to find the track segments
inside the streamer tubes. A temporary working bank JDMUST is used to
store the contents of the track segments which are the tube plane
number in the module, the eightfold tube number in the plane, the tube
number in the eightfold tube, the coordinates of the entry and exit
points of the segments and the direction tangents. A flag to indicate
if the segment fires a streamer is also included. At this moment, it
is set to 0. Afterward, MUSMFR is called by MUSTRM to fire streamers
by track segments. If a segment crosses spacers, it is treated as more
than one independent segments. A segment will fire a streamer if its
length is longer than a cerntain constans and it passes a random
efficiency checking, then the fire flag of the segment ia set to 1.
Otherwise the flag is kept 0.
MUSGNL is called from MUHIT to transform streamers to strip signals.
The X and Y strips against the streamers (fired track segments) are
found. Then these strips and the adjacent ones pass a random
efficiency checking, those accepted are stored in the BOS bank MUHT.
MUDIGI is called from ASDIGI to generate the digitizing information.
It calls MUUNOI first to add some noise signals unrelated to tracks to
MUHT. (Not implemented yet)
MUDGTZ is called from MUDIGI to loop over the signals in MUHT and
find clusters. The contents of a digitizing are the electronics module
number, the strip plane number, the length of a cluster and the first
strip address of the cluster. It calls MUFLDI, MUFLDT and MUFLTD to
storethe digitizings, the cross reference between the digitizings and
the tracks into BOS banks MUDI, MUDT and MUTD.
There are several modules with special shapes in the barrel. Two
top ones have gaps allowing the cooling tubes passing through.
Therefore each standard modules is replaced by two narrower ones since
the gap is along with the beam direction. Four modules close to the
bottom ones have holes allowing the legs of the ALEPH passing through.
Therefore each standard module will be shorten to fit the space between
two legs. In addition, it is still under discussion to have two small
modules outside the legs. So there will be 8 or 16 special modules in
the barrel depending on the decision.
The constants describing the special modules are stored in the BOS
bank MSG1 and MSRD. As an option, a condition flag ICMUJO(1) is used
to control if GALEPH deals with the special modules. If the flag is
set, the special modules are used. Otherwise, the standard modules are
used.
Nomatter whether or not the flag ICMUJO(1) is set, GALEPH initialize
all MUON modules as standard ones. However as the flag ICMUJO(1) is
set to 1, subroutine MUSPMD is called from MUSTRM after the
transformation of the track elements (MUTRSF). MUSPMD checks if the
track element is in a module with a special one first, for those in a
normal module, MUSPMD returns immidiately. If the track element is in
a module with special ones, then the coordinates of the track element
in LRS is used to decide whether it is in a special modules. If it is
the case, The track element is translated to the LRS of the special
module, and the constants of the special module are found out to
replace those of the standard one. Otherwise, the track element is
given up.
The rest of the processing (MUSTSG and MUSMFR) is the same as the
normal case.
Four flags are used to give options as running MUON part of GALEPH.
ICMUJO(1) = 0, no treatment for special modules;
= 1, with treatment for special modules.
( See the section "Special modules")
ICMUJO(2) = 0, no treatment for dead tubes and strips;
= 1, with treatment for dead tubes and strips.
MUDTUB is called from MUHIT after calling MUSTRM. It checks the tube
addresses of streamers, if a streamer is in a dead tube, the fire flag
of the streamer is changed. MUDSTP is called from MUFLHT before a hit
is stored into MUHT, it looks up the list of dead strips and decides
if the current hit signal needs to be stored. MUDTUB and MUDSTP have
not been implemented yet.
ICMUJO(3) = 0, no track unrelated noices added;
1, track unrelated noices added.
MUUNOI is called from MUDIGI before calling MUDGTZ. (See section
"Digitization in MUON") MUUNOI has not been implemented yet.
ICMUJO(4) = 0, the sensitice material in MUON detector is air;
= 1, the sensitive material in MUON detector is average
one of MUON chamber. (Aluminium shell with plastic
tube inside)
ICMUJO(4) is used in AGMUCH to decide with which material the
sensetive volumes of MUON detector are filled. Notice for the current
version, lead is used instead of the average material in order to
exaggerate the effects.
If the flag FHISJO(8) is set, then
(1) MUBOOK is called from MUIRUN to book a bunch of histograms which
will record some statistics of MUON part;
(2) Several HFILL are called in MUSGNL;
(3) MUFILL is called from MUDIGI to record most of statistics.
If the flag FDEBJO and IPRIJO(8) are set, then MUPRHT is called from
MUASIG, which is called between the Hit process and the digitizing
process, to print out the information about hit signals and MUPHDI is
called from the end of MUDIGI to print the information in MUDI, MUDT
and MUTD.
ASIPAC
---> MUIRUN
GUSTEP
---> MUHIT
---> MUGETC
---> MUNSTA
---> MUSTRM
---> MUTRSF
---> MUSPMD
---> MUSTSG
---> MUSMFR
---> MUDTUB
---> MUSGNL
---> MUFLHT
---> MUDSTP
ASPEVE
---> MUASIG
---> MUPRHT
ASDIGI
---> MUDIGI
---> MUUNOI
---> MUDGTZ
---> MUFLDI
---> MUFIDT
---> MUFLTD
---> MUPRDI
H.Burkhardt May 87
The SATR detector measures the tracks of charged particles
before they enter the Luminosity Calorimeter. The geometry
and readout is optimized to obtain good resolution in theta.
The acceptance region is 47 - 92 mrad in theta and full
acceptance in phi. There are two identical detectors
on either side of the interaction region in the z-range
from 245.4 to 262.5 cm.
SAASIG
This routine reduces the SAHI bank in case of multihits on the same
wire. Only the hit closest to the wire is kept
..................................................
SABOOK
Histogram booking for the SATR. The histograms 601-615 allow to
determine: how many electrons produce showers already in
the beam pipe before they enter the SATR and by how
much they change the measurement of theta. To do this
information fromn the ITC and SATR impact bank is needed.
They other histograms allow a study of the shower development
inside the SATR (representing about 67 rad. length) through
hit and wire statitics per layer. Since multihits are not resolved
and certain wires put on the same TDC this study can only be
done in Monte Carlo.
..................................................
SADIGI
Evaluates the information from the SAHIt bank, does oring
of wires going to the same TDC and the digitizing to simulate
real data.
..................................................
SAGROU
Calculate the sector group number from the sector number.
Called from SADIGI as part of the conversion from wire number
to readout numbering.
..................................................
SAHIST
Fill histograms for the SATR. Most useful in runs with single gammas
or electrons or Bhabha generators producing particles in the SATR
fiducial region.
..................................................
SAHIT
Calculate hit and fill SAHI bank whenever a charged particle traverses
an active SATR volume.
..................................................
SAIRUN
initialize common variables and banks for the SATR
..................................................
SAWSUM
Prints out the average averages. For a test run use single electrons
or positrons in the cost range from .9968 - .9990 ( 45-80 mrad).
Reducing the fiducial volume in r to 50 cm and in z to 300 cm
100 events can be generated in a few minutes of running.
minimum maximum typical
number of events 10
average #hits sens. region 5 60 40
average #hits lost 0 10 5
average #wires set 5 30 12
B.Bloch-Devaux October 91
Module : SCAL has 2 modules numbered as
1 for side A ( z>0 )
2 for side B ( z<0 )
Layer (plane) : each module has 12 layers (planes)
they are read out by groups of 3 ( triplets)
thus there are 4 triplets.
The lowest plane (Triplet) number is the closest
to the interaction point.
Phi bin : each layer is divided into 32 phi bins.( each bin
is 11.25 degrees wide).
In a triplet of planes , the phi division starts at
respectively +3.75 , 0. , -3.75 degrees.
Radial bin : each phi bin is divided into 16 radial bins
The address of a pad is coded in the following way:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Bit
-------------------------------------------------
|XX|O3|O2|O1|Nm|Ph|Ph|Ph|Ph|Ph|Rd|Rd|Rd|Rd|Tt|Tt| IAD
-------------------------------------------------
Bit 15 : not used
Bit 12-13-14 : overflow in plane 1, 2, 3 of triplet
Bit 11 : Module number ( 0 = A side , 1 = B side)
Bit 6 to 10 : Phi bin ( numbered from 0 to 31)
Bit 2 to 5 : Radial bin ( numbered from 0 to 15)
Bit 0 to 1 : Triplet number (numbered from 0 to 3)
A geometry package called SCALDES is included in the Alephlib.
It accesses the DATA BASE to get the geometrical constants ,
including alignment.Then any subroutine can be called to get
the correspondance between any address and subcomponents / space
position.( two coordinates systems are provided : Cartesian x,y,z
and Cylindrical Rho,theta,phi)
---------------------------------------------------------------------
SIIRUN : called by ASIMOD to initialise run
initialise nameindices and formats
initialise SICAL statistics
loads necessary constants from Data base
SIZINI initialise zero suppression scheme
SIRDAF read data base (ALEPHLIB)
SIDFGO fill geometry commons
SIPRGO print out geometry constants if requested
set parametrization flag
SIHIT : called by GUSTEP during tracking
create and fill SIHI bank (E-list)
depending on option then
SISHOW parametrize energy deposition
SITRAK handle full energy deposition
SIASIG : called by ASASIG at the end of tracking
create and fill hit bank SIHT (T-list)
SISHOW : called by SIHIT to parametrize electron showers
and deposit energy in pads.
define parametrisation parameters in SIDFPA, SIDFRT
generate longitudunal profile by SILONG
generate transverse profile by SITRA3 ( SITRAN)
SITRAK : called by SIHIT to deposit energy in pads (full tracking)
SIDIGI : called by ASDIGI to control SICAL digitising
depending on option then
SINOIS add noise to signals
SIZSUP apply zero suppression
SISIDI create digitizing bank SIDI
SITRIG create trigger signals
SITRIG : create trigger signals in SIFO from info in SIHT
SIWSUM : called by ASCJOB to write out run summary for SICAL
data card RUNC 'SICA' I1 I2 .......
BECAREFUL all parameters must be given on the RUNC card : no default
I1 controls printout level when in debug (0 no debug, 1 = short
debug , 2 = full debug )
default is 0.
I2 controls parametrisation of electrons ( 1= parametrisation on)
default is 0 for now .
I3 controls addition of noise to analog signals
default is 0 for now .
0 = nothing added
1 = cross-talk only
2 = uncorrelated noise only
3 = both
I4 controls the transverse radial distribution of showers
default is 0 for now .
0 = triple gaussian distribution including cross-talk
1 = double gaussian distribution
The geometrical constants are obtained from the "data base" in the
form of BOS free-format data cards. The GEANT3 tracking-related
geometry (banks 'TPG1', 'TPG2') is separated from the readout geometry
described in the banks 'TPRD' (one per sector type). For the purpose
of signal simulation, it is convenient to store frequently used
quantities in local tables (Comdecks TPGEOM,TPGEOS). This is done
by subroutine TPUGEO which also tests the validity of the geometry
(eg that pad rows do not cross sector boundaries). A similar
approach is used to store simulation constants (routine TPGCON).
There are two geometry detail levels for the description of the
endplates. Level 1 (default) treats each endplate as a homogeneous
medium of average properties estimated by the material composition.
The second level takes into account the concentration of material in
the sector support structure. The code to describe the level 2
structure is activated with the Historian flag *DEF TPDETAIL. To
implement the level 2 structure at run-time, the data card
GEOM 'TPC ' 2 should be specified. It should be noted that the
endplate detail level is of no direct relevance to the TPC
simulation; it should be a choice for ECAL and HCAL applications.
The TPC is equipped with three types of readout: sense wire, pads and
trigger pads, which can be activated independently by the run condition
flags ICTPJO(1-3) set by means of the data card RUNC 'TPC '. No
information is produced for the sense wires at present.
Hits are generated for the pads and trigger pads in a similar way to
the ITC: ie by computing intersections of charged tracks with
hypothetical cylinders formed by extending the pad rows along the
full active volume. By default, hits are produced for pads and trigger
pads (ICTPJO(2)=1, ICTPJO(3) = 1) and stored in BOS banks 'TPHT' and
'TTHT', respectively. For reconstruction studies and display purposes
it is convenient to have the parameters of track elements in the TPC
volume, as the step positions cannot be recovered from the kinematics.
Setting ICTPJO(4) = 1 causes the parameters to be saved in the BOS bank
'TPTE' at the start of each track element. Reference banks 'TPHE','TTHE'
are also created to relate the hits to the track elements. By default,
track elements are not saved.
Digitisation is not treated in the present version of GALEPH.
However, a stand-alone detailed simulation package exists
(ALEPH TPC 85-10) which can read the GALEPH BOS output file and
generate the TPP readout from the track elements (which must be saved
in the GALEPH run as described above.) The package simulates to full
detail the ionisation energy loss along the track and the secondary
cluster formation, including non-local energy deposition (delta-rays).
The ionisation electrons are drifted to the endplate taking account
of diffusion and ExB shift near the wire. The network response is
simulated allowing for pedestal variation, differential non-linearity
and noise to form the digital readout in the envisaged TPP format.
It should be noted that this code is very time-consuming (about
20 min VAX11/780 per LUND event) owing to the high level of detail.
A fast signal simulation based on a parametrisation or library
of pulse shapes is forseen.
For the purpose of reconstruction and physics studies, a poor-man's
"prepare data" routine is provided (TPCOOR) which generates the pad
coordinate bank by smearing the hit positions using a simple error
parametrisation. This routine can be elaborated to introduce
inefficiencies, loss due to track overlap, noise, etc.
This is done only on request (ICTPJO(6)=1). The default
is ICTPJO(6)=0 .
Initialisation:
ASIPAC ---> TPIRUN Define name indices and formats for TPC
BOS banks
---> TPGCON extract some simulation constants
---> TPUGEO Validate geometry, compute and
store useful quantities
Tracking:
GUSTEP ---> TPHIT Save track element paramenters in 'TPTE'
bank (optionally)
---> TPIBOS Called on first entry of an event
to drop banks if they exist.
---> TPGETH Compute pad intersections (hits)
---> TTGETH Compute trigger pad hits
ASASIG ---> TPASIG ---> TPHSRT Sort hits in increasing pad row/
sector/pad number. Accumulate
statistics for run summary
---> TPRHIT Print out hits (optionally)
Run summary:
ASCRUN ---> TPWSUM Print run conditions and statistics for TPC
RUN CARDS
GEOM 'TPC ' level Specifies geometry level for TPC endplate
Level = 1 (or card absent) -> uniform,
average material description.
Level = 2 Explicit sector frame support
(*DEF TPDETAIL must have been
selected in Historian run)
RUNC 'TPC ' ICTPJO(1-10)
ICTOJO(1) = 1 Create wire hits (Presently inactive)
2 = 1 Create pad hits (default)
3 = 1 Create trigger pad hits (default)
4 = 1 Save track elements in TPC active
volume. (Not saved by default)
5 = Debug print level
(0 = none, 1 = brief, 2 = plenty)
6-10 = Reserved for future use.
The input to the level 2 trigger is the TPC hit bank TTHT. This is fir
transformed to give the level 2 hit bank X2HF containing the TPC trigger
pad information which is passed through the level 2 simulation. The resu
output are the banks X2MS containing the level 2 mask,and X2TF containing
the angular bins in which a track has been found. The banks X2HF,X2MS and
X2TF are then output to level 3.
The simulation passes the data with the optional addition of added noi
through the look-up tables created for loading into the level 2 processor
memories. Each input data point is placed into one of a number of angular
cells each of which covers part of the TPC volume and points towards the
interaction region. Data are passed to a second stage of processing from
cells with sufficient entries to correspond to a track. The second stage
performs a test on the internal consistency of the data to improve the
efficiency of the system at rejecting noise and background tracks. Cells
containing tracks are then used to set bits in the level 2 trigger mask.
W.Manner - 901211
GALEPH 24.0 - new version of the geometry
introduce FACE 90 and FACE 91, using the setup code.
! after number means checked and ok
? after number means corrected but doubtful
blank after number means not checked
Additional material constants:
passive face additional electronics and stability ribs are not
included.
a note on radii tiltangles etc. (modified 26-11-90)
We measure a radius for the support:
r(inner layer) = 6.98964 cm
r(outer layer) = 10.17346 cm
we add/subtract 0.6 cm for the aluminium spacers
The distance of the centre of the Si wafer from the spacers is:
0.160 cm - 0.0150 cm (half width of Si)
we keep arbitrairily 0.0280 cm ceramic thickness.
the total thickness of the face box is:
separator + ceramics + ceramics + chip = 2600 mu
where we have set for backward compatibility :
separator = chip thickness
The wafers are glued to the ceramics at x=0
This leads to separator = chip = 1020 mu
for GEANT we need the radii to the centre of the box ie:
r(GEANT) inner layer = 6.98964 - 0.6 - 0.145 = 6.24464
outer layer = 10.17346 + 0.6 + 0.145 = 10.88796
we assume here mechanic support 1 in VDME = Munich
mechanic support 2 in VDME = Pisa
The radii defined in COMMON/VDSUPP/ are
inner layer = 6.98964 - 0.6 = 6.38964
outer layer = 10.17346 + 0.6 = 10.77346
they are stored in VDAPLN (Munich/Pisa,inner/outer)
Tilt angles VMETIL on the data base refer to these radii
Tilt angles VDTILT calculated in VRDDAF refer to the wafer centre.
Offset distances from the centre of the wafer to the closest
point of the wafer to the detector centre (90.0 deg. point)
is calculated from the drawing to be:
0.78426 cm (inner layer), 1.18403 cm (outer layer)
This gives tilt angles (VMETIL) of
inner layer: 0.12212847 (Munich + Pisa)
outer layer: 0.10946317 (Munich + Pisa)
The sign of the tilt is not known, but is the same everywhere
and probably positive.
We calculate possible radii for the inner support ring:
ri=7.4, ro=11.3
the outer ring is not known
For VDET 91 the radius and angles for the cf tube position are:
radius of tube position: VDSPGA(3)=9.
angle of tube 1/4 from the vertical: +-VDSPSP(3) = 36.0 deg.
angle of tube 2/3 from the vertical: +-VDSPSA(3) = 24.0 deg.
===============================================================
P.Cattaneo - 900600
GALEPH 23.8 - new version of the geometry for '90
new digitization
===============================================================
F.Forti - 860612
As explained elsewhere in this document, relevant routines for
Minivertex detector are:
VDIRUN : Initializes all minivertex related variables and routines
and defines format for banks.
VDHIT : Processes single tracking steps.
VDASIG : Closes the Hits generations and creates the hit bank.
VDDIGI : Produces digitizing, that is signals on strips.
Other routines have been implemented to make the job easier:
VDCRDT : obtain the VDDT bank by sorting up the VDTD one
VDDAQ : simulate Data Acquisition chain.
VADESA : unpack strip address.
VAENSA : pack strip address.
VADEWA : unpack wafer address.
VAENWA : pack wafer address.
VDFIRS : calculate and store the signals on the strips produced
by a given hit.
VDIDIG : initialize variables for the digitization part
VDINSS : add strips to the digits bank and to the history banks.
VDNOFS : add noise to fired strip clusters
VDNOIS : generate noise fired cluster
VDNOCL : generate noise on a single strip
In addition to this ones, some printing routines are
implemented in the ALEPHLIB, namely:
VDPGEO : print geometrical constants.
VDPRHT : print contents of hit bank.
VDPRDI : print digitization banks.
When the routine VDHIT is called the first time a particle
enters an active part of detector, the entry point, as long as the
wafer number and the track number are stored in a work bank (with
index KHTXVD).
The data are taken, as usual, from the common /TRKCOM/.
In the successive steps of tracking the energy release of the
particle is accumulated in a local variable until the particle
exits the active zone of the detector.
In the last step the hit is completed by storing the exit point
and the total energy release in the work bank.
When tracking is finished, the routine VDASIG then copies the
work bank into the named bank VDHT.
Digitization in Minivertex is handled in VDDIGI.
After some booking and counting, the hits are passed to VDFIRS,
one at a time. Here read-out geometry is taken into account,
including dead zones and strip pitch. The hit's coordinates are
rotated in the wafer plane that at the moment is defined to be
parallel to the z-axis.
Charge partition between the strips is done segmenting the track
in many points and then taking into account diffusion and magnetic
field effect. The process is done both on the phi and z side.
vdnofs add noise to the fired strips and their neighbourings,
through calls to VDNOCL.
The work bank JDVNOI has three words per row, in the first one
it is stored the noisy strip adress, in the second the series noise
contribution in e/pf, in the third one the paralle noise
contribution in electrons.
The work bank JDVDAQ has two words per row, in the first one
it is stored the strip adress read by the data aquisition chain,
in the second the overall contribution of the noise at the output.
VDNOIS, if selected through a proper run condition (see below),
generate noisy hits throughout the all detector.
The strips produced by a given hit are stored in a local
array that, at the end of VDFIRS, is passed to VDINSS, to be
inserted in the digitization bank.
The contents of data card RUNC 'VDET' are put in an array
(ICVDJO) at job initialization time. The first 4 elements are
reserved for future use in Minivertex physics. The element 6-10
are used for debugging purposes. They are intended to be used only
development time and produce quite a lot of printout. In any case
all WRITE statements are protected with the general debug flag.
In particular:
ICVDJO( 1 ) : Bank number of data base GALEPH banks
ICVDJO( 2-5 ) : Reserved
6 : Debug Hits generation.
7 : Debug digitization part.
8 : control the noise in VDET. the default 0
activate only VDNOFS. 1 neither VDNOFS nor
VDNOIS, 2 activate both.
9-10 : to be defined.
These subroutines are called from GEANT3 subroutines, they are an
interface with external packages or with the user.
GHEINI, GUHADR, GUINTI, GUPHAD, GUSEAR, GUSTEP, GUTRAK
GUSTEP is the interface between GEANT3 and the detector module
Questions on : can be answered by :
--------------------------------------------------------------------------
GALRUN on VM M.Rumpf / E.Polytechnique
R.Edgecock / RAL
GALRUN on VAX F.Ranjard / CERN
Geometry, physics process, graphic B.Bloch-Devaux / Saclay
and interactive version
Minivertex J.Carr / Marseille
ITC R.Beuselinck / Imperial College
TPC D.Casper / CERN
CALO M.N.Minard / Annecy
ECAL M.Rumpf / E.Polytechnique
M.N.Minard / Annecy
LCAL P.Hansen / NBI
SiCAL B.Bloch / Saclay
HCAL L.Silvestris / Bari
MUON A.Antonelli / Frascati
overall organisation F.Ranjard / CERN
Please report all bugs or difficulties or suggestions to these people.