Introduction:
As can be seen from the figure below, the focal point for much of the
Level 1 trigger information is the XTRP module. The purpose of the XTRP
is to receive tracking information from the XFT and distribute the tracks
and/or information derived from the tracks to the Level 1 and Level 2 trigger
subsystems. After receiving the tracks from the XFT, signals are sent to
the Level-1 Muon system (L1MUON), the Level 1 Calorimeter trigger (L1CAL),
and the Level 1 Track Trigger (L1TRACK). The tracks are also put into a
pipeline and upon receiving a Level 1 accept are sent to the Level 2 processor.
The tracks then sent to the Level 2 processor and the silicon vertex trigger
(SVT).

The purpose of the XTRPSim package is to exactly duplicate the functionality
of the XTRP module at the hardware level. Data is inserted into the XTRPSim
in the same format as the XTRP module and clocked through an exact replication
of the XTRP boards. Output banks are then created (with description "Simulated
Trigger Bank") which should exactly match the real banks.
Code
The following classes have been designed and coded (package XTRPSim):
-
DataBSim.cc
- Simulates the functionality of the Data Boards. Calls SimCalMuon to work
with lookup maps.
-
SimCalMuon.cc
- Simulates the calorimeter and muon lookup functions and bit OR-ing, etc.
-
TrackTrigger.cc
- Simulates the functionality of the track trigger board.
-
XTRPMatchboxData.cc
- Storable_object used for TCMD and TL2D output.
-
XTRPSimModule.cc
- Driver module. Reads in data, calls necessary classes, clocks data, creates
output.
-
xtrpMap.cc
- Accesses database and prepares for lookup map generation. Calls xtrpMapGen.
-
xtrpMapGen.cc
- Does the actual lookup map generation.
Input and Output
The XTRPSim package inputs track data either from
XFLD
or
XTRD
D-banks. The parameter "readinXFLD" in the talk-to determines which bank
is read in: XFLD data, readinXFLD = 1; XTRD, readinXFLD = 0. Normally XTRPSim
should be run in the default mode and pull input from the XFLD D-banks.
For diagnostic purposes, it is sometimes useful to pull input from the
XTRD D-bank. The parameter "standalone" in the talk-to determines if real
(standalone = 1) or simulated (standalone = 0) XFLD is read in. Normally
XTRPSim should be run in the default mode and pull input from real XFLD
D-banks.
XTRPSim produces in output the following bank and storable_object:
tcl file to run XTRPSim
In general look at the script simpleRun
for an example of accessing the talk-to menu. The options are:
-
slot6 - Set TRUE if there is a board in slot
6. [true]
-
slot7 - Set TRUE if there is a board in slot
7. [true]
-
slot8 - Set TRUE if there is a board in slot
8. [true]
-
slot9 - Set TRUE if there is a board in slot
9. [true]
-
slot10 - Set TRUE if there is a board in slot
10. [true]
-
slot11 - Set TRUE if there is a board in slot
11. [true]
-
slot12 - Set TRUE if there is a board in slot
12. [true]
-
slot13 - Set TRUE if there is a board in slot
13. [true]
-
slot14 - Set TRUE if there is a board in slot
14. [true]
-
slot15 - Set TRUE if there is a board in slot
15. [true]
-
slot16 - Set TRUE if there is a board in slot
16. [true]
-
slot17 - Set TRUE if there is a board in slot
17. [true]
-
serialNum0 - Set serial number for board in
slot 6. [165]
-
serialNum1 - Set serial number for board in
slot 7. [165]
-
serialNum2 - Set serial number for board in
slot 8. [165]
-
serialNum3 - Set serial number for board in
slot 9. [165]
-
serialNum4 - Set serial number for board in
slot 10. [165]
-
serialNum5 - Set serial number for board in
slot 11. [165]
-
serialNum6 - Set serial number for board in
slot 12. [165]
-
serialNum7 - Set serial number for board in
slot 13. [165]
-
serialNum8 - Set serial number for board in
slot 14. [165]
-
serialNum9 - Set serial number for board in
slot 15. [165]
-
serialNum10 - Set serial number for board
in slot 16. [165]
-
serialNum11 - Set serial number for board
in slot 17. [165]
-
serialNum12 - Set serial number for board
in slot 18. [165]
-
cmu_mask_0 - Set bits off for segments to
mask off in CMU for board 0. [0xFFFFFF]
-
cmu_mask_1 - Set bits off for segments to
mask off in CMU for board 1. [0xFFFFFF]
-
cmu_mask_2 - Set bits off for segments to
mask off in CMU for board 2. [0xFFFFFF]
-
cmu_mask_3 - Set bits off for segments to
mask off in CMU for board 3. [0xFFFFFF]
-
cmu_mask_4 - Set bits off for segments to
mask off in CMU for board 4. [0xFFFFFF]
-
cmu_mask_5 - Set bits off for segments to
mask off in CMU for board 5. [0xFFFFFF]
-
cmu_mask_6 - Set bits off for segments to
mask off in CMU for board 6. [0xFFFFFF]
-
cmu_mask_7 - Set bits off for segments to
mask off in CMU for board 7. [0xFFFFFF]
-
cmu_mask_8 - Set bits off for segments to
mask off in CMU for board 8. [0xFFFFFF]
-
cmu_mask_9 - Set bits off for segments to
mask off in CMU for board 9. [0xFFFFFF]
-
cmu_mask_10 - Set bits off for segments to
mask off in CMU for board 10. [0xFFFFFF]
-
cmu_mask_11 - Set bits off for segments to
mask off in CMU for board 11. [0xFFFFFF]
-
imu_mask_0 - Set bits off for segments to
mask off in IMU for board 0. [0xFFFFFF]
-
imu_mask_1 - Set bits off for segments to
mask off in IMU for board 1. [0xFFFFFF]
-
imu_mask_2 - Set bits off for segments to
mask off in IMU for board 2. [0xFFFFFF]
-
imu_mask_3 - Set bits off for segments to
mask off in IMU for board 3. [0xFFFFFF]
-
imu_mask_4 - Set bits off for segments to
mask off in IMU for board 4. [0xFFFFFF]
-
imu_mask_5 - Set bits off for segments to
mask off in IMU for board 5. [0xFFFFFF]
-
imu_mask_6 - Set bits off for segments to
mask off in IMU for board 6. [0xFFFFFF]
-
imu_mask_7 - Set bits off for segments to
mask off in IMU for board 7. [0xFFFFFF]
-
imu_mask_8 - Set bits off for segments to
mask off in IMU for board 8. [0xFFFFFF]
-
imu_mask_9 - Set bits off for segments to
mask off in IMU for board 9. [0xFFFFFF]
-
imu_mask_10 - Set bits off for segments to
mask off in IMU for board 10. [0xFFFFFF]
-
imu_mask_11 - Set bits off for segments to
mask off in IMU for board 11. [0xFFFFFF]
-
lookupVar - Set =1 for Corkscrew, =2 for Walking
1s, =3 for real tables. [3]
-
corkSeed - Set corkscrew seed value. [0]
-
saveMapFile - Set TRUE to save a copy of the
generated lookup maps. [F]
-
readinXFLD - Input from XFLD bank set TRUE.
Input from XTRD bank set FALSE. [T]
-
standalone - To read real data set TRUE. Simulated
data set FALSE. [T]
-
data_flag - Real data set to 1. Simulated
data set to 0. [0]
-
run_Number - allows overwriting of the run
Number for simulated events when the user want to emulate the conditions
of a physics run
Future plans for XTRPSim involve pulling many of these options from database
entries.
Questions? Send e-mail to XTRPSim
team or
TRGSim
team
Last updated Sept 04 2001; Simona
Rolli