(Ath)Analysis(Base) LCG_97a Updates, 21.2 branch (2020.09.16.)
This is meant to update the builds of AnalysisBase and AthAnalysis to use externals from / compatible with LCG_97a.
The main motivation for the update is to address ATLASG-1546 by updating the releases to use ROOT 6.20/06. Apart from that main update, the switch from atlasexternals-1.0.64 to atlasexternals-1.0.67 brings the following list of changes (atlasexternals@1.0.64...1.0.67):
- Taught
FindSherpa.cmake
to add the location of the Sherpa and Sherpa-config executables to thePATH
environment variable (not relevant for 21.2); - Updated
FindLhapdf.cmake
to prefer/cvmfs/sft.cern.ch/lcg/external/lhapdfsets/current
when looking for data files (not too relevant for 21.2); - Updated to using externals from LCG_97a in AnalysisBaseExternals and AthAnalysisExternals.
The list of updates to the externals is the following:
- Boost 1.70.0 --> 1.72.0;
- fjcontrib 1.041 --> 1.044;
- GoogleTest <unknown/untagged> --> 1.10.0;
- HDF5 1.10.3 --> 1.10.5;
- LHAPDF 6.2.3 --> 6.3.0;
- setuptools 41.0.0 --> 44.1.0;
- ROOT 6.18/04 --> 6.20/06;
- TBB 2019_U7 --> 2020_U1;
- XRootD 4.10.0 --> 4.12.2;
- nlohmann_json 3.5.0 --> 3.6.1.
As you can see, I also had to make a good number of changes in this repository to accommodate the updates. Some of them I was able to cherry-pick from commits made by @ssnyder for master, but some I had to implement specifically for this branch. (For instance the change in Control/RootUtils
. Which looks very differently in master by now, so @ssnyder's updates there were not applicable to this branch.)
@krumnack, as we discussed yesterday, I ended up introducing a new function, xAOD::LoadDictionaries()
. This is meant to work around runtime issues stemming from https://sft.its.cern.ch/jira/browse/ROOT-10940. I added a call to that function to the generated load_packages.C
macro, which actually fixed up a number of unit tests by itself. (I was a bit on the fence about adding a call to that macro, but seeing how many things it helped, it should be useful for the analysers as well.) Plus I updated a ton of test jobs (mostly EventLoop ones, but also one running in Athena) to make use of this function.
@ruyuan, this is the MR that I talked about in yesterday's meeting. Hopefully it will perform well in the CI, and we can squeeze it in for tomorrow's build of 21.2.140. At the same time let me ping @amehta as well.