M. Selen, 7/24/03 LEPP Lunch: Pg 1 The CLEO-c Trigger System: More Than Just Blinking Lights ! The CLEO-c Trigger System: More Than Just Blinking Lights ! LEPP Lunch Talk Mats Selen l Overview l Tracking l Calorimeter l Timing l Performance
M. Selen, 7/24/03 LEPP Lunch: Pg 2 What the Trigger & DAQ Does Suppose you want to keep only pink hexagonal widgets moving down a conveyor belt. y/n y y n n Trigger You are the trigger: You stamp “y” on the pink hexagonal widgets You stamp “n” on the others n y trash SAVE DAQ Your friend DAQ saves only widgets labeled “y” The problem is: Working fast means you make some mistakes !
M. Selen, 7/24/03 LEPP Lunch: Pg 3 Requirements: Decision Time Each widget must get examined and stamped y/n y y n n Trigger - You need to decide on one before the next one comes along. - Your decision can’t take longer than t = d/v. - Taking more time means making less mistakes. v d
M. Selen, 7/24/03 LEPP Lunch: Pg 4 Requirements: Efficiency You can’t stamp too many pink hexagonal widgets ”n”: y/n n n n n Trigger SAVE DAQ n n n trash ? ? ?
M. Selen, 7/24/03 LEPP Lunch: Pg 5 Requirements: Rejection y/n y y y y Trigger The rate of widgets stamped “y” can’t exceed the capacity of your friend (the DAQ) to save them. y trash SAVE DAQ y Whenever the DAQ is busy saving something it causes “dead-time” (he will miss the next few widgets). If he misses any marked “y”, this causes a loss of efficiency.
M. Selen, 7/24/03 LEPP Lunch: Pg 6 y/n Working in Steps: Pipelining Have more than one person working in series - Each individually one takes less than t = d/v - Collectively, much more work is done - A smarter decision can be made – less mistakes y y n n Trigger n y trash SAVE DAQ v d
M. Selen, 7/24/03 LEPP Lunch: Pg 7
M. Selen, 7/24/03 LEPP Lunch: Pg feet 800 feet d = 14 feet, v = 1 foot/ns t = 14 ns There are 183 RF buckets in CESR
M. Selen, 7/24/03 LEPP Lunch: Pg 9 The trigger runs at 1/3 the CESR RF freq (i.e. each step is 42 ns) This smears together 3 beam collisions every time we look. We can do this since its very rare that anything happens during a collision. In CESR/CLEO, beam collisions are spaced a minimum of 14 ns apart. This is not enough time to do any serious trigger processing Only ~45 of these buckets contain beam ‘bunches’
M. Selen, 7/24/03 LEPP Lunch: Pg
M. Selen, 7/24/03 LEPP Lunch: Pg
M. Selen, 7/24/03 LEPP Lunch: Pg More about this in a few minutes
M. Selen, 7/24/03 LEPP Lunch: Pg 13 Trigger Philosophy l Use only drift chamber (DR) and calorimeter (CC) information. l Make trigger decision every 42ns (i.e. trigger clock rate). Take enough time (number of pipelined steps) to make a sophisticated Level-1 trigger decision: About 2 s. The readout deadtime is about 20 s, so we need to keep the trigger rate < 1000 Hz. RF bucket Pipeline clk Early DR Late DR Early CC Late CC look here for CC info 72 MHz 24 MHz look here for DR info Suppose event happens here
M. Selen, 7/24/03 LEPP Lunch: Pg 14 CLEO-III/c Trigger System Overview
M. Selen, 7/24/03 LEPP Lunch: Pg 15 What it Looks Like (all more or less alike to untrained eye)
M. Selen, 7/24/03 LEPP Lunch: Pg 16 Common Feature FPGA based Logic DAQ/ VME Circular Buffer Inputs Outputs TDI TMS TCK TDOJTAG
M. Selen, 7/24/03 LEPP Lunch: Pg AXTR trigger boards backplane (single ended) 16 AXX receiver boards LVDS from DR3 preamps track info to TRCR 106 x 2 Repeating unit (x 8) 77 Axial Tracking Trigger
M. Selen, 7/24/03 LEPP Lunch: Pg 18 Layer 9 = “key” Inner Lookup Outer Lookup Inner/Outer track correlator
M. Selen, 7/24/03 LEPP Lunch: Pg 19 Stereo Tracking Trigger There are too many wires to form all combinations in LUT - Combine these into 4x4 blocks
M. Selen, 7/24/03 LEPP Lunch: Pg 20
M. Selen, 7/24/03 LEPP Lunch: Pg 21 = Hit wire location at z = 0 Track trajectory: P perp = 350 MeV/c = 35 o = 15 o -shifted curve, P perp = 350 MeV/c = 35 o = 17 o Track in U and V Independently
M. Selen, 7/24/03 LEPP Lunch: Pg 22 Axial – Stereo Correlation
M. Selen, 7/24/03 LEPP Lunch: Pg 23 Axial – Stereo Correlation
M. Selen, 7/24/03 LEPP Lunch: Pg 24 Axial Raw key wires Clustered key wires Axial matching cells 48 high 48 low Stereo - U 48 high 48 low Stereo - V Axial - Stereo Correlation high low
M. Selen, 7/24/03 LEPP Lunch: Pg 25 Calorimeter Trigger Energy sharing between boards can result in a loss of efficiency: Present summing =Tile summing = Simulated Efficiency contained shower Threshold = 500 MeV
M. Selen, 7/24/03 LEPP Lunch: Pg 26 Wrinkle – We need to work fast! Preamp out Mixer/shaper out Trigger signal Discriminator out 2 s/div Calorimeter trigger information comes ~ 1.8 us after crossing. twice differentiated
M. Selen, 7/24/03 LEPP Lunch: Pg m/s crate 1 m/s card low med high “Tiling” sets too many bits Must Sparsify
M. Selen, 7/24/03 LEPP Lunch: Pg 28 HMLproj H M L proj L1-D Crate HH MM LL low med high Available to decision boards
M. Selen, 7/24/03 LEPP Lunch: Pg Key Wire Time Bucket #track Ev-time Timing Issues LOW MED HIGH CC time – TR time
M. Selen, 7/24/03 LEPP Lunch: Pg That’s how this plot is made !
M. Selen, 7/24/03 LEPP Lunch: Pg 31 Compare to Simulation (1995) Mean = 17.5 RMS = 0.73 Mean = 16.9 RMS = 0.51 Mean = 16.7 RMS = 0.41 Mean = 16.6 RMS = track events4 track events 7 track events10 track events Trigger Time (42ns bucket)
M. Selen, 7/24/03 LEPP Lunch: Pg 32 Pipe-delay From AXTR MAKE 48 MATCHING CELLS Back-plane Pipe-delay FIND EVENT TIME Pipe-delay AXIAL CELL COUNT CB & DAQ Typical Trigger Board For time alignment
M. Selen, 7/24/03 LEPP Lunch: Pg 33 AXPR TRCR-1 TRCR-2 CCGL L1D From AXTR Crate From STTR Crate From TPRO Crate To DAQ L1D Trigger Crate LUMI
M. Selen, 7/24/03 LEPP Lunch: Pg 34 LUT 8 FPGAs Timing (3) Info (185) Timing (TR, CB or CE) Info (valid at timing edge) Route 48 Prescale 24 Bunch 24 Scaler L1- accept Backplane Trigger Decision Boards (L1D)
M. Selen, 7/24/03 LEPP Lunch: Pg 35 How To Define a CLEO-c Trigger Line % Generic Hadron Line, Barrel Timing % SUBDESIGN line0( in[117..0]: INPUT; out: OUTPUT; ) Variable 1cblow: SOFT; 3tracks: SOFT; evtime: SOFT; Begin -- trigger bit mappings: tr_time[1..0]= in[1..0]; cb_time[1..0]= in[3..2]; ce_time[1..0]= in[5..4]; cc_time[1..0]= in[7..6]; tr_n_hi[3..0]= in[11..8]; tr_n_lo[3..0]= in[15..12]; tr_n_ax[3..0]= in[19..16]; tr_lowpos[1..0]= in[21..20]; cb_l_phi[7..0]= in[29..22]; cb_h_phi[7..0]= in[37..30]; cb_low_old[1..0]= in[39..38]; cb_med_old[1..0]= in[41..40]; cb_high_old[1..0]= in[43..42]; ce_low_old[1..0]= in[45..44]; ce_med_old[1..0]= in[47..46]; ce_high_old[1..0]= in[49..48]; cb_n_low[2..0]= in[52..50]; cb_n_med[2..0]= in[55..53]; cb_n_high[2..0]= in[58..56]; ce_n_low[2..0]= in[61..59]; ce_n_med[2..0]= in[64..62]; ce_n_high[2..0]= in[67..65]; bha_theta[7..0]= in[75..68]; cc_spare[15..0]= in[91..76]; cpu_trig[1..0]= in[93..92]; control[23..0]= in[ ]; trigger line definition 1cblow = cb_n_low[] > 0; 3tracks = (tr_n_hi[]>2) # ((tr_n_hi[]>1)&(tr_n_lo[]>0)) # ((tr_n_hi[]>0)&(tr_n_lo[]>1)) ; evtime = cb_time[0]; out = 1cblow & 3tracks & evtime; End;
M. Selen, 7/24/03 LEPP Lunch: Pg /P T “Non-Isolated Tracks” In Hadron Events All Tracks No Trigger - hardware No Trigger -missing hits PTPT Total Efficiency 200 MeV Axial Trigger Performance
M. Selen, 7/24/03 LEPP Lunch: Pg /P T “Isolated Electron Tracks” All Tracks No Trigger Total Efficiency 210 MeV Stereo Trigger Performance (with axial) B = 1.5 T
M. Selen, 7/24/03 LEPP Lunch: Pg /P T “Isolated Electron Tracks” All Tracks No Trigger Total Efficiency 140 MeV Stereo Trigger Performance (with axial) B = 1.0 T
M. Selen, 7/24/03 LEPP Lunch: Pg 39 CC Trigger Performance Needs more study
M. Selen, 7/24/03 LEPP Lunch: Pg 40 For Lots More Info