Skip to content

Add UT to VeloSciFi matching

Jiahui Zhuo requested to merge jzhuo_MatchingDeploy into 2024-patches

Description

Need lhcb-datapkg/ParamFiles!80 to be merged first to run CI/CD test in GitLab

Add the last missing piece for the Hybridseeding project. 😄

Add UT hits for Velo-SciFi matched long tracks, the idea is inspired by HLT1 downstream: after Velo-SciFi matching, a second-order polynomial trajectory model is used to extrapolate the state from Velo to UT, open a wide search window to find the first hit, for each first hit create a long track candidate and use the position of it to correct the trajectory, finally find the rest of hits with a very narrow search window to confirm the candidate.

Since we use the first hit information to correct trajectory, the algorithm requires at least to find 2 UT hits in order to build a long track, and both the number of UT hits and the chi2 are used to evaluate a global ghost probability through a single layer neural network. This probability is then used to reject clone/ghost tracks.

The MR also modified the VeloSciFi matching (no UT) to use ghost probability to replace the chi2 comparison during the clone killing stage, it improves both the efficiency and ghost rate of the algorithm. Proposed at https://indico.cern.ch/event/1370606/#5-studies-on-hlt1-nn-ghost-kil

Performance

Validator output: Bs2PhiPhi (1k events)

forward validation:
TrackChecker output                               :      1630/    44944   3.63% ghosts
for P>3GeV,Pt>0.5GeV                              :       906/    30332   2.99% ghosts
01_long                                           :     40748/    78155  52.14% ( 53.86%),       708 (  1.71%) clones, pur  98.75%, hit eff  98.20%
02_long_P>5GeV                                    :     34326/    51059  67.23% ( 69.06%),       610 (  1.75%) clones, pur  98.88%, hit eff  98.51%
03_long_strange                                   :      1294/     3858  33.54% ( 34.34%),        19 (  1.45%) clones, pur  98.34%, hit eff  97.90%
04_long_strange_P>5GeV                            :       966/     1834  52.67% ( 54.22%),        15 (  1.53%) clones, pur  98.54%, hit eff  98.33%
05_long_fromB                                     :      3379/     4585  73.70% ( 74.83%),        58 (  1.69%) clones, pur  98.87%, hit eff  98.63%
06_long_fromB_P>5GeV                              :      3115/     3752  83.02% ( 83.45%),        55 (  1.74%) clones, pur  98.94%, hit eff  98.81%
07_long_electrons                                 :       799/     5658  14.12% ( 14.70%),        27 (  3.27%) clones, pur  97.55%, hit eff  97.79%
08_long_electrons_P>5GeV                          :       694/     2953  23.50% ( 24.71%),        22 (  3.07%) clones, pur  97.43%, hit eff  97.87%
09_long_fromB_electrons                           :        81/      240  33.75% ( 37.55%),         2 (  2.41%) clones, pur  98.34%, hit eff  98.21%
10_long_fromB_electrons_P>5GeV                    :        76/      168  45.24% ( 48.69%),         1 (  1.30%) clones, pur  98.21%, hit eff  98.40%
long_P>5GeV_AND_Pt>1GeV                           :     11210/    13336  84.06% ( 86.34%),       171 (  1.50%) clones, pur  98.83%, hit eff  98.66%
long_fromB_P>5GeV_AND_Pt>1GeV                     :      2168/     2500  86.72% ( 86.58%),        35 (  1.59%) clones, pur  98.88%, hit eff  98.93%
11_noVelo_UT                                      :         0/     8699   0.00% (  0.00%),         0 (  0.00%) clones, pur   -nan%, hit eff   -nan%
12_noVelo_UT_P>5GeV                               :         0/     3556   0.00% (  0.00%),         0 (  0.00%) clones, pur   -nan%, hit eff   -nan%
13_long_PT>2GeV                                   :      2809/     3268  85.95% ( 86.75%),        38 (  1.33%) clones, pur  98.85%, hit eff  98.90%
14_long_from_B_PT>2GeV                            :      1017/     1172  86.77% ( 86.65%),         8 (  0.78%) clones, pur  98.86%, hit eff  99.17%
15_long_strange_P>5GeV                            :       966/     1834  52.67% ( 54.22%),        15 (  1.53%) clones, pur  98.54%, hit eff  98.33%
16_long_strange_P>5GeV_PT>500MeV                  :       590/      738  79.95% ( 80.53%),         7 (  1.17%) clones, pur  98.60%, hit eff  98.46%
17_long_fromSignal                                :      2162/     2621  82.49% ( 81.75%),        37 (  1.68%) clones, pur  98.85%, hit eff  98.73%


trackmatching validation:
TrackChecker output                               :      2127/    53303   3.99% ghosts
for P>3GeV,Pt>0.5GeV                              :       498/    28548   1.74% ghosts
01_long                                           :     48489/    78155  62.04% ( 65.30%),         0 (  0.00%) clones, pur  98.55%, hit eff  98.33%
02_long_P>5GeV                                    :     38974/    51059  76.33% ( 80.64%),         0 (  0.00%) clones, pur  98.65%, hit eff  98.61%
03_long_strange                                   :      1942/     3858  50.34% ( 52.76%),         0 (  0.00%) clones, pur  97.97%, hit eff  98.17%
04_long_strange_P>5GeV                            :      1309/     1834  71.37% ( 74.85%),         0 (  0.00%) clones, pur  98.23%, hit eff  98.56%
05_long_fromB                                     :      3513/     4585  76.62% ( 77.43%),         0 (  0.00%) clones, pur  98.88%, hit eff  98.71%
06_long_fromB_P>5GeV                              :      3201/     3752  85.31% ( 85.63%),         0 (  0.00%) clones, pur  98.92%, hit eff  98.89%
07_long_electrons                                 :      1526/     5658  26.97% ( 28.57%),         0 (  0.00%) clones, pur  96.49%, hit eff  98.43%
08_long_electrons_P>5GeV                          :      1188/     2953  40.23% ( 42.55%),         0 (  0.00%) clones, pur  96.55%, hit eff  98.54%
09_long_fromB_electrons                           :       107/      240  44.58% ( 48.17%),         0 (  0.00%) clones, pur  98.20%, hit eff  99.02%
10_long_fromB_electrons_P>5GeV                    :       101/      168  60.12% ( 63.69%),         0 (  0.00%) clones, pur  98.28%, hit eff  99.04%
long_P>5GeV_AND_Pt>1GeV                           :     10845/    13336  81.32% ( 85.17%),         0 (  0.00%) clones, pur  98.86%, hit eff  98.72%
long_fromB_P>5GeV_AND_Pt>1GeV                     :      2181/     2500  87.24% ( 87.08%),         0 (  0.00%) clones, pur  98.92%, hit eff  98.96%
11_noVelo_UT                                      :         0/     8699   0.00% (  0.00%),         0 (  0.00%) clones, pur   -nan%, hit eff   -nan%
12_noVelo_UT_P>5GeV                               :         0/     3556   0.00% (  0.00%),         0 (  0.00%) clones, pur   -nan%, hit eff   -nan%
13_long_PT>2GeV                                   :      2767/     3268  84.67% ( 86.45%),         0 (  0.00%) clones, pur  98.87%, hit eff  98.97%
14_long_from_B_PT>2GeV                            :      1054/     1172  89.93% ( 89.31%),         0 (  0.00%) clones, pur  98.87%, hit eff  99.08%
15_long_strange_P>5GeV                            :      1309/     1834  71.37% ( 74.85%),         0 (  0.00%) clones, pur  98.23%, hit eff  98.56%
16_long_strange_P>5GeV_PT>500MeV                  :       590/      738  79.95% ( 81.60%),         0 (  0.00%) clones, pur  98.66%, hit eff  98.75%
17_long_fromSignal                                :      2182/     2621  83.25% ( 83.09%),         0 (  0.00%) clones, pur  98.92%, hit eff  98.82%

Validator plots: Bs2PhiPhi (10k events)

Efficiency Ghost rate

Comparison between matching (no UT) and matching (with UT)

Efficiency Ghost rate

Note: As we expect to see, adding UT hits to matching should have small impact in efficiency and great improvement in ghost rate

Throughput

The throughput is measured with RTX 4070Ti (faster than 3090) and then scaled down to the expected A5000 throughput.

image

Update May 13

Without updating the NN model, I adapt the upstream changes in seeding and matching_no_ut from the latest 2024-patches to address the HLT1 saturation, the main changes is related to the new clone-removal code, current validation results shows:

hlt1_pp_matching_no_ut_validation

long_validator validation:
TrackChecker output                               :     71080/   731355   9.72% ghosts
for P>3GeV,Pt>0.5GeV                              :     26698/   380936   7.01% ghosts
01_long                                           :    570086/   798838  71.36% ( 72.25%),     51740 (  8.32%) clones, pur  99.72%, hit eff  98.19%
02_long_P>5GeV                                    :    462423/   523243  88.38% ( 89.53%),     45043 (  8.88%) clones, pur  99.73%, hit eff  98.42%
03_long_strange                                   :     23495/    40077  58.62% ( 59.07%),      1240 (  5.01%) clones, pur  99.62%, hit eff  98.16%
04_long_strange_P>5GeV                            :     16227/    19108  84.92% ( 85.74%),       931 (  5.43%) clones, pur  99.62%, hit eff  98.44%
05_long_fromB                                     :     39521/    47428  83.33% ( 83.91%),      3602 (  8.35%) clones, pur  99.73%, hit eff  98.55%
06_long_fromB_P>5GeV                              :     36186/    39159  92.41% ( 92.49%),      3398 (  8.58%) clones, pur  99.74%, hit eff  98.68%
07_long_electrons                                 :     20905/    56399  37.07% ( 37.64%),      1290 (  5.81%) clones, pur  99.04%, hit eff  98.17%
08_long_electrons_P>5GeV                          :     16456/    29424  55.93% ( 57.29%),      1109 (  6.31%) clones, pur  99.04%, hit eff  98.31%
09_long_fromB_electrons                           :      1309/     2517  52.01% ( 53.89%),       112 (  7.88%) clones, pur  99.33%, hit eff  98.35%
10_long_fromB_electrons_P>5GeV                    :      1170/     1676  69.81% ( 71.94%),       103 (  8.09%) clones, pur  99.38%, hit eff  98.42%
long_P>5GeV_AND_Pt>1GeV                           :    123930/   136178  91.01% ( 91.97%),     11332 (  8.38%) clones, pur  99.72%, hit eff  98.45%
long_fromB_P>5GeV_AND_Pt>1GeV                     :     23635/    25251  93.60% ( 93.45%),      2161 (  8.38%) clones, pur  99.73%, hit eff  98.72%
11_noVelo_UT                                      :         1/    88436   0.00% (  0.00%),         0 (  0.00%) clones, pur 100.00%, hit eff 100.00%
12_noVelo_UT_P>5GeV                               :         0/    36349   0.00% (  0.00%),         0 (  0.00%) clones, pur   -nan%, hit eff   -nan%
13_long_PT>2GeV                                   :     30966/    33109  93.53% ( 94.30%),      2672 (  7.94%) clones, pur  99.71%, hit eff  98.60%
14_long_from_B_PT>2GeV                            :     10912/    11485  95.01% ( 95.00%),       909 (  7.69%) clones, pur  99.71%, hit eff  98.84%
15_long_strange_P>5GeV                            :     16227/    19108  84.92% ( 85.74%),       931 (  5.43%) clones, pur  99.62%, hit eff  98.44%
16_long_strange_P>5GeV_PT>500MeV                  :      6820/     7666  88.96% ( 89.43%),       383 (  5.32%) clones, pur  99.58%, hit eff  98.43%
17_long_fromSignal                                :     23823/    26538  89.77% ( 89.59%),      2178 (  8.38%) clones, pur  99.73%, hit eff  98.66%
18_long_nSciFiHits_gt_0_AND_lt_5000               :    217112/   305184  71.14% ( 71.30%),     19170 (  8.11%) clones, pur  99.80%, hit eff  98.73%
19_long_nSciFiHits_gt_5000_AND_lt_7000            :    246720/   353877  69.72% ( 69.82%),     22217 (  8.26%) clones, pur  99.68%, hit eff  98.12%
20_long_nSciFiHits_gt_7000_AND_lt_10000           :    120365/   181988  66.14% ( 66.42%),     11055 (  8.41%) clones, pur  99.54%, hit eff  97.43%
21_long_nSciFiHits_gt_10000                       :      6627/    13963  47.46% ( 48.83%),       574 (  7.97%) clones, pur  99.36%, hit eff  96.73%

hlt1_pp_matching_validation (with ut hits)

long_validator validation:
TrackChecker output                               :     46881/   692568   6.77% ghosts
for P>3GeV,Pt>0.5GeV                              :     16573/   365428   4.54% ghosts
01_long                                           :    566230/   798838  70.88% ( 71.71%),     42851 (  7.04%) clones, pur  98.13%, hit eff  98.15%
02_long_P>5GeV                                    :    459527/   523243  87.82% ( 88.94%),     37713 (  7.58%) clones, pur  98.18%, hit eff  98.39%
03_long_strange                                   :     23235/    40077  57.98% ( 58.41%),      1048 (  4.32%) clones, pur  97.68%, hit eff  98.15%
04_long_strange_P>5GeV                            :     16111/    19108  84.32% ( 85.19%),       806 (  4.76%) clones, pur  97.78%, hit eff  98.42%
05_long_fromB                                     :     39234/    47428  82.72% ( 83.27%),      3180 (  7.50%) clones, pur  98.38%, hit eff  98.50%
06_long_fromB_P>5GeV                              :     35929/    39159  91.75% ( 91.79%),      3011 (  7.73%) clones, pur  98.41%, hit eff  98.64%
07_long_electrons                                 :     20280/    56399  35.96% ( 36.51%),      1072 (  5.02%) clones, pur  95.75%, hit eff  98.16%
08_long_electrons_P>5GeV                          :     16039/    29424  54.51% ( 55.87%),       930 (  5.48%) clones, pur  95.81%, hit eff  98.32%
09_long_fromB_electrons                           :      1276/     2517  50.70% ( 52.89%),        85 (  6.25%) clones, pur  97.22%, hit eff  98.40%
10_long_fromB_electrons_P>5GeV                    :      1141/     1676  68.08% ( 70.44%),        80 (  6.55%) clones, pur  97.33%, hit eff  98.48%
long_P>5GeV_AND_Pt>1GeV                           :    123183/   136178  90.46% ( 91.42%),     10186 (  7.64%) clones, pur  98.46%, hit eff  98.40%
long_fromB_P>5GeV_AND_Pt>1GeV                     :     23453/    25251  92.88% ( 92.67%),      1941 (  7.64%) clones, pur  98.44%, hit eff  98.67%
11_noVelo_UT                                      :         1/    88436   0.00% (  0.00%),         0 (  0.00%) clones, pur  95.00%, hit eff 100.00%
12_noVelo_UT_P>5GeV                               :         0/    36349   0.00% (  0.00%),         0 (  0.00%) clones, pur   -nan%, hit eff   -nan%
13_long_PT>2GeV                                   :     30703/    33109  92.73% ( 93.54%),      2386 (  7.21%) clones, pur  98.37%, hit eff  98.54%
14_long_from_B_PT>2GeV                            :     10811/    11485  94.13% ( 94.06%),       817 (  7.03%) clones, pur  98.34%, hit eff  98.79%
15_long_strange_P>5GeV                            :     16111/    19108  84.32% ( 85.19%),       806 (  4.76%) clones, pur  97.78%, hit eff  98.42%
16_long_strange_P>5GeV_PT>500MeV                  :      6786/     7666  88.52% ( 89.04%),       355 (  4.97%) clones, pur  98.28%, hit eff  98.40%
17_long_fromSignal                                :     23663/    26538  89.17% ( 88.94%),      1929 (  7.54%) clones, pur  98.43%, hit eff  98.60%
18_long_nSciFiHits_gt_0_AND_lt_5000               :    215149/   305184  70.50% ( 70.64%),     15747 (  6.82%) clones, pur  98.52%, hit eff  98.71%
19_long_nSciFiHits_gt_5000_AND_lt_7000            :    244865/   353877  69.19% ( 69.29%),     18392 (  6.99%) clones, pur  98.00%, hit eff  98.08%
20_long_nSciFiHits_gt_7000_AND_lt_10000           :    119733/   181988  65.79% ( 66.04%),      9284 (  7.20%) clones, pur  97.39%, hit eff  97.39%
21_long_nSciFiHits_gt_10000                       :      6596/    13963  47.24% ( 48.60%),       487 (  6.88%) clones, pur  96.49%, hit eff  96.66%

Note: With UT hits, the efficiency drop in the high-occupancy 21_long_nSciFiHits_gt_10000 is smaller than in the low occupancy 18_long_nSciFiHits_gt_0_AND_lt_5000, so it should be more linear. With ~0.6% efficiency drop, we reduce about 3% ghost.

FYI: @adeoyang @bjashal @cagapopo @dovombru @mveghel @lohenry

Edited by Jiahui Zhuo

Merge request reports