Use GetClassification instead of GetResponse (MVAUtils) for Tau Trigger FTF BDT

Closed Bertrand Martin Dit Latour requested to merge martindl/athena:R22_TrigTauFTFBDT into master


This MR is fixing a regression-vs-classification misconfiguration of a BDT classifier used in tau triggers. Currently, we evaluate a BDT classifier in "regression mode", with the GetResponse function of MVAUtils being called. However, for a classifier, this returns BDT scores that are not within the usual [0,1] range. And this leads to buggy behaviour in TrigTauTrackRoiUpdater, where we intend to select the track with the highest BDT score, but we assume the BDT score is always positive (BDTMax variable initialised to 0). As a consequence, unless we are lucky to get a track with a BDT score above 0 in the tauCore ROI of the Fast Track Finder, we fail to update the ROI for the tauIso step. In particular, the zedMinus and zedPlus of the tauIso ROI are not set to +/-7 mm, but we rather inherit the settings from the tauCore ROI, i.e. we scan again along the whole z axis in the tauIso step, which must waste CPU.

This MR is changing the behaviour to "classification mode", which takes the sigmoid of GetResponse and ensures the output is within [0,1].

The reference file is updated with fixed trigger counts.

A BDT helper method was added to tauRecTools. As the other such methods, all it does is sort the variables in the expected order as defined in the input ROOT file.

Tagging @iriu , @adsalvad , @gipezzul , @ademaria .

Cheers, Bertrand

Edited by Bertrand Martin Dit Latour

Merge request reports