A HIGHLY PARALLEL ALGORITHM FOR TRACK FINDING Mauro

436
Nuclear Instruments and Methods in Physics Research A287 (1990) 436-438
North-Holland
A HIGHLY PARALLEL ALGORITHM FOR TRACK FINDING
Mauro DELL'ORSO
Dipartimento di Fisica, Universitd di Pisa, Piazza Torricelli 2, 56100 Pisa, Italy
Luciano RISTORI
INFN Sezione di Pisa, Via Vecchia Livornese 582a, 56010 S. Piero a Grado, Pisa, Italy
Received 12 July 1989
We describe a very fast algorithm for track finding, which is applicable to a whole class of detectors like drift chambers, silicon
microstrip detectors, etc. The algorithm uses a pattern bank stored in a large memory and organized into a tree structure.
1. Introduction
The analysis of data collected by modern high energy physics experiments often requires a lot of computing power . One of the most demanding tasks is usually
track reconstruction . In this paper we describe a very
fast algorithm for track finding, which is applicable to a
whole class of detectors like drift chambers, silicon
microstrip detectors, etc.
For the sake of simplicity we will assume that our
detector consists of a number of parallel layers, each
layer being segmented into a number of bins. When
charged particles cross the detector they hit one bin per
layer. As shown by the authors (11, with this abstraction
the problem of track finding is reduced to a search for
hit patterns matching with the event (the set of hits in
the detector). The hit patterns, computed once for all,
are stored in a large memory called pattern bank .
In this paper we show how the pattern band can be
organized into a tree structure to speed up the pattern
matching process.
comes clearer as the resolution improves. In the following we discuss the case of straight tracks, but the same
considerations apply to curved tracks in a magnetic
field.
Fig. 2 shows how a single track is seen when each
detector plane is considered as being only two bins.
In this case the total number of patterns compatible
with a straight line is eight. Pattern number 3 is the one
that matches. Since we have one track candidate at this
level of spatial resolution, we now double the number of
distinguishable bins in each plane and proceed to match
the four patterns shown in fig. 3.
Pattern number 3 in fig. 2 is said to generate the
four subpatterns in fig. 3. Since we still have one track
candidate we go on halving the bin size.- This process is
2. Successive approximations
The basic idea is to follow a successive approximation strategy end apply our pattern matching algorithm
to the same event seen with increasing spatial resolution . Lower spatial resolution is simulated by logically
Olking adjacent bins.
Fig. 1 shows an event with four tracks crossing four
parallel layers . From top to bottom the spatial resolution of the detector is improved by a factor of two every
step . The image is confused at the beginning and be0168-9002/90/$03 .50 1-) Elsevier Science Publishers B.V .
(North-Holland)
2
Fig. 1 . One event as seen with increasing resolution .
M. Dell'Orso, L. Ristori /Algorithm for track fending
437
Depth 0
Depth 1
Depth 2
Depth 3
Depth 4
1
5
Fig. 4. The pattern bank is arranged in a tree structure; each
node represents one pattern.
2
6
7
8
Fig. 2. A single track and the pattern matching at the coarser
resolution .
iterated until we either reach the actual resolution of the
detector (success) or we are left with no track candidate
(failure).
â. Tree search
The pattern hand can thus be arranged in a tree
structure as shown in fig. 4. Increasing depth corresponds to increasing spatial resolution. Each node represents one pattern and it is linked to all the subpatterns it generates when the spatial resolution is improved by a factor of two.
The pattern matching process can be implemented as
a tree search . We scan all the patterns hanging from one
node and every pattern that matches correctly with the
current event is considered a track candidate and en-
ables the search at the next deeper level in the tree. A
track is found whenever this search reaches. the bottom
of the tree.
This tree search is obviously much faster than a
purely sequential search . The average number of patterns one has to examine to find a track is given by:
N,=kN,,
where N, is the total number of depth levels in the tree
and A is the average number of patterns hanging from a
single node. k ranges typically from 4 to 8 depending
on the particular geometrical arrangement. We then
have:
N,=k log2(n) ,
( 2)
where n is the number of bins per detector layer and k
does not depend significantly on n . Eq. (2) is to be
compared to the expression which holds for a purely
sequential search (11 :
N,
=(ni-1)n 2 ,
where m is the number of detector layers . Since in most
applications n is rather large (100-1000), the advantage
of the successive approximation approach is enormous.
The matching algorithm can be easily implemented
on a parallel architecture because difi`erent patterns can
be compared to the event data independently and in
any order .
4. Missing hits
Fig. 3. Subpatterns and new matching with spatial resolution
improved by a factor of two.
In real experimental situations each plane detects
particles with an efficiency which is less than '.. This
means that there is a finite probability that some of the
hits, in a given track, will be missing . Therefore we must
be prepared to accept cases where we have only a
partial pattern match. For example, if we have a detector with eight layers, we might accept also tracks that
match onlv seven or six hits.
M. Dell'Orso, L. Ristori /Algorithm for trackfinding
438
Table 2
Mean number of steps
co
c
0
U
# of
The tree-search algorithm may be easily modified to
accept partial pattern matches : we need to modify only
the way each pattern is compared to the event, leaving
the database structure and the visiting strategy unchanged.
5. Monte Carlo simulation
We simulated a simple detector . consisting of four
layers with 128 bins per layer and 100% efficiency, to
evaluate the performances of the tree search algorithm.
Table 1
Mean number of steps per track in one event
1
2
3
4
5
6
7
8
9
10
Steps
0
54
82
135
212
315
446
steps
Fig. 5. Distribution of the number of patterns examined to
analyze single track events for a hypothetical 4 x 128 bin detector.
Tracks
Steps/track
54
60
68
75
82
89
97
104
111
118
a function of the noise
Noise [%]
1
2
3
4
5
a
as
One measure of the algorithm speed is the number of
steps carried out through the tree, that is the actual
number of hit patterns examined to find all the tracks .
The distribution of the number of steps for our simple
detector is shown in fig. 5. Each simulated event consists of one randomly generated track crossing the four
detector layers. The fluctuations in the channel contents
are generated by the actual tree structure. The mean
value of the number of steps is 54 .
It is interesting to study the performance of the
algorithm on events with many tracks . Table 1 shows
the mean number of steps per track as a function of the
number of tracks in the event. The number of steps
increases, but only by a factor of 2 in going from 1 to 10
tracks per event. y
The detector noise, that is the presence of hits not
associated to any real particle, has a big impact on the
algorithm performances . Table 2 shows the mean number of steps, for single track events, as a function of the
detector noise. The first column in the table contains
the probability for each detector bin to be hit by the
noise. The number of steps rapidly increases with the
noise because the algorithm visits fake branches
activated by noise hits at low resolution .
Reference
[1] M. Dell'Orso, L. Ristori. Nucl . Instr. an d Meth . A278
(1989) 436.