Skip to content

ATLASRECTS-6833: Update xAODBTaggingAuxContainer to v2

Dan Guest requested to merge dguest/athena:update-btagaux into master

Of the 17 static floats we store in xAODBTaggingAuxContainer_v1, we're using none of them in the latest tagger1. This seems like quite a bit of wasted space given that the b-tagging object should probably be around 3 floats. I'm removing all of them, and attempting to use schema evolution to keep this from breaking everything2.

It's probably worth noting that we currently run b-tagging while we make derivations, and don't save any b-tagging information in the AODs by default. This means most clients won't be needing this schema evolution anyway: these variables are already stored as AuxDyn variables in the DAOD.

This should be especially useful in places like the b-jet TLA, where it it could theoretically reduce the b-jet bandwidth to around 15-20% of the current amount. More realistically most of these variables are probably zeros, or at least the same garbage value in every jet (we never set them), so the on-disk reduction might be less significant. This might be of interest to @cantel, @okuprash, @cpollard.

Note: Since a few downstream consumers were reading uninitialized SV1 likelihoods, the working plan is to return default values for SV1 if it hasn't been set. This is being followed up in !50429 (closed).

  1. Legacy taggers use 6 of these variables.

  2. note that I have no idea how schema evolution works, so I might be doing this completely wrong. I'm not sure if the code I'm using here is smart enough to copy the static variables over to dynamic in the evolution, but I hope so.

Edited by Dan Guest

Merge request reports