Skip to content

DerivationFramework: fix tau RNN eVeto WP decoration

Hello,

The primary goal of this MR is to fix this warning showing up in AOD->DAOD:

Derivation 11:43:48 ToolSvc.TauSele...WARNING SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item `::EleRNNLoose_v1' (1008).

This is due to AddEventCleanFlagsCfg, which schedules AddTauAugmentationCfg that decorates taus with a DFTauLoose flag telling whether a tau passes a loose selection. The problem is that the DFTauLoose criterion relies on an electron veto WP that must be re-computed in AOD->DAOD, as the original WP computed in RAWtoALL is buggy, and the fixed eVeto WP re-decoration is currently scheduled independently from AddTauAugmentationCfg and happens to be scheduled too late in DAOD_PHYS. So this MR makes sure that AddTauAugmentationCfg internally calls AddTauWPDecorationCfg, such that the fixed WP exists when we compute DFTauLoose.

We were also missing the eVeto WP re-decoration for muon-subtracted taus (boosted mu-had reconstruction scheduled in AOD->DAOD). "TauJets_MuonRM" are built from "TauJets": after subtracting the muon off the tau, we rerun most of the standard tau reconstruction. So we also need to rerun the fixed eVeto WP decoration. The TauWPDecoratorWrapper is modified such that in the mu-had case, we ignore the presence of an existing decoration (coming from the decoration of "TauJets" performed upstream) and proceed regardless.

Finally, a few fixes were made to AddTauAugmentationCfg (correct WP tightness), and the use of ConfigFlags and tool/algorithm names was simplified: we no longer use a prefix when a given tool/algorithm has a fixed configuration.

Running AOD->DAOD_PHYS over 1k ttbar events, comparing DAOD_PHYS with/without the MR, diff-root finds:

Py:diff-root      WARNING the following variables exist only in the new file !
Py:diff-root      WARNING  - [TauJets_MuonRMAuxDyn.EleRNNLoose_v1]
Py:diff-root      WARNING  - [TauJets_MuonRMAuxDyn.EleRNNMedium_v1]
Py:diff-root      WARNING  - [TauJets_MuonRMAuxDyn.EleRNNTight_v1]
Py:diff-root      WARNING  - [TauJets_MuonRMAuxDyn.RNNEleScoreSigTrans_v1]
Py:diff-root         INFO comparing [2135] leaves over entries...
Py:diff-root         INFO 691.EventInfoAuxDyn.DFCommonJets_eventClean_LooseBad [[0.0]] -> [[1.0]] => diff= [N/A]
Py:diff-root         INFO Found [17487966] identical leaves
Py:diff-root         INFO Found [1] different leaves
Py:diff-root         INFO  [EventInfoAuxDyn.DFCommonJets_eventClean_LooseBad]: 1 leaves differ

It seems the effect on DFCommonJets_eventClean_LooseBad is rather small, fortunately, at least in MC.

Tagging @lfiorini .

Cheers, Bertrand

Edited by Bertrand Martin Dit Latour

Merge request reports