200 likes | 398 Views
Run IIb L1CAL TCC. Philippe Laurens MSU 9-Feb-2006. Framework Interfaces. Timing (SCL). Control (TCC). ADF Timing Fanout. VME Interface & SCL Interface. L2 & L3. BLS 2 EM + 2 H. timing/ctrl. timing/ctrl/vme. Jets. . F r a me w o r k. EM. ADC + Digital-Filter (ADF) x 80.
E N D
Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006
Framework Interfaces Timing (SCL) Control (TCC) ADF Timing Fanout VME Interface & SCL Interface L2 & L3 BLS 2 EM + 2 H timing/ctrl timing/ctrl/vme Jets Framewor k EM ADC + Digital-Filter (ADF)x 80 Trig Algo’s (TAB)x 8 Global+Control (GAB)x 1 8-bit TT Et EM clusters 16 EM16 H Tau H sums Et,Mpt TT Signal Processing Sliding Windows Global Sums encoded clusters 1280 Existing BLS Cards 2560 EM +HAD TT 0.2x0.2 Signals from L1 Track Cal-Trk Match Run IIb L1Cal System (slide by Hal Evans) 1280 Existing BLS Trigger Cables BLS-to-ADF Transition System Patch Panel Cards (x80) Pleated Foil Cables (x160) Paddle Cards (x80)
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 Expert Programs ADF Crate #1 of 4 VME-6U ADF Crate #4 of 4 VME-6U V.I. Slave ADF #20 ADF #20 V.I. Slave ADF #1 ADF #20 … L1Cal TCC L1Cal Comm. Crate VME-9U Bit3 VME/SCL (to TAB) Bit3 V.I. Master (to ADF) SCL Distributor(to ADF) V.I. Master (to VRB) TFW SCL L3 COOR … … L1Cal Readout Crate VME-9U TAB #1 TAB #8 GAB V.I. Slave VRB VRB VRBC SBC TAB/GAB Crate Custom-9U Ethernet Monitoring Clients L2 Optical Fiber Splitters to L2Cal Crate P. Laurens Rev: 31-May-05 (ALS, PAL)
Framework Interfaces Timing (SCL) Control (TCC) 1280 Existing BLS Trigger Cables Serial Command Link Distributor VME Interface & SCL Interface L2 & L3 timing/ctrl timing/ctrl/vme Jets BLS 2 EM + 2 H Framewor k BLS-ADF Transition System Patch Panels x40Patch Panel Cards x80Pleated Foil Cables x160ADF Transition Cards x80 ADC + Digital-Filter (ADF)x 80 Trigger Algorithm (TAB)x 8 Global+Control (GAB)x 1 8-bit TT Et EM EM clusters 16 EM16 H Tau sums H Et,MET TT Signal Processing Sliding Windows Global Sums encoded clusters 1152 Existing BLS Cards [2560 EM + HAD] TT: 0.2 x 0.2 Signals from L1 Track Cal-Trk Match Run IIb L1Cal System (slide by Hal Evans) VME/SCL SCLD Patch Panels ADFv2 BLS Cables Rat’s Nest TAB GAB
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 Comm. Crate Bit3 Expert (e.g. at MSU) L1Cal TCC L1Cal IIb Remote Console (Copy of Screen Output) L1Cal IIb Graphical User Interface L1Cal IIb Graphical User Interface (Python) L1Cal IIb Control Software (C++) XML over ITC XML over ITC ASCII over ITC Host Computers COOR Monitoring Applications Binary over ITC ASCII commands over ITC 8-Feb-06
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_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 • 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 Control 2) 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 Control 3) 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 Control 4) 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