matthew reid 1 st year phd university of warwick 1
TRANSCRIPT
1
Track Reconstruction in the Timepix testbeam
Matthew Reid1st Year PhD
University of Warwick
Interested in pattern recognition for pixel detectors
New techniques that could be applicable to the upgrade
Aim– Increase the reconstruction efficiency of tracks in the Timepix test beam
Any questions just interrupt me!
Introduction
2
Uses a window and where r=“reference cluster”, such that all points with respect to a reference cluster lie within the tolerance .
Only produces tracks with EXTREMELY small angle about z-axis,
The choice of cluster within the window is arbitrary and therefore chosen cluster may NOT be the closest.
New tracks then cannot be built because the true clusters incorporated in previous track.
Cause for ghost tracks as we increase
Original Code
3
Reference cluster Cluster in detector i
𝜖𝜖
k-Nearest Neighbour (kNN) algorithm - FAST Uses a Euclidean distance equation
Uses the (x,y) coordinates of a seed point to find nearest neighbours in adjacent plane
Ideas behind new code – Pattern Recognition I
Tree structure of the kNN algorithm
4
Based on a kNN algorithm and Kalman Filter Tree structure => lowest chi2 => best track If there are no degenerate neighbours then
have possible tracks
Plot of 3D points
for two iterations
Ideas behind new code – Pattern Recognition II
5
SEED HIT
Candidate hitsafter 1st iteration
Candidate hitsafter 2nd iteration
Example for k=3, projections in both xz-plane and yz-plane: (Note degeneracy)
xz-plane yz-plane
Ideas behind new code – Pattern Recognition III
6
zz
yx
SEED HIT SEED HIT
Candidate hits 1st iterCandidate hits 1st iter
Candidate hits 2nd iterCandidate hits 2nd iter
Kalman Filter gives best estimates for a linear system (see backup slides for detail)
Allows you to take into account multiple scattering based on Moliere formula for thick material to find better track fit
Measurement uncertainty based on pitch of pixel ~ 55µm
Ideas behind new code – Kalman Filter I
7
Example taken using:bin/tpanal –c cond/Alignment507.dat –z /afs/cern.ch/lhcb/group/vertex/vol7/Timepix/ZSData/Run507.root –n 9
MAX number of tracks with current algorithm is the plane with the
lowest number of clusters?... 109? WRONG!!
Distribution of Clusters and Alignment - I
Detector Plane Number of Clusters
C03W0015 110
K05W0019 109
D09W0015 124
M06W0015 111
I02W0019 109
E05W0015 113
DUT D04W0015Bias the data set so ignore
8
9
The maximum number of clusters depends on the alignment of detectors
Since the alignment is not perfect we are required to look in area shown in graph
Hence not all clusters can be used in the reconstruction.
Distribution of Clusters and Alignment - II
10
Distribution of Clusters and Alignment - III
Detector Plane Number of Clusters
Number of Aligned Clusters
C03W0015 110 94
K05W0019 109 101
D09W0015 124 93
M06W0015 111 91
I02W0019 109 95
E05W0015 113 97
TOTAL 676 571
Reject clusters outside of these alignment conditions
and
Reconstruction performance - IOriginal Algorithm New Algorithm
Number of Tracks 51 75
Number of rejected tracks - 16
Efficiency 54% 79%
Global < > all tracks 0.0714282 ?? 1.3548 (0.0908276)
Projection of Tracks in xz
11
z
x
z
xy
HENCE 1in5 chance that data set it as bad as thisGOOD!
Residuals are of a comparable order to the original code giving ~6µm, over all planes (unfortunately)
Reconstruction performance - II
12
Highly dependent on the initial arrangement of hits as a seed and that the points are sufficiently spaced across detector (low occupancy).
Code design (there isn’t any..)
Speed and optimisation (currently very POOR! Not utilising the benefits of Kalman)
Rejecting tracks if the points have already been assigned to another track (no comparison via ) similar method to original code
Eventually => VERTEXING of lead bump bonds… Various methods to look into – Hopfield neural network,
Inverse Kalman filter.
Issues and things for the future
13
If the fitting function accurately predicts the means of the parent distribution, then the estimated variance , should agree well with the variance of the parent distribution, , and their ratios should be close to 1
Old code has no denominator for one hence its small size
for (std::vector< TestBeamCluster* >::iterator j=clustersforalignment->begin(); j < clustersforalignment->end(); ++j){ float xresidual=(*j)->globalX()-x_inter_global; float yresidual=(*j)->globalY()-y_inter_global; chi2 += xresidual*xresidual + yresidual*yresidual;}
14
Backup Slides – I - goodness of fit
Forward Geometry – gradients and State vector given as a 4 dimensional
vector
Propagation proceeds via
where is the noise term
15
Backup Slides - II
Measurement error is dealt with by the following
Where is the measurement error (noise term)
16
Backup Slides - III
Moliere Formula for Gaussian scattering () based on perpendicular planes to z –axis (we have 9 degree rotations).
Gives the Covariance matrix for the scattering in the Kalman filter
17
Backup Slides IV