Torino, June 15 th, 2009 Status of the Pattern Recognition with the Hough transform and the STT system alone. Gianluigi Boca 1.

Slides:



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

Pattern Recognition in OPERA Tracking A.Chukanov, S.Dmitrievsky, Yu.Gornushkin OPERA collaboration meeting, Ankara, Turkey, 1-4 of April 2009 JINR, Dubna.
TRACK DICTIONARY (UPDATE) RESOLUTION, EFFICIENCY AND L – R AMBIGUITY SOLUTION Claudio Chiri MEG meeting, 21 Jan 2004.
Steven Blusk, Syracuse University -- 1 Update on Global Alignment Steven Blusk Syracuse University.
Parallel Processing – Final Project Performed by:Nitsan Mane Jonathan Distler PP9.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
1 Tracking Reconstruction Norman A. Graf SLAC July 19, 2006.
MdcPatRec Tracking Status Zhang Yao, Zhang Xueyao Shandong University.
Hough Transform : A preliminary study Indranil Das HEP Devn., SINP.
Copyright © 2009 Pearson Education, Inc. Chapter 6 The Standard Deviation as a Ruler and the Normal Model.
10.7 Moments of Inertia for an Area about Inclined Axes
LECTURE 3B – CHART PROJECTION. Introduction to Chart Projection  Usually we read chart in coordinate system.  A projected coordinate system is defined.
Status of Pattern Recognition for the T-Tracker Hans Wenzel, Hogan Nguyen March 12 th, 2011 Introduction Hans implemented stereo hits, formed by the intersection.
Pattern Recognition in OPERA Tracking A.Chukanov, S.Dmitrievsky, Yu.Gornushkin OPERA collaboration meeting, Mizunami, Japan, of January 2009 JINR,
Fast Tracking of Strip and MAPS Detectors Joachim Gläß Computer Engineering, University of Mannheim Target application is trigger  1. do it fast  2.
Giuseppe Ruggiero CERN Straw Chamber WG meeting 07/02/2011 Spectrometer Reconstruction: Pattern recognition and Efficiency 07/02/ G.Ruggiero - Spectrometer.
Object-Oriented Track Reconstruction in the PHENIX Detector at RHIC Outline The PHENIX Detector Tracking in PHENIX Overview Algorithms Object-Oriented.
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.
M.C. Studies of CDC Axial/Stereo Layer Configuration David Lawrence, JLab Sept. 19, /19/08 1 CDC Tracking MC Studies -- D. Lawrence, JLab.
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
Analytic Geometry in Three Dimensions
Auxiliary Views Chapter 7.
Vectors in space Two vectors in space will either be parallel, intersecting or skew. Parallel lines Lines in space can be parallel with an angle between.
The Dance of the Foci David Seppala-Holtzman St. Joseph’s College
C.Cheshkov 15/09/2005 Weekly Offline Meeting
Status of the Pattern Recognition with
Fitting: Voting and the Hough Transform
Fitting.
STT pattern recognition improvements since last December meeting and
Status of the Pattern Recognition with the Hough
Progress on the online tracking algorithm
the Pattern Recognition Workshop
Status of the Offline Pattern Recognition Code GSI, December 10th 2012
Tracking Pattern CM LII
Update on the FPGA Online Tracking Algorithm
Update of pattern recognition
Copyright © Cengage Learning. All rights reserved.
Criteria for quality assurance and comparison among
Tracking Pattern Recognition
Status of the Offline Pattern Recognition Code Goa, March 12th 2013
BDA30303 Solid Mechanics II.
Fitting Curve Models to Edges
Image Processing, Leture #12
Individual Particle Reconstruction
Vector Functions and Space Curves
SECTIONS OF SOLIDS Chapter 15
The highest vertex of a solid
Computer Graphics Lecture 20
Vectors and the Geometry
Chapter 8: Functions of Several Variables
Fast Track Fitting in the SiD01 Detector
Copyright © Cengage Learning. All rights reserved.
Work Features Work features are tools that help create and position features by providing points, lines, and planes when current geometry is not sufficient.
Hough Transform.
Finding Basic Shapes Hough Transforms
road – Hough transform- c2
Analytic Geometry.
Work Features Work features are tools that help create and position features by providing points, lines, and planes when current geometry is not sufficient.
15.7 Triple Integrals.
Vectors and the Geometry
Let’s see why the angles in a triangle add to 180 degrees.
Reconstruction and calibration strategies for the LHCb RICH detector
Presentation transcript:

Torino, June 15 th, 2009 Status of the Pattern Recognition with the Hough transform and the STT system alone. Gianluigi Boca 1

Parametrization of the Helix trajectory x – x 0 = Rcos(Kz +  0  y – y 0 = Rsin(Kz +  0  Z X Y P(x,y, z)  R x 0  abscissa of center of cylinder y 0  ordinate of center of cylinder R  radius of cylinder  0  azimuthal angle at z = 0 K  rate of increase of   = Kz +  0 (x 0,y 0 ) 5 parameters : 2

3 Last collaboration meeting status and problems ……the program gets very slow, about 87 hours of CPU for an event with a single track, 15 hits in the straws parallel to the Z axis and 10 hits in the skew straws ! This is on a 2.0 GHz clock AMD Athlon processor NO WAY!

4 First challenge : speeding up the code

5 Improvements since then X Y drift circumference Here I show only 3 of the 8 possible circles First step unchanged : calculate all possible circles on the XY plane with all possible triplets of parallel straws. Also added cut : il R of circle < 20 cm DISCARD IT  33% reduction in the # of combinations

6 Improvements since then D X Y drift circumference  x0x0,y 0 Second step changed : do the Hough trasform plot for the x 0, y 0 R (actually it turned out it is more efficient to use D and  ) parameters of the Helix first

7 Improvements since then Second step changed : do the Hough trasform plot for the x 0, y 0 R (actually it turned out it is more efficient to use D and  ) parameters of the Helix first D   R R D

8 Improvements since then Third step (NEW) : use the values of R, D and  found from the Hough transform for the trajectory circle. With such circle do all possible combinations with the skew straws (in this way much less combinations  much faster algorithm)

9 Improvements since then : finding of the two remaining parameters of the Helix : K and  0 NEW : 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 P(x,y, z)  R (x 0,y 0 ) 9 cut here

10  z 22 The Helix trajectory is a sequence of straight lines Improvements since then : finding of the two remaining parameters of the Helix : K and  0 NEW : 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  = Kz +  0

11 …. 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  z 22 The Helix trajectory is a sequence of straight lines Helix trajectory cylinder Skew straws intersection Helix trajectory Improvements since then : finding of the two remaining parameters of the Helix : K and  0

T = tangent to helix N = perpendicular to equidrift cylinder Z X P N T Y Cylinder on which the helix lies equidrift cylinder of the skewed straw Helix 12

13 …. 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  z 22 The Helix trajectory is a sequence of straight lines Helix trajectory cylinder Skew straws intersection Helix trajectory Improvements since then : finding of the two remaining parameters of the Helix : K and  0

14 NO MORE ITERATIVE SOLUTIONS ! …. it turns out that one can approximate the skew straw intersections with an ellipse. So the Hough transform in this space reduces to finding those pieces of straight lines tangent to two ellipses. Analytical solution, NO ITERATIONS. Much better !!!  z 22 Helix trajectory cylinder Skew straws intersection Helix trajectory

15 NO MORE ITERATIVE SOLUTIONS !  z 22 Helix trajectory cylinder Skew straws intersection Skew straws intersection shifted also, when there is more than 1 turn one can imagine to shift one skew straw intersection up by 2  so that now the problem reduces to finding ONE straight line tangent to two ellipses Helix trajectory

16 By the way, this new way of looking at the problem shows immediately that there are a denumerable infinity of solutions corresponding to a given number of turns  z 22 Helix trajectory cylinder Helix possible trajectories Skew straws intersection No turns, 4 solutions

17  z 22 Helix trajectory cylinder Helix possible trajectories 1 turn, 8 more solutions

2 turns, 8 more solutions …and so on. 1 turn, 8 more solutions I consider only the 0 and 1 turns solutions under the assumption that for a real track the majority of the skew straw hits will be less than 1 turn contiguous

19 A further ESSENTIAL semplification (an example from a  track of P ┴ = P z = 1 Gev/c) 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  z z  Helix trajectory cylinder Helix trajectory cylinder skewed straw intersection Helix trajectory Consequently a further essential semplification is possible in the algorithm : instead of tangency just find the straight line passing through the edges of the ellipses !

20 This is demonstrated further by this picture of all the skew straws intersections projected onto the  z diagram z  skewed straw intersections MC true helix trajectory Hough transform algorithm now gets superfast Consequently a further essential semplification is possible in the algorithm : instead of tangency just find the straight line passing through the edges of the ellipses !

21 Just to start, a simple example : a one  track of P ┴ = P z = 1 Gev/c event without the 150  m resolution smearing in the straw tube drift radius

22 Hough transform plot for the R, D and  parameters of the Helix R D X Y drift circumference  x0x0,y 0

23 Hough transform plot for the R, D and  parameters of the Helix R  maximum in the Hough transform plot D

24 An example from one  track of P ┴ = P z = 1 Gev/c : Hough transform plot for the R, D and  parameters of the Helix projected in the XY plane (notice though that in this particular MC it is still assumed an ‘ideal’ drift radius) maximum D D   R R Projections of the 3-D Hough plot

25 An example from a  track of P ┴ = P z = 1 Gev/c : Hough transform plot for the K and  0 parameters of the Helix (notice though that in this particular MC it is still assumed an ‘ideal’ drift radius) K 00 maximum in the Hough transform plot

26 An example from one  track of P ┴ = P z = 1 Gev/c : hit collection (notice though that it is still assumed an ‘ideal’ drift radius, see below for the results with a ‘real’ drift radius) result of the parallel straws hit collectionresult of the skew straw hit collection Helix trajectory found z  x y Things work rather well at this level, the track finding efficiency is basically 100 % and so is the collection of hits belonging to a track

27 Once all 5 parameters of the Helix are found with the Hough transform plots, it is necessary to collect all the hits in the straw system belonging to the Helix. At this point it is also possible to determine the x-y-z positions and errors of the hits : DONE Further code written In the previous example there was only 1 track, but of corse it is necessary to allow possibly for up to 10 tracks, so the code must find up to 10 peaks in the Hough plots. I think this is one of the most difficult tasks since unfortunately a computer is not like the human eye and brain : DONE BUT NOT SATISFACTORY YET, see below

28 used the latest geometry with part of the carbon supports and the slit for the target pipe …..also : used the 150  m resolution effect in the straw drift radius simulated 1, 2 and 3 tracks per event, each track with 0.5, 1, 2, 3 GeV/c momentum. The tracks are generated uniformly over the solid angle in the range 15° <  < 160° and 0° <  < 360° with all this life becomes much more complicated !

29 Hough transform plot for the R, D and  parameters of the Helix for a 3 track event, 1 GeV/c each R  D

Hough transform plot for the R, D and  parameters of the Helix for a 3 track event, 1 GeV/c each Projections of the 3-D Hough plot 30 D D   R R

Hough transform plot for the K and  0 parameters of the Helix for a 3 track event, 1 GeV/c each 31 K 00

32 The good news At the March collaboration meeting : ……the program gets very slow, about 87 hours of CPU for an event with a single track, 15 hits in the straws parallel to the Z axis and 10 hits in the skew straws ! This is on a 2.0 GHz clock AMD Athlon processor AND NOW ?

33 Of course I need to check the Cputime/evt up to 10 track per event but for now I can say the algorithm is fast Total P (Gev/c)# generated tracksCputime/event (sec)

34 The bad news

35 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 (%) Bad Bad Bad Bad Bad Bad Bad Bad Bad Bad Bad Bad69

when it works, the algorithm works VERY well in finding the true track parameters R, D and , the hits of the straws parallel to the Z axis and it works quite badly in finding the parameters K and  0 and the the hits of the skew straws. In summary : the algorithm has been tested for events with up to 3 tracks for the time being; EXAMPLES

37  z x y example : 1 track generated, 1 GeV/c total momentum Helix found in XY plane Helix ‘found’ in Z  plane

 z x y example : 2 tracks generated, 1 GeV/c total momentum each Helix found in XY plane  z x y Helix ‘found’ in Z  plane

39  z x y example : 3 tracks generated, 1 GeV/c total momentum each Helix found in XY plane Helix ‘found’ in Z  plane

40  z x y example : 3 tracks generated, 1 GeV/c total momentum each Helix found in XY plane Helix ‘found’ in Z  plane

41  z x y example : 3 tracks generated, 1 GeV/c total momentum each Helix found in XY plane Helix ‘found’ in Z  plane

Future plans I will concentrate first on the peak finding algorithm that is one of the key steps of this track finder. I will work to make it 100% efficient in the case of 1 track only for any type of track of any reasonable momentum and to eliminate as much as possible fake combinations Then I will abandon the idea of analysing all the parallel hits together and find all the tracks in the XY plane at once because that’s not efficient. I will rather try to combine hits in ‘roads’ in the XY plane in order to have less confusion in the Hough plots

EXAMPLE use the first hits to find circle and select only hits that are reasonably close to it. Only with those hits do the Hough plots.

Conclusions 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 somesense to the single track case.