Skip to content

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.

http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/gitwww/MASTERWebArea/ardoc_web_areamaster64BC7G8AnalysisBaseOpt/ARDOC_TestLog_2020-11-25T0354/PhysicsAnalysis_AnalysisCommon_AssociationUtils___AssociationUtilsConf__AssociationUtilsTest__m.html

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.

Edited by Attila Krasznahorkay

Merge request reports