Add monitoring for ambiguity in the sorted lists used by L1Topo algorithms
This MR adds an ambiguity flag for the L1Topo decision algorithms. Concerning the validation of the L1Topo algorithms, a few mismatches between simulation and hardware remain where the pattern among them is an ambiguity in the last object to be used in a sorted list. The L1Topo hardware sorts a list of trigger objects going from the highest Et to the lowest Et. However, if two objects have the same Et, there isn't a second variable that sorts these lists. Thus, we might obtain a disagreement between hardware and simulation decisions if the last object of a selected list has the same Et as the first object outside of the list, where it isn't clear which object will be used by the hardware and which object is used by the simulation.
As an example, let's consider the algorithm HT190-jJ40s5pETA21, which calculates the Et sum of jets with Et > 40 GeV and abs(eta) < 2.1 in a sorted list with 5 objects. The trigger fires if HT > 190 GeV. In a certain event we have the following sorted objects (a list of 6 objects):
- Object 1: abs(Eta): 2.15, Et: 146.2, sumEt: 0
- Object 2: abs(Eta): 0.65, Et: 57.4, sumET: 57.4, selected
- Object 3: abs(Eta): 0.75, Et: 49.6, sumET: 107.0, selected
- Object 4: abs(Eta): 1.15, Et: 48.8, sumET: 155.8, selected
- Object 5: abs(Eta): 2.60, Et: 41.4, sumET: 155.8
- +++++++++++++++++++++++++++++++++++++
- Object 6: abs(Eta): 22, Et: 41.4, sumET: 197.2 (if selected)
Thus, if object 5 is used, as it happens in the L1Topo simulation, the trigger is not triggered. If object 6 is selected (instead of object 5), as it most likely happens in hardware, the trigger is triggered.
This MR first implements an ambiguity flag in the sorting algorithms, which is enough for most L1Topo algorithms (6 triggers objects passed to the decision algorithm and no further cut on the object list). Additionally, the flag is also applied in some specific cases where the list used in the decision algorithm is shorter than the one provided after the sorting algorithm. This special cases are applied for the triggers that use the JetHT, DeltaEtaIncl1, DeltaPhiIncl1, InvariantMassDeltaPhiInclusive2, and InvariantMassInclusive2 algorithms.
Related ATR-26402