Switch ACTS tracking to Athena backends
With this MR the ACTS reco starts to use Athena version of EDM backends.
Tagging the team: @ncalace @cvarni @wolter @pagessin @toyamaza @adye
There is a number of shortcuts made, e.g. not every data item is in a form that can be persistified yet. Also the code contains debugging aid INSPECTCALL that is by default compiled out. In the future it will be actually removed. Number of functions still need to be inlined but the implementation as is now is easier to work wiht in debugger.
In terms of performance here is the comparison (test job on single leptons): left is what we use now, right the new backend, it is slightly slower.
PerfMonMTSvc INFO ======================================================================================= PerfMonMTSvc INFO =======================================================================================
PerfMonMTSvc INFO Event Level Monitoring PerfMonMTSvc INFO Event Level Monitoring
PerfMonMTSvc INFO (Only the first 10 and the last measurements are explicitly printed) PerfMonMTSvc INFO (Only the first 10 and the last measurements are explicitly printed)
PerfMonMTSvc INFO ======================================================================================= PerfMonMTSvc INFO =======================================================================================
PerfMonMTSvc INFO Event CPU [s] Wall [s] Vmem [kB] Rss [kB] Pss [kB] Swap [kB] PerfMonMTSvc INFO Event CPU [s] Wall [s] Vmem [kB] Rss [kB] Pss [kB] Swap [kB]
PerfMonMTSvc INFO --------------------------------------------------------------------------------------- PerfMonMTSvc INFO ---------------------------------------------------------------------------------------
PerfMonMTSvc INFO 1 17.79 28.80 2676920 2316792 2315274 0 | PerfMonMTSvc INFO 1 17.79 30.41 2680432 2320996 2319470 0
PerfMonMTSvc INFO 4 44.97 59.90 3897208 3543444 3541926 0 | PerfMonMTSvc INFO 4 45.80 62.51 3899696 3547672 3546146 0
PerfMonMTSvc INFO ======================================================================================= PerfMonMTSvc INFO =======================================================================================
PerfMonMTSvc INFO Snapshots Summary PerfMonMTSvc INFO Snapshots Summary
PerfMonMTSvc INFO ======================================================================================= PerfMonMTSvc INFO =======================================================================================
PerfMonMTSvc INFO Step dCPU [s] dWall [s] <CPU> dVmem [kB] dRss [kB] dPss [kB] dSwap [kB] PerfMonMTSvc INFO Step dCPU [s] dWall [s] <CPU> dVmem [kB] dRss [kB] dPss [kB] dSwap [kB]
PerfMonMTSvc INFO --------------------------------------------------------------------------------------- PerfMonMTSvc INFO ---------------------------------------------------------------------------------------
PerfMonMTSvc INFO Configure 9.93668 15.114 0.66 1698160 1506964 1505446 0 | PerfMonMTSvc INFO Configure 10.0106 15.653 0.64 1701588 1510824 1509298 0
PerfMonMTSvc INFO Initialize 7.75919 13.582 0.57 908116 805268 805268 0 | PerfMonMTSvc INFO Initialize 7.68436 14.655 0.52 908200 805660 805660 0
PerfMonMTSvc INFO FirstEvent 9.0204 12.974 0.70 1169100 1049476 1049476 0 | PerfMonMTSvc INFO FirstEvent 9.26852 13.415 0.69 1168076 1048444 1048444 0
PerfMonMTSvc INFO Execute 35.8488 35.784 1.00 150736 218848 218848 0 | PerfMonMTSvc INFO Execute 36.9758 36.87 1.00 150736 219136 219136 0
PerfMonMTSvc INFO Finalize 0.116559 0.116 1.00 0 152 152 0 | PerfMonMTSvc INFO Finalize 0.11501 0.115 1.00 0 180 180 0
PerfMonMTSvc INFO *************************************************************************************** PerfMonMTSvc INFO ***************************************************************************************
PerfMonMTSvc INFO Number of events processed: 5 PerfMonMTSvc INFO Number of events processed: 5
PerfMonMTSvc INFO CPU usage per event [ms]: 8974 | PerfMonMTSvc INFO CPU usage per event [ms]: 9249
PerfMonMTSvc INFO Events per second: 0.103 | PerfMonMTSvc INFO Events per second: 0.099
PerfMonMTSvc INFO CPU utilization efficiency [%]: 80 | PerfMonMTSvc INFO CPU utilization efficiency [%]: 79
PerfMonMTSvc INFO *************************************************************************************** PerfMonMTSvc INFO ***************************************************************************************
This is side by side diff of tracking stats. Counts seems all the same (to my surprise actually):
|----------------------|--------------|--------------|--------------|--------------|--------------| |----------------------|--------------|--------------|--------------|--------------|--------------|
| Kind of seed | PPP | PPS | PSS | SSS | ALL | | Kind of seed | PPP | PPS | PSS | SSS | ALL |
|----------------------|--------------|--------------|--------------|--------------|--------------| |----------------------|--------------|--------------|--------------|--------------|--------------|
| Input seeds | 123918 | 0 | 0 | 24383 | 148301 | | Input seeds | 123918 | 0 | 0 | 24383 | 148301 |
| No track parameters | 991 | 0 | 0 | 5346 | 6337 | | No track parameters | 991 | 0 | 0 | 5346 | 6337 |
| Used seeds | 69893 | 0 | 0 | 9984 | 79877 | | Used seeds | 69893 | 0 | 0 | 9984 | 79877 |
| Used seeds brem | 0 | 0 | 0 | 0 | 0 | | Used seeds brem | 0 | 0 | 0 | 0 | 0 |
| Det elements in road | 74.58 | 0 | 0 | 71.27 | 74.166 | | Det elements in road | 74.58 | 0 | 0 | 71.27 | 74.166 |
| Two clusters on DE | 0 | 0 | 0 | 0 | 0 | | Two clusters on DE | 0 | 0 | 0 | 0 | 0 |
| Wrong DE road | 0 | 0 | 0 | 17 | 17 | | Wrong DE road | 0 | 0 | 0 | 17 | 17 |
| Wrong initialization | 0 | 0 | 0 | 0 | 0 | | Wrong initialization | 0 | 0 | 0 | 0 | 0 |
| Can not find track | 55214 | 0 | 0 | 3934 | 59148 | | Can not find track | 55214 | 0 | 0 | 3934 | 59148 |
| It is not new track | 3679 | 0 | 0 | 570 | 4249 | | It is not new track | 3679 | 0 | 0 | 570 | 4249 |
| Attempts brem model | 0 | 0 | 0 | 0 | 0 | | Attempts brem model | 0 | 0 | 0 | 0 | 0 |
| Output tracks | 11736 | 0 | 0 | 5685 | 17421 | | Output tracks | 11736 | 0 | 0 | 5685 | 17421 |
| Output extra tracks | 1113 | 0 | 0 | 389 | 1502 | | Output extra tracks | 1113 | 0 | 0 | 389 | 1502 |
| Output tracks brem | 0 | 0 | 0 | 0 | 0 | | Output tracks brem | 0 | 0 | 0 | 0 | 0 |
|----------------------|--------------|--------------|--------------|--------------|--------------|--------------| |----------------------|--------------|--------------|--------------|--------------|--------------|--------------|
| Seeds with track | 10623 | 0 | 0 | 5296 | 15919 | Number seeds | | Seeds with track | 10623 | 0 | 0 | 5296 | 15919 | Number seeds |
|----------------------|--------------|--------------|--------------|--------------|--------------|--------------| |----------------------|--------------|--------------|--------------|--------------|--------------|--------------|
| Track/Used 0.0-0.5 | 0.09587 | 0 | 0 | 0.6944 | 0.264 | 1421 | | Track/Used 0.0-0.5 | 0.09587 | 0 | 0 | 0.6944 | 0.264 | 1421 |
| 0.5-1.0 | 0.07183 | 0 | 0 | 0.7424 | 0.2039 | 1576 | | 0.5-1.0 | 0.07183 | 0 | 0 | 0.7424 | 0.2039 | 1576 |
| 1.0-1.5 | 0.05549 | 0 | 0 | 0.7199 | 0.111 | 1656 | | 1.0-1.5 | 0.05549 | 0 | 0 | 0.7199 | 0.111 | 1656 |
| 1.5-2.0 | 0.07119 | 0 | 0 | 0.337 | 0.1218 | 2473 | | 1.5-2.0 | 0.07119 | 0 | 0 | 0.337 | 0.1218 | 2473 |
| 2.0-2.5 | 0.1571 | 0 | 0 | 0.4986 | 0.2085 | 2543 | | 2.0-2.5 | 0.1571 | 0 | 0 | 0.4986 | 0.2085 | 2543 |
| 2.5-3.0 | 0.2194 | 0 | 0 | 0 | 0.2194 | 2229 | | 2.5-3.0 | 0.2194 | 0 | 0 | 0 | 0.2194 | 2229 |
| 3.0-3.5 | 0.3203 | 0 | 0 | 0 | 0.3203 | 1943 | | 3.0-3.5 | 0.3203 | 0 | 0 | 0 | 0.3203 | 1943 |
| 3.5-4.0 | 0.6667 | 0 | 0 | 0 | 0.6667 | 2078 | | 3.5-4.0 | 0.6667 | 0 | 0 | 0 | 0.6667 | 2078 |
|----------------------|--------------|--------------|--------------|--------------|--------------|--------------| |----------------------|--------------|--------------|--------------|--------------|--------------|--------------|
Edited by Tomasz Bold