Skip to content

Improve Performance of Tracking4D by Factor x2

Simon Spannagel requested to merge tracking4d_perf into master

This MR dramatically improves the performance of the Tracking4D module by implementing a few simple fixes found by me and @pschutze. Furthermore it fixes a bug that was introduced during the rework concerning the matching of timing cuts, an std::fabs was missing at a crucial point.

Furthermore I have removed the comparison of detectors based on std::string but use their pointers directly. While this does not affect the performance very much I consider it the cleaner solution.

The performance improves by a factor 2x as you can see from the comparison of relevant test running times on my machine between master and this MR:

Master branch

4/7 Test #3: test_timepix3tel_dut150um_ebeam120_sim.conf ...   Passed    2.75 sec
5/7 Test #4: test_timepix3tel_ebeam120.conf ................   Passed   70.24 sec
6/7 Test #5: test_timepix3tel_ebeam120_gbl.conf ............   Passed   67.01 sec

This MR

4/7 Test #3: test_timepix3tel_dut150um_ebeam120_sim.conf ...   Passed    3.06 sec
5/7 Test #4: test_timepix3tel_ebeam120.conf ................   Passed   38.08 sec
6/7 Test #5: test_timepix3tel_ebeam120_gbl.conf ............   Passed   35.88 sec

Merge request reports