Fast Tracking of Strip and MAPS Detectors
Joachim GläßComputer Engineering, University of
Mannheim
Target application is trigger 1. do it fast 2. check precision
• Contents– STS Tracking (Strip Detectors)
• Hough Transform
– MAPS Tracking• Kalman Filter
October 7, 2004 CBM Collaboration Meeting
STS TrackingHough Transform of Parabola
z
x1 /P z
de te c to r Hough space
one track one po in t
z
x1 /P z
de te c to r Hough space
seven h its seven cu rves
x = z20.3 By
2 Pz
=0.3 By z2
2 x
Pz
1
=0.3 By (z cos + x sin)2
2 (z sin – x cos)
Pz
1
<=>
rotated by (Px/Pz):
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
Z
X
Y
STS Tracking3-D Hough Transform
1/Pz
Px/PzPy/Pz
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
• 3-D according to the three parameters of a track– bending 1/Pz, angles and (Px/Pz, Py/Pz)
– Py/Pz detector slice corresponds to one 2-D Hough-histogram– 2-D Hough-histograms can be processed independently– Py/Pz planes are overlapping ( due to multiple scattering)
z
x
de te c to r
STS TrackingHardware Implementation
hit coordinatesx, z
LUT shiftregisters
1 bit/row
start
Systolic processing of space points (1 hit/cycle)
D Q
CNT
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
z
x
de te c to r
STS TrackingHardware Implementation
hit coordinatesx, z
LUT shiftregisters
1 bit/row
start
Systolic processing of space points (1 hit/cycle)
D Q
CNT
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
z
x
de te c to r
STS TrackingHardware Implementation
hit coordinatesx, z
LUT shiftregisters
1 bit/row
start
Systolic processing of space points (1 hit/cycle)
D Q
CNT
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
z
x
de te c to r
STS TrackingHardware Implementation
hit coordinatesx, z
LUT shiftregisters
1 bit/row
start
Systolic processing of space points (1 hit/cycle)
one hit -> one curve
Cell number of peakdetermines track parameters
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
STS TrackingSimulation Results
• Efficiency• e: found tracks/all tracks with P > 1GeV/c• g: ghost tracks/processed tracks• i: identified tracks/processed tracks
– 31 x 95 x 383 e: 95 %, g: 25 %, i: 45 %– 63 x 191 x 255 e: 93 %, g: 12 %, i: 65 %
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
STS TrackingSimulation Results
• Precision of the reconstructed momentum– 63 x 191 x 255
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
STS TrackingHardware Implementation
• Processing speed (rough estimations)• Real-time tracking (emphasis is on fast)
– 1 hit/cycle
– e.g. 10 Gb/s link with 64 bit/hit => 150 x 106 hits/s1 hit/cycle => 150 MHz
– 1500 to 10000 hits/event => 10µs to 100µs
– total number of processing unitsca. 200 x 10 Gb/s links needed for STS=> ca. 200 units
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
z
x
de te c to r
STS Tracking of Strip DetectorsHardware Implementation
hit coordinatesx, z
LUT shiftregisters
1 bit/row
start
Processing of strip detector data
one hit (x strip) -> one plane (horizontal)
stop
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
z
x
de te c to r
STS Tracking of Strip Detectors Hardware Implementation
hit coordinatesx, z
LUT shiftregisters
1 bit/row
startstop
Processing of strip detector data
one hit (y strip) -> one plane (vertical)
Logical AND gives same Hough Transform thanintersection point of strips(+ all fakes given by strip layout)
to do: angles other than 90°,especially small angles
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
• MAPS layer 1 and 2(monolithic active pixel sensors)– high resolution < 10 µm– slow readout > 10 µs
pile up of ca. 100 events
• Kalman Filter track following– track hits from L3 – L5 as
seed • later Hough transform
– emphasis is on fast:process 1 track/cycle
10
0 µ
m S
i
10
0 µ
m S
i 10
0 µ
m S
i
MAPS TrackingKalman Filter Track Following
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
• y-z plane (non-bending) => straight line– y = m * z + c
– start with m0 = y0/z0, c0=0
– predict position in previous layer yk = mk-1 * zk + ck-1
– measure position (distance predicted – real yk)
– update estimate with measurement• yk, mk, ck are simple function of mk-1, ck-1 and yk
• yk < 500 µm => needs few bits to code
• noise and error covariance are chosen to „believe“ the latest measurement
^
^
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
MAPS TrackingKalman Filter Track Following
• x-z plane (magnetic field) => parabola– x = a z2 + b z + c
– start with a0, b0 from hits in layer 3, 4, 5 (or Hough-Transform), c0=0
– predict position in previous layer xk = ak-1 zk2 + bk-1 zk + ck-1
– measure position (distance predicted – real xk)
– update estimate with measurement• xk, ak, bk, ck are simple functions of ak-1, bk-1, ck-1, xk
• xk < 500 µm => needs few bits to code
• noise and error covariance are chosen to „believe“ the latest measurement
^
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
^
MAPS TrackingKalman Filter Track Following
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
• no binning of data• max distance 0.5 mm
• nearest hit as function of PZ
• tracks with lower momentumare worse
• w/o pileup– 98% of nearest hits
from same track
• with pileup– no missing hits– less hits from same track
(ca. 10 %)
MAPS TrackingSimulation Results
• coefficients and parameters with 10 – 12 bit sufficient– no double precision floating point needed– old values -> LUTs -> adder -> LUT -> new value
• associative hit memory
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering
hits from detector layer
predicted position x, y of nearest hit
.. .
.
.
.
.
.
...
..
.
.
.
....
.
.
.
.
. ...
.. .
.
.
MAPS TrackingHardware Implementation
Summary
• Hough Transform– global algorithm– processing time ~ number of hits– possible implementation using FPGA and LUT– efficiency ca. 95% of tracks found– relatively high ghost rate– able to handle strip detectors
• Kalman Filter– MAPS pile up ca. 100 min. bias events– w/o pile up ca. 98% of nearest hits from same track– with pile up ca. 88% of nearest hits from same track
ca. 12 % of nearest hits from other events– possible implementation using FPGA and LUT
• simple calculation• associative hit memory
Joachim Gläß, Univ. Mannheim, Institute of Computer Engineering