Skip to content

xAOD Fixes for AthGeneration, master branch (2020.10.20.)

This is meant to fix two of the test failures in the AthGeneration nightly. Those inside the xAODRootAccess package.

http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/gitwww/MASTERWebArea/ardoc_web_areamaster64BC7G8AthGenerationOpt/ARDOC_TestLog_2020-10-19T2101/Control_xAODRootAccess___xAODRootAccessConf__xAODRootAccessTest__m.html

...
The following tests FAILED:
	296 - xAODRootAccess_ut_xaodrootaccess_remap_test_ctest (Failed)
	302 - xAODRootAccess_ut_xaodrootaccess_tchain_test_ctest (Failed)

Interestingly enough one of these failures was because of a fairly deep issue.

...
 7/11 Test #302: xAODRootAccess_ut_xaodrootaccess_tchain_test_ctest .................***Failed  143.72 sec
ut_xaodrootaccess_tcha... INFO    Environment initialised for data access
ut_xaodrootaccess_tcha... INFO    Processing mc14_8TeV chain...
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
xAOD::TEvent::initStats   WARNING Couldn't find dictionary for type "DataVector<xAOD::BTagging_v1>"
In file included from libxAODCaloEventDict dictionary payload:58:
In file included from /build/atnight/localbuilds/nightlies/master/build/build/AthGeneration/x86_64-centos7-gcc8-opt/include/xAODCaloEvent/CaloCluster.h:14:
/build/atnight/localbuilds/nightlies/master/build/build/AthGeneration/x86_64-centos7-gcc8-opt/include/xAODCaloEvent/versions/CaloCluster_v1.h:40:7: error: redefinition of 'CaloClusterCellLink'
class CaloClusterCellLink {};
      ^
/build/atnight/localbuilds/nightlies/master/build/build/AthGeneration/x86_64-centos7-gcc8-opt/include/CaloEvent/CaloClusterCellLink.h:24:7: note: previous definition is here
class CaloClusterCellLink {
      ^
In file included from libxAODCaloEventDict dictionary payload:58:
In file included from /build/atnight/localbuilds/nightlies/master/build/build/AthGeneration/x86_64-centos7-gcc8-opt/include/xAODCaloEvent/CaloCluster.h:14:
/build/atnight/localbuilds/nightlies/master/build/build/AthGeneration/x86_64-centos7-gcc8-opt/include/xAODCaloEvent/versions/CaloCluster_v1.h:41:18: error: typedef redefinition with different types ('unsigned int' vs 'CaloRecoStatus')
typedef unsigned CaloRecoStatus;
                 ^
/build/atnight/localbuilds/nightlies/master/build/build/AthGeneration/x86_64-centos7-gcc8-opt/include/CaloEvent/CaloRecoStatus.h:11:7: note: previous definition is here
class CaloRecoStatus
      ^
 *** Break *** segmentation violation
...

Since the AthGeneration project does build the CaloEvent package, xAODCaloEvent must be set up to build itself against CaloEvent. Otherwise we can run into some very nasty issues like this. (I have to wonder if Athena jobs may have had some silent issues because of this as well.)

The other test (xAODRootAccess_ut_xaodrootaccess_remap_test_ctest) is failing because it tries to use EDM classes that are not part of AthGeneration. So I just disabled that one for the AthGeneration project...

Merge request reports