20
Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

Run IIb L1CAL TCC

Philippe Laurens

MSU

9-Feb-2006

Page 2: 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

Page 3: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 4: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 5: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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)

Page 6: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 7: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 8: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 9: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

L1Cal IIb Control Software

• Partitioned – Control Code vs. GUI

• Operating System Independent – Windows & Linux– Python & C++– Use D0 products ITC and Thread_Util

Page 10: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 11: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 12: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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)

Page 13: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

L1Cal_IIb_GUI

Page 14: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 15: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 16: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 17: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 18: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 19: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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

Page 20: Run IIb L1CAL TCC Philippe Laurens MSU 9-Feb-2006

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