Draft: Work on interfaces in tracking core.
Builds upon !1882 (closed) and discussions therein.
Changed description after discussions. The purpose of this MR is now a general restructuring of interfaces.
The classes ca::TrackFinder
and ca::Framework
are not clearly separated by any interface and depend on each other to such a strong degree, that having them be separate classes creates more problems than it solves. With this MR I propose merging them into a single class, to simplify things.
This work is currenty still ongoing, hence the draft flag. While working on this, I encountered one issue, that I wanted to discuss. I noticed something odd, when running the online binary, using the non-modified code from the current master branch, multiple times using the following command:
./cbmreco -i ~/lustre_tsa_data/3012_node9_06_0017.tsa -r 3012 -o 3012.tracks.rra -O Track --omp 20 -p ~/cbmroot/parameters/online/ --steps Unpack LocalReco Tracking DigiTrigger -n 1
What I observed is that the number of produced tracks fluctuates slightly between executions of the binary. Here are two excerpts from the command-line output, from subsequent runs:
----- Counters:
Key Total per full routine calls per sub-timeslices per reco tracks
full routine calls 1 1 3.71292e-06 5.37195e-06
sub-timeslices 269330 269330 1 1.44683
reco tracks 186152 186152 0.691167 1
reco hits 3892877 3.89288e+06 14.4539 20.9124
used reco hits 707570 707570 2.62715 3.80103
triplets 9350788 9.35079e+06 34.7187 50.232
MVD hits in tracks 0 0 0 0
STS hits in tracks 295449 295449 1.09698 1.58714
MUCH hits in tracks 0 0 0 0
TRD hits in tracks 249258 249258 0.925474 1.339
TOF hits in tracks 162863 162863 0.604697 0.874893
----- Counters:
Key Total per full routine calls per sub-timeslices per reco tracks
full routine calls 1 1 3.71292e-06 5.37372e-06
sub-timeslices 269330 269330 1 1.4473
reco tracks 186091 186091 0.69094 1
reco hits 3892878 3.89288e+06 14.4539 20.9192
used reco hits 707398 707398 2.62651 3.80136
triplets 9346721 9.34672e+06 34.7036 50.2266
MVD hits in tracks 0 0 0 0
STS hits in tracks 295338 295338 1.09657 1.58706
MUCH hits in tracks 0 0 0 0
TRD hits in tracks 249274 249274 0.925534 1.33953
TOF hits in tracks 162786 162786 0.604411 0.874766
@se.gorbunov @s.zharko Can you comment on this? I haven't observed this when running in single-threaded mode, so it might be some kind of race
condition.