From d7ff8b6540d48ff6b6b86c26be47715d7927e57d Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <attila.krasznahorkay@cern.ch>
Date: Mon, 5 Dec 2022 20:37:17 +0100
Subject: [PATCH] Externals Updates, master branch (2022.12.02.)

Upgraded all projects to atlasexternals-2.0.145.

At the same time updated AthAnalysis to use LCG_102b_ATLAS_6, once
again in sync with all of the other LCG based projects.

Introduced -DBoost_NO_WARN_NEW_VERSIONS=TRUE temporarily for the
analysis releases as well, until we switch to CMake 3.24.3 in the
nightly and CI systems.

Had to introduce a patch for Davix in AnalysisBaseExternals to
silence a useless CMake configuration warning coming from libcurl.
---
 .../MuonMomentumCorrections/MuonObj.h         | 65 ++++++++++---------
 Projects/AnalysisBase/build.sh                |  2 +-
 Projects/AnalysisBase/build_externals.sh      |  4 +-
 Projects/AnalysisBase/externals.txt           |  2 +-
 Projects/AthAnalysis/build.sh                 |  2 +-
 Projects/AthAnalysis/build_externals.sh       |  4 +-
 Projects/AthAnalysis/externals.txt            |  2 +-
 Projects/AthDataQuality/externals.txt         |  2 +-
 Projects/AthDerivation/externals.txt          |  2 +-
 Projects/AthGeneration/externals.txt          |  2 +-
 Projects/AthSimulation/externals.txt          |  2 +-
 Projects/Athena/externals.txt                 |  2 +-
 Projects/DetCommon/externals.txt              |  2 +-
 Projects/VP1Light/externals.txt               |  2 +-
 14 files changed, 51 insertions(+), 44 deletions(-)

diff --git a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonObj.h b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonObj.h
index f1981fe1a5be..c5d0154ed0c9 100644
--- a/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonObj.h
+++ b/PhysicsAnalysis/MuonID/MuonIDAnalysis/MuonMomentumCorrections/MuonMomentumCorrections/MuonObj.h
@@ -20,36 +20,41 @@ namespace MCP {
    /// Basic object to cache all relevant information from the track
    struct TrackCalibObj{
         TrackCalibObj() = default;
-        TrackCalibObj(const xAOD::TrackParticle* track, TrackType t, int charge, DataYear year, bool isData):
-          type{t},
-          is_valid{ track != nullptr},
-          uncalib_pt{ is_valid? track->pt()*MeVtoGeV : 0},
-          calib_pt{uncalib_pt},
-          eta{is_valid? track->eta() : FLT_MAX},
-          phi{is_valid? track->phi() : FLT_MAX},
-          mass{is_valid? track->m() : 0},
-          charge{charge},
-          year{year},
-          isData{isData},
-          pars {is_valid? track->definingParameters() : AmgVector(5)()},
-          covariance{is_valid ? track->definingParametersCovMatrix() : AmgSymMatrix(5)()}
-          {}
-
-        TrackCalibObj(const xAOD::TrackParticle* track, TrackType t, int charge, double eta, double phi, DataYear year, bool isData):
-          type{t},
-          is_valid{ track != nullptr},
-          uncalib_pt{ is_valid? track->pt()*MeVtoGeV : 0},
-          calib_pt{uncalib_pt},
-          eta{eta},
-          phi{phi},
-          mass{is_valid? track->m() : 0},
-          charge{charge},
-          year{year},
-          isData{isData},
-          pars {is_valid? track->definingParameters() : AmgVector(5)()},
-          covariance{is_valid ? track->definingParametersCovMatrix() : AmgSymMatrix(5)()}
-          {}
-
+        TrackCalibObj(const xAOD::TrackParticle* track, TrackType t, int charge,
+                      DataYear year, bool isData)
+            : type{t},
+              is_valid{track != nullptr},
+              uncalib_pt{(track != nullptr) ? track->pt() * MeVtoGeV : 0},
+              calib_pt{uncalib_pt},
+              eta{(track != nullptr) ? track->eta() : FLT_MAX},
+              phi{(track != nullptr) ? track->phi() : FLT_MAX},
+              mass{(track != nullptr) ? track->m() : 0},
+              charge{charge},
+              year{year},
+              isData{isData},
+              pars{(track != nullptr) ? track->definingParameters()
+                                      : AmgVector(5)()},
+              covariance{(track != nullptr)
+                             ? track->definingParametersCovMatrix()
+                             : AmgSymMatrix(5)()} {}
+
+        TrackCalibObj(const xAOD::TrackParticle* track, TrackType t, int charge,
+                      double eta, double phi, DataYear year, bool isData)
+            : type{t},
+              is_valid{track != nullptr},
+              uncalib_pt{(track != nullptr) ? track->pt() * MeVtoGeV : 0},
+              calib_pt{uncalib_pt},
+              eta{eta},
+              phi{phi},
+              mass{(track != nullptr) ? track->m() : 0},
+              charge{charge},
+              year{year},
+              isData{isData},
+              pars{(track != nullptr) ? track->definingParameters()
+                                      : AmgVector(5)()},
+              covariance{(track != nullptr)
+                             ? track->definingParametersCovMatrix()
+                             : AmgSymMatrix(5)()} {}
 
         TrackCalibObj(TrackType t, int charge, double pt, double eta, double phi, double mass, AmgVector(5) pars, AmgSymMatrix(5) cov, DataYear year, bool isData):
           type{t},
diff --git a/Projects/AnalysisBase/build.sh b/Projects/AnalysisBase/build.sh
index 3b6f8ca1c847..182007b72985 100755
--- a/Projects/AnalysisBase/build.sh
+++ b/Projects/AnalysisBase/build.sh
@@ -9,7 +9,7 @@
 ATLAS_PROJECT_NAME="AnalysisBase"
 ATLAS_PROJECT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
 ATLAS_BUILDTYPE="RelWithDebInfo"
-ATLAS_EXTRA_CMAKE_ARGS=()
+ATLAS_EXTRA_CMAKE_ARGS=(-DBoost_NO_WARN_NEW_VERSIONS=TRUE)
 ATLAS_EXTRA_MAKE_ARGS=()
 
 # Let "the common script" do all the heavy lifting.
diff --git a/Projects/AnalysisBase/build_externals.sh b/Projects/AnalysisBase/build_externals.sh
index 09aebfb6ed8d..4318c39a2e55 100755
--- a/Projects/AnalysisBase/build_externals.sh
+++ b/Projects/AnalysisBase/build_externals.sh
@@ -9,7 +9,9 @@
 ATLAS_PROJECT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
 ATLAS_EXT_PROJECT_NAME="AnalysisBaseExternals"
 ATLAS_BUILDTYPE="RelWithDebInfo"
-ATLAS_EXTRA_CMAKE_ARGS=(-DATLAS_ONNXRUNTIME_USE_CUDA=FALSE)
+ATLAS_EXTRA_CMAKE_ARGS=(-DATLAS_ONNXRUNTIME_USE_CUDA=FALSE
+                        -DATLAS_DAVIX_PATCH="PATCH_COMMAND;sed;-i.orig;51d;deps/curl/CMakeLists.txt"
+                        -DATLAS_DAVIX_FORCEDOWNLOAD_MESSAGE="Forcing the re-download of Davix (2022.12.04.)")
 ATLAS_EXTRA_MAKE_ARGS=()
 
 # Let "the common script" do all the heavy lifting.
diff --git a/Projects/AnalysisBase/externals.txt b/Projects/AnalysisBase/externals.txt
index e737f161f8e3..2d5b312f381b 100644
--- a/Projects/AnalysisBase/externals.txt
+++ b/Projects/AnalysisBase/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AnalysisBaseExternalsVersion = 2.0.144
+AnalysisBaseExternalsVersion = 2.0.145
diff --git a/Projects/AthAnalysis/build.sh b/Projects/AthAnalysis/build.sh
index 2d96e8f25ad9..ce6cde6ec549 100755
--- a/Projects/AthAnalysis/build.sh
+++ b/Projects/AthAnalysis/build.sh
@@ -9,7 +9,7 @@
 ATLAS_PROJECT_NAME="AthAnalysis"
 ATLAS_PROJECT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
 ATLAS_BUILDTYPE="RelWithDebInfo"
-ATLAS_EXTRA_CMAKE_ARGS=()
+ATLAS_EXTRA_CMAKE_ARGS=(-DBoost_NO_WARN_NEW_VERSIONS=TRUE)
 ATLAS_EXTRA_MAKE_ARGS=()
 
 # Let "the common script" do all the heavy lifting.
diff --git a/Projects/AthAnalysis/build_externals.sh b/Projects/AthAnalysis/build_externals.sh
index d7b6383a48c8..95fd74b92551 100755
--- a/Projects/AthAnalysis/build_externals.sh
+++ b/Projects/AthAnalysis/build_externals.sh
@@ -9,8 +9,8 @@
 ATLAS_PROJECT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
 ATLAS_EXT_PROJECT_NAME="AthAnalysisExternals"
 ATLAS_BUILDTYPE="RelWithDebInfo"
-ATLAS_EXTRA_CMAKE_ARGS=(-DLCG_VERSION_NUMBER=101
-                        -DLCG_VERSION_POSTFIX="_ATLAS_26"
+ATLAS_EXTRA_CMAKE_ARGS=(-DLCG_VERSION_NUMBER=102
+                        -DLCG_VERSION_POSTFIX="b_ATLAS_6"
                         -DATLAS_GAUDI_SOURCE="URL;https://gitlab.cern.ch/atlas/Gaudi/-/archive/v36r6.003/Gaudi-v36r6.003.tar.gz;URL_MD5;e7b279804438a7c68b190084fe2592a7"
                         -DATLAS_ONNXRUNTIME_USE_CUDA=FALSE)
 ATLAS_EXTRA_MAKE_ARGS=()
diff --git a/Projects/AthAnalysis/externals.txt b/Projects/AthAnalysis/externals.txt
index 9b194b1877b2..4a751aa466c5 100644
--- a/Projects/AthAnalysis/externals.txt
+++ b/Projects/AthAnalysis/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthAnalysisExternalsVersion = 2.0.144
+AthAnalysisExternalsVersion = 2.0.145
diff --git a/Projects/AthDataQuality/externals.txt b/Projects/AthDataQuality/externals.txt
index 1938614a6a13..6d764fe1edaf 100644
--- a/Projects/AthDataQuality/externals.txt
+++ b/Projects/AthDataQuality/externals.txt
@@ -5,4 +5,4 @@
 # an "origin/" prefix before it. For tags however this is explicitly
 # forbidden.
 
-AtlasExternalsVersion = 2.0.144
+AtlasExternalsVersion = 2.0.145
diff --git a/Projects/AthDerivation/externals.txt b/Projects/AthDerivation/externals.txt
index e703006d6a26..3e474568d4eb 100644
--- a/Projects/AthDerivation/externals.txt
+++ b/Projects/AthDerivation/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthDerivationExternalsVersion = 2.0.144
+AthDerivationExternalsVersion = 2.0.145
diff --git a/Projects/AthGeneration/externals.txt b/Projects/AthGeneration/externals.txt
index c54bf988b8f3..ceffe14a79fc 100644
--- a/Projects/AthGeneration/externals.txt
+++ b/Projects/AthGeneration/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthGenerationExternalsVersion = 2.0.144
+AthGenerationExternalsVersion = 2.0.145
diff --git a/Projects/AthSimulation/externals.txt b/Projects/AthSimulation/externals.txt
index 15f16ab21180..7b044d38c433 100644
--- a/Projects/AthSimulation/externals.txt
+++ b/Projects/AthSimulation/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthSimulationExternalsVersion = 2.0.144
+AthSimulationExternalsVersion = 2.0.145
diff --git a/Projects/Athena/externals.txt b/Projects/Athena/externals.txt
index c06a120000f5..7e4858c3fbff 100644
--- a/Projects/Athena/externals.txt
+++ b/Projects/Athena/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthenaExternalsVersion = 2.0.144
+AthenaExternalsVersion = 2.0.145
diff --git a/Projects/DetCommon/externals.txt b/Projects/DetCommon/externals.txt
index 80bf81f7e41b..1139e87b565f 100644
--- a/Projects/DetCommon/externals.txt
+++ b/Projects/DetCommon/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AtlasExternalsVersion = 2.0.144
+AtlasExternalsVersion = 2.0.145
diff --git a/Projects/VP1Light/externals.txt b/Projects/VP1Light/externals.txt
index 21b974282496..4d189ff418d7 100644
--- a/Projects/VP1Light/externals.txt
+++ b/Projects/VP1Light/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-VP1LightExternalsVersion = 2.0.144
+VP1LightExternalsVersion = 2.0.145
-- 
GitLab