Skip to content

Solve the Hybrid Seeding seg fault when running on data

Louis Henry requested to merge lohenry-solveSegFault into master

Addressing #373 (closed)

For reasons not yet 100% clear, the use of LookAroundMin on layers with 0 hits tended to result in searchWindows going outside of the boundaries of the layer.

This is not solved by this MR, however we solve the segmentation fault aspect to it by:

  • correcting a bug where the largest x value was not initialised properly;
  • change the value of its default value in case a layer is empty.

Previously segfaulting samples are now fine. In any case the first change is clearly a bug fix.

Ran on 2.65M data events without issue

PrHybridSeeding                        INFO Number of counters : 21
 |    Counter                                      |     #     |    sum     | mean/eff^* | rms/err^*  |     min     |     max     |
 | "Created T2x1 three-hit combinations in case 0" |     75106 |      40595 |    0.54050 |    0.61260 |       0.0000 |      8.0000 |
 | "Created T2x1 three-hit combinations in case 1" |    202395 |     101846 |    0.50320 |    0.61765 |       0.0000 |      9.0000 |
 | "Created T2x1 three-hit combinations in case 2" |    259003 |     148402 |    0.57297 |    0.66713 |       0.0000 |      15.000 |
 | "Created XZ tracks (part 0)"                    |   7967295 |        364 | 4.5687e-05 |   0.016150 |       0.0000 |      28.000 |
 | "Created XZ tracks (part 1)"                    |   7967295 |       5198 | 0.00065242 |    0.13863 |       0.0000 |      166.00 |
 | "Created XZ tracks in case 0"                   |   5311530 |       1074 | 0.00020220 |   0.059297 |       0.0000 |      74.000 |
 | "Created XZ tracks in case 1"                   |   5311530 |       2154 | 0.00040553 |    0.10728 |       0.0000 |      141.00 |
 | "Created XZ tracks in case 2"                   |   5311530 |       2334 | 0.00043942 |    0.11913 |       0.0000 |      166.00 |
 | "Created full hit combinations in case 0"       |      3582 |       3582 |     1.0000 |      0.0000 |      1.0000 |      1.0000 |
 | "Created full hit combinations in case 1"       |      2897 |       2897 |     1.0000 |      0.0000 |      1.0000 |      1.0000 |
 | "Created full hit combinations in case 2"       |      4171 |       4171 |     1.0000 |      0.0000 |      1.0000 |      1.0000 |
 | "Created seed tracks"                           |   5311530 |        136 | 2.5605e-05 |   0.010341 |       0.0000 |      14.000 |
 | "Created seed tracks (part 0)"                  |   2655765 |          1 | 3.7654e-07 | 0.00061363 |       0.0000 |      1.0000 |
 | "Created seed tracks (part 1)"                  |   2655765 |        148 | 5.5728e-05 |   0.016916 |       0.0000 |      18.000 |
 | "Created seed tracks in case 0"                 |   5311530 |         10 | 1.8827e-06 |  0.0020352 |       0.0000 |      4.0000 |
 | "Created seed tracks in case 1"                 |   5311530 |         39 | 7.3425e-06 |  0.0043172 |       0.0000 |      7.0000 |
 | "Created seed tracks in case 2"                 |   5311530 |         77 | 1.4497e-05 |  0.0077981 |       0.0000 |      9.0000 |
 | "Created seed tracks in recovery step"          |   2655765 |         72 | 2.7111e-05 |  0.0080943 |       0.0000 |      9.0000 |
 | "Created two-hit combinations in case 0"        |     96628 |     611519 |     6.3286 |     8.7708 |       0.0000 |      75.000 |
 | "Created two-hit combinations in case 1"        |  62672888 |    1487805 |   0.023739 |    0.72980 |       0.0000 |      102.00 |
 | "Created two-hit combinations in case 2"        |     96626 |    1274973 |     13.195 |     17.082 |       0.0000 |      144.00 |

@gligorov @decianm

Merge request reports