Description of contents of lct.tar.gz
- The .cpp files are the C++ program that does the actual
LCT simulation, and the .hpp files are the associated
include files.
- The contents of muon/mcpp/pat/ are the pattern tables.
There are cathode high and low pT tables, and anode tables. For
each type of table there are three different files:
- *_lst is a list of the different patterns in that
table, along with the average position and angle for each patterns,
the frequency of pattern occurrence, the actual strips/wire groups
hits for that pattern, etc.
- *_ram is the actual ramtable used by the program.
- *_tbl is a table that just lists the pattern number,
position, angle, and probability for each pattern.
- Imakefile is the file needed to get the routines to
compile correctly.
- mch2d.f is a modified version of that routine. It
packs the strip and wire time and charge information into a common
block. It has also been modified to perform some bounds checking
on the various previously existing arrays to prevent out-of-bounds
strips and wire groups from being digitized. Finally, it includes
some information about the location of the strip and wire hits
so both the h and j
can be calculated, and the exact position of the hit on the strip
and wire so the pattern tables can be constructed.
- mcd2ts and mcd2tw are slightly modified versions
of existing routines. The modifications print out the LCTs found
by the previous LCT simulation and will be removed before the
final version is included into CMSIM.
- mc_trig takes the information from mch2t and
places it into common blocks for use by the C++ simulation. It
then takes the results from that simulation and places them in
another common block.
- mc_alct is a simulation of the new anode logic, based
on LCT99. It simply uses a single pattern and checks to see if
there are enough hits in this grid to make a pattern. Very simple...
- mc_hout is the routine that saves the LCT information
into the ZEBRA bank. I have modified it in two ways:
- The existing LCT code and the new code both only calculate
the local (inside a chamber) phi when they are found. The global
phi is calculated here and saved in the appropriate common block.
- I print out any LCTs found with the new code to compare with
those found by the old code. For both old and new code I print
out the following information:
- chamber type (ME1/1, ME3/2, etc)
- eta
- phi
- local phi
- key strip number
- key wire group number
- anode and cathode BX time (in 25 ns bins)
- mc_vcmp is a modified version of an existing routine.
The modification increases the number of allowed valid 1/2 strip
comparator patterns. The modification should be in CMS115 but
just in case it's not in your local copy, I've included it here.
- m_initg is a modified version of an existing routine.
The modification calls m_initg_csc.
- m_initg_csc is the initialization of the various parts
of the simulation. It also has flags that control whether one
is generating LCT pattern tables or using them.
- cml1_trg is a modified version of an existing routine.
The modification calls mc_trig if TRGP 'CMSE' 0 'MUON'
1 'MCFX' 2 'MTRI' 1 'CSCT' 1
- uglast is the GEANT user termination routine. I modified
it to call cml1_last.
- cml1_last is a new routine. It calls fin_trigger(),
the final C++ LCT simulation routine. fin_trigger (in
the file muon/mcpp/triggen.cpp) frees up the memory used by the
simulation. Most importantly, however, is that when patterns
are generated it prints them all to a file.
Benn Tannenbaum (benn@physics.ucla.edu)
last updated 3 September 1999