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.
© Copyright 2026 Paperzz