Add option to configure missing modules in velo search by triplet
This MR adds a new property to the Velo Algorithm (missing_module_pairs) which is a set of module pairs containing missing sensors. The algorithm will do as many seeding as needed to work "around" the missing modules.
For instance, if we disable 3 modules: 23, 12, 11, the corresponding module pairs mask would be: 00001100001000000000000000, leading to the following schedule:
00001100001000000000000000
--------------------------
25 00000000000000000000000111
24 00000000000000000000001110
23 00000000000000000000011100
22 00000000000000000000111000
21 00000000000000000001110000
20 00000000000000000011100000
19 00000000000000000111000000
18 00000000000000001110000000
17 00000000000000011100000000
16 00000000000000111000000000
15 00000000000001110000000000
14 00000000000011100000000000
13 00000000000111000000000000
12 00000000001110000000000000
11 00000000011100000000000000
11 00000000010110000000000000
10 00000000111000000000000000
10 00000000110100000000000000
9 00000001110000000000000000
8 00000011100000000000000000
7 00000111000000000000000000
6 00001110000000000000000000
6 00001011000000000000000000
5 00011100000000000000000000
5 00011010000000000000000000
5 00010110000000000000000000
5 00010011000000000000000000
4 00111000000000000000000000
4 00110100000000000000000000
4 00110010000000000000000000
3 01110000000000000000000000
2 11100000000000000000000000
Here is a program that allow to visualize the logic: https://godbolt.org/z/a6nv16YKz
This MR also adds a way to disable specific modules when decoding the hits (retina only). This is useful to do studies on MC data.
Edited by Arthur Marius Hennequin