ewengillies / track-finding-yandex

COMET Tracking : Machine Learning Approaches
10 stars 4 forks source link

Completing the Algorithm #6

Open ewengillies opened 9 years ago

ewengillies commented 9 years ago

So far, our classifier does an excellent job of separating signal hits from background hits.

On top of this, we need to take each event, and return a collection of wire ID's that correspond to a track. I have a feeling we have all the machinery we need, given the hough transform and clean, final environment.

Doing this to 0th order would mean I can present these results to the collaboration.

arogozhnikov commented 9 years ago

Ok, 0th order is

  1. cutting final predictions over threshold
  2. direct hough -> find peaks, the number of peaks should be number of tracks.
  3. attribute each point to the nearest 'circle'

However, I shall say that this job is complete wasting of time, since the only information which should be used during fitting is probability of each wire to be signal, because

  1. you need a good guess about belonging of each point to particular track
  2. this can be done only by fitting

And I believe that modified RANSAC will work normally with this.

ewengillies commented 9 years ago

Perhaps to this effect, we can do a pre-fitting procedure. This is basically a rough fit to make sure we're not returning garbage. This is done in current algorithms.

We could be really clever and fit in z as well using the separation of the even-odd peaks. This information should be used somewhere.

ewengillies commented 9 years ago

ok, for 0th order, how do I "find peaks"? Using is_max()? And yes, RANSAC looks like a great idea for pre-fitting. I'll have to look into the current fitting techniques.

this is what the track fitting is being built on so far I think: http://genfit.sourceforge.net/Main.html

hopefully it will play nice with whatever we come up with.

ewengillies commented 9 years ago

https://cds.cern.ch/record/1635665/files/LHCb-PUB-2013-023.pdf

arogozhnikov commented 9 years ago

ok, for 0th order, how do I "find peaks"? Using is_max()? And yes, RANSAC looks like a great idea for pre-fitting. I'll have to look into the current fitting techniques.

Iteratively - find a maximum, mark those signal-like wires it 'covers' as 'resolved'. If there are too many 'unresolved' signal-like tracks left - do hough again and find a maximum.

ewengillies commented 9 years ago

We must add penalties for gaps in signal track. This will help normalize tracks that are longer by comparing it to tracks that are continuous.

ewengillies commented 9 years ago

idea for spiral fitting for RANSAC base fitting function:

http://www.metzgerwillard.us/tdavis/resume/tls.pdf