Implementation of the Soft Secondary Vertex Tagger (SSV) Weights algorithm (JIRA AFT-771)
Some improvements discussed in the following comments !81788 (comment 10492675) will be addressed in a follow up MR.
In the current MR, a new algorithm called SSVWeightsAlg is introduced to allow for SSV weight calculation used in the calibration of a soft secondary vertex tagger described here: https://cds.cern.ch/record/2897073/files/Publication.pdf as a step towards a Run3 calibration of the NewVrtSecInclusiveTool.
The algorithm retrieves soft secondary vertices created by the NewVrtSecInclusiveTool (https://gitlab.cern.ch/atlas/athena/-/blob/main/Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/NewVrtSecInclusiveTool.cxx). An acceptance definition is applied to create the so-called good SSVs. TruthParticles are retrieved and an acceptance definition is applied to create the truth b-hadrons in acceptance. A DeltaR matching procedure is employed to match trutBhs in acceptance and good SSVs. Finally a weight is calculated that depends on the number of matched SSVs, the number of unmatched truthBhs in acceptance and the number of good SSVs. The algorithm uses a JSON file for the calculations of the weights.
Currently contains multiple methods to calculate the weights. Final algorithm will probably only use one of the weight definitions.