Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006.
-
date post
15-Jan-2016 -
Category
Documents
-
view
221 -
download
0
Transcript of Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006.
Run IIb L1CAL TCC
Philippe Laurens
MSU
9-Feb-2006
Run IIb L1Cal System (slide by Hal Evans)
BLS2 EM + 2 H
EM
H
ADC + Digital-Filter(ADF)x 80
ADC + Digital-Filter(ADF)x 80
Trig Algo’s(TAB)
x 8
Trig Algo’s(TAB)
x 8
Global+
Control(GAB)
x 1
Global+
Control(GAB)
x 1
ADF Timing Fanout
ADF Timing Fanout
1280 Existing BLS Cards
2560 EM +HAD TT 0.2x0.2
TT Signal Processing
8-bit TT Et
Sliding Windows
clusters
sums
Global Sums
Framework Interfaces
Timing (SCL)
L2 & L3
Control (TCC)
Framework
Jets
EM
Tau
Et,Mpt
timing/ctrl/vmetiming/ctrl
Cal-Trk Match
encoded clusters
Signals from L1 Track
VME Interface & SCL Interface
VME Interface & SCL Interface
16 EM16 H
BLS-to-ADF Transition SystemPatch Panel Cards (x80)Pleated Foil Cables (x160)Paddle Cards (x80)
BLS-to-ADF Transition SystemPatch Panel Cards (x80)Pleated Foil Cables (x160)Paddle Cards (x80)
1280 Existing
BLS Trigger Cables
Run IIb L1Cal System
10 racks in MCH1 M103-M112
Replace 25x Run IIa crates
With 6x Run IIb crates and 40x patch panels
4x ADF Crates
1x TAB/GAB Crate
1x Communication Crate
cf. http://www.nevis.columbia.edu/~evans/l1cal/install/M100-M113.pdf
L1CAL IIb TCC … another TCC???
Currently fir Run IIa:– L1 TCC (aka d0tcc1.fnal.gov) interface to
• L1 Framework• L2 Framework• L1Cal (Run IIa)
– L2 TCC (aka d0tcc2.fnal.gov) interface to• L2 Preprocessors• L2 Global
L1CAL IIb TCC … another TCC!!!
For Run IIb:– L1 TCC (aka d0tcc1.fnal.gov) interface to
• L1 Framework• L2 Framework
– L2 TCC (aka d0tcc2.fnal.gov) interface to• L2 Preprocessors• L2 Global
– L1Cal TCC (aka d0tcc3.fnal.gov) interface to• L1Cal (Run IIb)
Run IIb L1 Calorimeter Trigger Control Path
L1Cal ExpertPrograms
L1Cal TCC
COOR
Monitoring Clients
Bit3
Bit
3
V.I
. Mas
ter
(to
AD
F)
V.I
. Mas
ter
(to
VR
B)
VM
E/S
CL
(to
TA
B)
SC
L D
istr
ibu
tor
(to
AD
F)
L1Cal Comm.Crate VME-9U
ADF Crate #1 of 4VME-6UA
DF
#20
V.I
. Sla
ve
AD
F #
20
… ADF Crate #4 of 4VME-6UA
DF
#20
V.I
. Sla
ve
AD
F #
1
……
TAB/GABCrateCustom-9U
TA
B #
1
TA
B #
8
GA
B
…L1CalReadoutCrateVME-9U
V.I
. Sla
ve
VR
B
VR
B
VR
BC
SB
C
L3
L2
Etherne
t
Optical Fiber Splitters to L2Cal Crate
…
P. Laurens Rev: 31-May-05 (ALS, PAL)
TFW
SCL
Run IIb L1Cal System (slide by Hal Evans)
BLS
2 EM + 2 H
EM
H
ADC + Digital-Filter
(ADF)x 80
ADC + Digital-Filter
(ADF)x 80
Trigger Algorithm
(TAB)x 8
Trigger Algorithm
(TAB)x 8
Global+
Control
(GAB)x 1
Global+
Control
(GAB)x 1
Serial Command Link
Distributor
Serial Command Link
Distributor
1152 Existing BLS Cards
[2560 EM + HAD] TT: 0.2 x 0.2
TT Signal Processing
8-bit TT Et
Sliding Windows
clusters
sums
Global Sums
Framework Interfaces
Timing (SCL)
L2 & L3
Control (TCC)
Framewor
k
Jets
EM
Tau
Et,MET
timing/ctrl
Cal-Trk Match
encoded clusters
Signals from L1 Track
VME Interface & SCL Interface
VME Interface & SCL Interface
16 EM16 H
BLS-ADF Transition System
Patch Panels x40Patch Panel Cards x80Pleated Foil Cables x160ADF Transition Cards x80
BLS-ADF Transition System
Patch Panels x40Patch Panel Cards x80Pleated Foil Cables x160ADF Transition Cards x80
1280 Existing
BLS Trigger Cables
timing/ctrl/vme
SCLD
VME/SCL
TAB GAB
ADFv2
Patch Panels
BLS Cables Rat’s Nest
L1CAL IIb TCC -- Functionality
Same functionality for L1, L2, L1Cal TCC
TCC = Trigger Control Computer– Control
• Interface to COOR
– Monitoring• Collect Information from hardware• Serve Information to Monitoring Client(s)
– Tests• Calibrations, Tests, Diagnostics, etc; for expert
L1Cal IIb Control Software
• Partitioned – Control Code vs. GUI
• Operating System Independent – Windows & Linux– Python & C++– Use D0 products ITC and Thread_Util
L1CAL TCC Control Software
L1Cal TCCBit3
L1Cal IIb Control
Software(C++)
L1Cal IIb Graphical
UserInterface (Python)
L1CALComm. Crate
Expert (e.g. at MSU)
L1Cal IIb RemoteConsole(Copy ofScreen Output)
L1Cal IIbGraphical
UserInterface
Host Computers COOR
MonitoringApplications
8-Feb-06ASCII commands over ITC
Binary over ITC
ASCII over ITC
XML over ITC
XML over ITC
L1Cal IIb Control Software
• L1Cal_IIb_TCS Trigger Control Software
– Use C++ for robustness and execution speed– Control and monitor both ADF and TAB/GAB– Only software actually performing VME IOs– Interface presenting one L1CAL system to DZero– Ported in large part from current L1FW+L1CAL TCC – Allow local command files for flexibility – Keep a Logfile of all actions with time stamps
L1Cal IIb Control Software
• L1Cal_IIb_GUI (User Interface to L1CAL_IIb_TCS)
– Different for Run IIb (not microsoft Visual C++)– Use Python with Tkinter for portability– Zero, One, or more GUI connected at given time– Not needed for COOR control nor monitoring– Run on TCC or from Remote computer– *Greatly* extendable with external
python command files (of arbitrary complexity)
L1Cal_IIb_GUI
L1Cal_IIb_TCS– Run Control
Interface to COOR
– Hide hardware complexity– Present one unified L1CAL = ADF+TAB+GAB– Initialize the System to defined state– Translate high level COOR commands
(ASCII ) into (a few or thousands of) VME IOs
L1Cal_IIb_TCS– Run Control
How does it happen?
A quick example run-through:
– 1) User/Trigger Meister– 2) Trigger Database– 3) COOR (via Taker)– 4) L1Cal TCC
L1Cal_IIb_TCS– Run Control
1) User (or Trigger Meister)
• Would like to analyze events which
"Require at least 1 jet with Et at least
10 GeV within |eta| of 3.2“
• cf. available Run IIb trigger resources
http://www.nevis.columbia.edu/~evans/l1cal/algos/algos.html
L1Cal_IIb_TCS – Run Control2) Trigger Database
• Input (in part):
– User (or Trigger List) defines a requirement for "CSWJT(1,10.,3.2)"– plus other filtering L1 requirements, L2, L3)– cf. http://d0db-prd.fnal.gov/trigdb/cgi/tdb_report_element.py? function=L1Script&insname=CSWJT(1,10.,3.2)_ncu&insversion=1– cf. http://d0db-prd.fnal.gov/trigdb/cgi/tdb_report_element.py? function=Trigger_List&intlname=First_Run2b_list&intlversion=2.00
• Actions:
– Generate XML files defining these triggering requirements to COOR– cf. http://www.nevis.columbia.edu/~evans/l1cal/algos/coor/coor_syntax.html
L1Cal_IIb_TCS– Run Control3) COOR (via Taker)• Input (in part):
• [...]• <l1trigger name='CSWJT(1,10.,3.2)_ncu' prescale='0'>• <l1termlist>• <run2b.l1jet count='1' maxeta='3.2' thresh='10.'/>• [... other andor term requirements ...]• </l1termlist>• [... L2 and L3 requirements ...]• </l1trigger>• [... other Specific Triggers…]
– cf. http://www-d0online.fnal.gov/www/groups/trigger/official/special/ Run2b/First_Run2b_list-2.00.xml
• Actions (in part):– Send messages to L1Cal TCC to program the L1Cal resources
• Allocate one of the 7 TAB Jet Reference Sets for this request• Program this reference set with a threshold of 10 GeV and an eta coverage of 3.2• Allocate one GAB CSWJT Terms to listen to this RefSet and require at least one jet• cf. http://www.nevis.columbia.edu/~evans/l1cal/algos/trig_terms/trig_terms.html• cf. http://www.nevis.columbia.edu/~evans/l1cal/algos/trig_terms/coor_params.html
– Send messages to L1FW TCC• Allocate one L1 Specific Trigger to implement this request• Program this SpTrg to require the matching L1Cal andor term (among others)• Specify which crates need reading out any time this Specific Trigger Fires
– Start a new Run Number with this Specific Trigger Requirement
L1Cal_IIb_TCS– Run Control4) L1Cal TCC
• Input:– "L1CAL_Ref_Set Jet_Et_Ref_Set 1 TT_Eta(-16:16) Energy_Threshold 10.0"– "L1CAL_to_L1FW Jet_All_Term 0 Use_Ref_Set 1 Count_Threshold 1"– cf. http://www.pa.msu.edu/hep/d0/ftp/run2b/l1cal/tcc/coor/ coor_to_l1caltcc_message_syntax.txt
• Actions:– L1Cal_IIb_TCS server receives these messages from COOR– Parser understands the message syntax and extracts the request– Dispatcher calls corresponding executer routine with corresponding arguments– Executer routine
• loop over all TABs within TT_Eta/TT_Phi coverage (or single GAB) • Program the TAB and/or GAB control registers via the VME/SCL• keep track of overall success
– Server sends acknowledgement message (Ok/Bad) back to COOR for each command message received
L1Cal_IIb_TCS– Run Control
Cf. Expanded version of this run-through
Including event processing by L1Cal,
L1 FW, L2, etc:
http://www.pa.msu.edu/hep/d0/ftp/run2b/l1cal/
tcc/coor/using_l1cal2b.txt