Status of the Pattern Recognition with

Slides:



Advertisements
Similar presentations
Computing EVO meeting, January 15 th 2013 Status of the Tracking Code Gianluigi Boca, Pavia University.
Advertisements

Fitting lines. Fitting Choose a parametric object/some objects to represent a set of tokens Most interesting case is when criterion is not local –can’t.
Video Object Tracking and Replacement for Post TV Production LYU0303 Final Year Project Spring 2004.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
1 Tracking Reconstruction Norman A. Graf SLAC July 19, 2006.
MdcPatRec Tracking Status Zhang Yao, Zhang Xueyao Shandong University.
Optimising Cuts for HLT George Talbot Supervisor: Stewart Martin-Haugh.
LECTURE 3B – CHART PROJECTION. Introduction to Chart Projection  Usually we read chart in coordinate system.  A projected coordinate system is defined.
N. Saoulidou Fermilab 1 Status & Update of track reconstruction in the Near Detector N. Saoulidou, Fermilab
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image.
Normal text - click to edit HLT tracking in TPC Off-line week Gaute Øvrebekk.
A Clustering Algorithm for LumiCal Halina Abramowicz, Ronen Ingbir, Sergey Kananov, Aharon Levy, Iftach Sadeh Tel Aviv University DESY Collaboration High.
05/04/06Predrag Krstonosic - Cambridge True particle flow and performance of recent particle flow algorithms.
Cellular Automaton Method for Track Finding (HERA-B, LHCb, CBM) Ivan Kisel Kirchhoff-Institut für Physik, Uni-Heidelberg Second FutureDAQ Workshop, GSI.
Giuseppe Ruggiero CERN Straw Chamber WG meeting 07/02/2011 Spectrometer Reconstruction: Pattern recognition and Efficiency 07/02/ G.Ruggiero - Spectrometer.
STAR SVT Self Alignment V. Perevoztchikov Brookhaven National Laboratory,USA.
1 MDC Track Finding at BESIII Zang Shilei BES Annual Meeting (Jun 1, 2005) ______________________________________ -Outline- 
Tracking software of the BESIII drift chamber Linghui WU For the BESIII MDC software group.
FPGA Helix Tracking Algorithm for PANDA Yutie Liang, Martin Galuska, Thomas Geßler, Wolfgang Kühn, Jens Sören Lange, David Münchow, Björn Spruck, Milan.
Pattern recognition with the triplet method Fabrizio Cei INFN & University of Pisa MEG Meeting, Hakata October /10/20131 Fabrizio Cei.
FPGA Helix Tracking Algorithm with STT Yutie Liang, Martin Galuska, Thomas Geßler, Wolfgang Kühn, Jens Sören Lange, David Münchow, Milan Wagner II. Physikalisches.
GSI, December 7 th, 2009 Status of the Pattern Recognition with the STT system alone. Gianluigi Boca 1.
FPGA Helix Tracking Algorithm -- VHDL implementation Yutie Liang, Martin Galuska, Thomas Geßler, Wolfgang Kühn, Jens Sören Lange, David Münchow, Björn.
Vienna, PANDA meeting, December 1 st, 2015 Universita’ di Pavia Italy Track efficiency and contamination in Road Finding Pattern Recognition when the interaction.
Torino, June 15 th, 2009 Status of the Pattern Recognition with the Hough transform and the STT system alone. Gianluigi Boca 1.
October 3, 2013Computer Vision Lecture 10: Contour Fitting 1 Edge Relaxation Typically, this technique works on crack edges: pixelpixelpixel pixelpixelpixelebg.
Gianluigi, 10 Sep 2012 Paris, September 10 th 2012 Status of the Pattern Recognition Code Gianluigi Boca GSI & Pavia University 1.
Frascati September 8 th, 2014 Universita’ di Pavia Italy Improvements in the offline Pattern Recognition in the 20 MHz interaction rate environment Gianluigi.
FPGA Helix Tracking Algorithm with STT
CHAPTER 1 Linear Equations Section 1.1 p1.
CSSE463: Image Recognition Day 26
Math Module 2 Lines.
Copyright © Cengage Learning. All rights reserved.
Fitting.
STT pattern recognition improvements since last December meeting and
Predrag Krstonosic - ILC Valencia
Status of the Pattern Recognition with the Hough
Progress on the online tracking algorithm
Status of the Offline Pattern Recognition Code GSI, December 10th 2012
1 Functions and Applications
Update on the FPGA Online Tracking Algorithm
Update of pattern recognition
Morphing and Shape Processing
Copyright © Cengage Learning. All rights reserved.
Tracking Pattern Recognition
Status of the Offline Pattern Recognition Code Goa, March 12th 2013
2.1 Equations of Lines Write the point-slope and slope-intercept forms
BDA30303 Solid Mechanics II.
13 VECTOR CALCULUS.
Fitting Curve Models to Edges
6-2 Conic Sections: Circles
Hough Based Tracking For Low Pt In MDC
Individual Particle Reconstruction
Arc Length and Curvature
6.2 Volume: The Disc Method
Fast Track Fitting in the SiD01 Detector
Copyright © Cengage Learning. All rights reserved.
CSSE463: Image Recognition Day 26
CSSE463: Image Recognition Day 26
CSSE463: Image Recognition Day 27
8. One Function of Two Random Variables
road – Hough transform- c2
CSSE463: Image Recognition Day 26
Multiple Integrals.
Digital Lesson Graphs of Equations.
8. One Function of Two Random Variables
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

Status of the Pattern Recognition with Julich, September 7th, 2009 Status of the Pattern Recognition with the STT system alone. Gianluigi Boca

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 

..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

..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

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.

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.

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.

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 

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

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.

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

V U Example First a cluster finding algorithm selects hits in neighboring cells …

V U Example …. then a fast fitter (see later) find straight line of the tracklet.

V U Example The straight line is then extrapolated and more hits added to the track candidate

Fitting the tracklet straight line in a FAST way

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)

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)

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.

So, bottom line, the linear equations and constraints are :

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 - si  Vi  Ri (-m1+m2)Ui - q1 + q2 - l M - si  -Vi -( Ri) - l M + si  Di (l -1)M - si  M - Di 1  l+ + l-  2 si  0

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

…. and in the usual XY plane (green = true tracks, red = found tracks )

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

Result of the fit for an event with 10 tracks, each 10 GeV/c , in the conformal plane (green = true tracks, red = found tracks )

… and in the XY plane (green = true tracks, red = found tracks )

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 

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

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

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

 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

 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

 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

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.

 z Some examples of a fit with the skew hits : 10 track event, 0.3 GeV/c momentum each  z

 z Some examples of a fit with the skew hits : 1 track event, 5 GeV/c momentum  green = true track, red = found track z

 z Some examples of a fit with the skew hits : 1 track event, 10 GeV momentum  green = true track, red = found track z

 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

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

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

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

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.