Gabriele:


Current approach:

  1. Define 3D voxelisation around beamline
  2. Parametrize tracks from first three ITS layers as p(t) = p0 + t*u
  3. Compute tenter and texit  for when the tracks enters and exits the 3D grid
  4. Sample position of the track inside voxelisation at uniform Δt
  5. Update hit count everytime a sample hits a box inside the voxelisation
  6. Select box with maximum hit count --> high multiplicity candidate
  7. Select lines passing through that voxel and perform fit (with outlier rejection)
  8. Vertex fit determines beam position
  9. For each line not used for high multiplicity fit, compute z coordinate of closest approach of line to the beam
  10. Compute 1D histogram
  11. Select peaks
  12. Fit lines contributing to peaks

 

 

Tunable parameters:

  1. Nbin in transverse plane [30, 80]
  2. Nbin in beam direction [500, 2000]
  3. local maximum threshold [3, 50]
  4. local maximum prominence [0, 10]

 

PbPb tf with 150 events:

Precision: 0.9856, Recall: 0.9133, F1: 0.9481
Total true vertices: 150
Matched vertices: 137
Missed true vertices: 13
Total fitted vertices: 139
Fake vertices: 2
Mean residuals (x,y,z): [-3.20830489e-05 -4.17494588e-04 -2.44645401e-03]
Std  residuals (x,y,z): [0.00785697 0.01020168 0.01786484] (still need to implement low mult fit)

Missed true vertices:
  ROF         x         y         z  nContributors
 11.0 -0.000259  0.022460  -3.69227           10.0
 30.0 -0.024436 -0.009381   7.03565            1.0
 35.0 -0.023708 -0.009344  -5.51584            1.0
 48.0 -0.010583 -0.008603  -3.05986           14.0
 49.0 -0.011022  0.000661  -3.79249           39.0
 75.0  0.011355 -0.002970   1.90074            1.0
 90.0  0.002929 -0.018336   2.66971            1.0
 97.0  0.011611  0.000815   0.00732           28.0
102.0  0.001209  0.020929  -4.71790            1.0
123.0 -0.001262 -0.002698   8.83149           22.0
128.0  0.006334 -0.001214  -5.15652           10.0
158.0 -0.022409 -0.003296  -7.26120            3.0
161.0  0.002261  0.001900 -10.54620            1.0

Last week metrics:
Precision: 0.9924, Recall: 0.8667, F1: 0.9253

CPU performance:

Old seeding vertexer wall time:

Step ms
Tracklet finding iteration 0 432.61 ms
Tracklet selection iteration 0 297.13 ms
Vertex finder iteration 0 23.91 ms
Tracklet finding iteration 1 148.91 ms
Tracklet selection iteration 1 10.94 ms
Vertex finder iteration 1 0.32 ms
Total 913,85 ms

 

This implementation:

Step ms
Tracklet finding iteration 0 432.61 ms
Tracklet selection iteration 0 297.13 ms
Voxel filling 149
Maximum finding 20
Low mult pass 1
Total 899,75

 

Next steps:

  1. Implement fit for low mult vertex
  2. When Max provides the cuts, shift to using ITS cells from tracker rather then from old vertexer