Add UT to VeloSciFi matching
Test with Moore!3557 (merged)
Description
Need lhcb-datapkg/ParamFiles!80 (merged) 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.
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
Closes #507