Download presentation
Presentation is loading. Please wait.
1
Status of the Pattern Recognition with
Julich, September 7th, 2009 Status of the Pattern Recognition with the STT system alone. Gianluigi Boca
2
Y Z X Parametrization of the Helix trajectory = Kz + 0
x – x0 = Rcos(Kz + 0) y – y0 = Rsin(Kz + 0) Z X Y = Kz + 0 P(x ,y, z) 5 parameters : R x0 abscissa of center of cylinder (x0 ,y0) y0 ordinate of center of cylinder 0 azimuthal angle at z = 0 R radius of cylinder K rate of increase of
3
..at last Torino meeting, the good news
Total P (Gev/c) # generated tracks Cputime/event (sec) 0.5 1 0.11 2 0.12 3 0.15 1.0 0.10 0.13 0.14 2.0 3.0
4
..at last Torino meeting, the bad news
Total P (GeV/c) Generated tracks Found R, D, (%) Found K, 0 (%) Hits belonging to Helix found in parallel straws (%) Hits belonging to Helix found in skew straws (%) Spurious tracks found (%) 0.5 1 89 80 100 Bad 2 44 13 11 3 86 85 112 1.0 92 83 94 93 154 2.0 84 82 12 81 110 3.0 56 49 22 63 54 76 66 69
5
Conclusions at the Torino meeting
Algorithm is very fast now thanks to the use of the Z space and semplifying assumptions of the mathematics behind it. The peak finding in the Hough plots is now the key issue and the toughest. One one hand that’s not surprise since finding shape patterns with a computer algorithm is generally very difficult. In this case the problem is even worse since the algorithm cannot be to slow. To deal with the multitrack case I will try to find suitable ‘roads’ such that I will reduce the problem in some sense to the single track case.
6
Progress So I started all over again. I ABANDONED the Hough transform method. Impossible to find the right peaks when there are many tracks. I used the more traditional approach of using ‘roads’ of hits and then doing a (fast) partial fit to get tracklet parameters. The remaining hits are then found extrapolating the tracklet and collecting the hits near to it.
7
Progress Track finding performed in two steps. First step : find the circular trajectory of the helix projected in the XY plane. At this stage use only the hits of the straws parallel to the Z axis. Second step : find the remaining two parameters of the helix using the skew straw hits. WARNING : I am assuming the tracks come from a vertex at 0,0 with a possible spread of the order of 2 mm. For Vee’s pattern finding this code must be modified.
8
Y Z X Parametrization of the Helix trajectory = Kz + 0
x – x0 = Rcos(Kz + 0) y – y0 = Rsin(Kz + 0) Z X Y = Kz + 0 P(x ,y, z) 5 parameters : R x0 abscissa of center of cylinder (x0 ,y0) y0 ordinate of center of cylinder 0 azimuthal angle at z = 0 R radius of cylinder K rate of increase of
9
Y X An average 10 track event, the most difficult case, P = 0.3 GeV/c
(P┴ < 0.3 GeV/c) in the XY projection Y green lines = MC truth, notice that they don’t go through the hits exactly X
10
First step : finding circle i XY projection
First I perform a conformal transformation from X and Y of the hits to U and V : U X/ (X2 + Y2) V Y/ (X2 + Y2) This mapping has the virtue of transforming a circle trajectory passing through the origin into a straight line. This is a very useful semplification when one tries to find clusters of hits belonging to the same track.
11
V U The same event viewed in the conformal UV plane
Since trajectory are approximately straight lines, one can find clusters of hits of the same track in a easier way. V green lines = MC truth. blue lines = subdivision of the conformal space in cells used to build the roads. U
12
V U Example First a cluster finding algorithm
selects hits in neighboring cells …
13
V U Example …. then a fast fitter (see later) find straight
line of the tracklet.
14
V U Example The straight line is then extrapolated and more hits
added to the track candidate
15
Fitting the tracklet straight
line in a FAST way
16
The problem in fitting with the usual 2 minimization is that
normally it is quite slow also in the case of the straws detector there is a left-right ambiguity finally ‘wrong’ hits in the track candidate tend to spoil the fit result since there is no way to ‘undeweight’ them Solution : linearize the problem by minimizing m, q = fit parameters iNhits |Vi – di – m Ui – q | / i Vi , Ui = straw position in conformal space di = drift radius i = error on the hit instead of the usual 2 which is a quadratic function (the absolute value is also a non linear function but it can be transformed in a a number of linear functions subject to linear constraints, see below)
17
The minimization of linear equation subject to linear costraints
is a tool used in various fields (economics, traffic flow regulation, even Sudoku solving…) and on the market there is a lot of software already. It is called Linear Programming, an instance of which is the SIMPLEX algorithm used by Minuit. Usually this programs are MUCH FASTER that the traditional 2 minimization. In the case of the straws there is also a right-left ambiguity to solve. This can be achieved by using an INTEGER variable in the equations connected to each straw hit, which can be 0 or 1. Consequently the minimizer must deal with integer and continuous variables at the same time. This is also a situation arising often in other fields, and it is called Mixed Integer Linear Programming (MILP)
18
Finally the ‘wrong’ or ‘noise’ hits in the track candidate that would
tend to spoil the fit result with the traditional 2 minimization can be UNDERWEIGHTED with the ‘Big M’ technique. As a MILP minimizing program I use the GNU C++ library GLPK which is a stand alone pakage for the time being, and that can be integrated, I hope, later in the Pandaroot framework.
19
So, bottom line, the linear equations and constraints are :
20
Linear fit parameters (i labels the ith hit in the track candidate):
m1 , m2 , q1, q2 , s+i , s-i : real variables 0 l+ + l- : integer variables equal to 0 or 1 (0 the hit used, 1 the hit is not used) Fixed numbers depending on the hit : Ui , Vi , Ri , Di M the ‘Big M’ , a fixed large (compared to the straw radius in the conformal space) number Function to minimize : iNhits i / i Linear constraints : (m1-m2)Ui + q1-q2 - l M - si Vi Ri (-m1+m2)Ui - q1 + q2 - l M - si -Vi -( Ri) - l M + si Di (l -1)M - si M - Di 1 l+ + l- 2 si 0
21
Result of the fit for the previous event, in the conformal plane
(green = true tracks, red = found tracks ) failure of finding a track superimposed to another
22
…. and in the usual XY plane
(green = true tracks, red = found tracks )
23
V U One more trick ….. In order to the fit to work efficiently all
tracklets are first rotated so that they become almost parallel to the U axis. The result is rotated back after the fit. V U
24
Result of the fit for an event with 10 tracks, each 10 GeV/c , in the
conformal plane (green = true tracks, red = found tracks )
25
… and in the XY plane (green = true tracks, red = found tracks )
26
0 azimuthal angle at z = 0
Second step : find the remaining two parameters of the helix using the skew straw hits. I apply similar thechniques for finding the remaining two parameters of the Helix with the use of the skew straws (0 and K) 5 parameters : x0 abscissa of center of cylinder y0 ordinate of center of cylinder 0 azimuthal angle at z = 0 R radius of cylinder K rate of increase of
27
First I change coordinates from x, y on the surface
of the trajectory cylinder to z, of the cylindrical coordinates : it is like ‘cutting’ the trajectory cylinder at = 0 and spreading it on a plane Z X Y cut here P(x ,y, z) R (x0 ,y0) 27
28
Finding of the two remaining parameters of the Helix : K and 0
= Kz + 0 2 z The Helix trajectory is a sequence of straight lines
29
Finding of the two remaining parameters of the Helix : K and 0
Cylinder on which the helix lies Y Helix equidrift cylinder of the skewed straw Z T = tangent to helix N = perpendicular to equidrift cylinder X
30
z Finding of the two remaining parameters of the Helix : K and 0
…. and the intersection between the skew straws equidrift cylinder and the cylinder of the Helix trajectory now contains all the mathematical ugliness since the dependence of as a function of Z is nasty BUT Helix trajectory cylinder 2 Skew straws intersection Helix trajectory Helix trajectory z The Helix trajectory is a sequence of straight lines
31
z Assume the intersection of the skew straws with the Helix
cylinder are ellipsis I notice that due to the geometry and small inclination ( 3°) of the skew straws the tangency of the straight line essentilly occurs at the edges of the ellipses Helix trajectory cylinder Helix trajectory skewed straw intersection z Assume the intersection such ellipsis with the Helix trajectory occurs at the edges of the ellipsis
32
z This is demonstrated further by this picture of all the skew
straws intersections projected onto the z diagram skewed straw intersections MC true helix trajectory z
33
So the strategy for the skew straw hits is :
For each helix circle found in the XY plane in the previous step, figure out which skew straws intersect the helix cylinder; this is already a powerful selection for skew hits. Then perform a fit of a straight line in the Z plane, passing at the edges of the ellipsis. The fit is performed with the same MILP technique as before as the right-left ambiguity is solved again with the aid of integer varibles; the Big M method is used again to allow for the exclusion of hits too far away from the straight line.
34
z Some examples of a fit with the skew hits : 10 track event,
0.3 GeV/c momentum each z
35
z Some examples of a fit with the skew hits : 1 track event,
5 GeV/c momentum green = true track, red = found track z
36
z Some examples of a fit with the skew hits : 1 track event,
10 GeV momentum green = true track, red = found track z
37
z Typical example of failure of the fit with the skew hits :
6 track event, 10 GeV momentum each green = true track, red = found track z
38
Summary table of Track Finder performance in terms of CPU time
CPU used : AMD Athlon 65 bits, 3000+, 2GHz clock Total P (Gev/c) # generated tracks Cputime/track (sec) 0.3 1 0.1 6 0.17 10 0.21 5.0 0.08 0.26 10.0 0.27 0.4
39
Summary table of Track Finder performance in terms of hits and tracks
Total P GeV/c Generated tracks per event Total # reaso-nable tracks gene-rated % of recon-struct-ed tracks Ghost tracks found (%) Total genera-ted hits paral-lel straws % of found hits paral-lel straws Wrong paral-lel hits associ-ated (%) Total genera-ted hits in skew straws % of found hits in skew straws Wrong skew hits associ-ated (%) 0.3 1 19 100 328 170 6 114 1910 98 8 1198 95 11.7 10 189 3205 96 14 2353 19.8 5.0 18 292 98.6 151 76 2.6 1244 9.8 816 40.6 142 2.8 2299 13 1503 99 37.9 10.0 318 149 3 87 5.7 1433 98.8 774 98.7 17 125 5.6 2031 93.7 12 1273 47
40
Summary table of performance in terms of track parameters
Total P (GeV/c) Generated tracks per event (found –true)/true R (%) (%) K (%) 0 (%) 0.3 1 2.1 1.1 Bad 6 2.4 2.5 10 0.9 5.0 26 9 37 53 76 1.6 10.0 bad 1.3 108 3 119 23
41
Conclusions and next tings to do
Abandoned Hough transform and adopt a more traditional approach that works well overall. Usage of MILP in fitting ensures reasonably small CPU time consumption per track Usage of MILP in fitting ensures reasonably small CPU time consumption per track Efficiency in finding the hits belonging to tracks is satisfactory with all topologies. Still some problems in wrong hits association for the skew hits due to bad fitting ; this needs to be fixed The values of the helix parameter found are bad for K and 0 and in some cases also for R and . This may not be so important since finding the helix parameters is not the job of the pattern recognition anyway.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.