you can start looking at the following notes to get familiar with DIRAC:
CDF/DOC/TRIGGER/CDFR/4231 - Anatomy of DIRAC
CDF/DOC/TRIGGER/CDFR/4225 - Dirac final specification
They describe the way L1 forms electron triggers.
There are 96 DIRAC boards, each of them corresponding to one phi value
and 6 eta values ( eta and phi of the Trigger Towers):
This is a cartoon of the DIRAC trigger map ( c goes from 0 to 5)
phi= 3 +4*c |
12 |
13 |
14 |
15 |
--------------------------------------------------------
phi= 2 +4*c |
8 |
9 |
10 |
11 |
--------------------------------------------------------
phi= 1 +4*c |
4 |
5 |
6 |
7 |
--------------------------------------------------------
phi= 0 +4*c | East plug 0 |East Cent
1 |West Cen 2 |W plug
3
|
--------------------------------------------------------
eta =
23.....18 | 17...12
| 11...6
| 5.....0
In the TC1D bank ( produced by the simulation
or real bank) there are 12 blocks corresponding each to 2 phi wedges: each
half
block contains 4 subblocks ( corresponding to the phi index ) of 3
words for each wedge.
( see cartoon above that would represent 2 blocks)
The three words contain the DIRAC trigger summary for the 6 channels corresponding to eta:
bits(31:24) bits(23:16) bits(15:8)
bits(7:0)
word 1
ch1 TOT ch1 EM ch0 TOT
ch0 EM
word 2
ch3 TOT ch3 EM ch2 TOT
ch2 EM
word 3
ch5 TOT ch5 EM ch4 TOT
ch4 EM
each channel is a tower and the word tells you which of the possible
8 EM trigger and 8 TOT triggers the tower passed.
An EM trigger is a photon or and electron,
a TOT trigger is a jet or a tau ( below Dirac_EM_trigger, Dirac_Jet_trigger)
For each trigger table Memory
patterns ( or lookup tables) are generated with
all the final decisions words corresponding to all the possible tower
configurations in energy, tracking and had/Em ratio.
A tower configuration information is contained in a 15 bits word,
where bits 0-7 give the energy ( Transverse EM for EM triggers, transverse
EM + had for TOT triggers), bits 8-11 give the tracking information( if
a track is associated to the tower) and bits 12-14 the had/Em info
. The maximum value of this word is 0x7fff, or 32767.
So the 15 bits words represent the offset needed to apply to
a predefined pointer in the decision words list in order to find the decision
word for that particualr tower configuration.
When running TRGSim++ all the possible decision words are written
in the 2 files of type:
ttcentral.ascii
ttplug.ascii
which are lists of 32767 decision words corresponding to
all the possible tower configurations.
The mapping information for the tracking triggers are loaded in the
files:
trcentral.ascii
trplug.ascii
which are lists of (6 towers x 256 x 4 bits) words
Given a trigger table TRGSim++ emulates all these
steps:
1) memory pattern are generated given the
TriggerTable parameters:
CalTrigger/src/CalTriggerPatterns.cc and
CalTrigger/src/CalTriggerPatterns2.cc
2) the dirac trigger words are simulated in
:
CalTrigger/src/CalTriggerData.cc method dirac_sim
3)and written out to TC1D : CalTrigger/src/CalTriggerEvent.cc
----
Some words on option and TriggerDB
The following is an example of db query for OPTION_NAME = JET:
dbquery " select DISTINCT SPECIFIC_OPTION_NAME from DOWNLOADS where
PHYSICS_TABLE_NAME = 'PHYSICS_1_01' and PHYSICS_TABLE_TAG = '1' and
OPTION_NAME = 'JET'"
L1_JET10
L1_JET5
L1_TWO_CJET8
as you can see there are 3 corresponding specific option names . Each of them is associated a value of DIRAC_MEMORY_BIT_NO, one of the possible 8 bits for EM or TOT triggers.
dbquery " select CUT_OR_PARAMETER_NAME from DOWNLOADS where
PHYSICS_TABLE_NAME = 'PHYSICS_1_01' and PHYSICS_TABLE_TAG = '1' and
OPTION_NAME = 'JET' and SPECIFIC_OPTION_NAME='L1_JET10'"
DIRAC_CRATESUM_BIT_CONTENT
DIRAC_CRATESUM_BIT_NO
DIRAC_CRATESUM_WIRE_NO
DIRAC_MEMORY_BIT_NO <<<<<=======================
ET_CENTRAL
ET_PLUG
FRED_INPUT_BIT
NUMBER
PREFRED_INPUT_BIT
PREFRED_OUTPUT_BIT
DIRAC_CRATESUM_BIT_CONTENT
DIRAC_CRATESUM_BIT_NO
DIRAC_CRATESUM_WIRE_NO
DIRAC_MEMORY_BIT_NO <<<<<=============================
ET_CENTRAL
ET_PLUG
FRED_INPUT_BIT
NUMBER
PREFRED_INPUT_BIT
PREFRED_OUTPUT_BIT
DIRAC_CRATESUM_BIT_CONTENT
DIRAC_CRATESUM_BIT_NO
DIRAC_CRATESUM_WIRE_NO
DIRAC_MEMORY_BIT_NO <<<<<===================================
ET_CENTRAL
ET_PLUG
FRED_INPUT_BIT
NUMBER
PREFRED_INPUT_BIT
PREFRED_OUTPUT_BIT
===========================================================================
Here it's the list of EM and JET Trigger for
physics_table_name = PHYSICS_1_01-v10:
===========================================================================
CENTRAL
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_CEM2_PT2_MINUS
EM_Thresh = 2
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = 2
EM_trig_number = 1
csum_register_bit = 1
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +TRACK + HAD_EM trigger
End of EM+Track + HAD_EMtrig trig : 1
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_CEM2_PT2_PLUS
EM_Thresh = 2
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = 3
EM_trig_number = 2
csum_register_bit = 2
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +TRACK + HAD_EM trigger
End of EM+Track + HAD_EMtrig trig : 2
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_EM8
EM_Thresh = 8
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = -1
EM_trig_number = 3
csum_register_bit = 3
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 3
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_TWO_CEM4_PT4
EM_Thresh = 4
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 2
track_number = 0
EM_trig_number = 5
csum_register_bit = 14
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +TRACK + HAD_EM trigger
End of EM+Track + HAD_EMtrig trig : 5
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_TWO_CEM2
EM_Thresh = 2
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 2
track_number = -1
EM_trig_number = 6
csum_register_bit = 15
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 6
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_TAU0_PT4
jet_Thresh = 0
two_bit_trig = 1
track_number = 0
jet_trig_number = 4
csum_register_bit = 4
csum_bit_content = 1
realtrigger = 1
=======================================
It's a jet +TRACK trigger
End of jet+Track trig : 4
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_JET10
jet_Thresh = 10
two_bit_trig = 1
track_number = -1
jet_trig_number = 5
csum_register_bit = 5
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 5
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_JET5
jet_Thresh = 5
two_bit_trig = 1
track_number = -1
jet_trig_number = 6
csum_register_bit = 6
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 6
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_TWO_CJET5
jet_Thresh = 5
two_bit_trig = 2
track_number = -1
jet_trig_number = 7
csum_register_bit = 16
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 7
=======================================
End of constructing memories
=======================================
PLUG
NB: the triggers are the same as before,
since there are no plug triggers. But the energy thresholds are infinite
(999) for plug, with the exception of L1_EM8, L1_JET10, L1_JET5
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_CEM8_PT8
EM_Thresh = 999
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = -1
EM_trig_number = 0
csum_register_bit = 0
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 0
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_CEM2_PT2_MINUS
EM_Thresh = 999
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = -1
EM_trig_number = 1
csum_register_bit = 1
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 1
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_CEM2_PT2_PLUS
EM_Thresh = 999
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = -1
EM_trig_number = 2
csum_register_bit = 2
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 2
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_EM8
EM_Thresh = 8
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 1
track_number = -1
EM_trig_number = 3
csum_register_bit = 3
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 3
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_TWO_CEM4_PT4
EM_Thresh = 999
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 2
track_number = -1
EM_trig_number = 5
csum_register_bit = 14
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 5
=======================================
printing parameters for Dirac_EM_Trig
=======================================
id_name = L1_TWO_CEM2
EM_Thresh = 999
HAD_EM_ratio = 0.125
HAD_EM_max_had = 0
two_bit_trig = 2
track_number = -1
EM_trig_number = 6
csum_register_bit = 15
csum_bit_content = 0
realtrigger = 1
=======================================
It's a EM +HAD_EM trigger
End of EM + HAD_EMtrig trig : 6
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_TAU0_PT4
jet_Thresh = 999
two_bit_trig = 1
track_number = -1
jet_trig_number = 4
csum_register_bit = 4
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 4
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_JET10
jet_Thresh = 10
two_bit_trig = 1
track_number = -1
jet_trig_number = 5
csum_register_bit = 5
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 5
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_JET5
jet_Thresh = 5
two_bit_trig = 1
track_number = -1
jet_trig_number = 6
csum_register_bit = 6
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 6
=======================================
printing parameters for Dirac_JET_Trig
=======================================
id_name = L1_TWO_CJET5
jet_Thresh = 999
two_bit_trig = 2
track_number = -1
jet_trig_number = 7
csum_register_bit = 16
csum_bit_content = 1
realtrigger = 1
=======================================
It's a simple jet trigger
End of simple jet trig : 7
End of constructing memories
Last updated Jul 11 2002; Simona Rolli