diff --git a/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingContainerFwd.h b/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingContainerFwd.h
new file mode 100644
index 0000000000000000000000000000000000000000..77792c0dd0b9041ee4e026c013664b70d4708a00
--- /dev/null
+++ b/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingContainerFwd.h
@@ -0,0 +1,19 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef XAODBTAGGING_BTAGGINGCONTAINERFWD_H
+#define XAODBTAGGING_BTAGGINGCONTAINERFWD_H
+
+#include "AthContainers/DataVector.h"
+#include "xAODBTagging/BTaggingFwd.h"
+
+namespace xAOD {
+   /// Definition of the current container version
+  typedef DataVector<BTagging> BTaggingContainer;
+}
+
+
+#endif // XAODBTAGGING_BTAGGINGCONTAINERFWD_H
diff --git a/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingFwd.h b/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingFwd.h
new file mode 100644
index 0000000000000000000000000000000000000000..283955f3caa81131ddd6974a9bd26973a72100cd
--- /dev/null
+++ b/Event/xAOD/xAODBTagging/xAODBTagging/BTaggingFwd.h
@@ -0,0 +1,17 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef XAODBTAGGING_BTAGGINGFWD_H
+#define XAODBTAGGING_BTAGGINGFWD_H
+
+/// Namespace holding all the xAOD EDM classes
+namespace xAOD {
+  /// Definition of the current version
+  class BTagging_v1;
+  typedef BTagging_v1 BTagging;
+}
+
+#endif // XAODBTAGGING_BTAGGINGFWD_H
diff --git a/Event/xAOD/xAODJet/xAODJet/JetContainerFwd.h b/Event/xAOD/xAODJet/xAODJet/JetContainerFwd.h
new file mode 100644
index 0000000000000000000000000000000000000000..499ac8e6a114467b631254747bffec8a00e6a9c7
--- /dev/null
+++ b/Event/xAOD/xAODJet/xAODJet/JetContainerFwd.h
@@ -0,0 +1,20 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef XAODJET_JETCONTAINERFWD_H
+#define XAODJET_JETCONTAINERFWD_H
+
+#include "AthContainers/DataVector.h"
+#include "xAODBase/IParticleContainer.h"
+#include "xAODJet/JetFwd.h"
+
+DATAVECTOR_BASE_FWD(xAOD::Jet, xAOD::IParticle);
+namespace xAOD {
+   /// Definition of the current container version
+  typedef DataVector<Jet> JetContainer;
+}
+
+#endif // XAODJET_JETCONTAINERFWD_H
diff --git a/Event/xAOD/xAODJet/xAODJet/JetFwd.h b/Event/xAOD/xAODJet/xAODJet/JetFwd.h
new file mode 100644
index 0000000000000000000000000000000000000000..10f0e14802100afa46597d3fdb6bb517361e3ab6
--- /dev/null
+++ b/Event/xAOD/xAODJet/xAODJet/JetFwd.h
@@ -0,0 +1,18 @@
+// Dear emacs, this is -*- c++ -*-
+
+/*
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef XAODJET_JETFWD_H
+#define XAODJET_JETFWD_H
+
+
+/// Namespace holding all the xAOD EDM classes
+namespace xAOD {
+  /// Definition of the current version
+  class Jet_v1;
+  typedef Jet_v1 Jet;
+}
+
+#endif // XAODJET_JETFWD_H
diff --git a/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h b/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h
index 750807591fbcbeff30e8e17e26b35660df02f0ff..f8c041d9c31f65bcf58bf0d3159a1fa47b3fa13a 100644
--- a/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h
+++ b/Event/xAOD/xAODJet/xAODJet/versions/Jet_v1.h
@@ -24,6 +24,8 @@
 #include "xAODJet/JetTypes.h"
 #include "xAODJet/JetContainerInfo.h"
 
+#include "xAODJet/JetContainerFwd.h"
+
 namespace fastjet {
   class PseudoJet;
 }
@@ -350,7 +352,7 @@ namespace xAOD {
 } // namespace xAOD
 
 // Declare IParticle as a base class of Jet_v1:
-DATAVECTOR_BASE( xAOD::Jet_v1, xAOD::IParticle );
+DATAVECTOR_BASE_FIN( xAOD::Jet_v1, xAOD::IParticle );
 
 #include "xAODJet/versions/Jet_v1.icc"
 
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagDecoratorAlg.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagDecoratorAlg.h
index 54aab2e6dcc571e081ff7dfe7feb5eb738c74fd5..8d4a37b150551b3bb39d8e53463d2b831e38806c 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagDecoratorAlg.h
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagDecoratorAlg.h
@@ -9,6 +9,7 @@
 #include "FlavorTagDiscriminants/IBTagDecorator.h"
 
 #include "xAODBTagging/BTaggingContainer.h"
+#include "xAODTracking/TrackParticleContainer.h"
 #include "StoreGate/WriteDecorHandleKey.h"
 #include "StoreGate/ReadDecorHandleKey.h"
 
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagMuonAugmenter.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagMuonAugmenter.h
index c9443bc29e16ad7b79d7ff60bf408afe0fada3c8..625b3a3b2829bb12ab4b2815339db89b39550837 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagMuonAugmenter.h
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagMuonAugmenter.h
@@ -6,7 +6,8 @@
 #ifndef BTAG_MUON_AUGMENTER_H
 #define BTAG_MUON_AUGMENTER_H
 
-#include "xAODBTagging/BTagging.h"
+#include "xAODBTagging/BTaggingFwd.h"
+#include "xAODJet/JetContainer.h"
 #include "xAODMuon/MuonContainer.h"
 #include "xAODEventInfo/EventInfo.h"
 #include "FlavorTagDiscriminants/FlipTagEnums.h"
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagTrackIpAccessor.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagTrackIpAccessor.h
index c60760faad901aa3fa978f8440155941d4806915..d93afc1a2c6e5247e20a466a4b9ac6dca355b453 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagTrackIpAccessor.h
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/BTagTrackIpAccessor.h
@@ -13,8 +13,8 @@
 #include "AthContainers/AuxElement.h"
 #include "AthLinks/ElementLink.h"
 
-#include "xAODTracking/TrackParticleContainer.h"
-#include "xAODJet/Jet.h"
+#include "xAODTracking/TrackParticleContainerFwd.h"
+#include "xAODJet/JetFwd.h"
 
 struct BTagSignedIP {
   double ip2d_signed_d0;
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2HighLevel.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2HighLevel.h
index 779d201b1590cda93f2d17698abea29f9feedb1f..7bb8fa6b2f4af3241a95b2761a114c4205d0be1c 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2HighLevel.h
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/DL2HighLevel.h
@@ -9,7 +9,7 @@
 #include "FlavorTagDiscriminants/DL2DataDependencyNames.h"
 
 // EDM includes
-#include "xAODBTagging/BTagging.h"
+#include "xAODBTagging/BTaggingFwd.h"
 
 #include <memory>
 #include <string>
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/IBTagDecorator.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/IBTagDecorator.h
index 1669c263d6d78d7e69b28a529c3728942b264db0..7fbaee5ae5aa81e0c900f42b633c8357795658a3 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/IBTagDecorator.h
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/IBTagDecorator.h
@@ -7,7 +7,7 @@
 #define I_BTAG_DECORATOR_H
 
 #include "AsgTools/IAsgTool.h"
-#include "xAODBTagging/BTagging.h"
+#include "xAODBTagging/BTaggingFwd.h"
 
 class IBTagDecorator : virtual public asg::IAsgTool {
 ASG_TOOL_INTERFACE(IBTagDecorator)
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/VRJetOverlapDecoratorTool.h b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/VRJetOverlapDecoratorTool.h
index 59e2f4651017b8f3e8d9cf75c881a1d93c6440cd..d06761794ce2102609502a9245d398c595c82bdb 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/VRJetOverlapDecoratorTool.h
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/VRJetOverlapDecoratorTool.h
@@ -8,6 +8,7 @@
 
 #include "AsgTools/AsgTool.h"
 #include "JetInterface/IJetDecorator.h"
+#include "xAODJet/JetContainerFwd.h"
 
 class VRJetOverlapDecorator;
 
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagDecoratorAlg.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagDecoratorAlg.cxx
index 0b55751d16dc8dc9883ab65b2ea6512346dc6bfd..ec14c37a96748c5c9452f36131ab1c63bf69bfda 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagDecoratorAlg.cxx
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagDecoratorAlg.cxx
@@ -3,6 +3,8 @@
 */
 
 #include "FlavorTagDiscriminants/BTagDecoratorAlg.h"
+#include "xAODBTagging/BTaggingContainer.h"
+#include "xAODTracking/TrackParticleContainer.h"
 #include "StoreGate/ReadDecorHandle.h"
 
 #include <exception>
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagToJetLinkerAlg.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagToJetLinkerAlg.cxx
index ed109c66d0c2a108bd9830391c6a3d7e929ea2ca..72540f34520983dd4c650b9d109061c7a240723c 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagToJetLinkerAlg.cxx
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagToJetLinkerAlg.cxx
@@ -2,10 +2,14 @@
   Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
+#include "xAODBTagging/BTaggingContainer.h"
+#include "xAODJet/JetContainer.h"
+
 #include "FlavorTagDiscriminants/BTagToJetLinkerAlg.h"
 #include "StoreGate/WriteDecorHandle.h"
 #include "StoreGate/ReadDecorHandle.h"
 
+
 namespace FlavorTagDiscriminants {
   BTagToJetLinkerAlg::BTagToJetLinkerAlg(
     const std::string& name, ISvcLocator* svcloc):
diff --git a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagTrackLinkCopyAlg.cxx b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagTrackLinkCopyAlg.cxx
index ce27a451c164aa5e4970d07c26871e34b42a331a..1465e10f2c2c2021e1f993d86505f121580c48e4 100644
--- a/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagTrackLinkCopyAlg.cxx
+++ b/PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/src/BTagTrackLinkCopyAlg.cxx
@@ -2,10 +2,13 @@
   Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
+#include "xAODBTagging/BTaggingContainer.h"
 #include "FlavorTagDiscriminants/BTagTrackLinkCopyAlg.h"
+#include "xAODJet/JetContainer.h"
+#include "xAODTracking/TrackParticleContainer.h"
+
 #include "StoreGate/WriteDecorHandle.h"
 #include "StoreGate/ReadDecorHandle.h"
-#include "xAODTracking/TrackParticleContainer.h"
 
 namespace FlavorTagDiscriminants {
   BTagTrackLinkCopyAlg::BTagTrackLinkCopyAlg(