FTag Standalone Schema Evolution, master branch (2020.11.25.)
With !36973 (merged) merged in, a new unit test error appeared in last night's AnalysisBase build.
It turns out that I was wrong in !36973 (merged). We do need the explicit type initialisations for the FTag variables for the standalone analysis release as well. We can't delegate this to the individual users...
Once I moved the xAODBTaggingAuxVariableInit.cxx
file, I had to realise that even with !38455 (merged) merged in, xAOD::TEvent
would still not be able to handle the schema evolution introduced by !36973 (merged) correctly. It would result in output like:
OverlapRemovalTester INFO Environment initialised for data access
OverlapRemovalTester INFO Opening file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/DAOD_PHYSVAL/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.DAOD_PHYSVAL.e5458_s3126_r9364_r9315_AthDerivation-21.2.1.0.root
OverlapRemovalTester INFO Number of events in the file: 10000
OverlapRemovalTester INFO Processing 50 entries
Starting loop
OverlapRemovalTester INFO ===>>> Processing entry 0, run 284500, event 2236644 <<<===
xAOD::TAuxStore::isCon... ERROR /data/projects/ftag/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:1804 Couldn't determine if branch describes a single object or a container
xAOD::TAuxStore::isCon... ERROR /data/projects/ftag/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:1806 ROOT type : std::vector<double>
xAOD::TAuxStore::isCon... ERROR /data/projects/ftag/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:1809 Object type: float
xAOD::TAuxStore::isCon... ERROR /data/projects/ftag/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:1812 Vector type: std::vector<float>
xAOD::TAuxStore::setup... ERROR /data/projects/ftag/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:928 Branch type and requested structure mode differ for branch: BTagging_AntiKt4EMTopoAuxDyn.MV2c10_discriminant
terminate called after throwing an instance of 'std::runtime_error'
what(): MV2c10 unavailable
/data/projects/ftag/athena/PhysicsAnalysis/AnalysisCommon/AssociationUtils/test/ut_ort_tester.sh: line 11: 18827 Aborted
(I'm just including the output here because similar problems may still show up in the future. So it's good if people are aware of how schema evolution errors can materialise.)
After some tinkering I came up with this MR's modification to TAuxStore.cxx
to resolve this. But as with all changes to xAODRootAccess, the CI will have to run a full sweep of tests to make sure that this will not cause any new issues.
Pinging @krumnack and @gmarchio.
This is meant to fix ATLASRECTS-5806.