diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/LArSCHitD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/LArSCHitD3PDObject.py
index bf0b49cc9129a1dc8626e084749fc46d669fb9d2..d384a1347c3b363a4ddc7c990aa750d232a18a02 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/LArSCHitD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/LArSCHitD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import CaloSysD3PDMaker
 import D3PDMakerCoreComps
@@ -9,20 +9,20 @@ from math import pi
 def _hookForLArSCHitD3PDObject_(c, *arg, **kw ):
 
     basFiller = getattr(c, c.name() + '_Basic', None)
-    print "getattr(c, c.name()) / Type= ", type(basFiller)
-    if "CaloEtaCut" in kw.keys():
+    print("getattr(c, c.name()) / Type= ", type(basFiller))
+    if "CaloEtaCut" in list(kw.keys()):
         basFiller.CaloEtaCut = kw["CaloEtaCut"]
-    if "CaloPhiCut" in kw.keys():
+    if "CaloPhiCut" in list(kw.keys()):
         basFiller.CaloPhiCut = kw["CaloPhiCut"]
-    if "CaloLayers" in kw.keys():
+    if "CaloLayers" in list(kw.keys()):
         basFiller.CaloLayers = kw["CaloLayers"]
-    if "CaloDetectors" in kw.keys():
+    if "CaloDetectors" in list(kw.keys()):
         basFiller.CaloDetectors = kw["CaloDetectors"]
 
-    print "%s - CaloEtaCut = " % (basFiller.name()), basFiller.CaloEtaCut
-    print "%s - CaloPhiCut = " % (basFiller.name()), basFiller.CaloPhiCut
-    print "%s - CaloLayersCut = " % (basFiller.name()), basFiller.CaloLayers
-    print "%s - CaloDetectors = " % (basFiller.name()), basFiller.CaloDetectors
+    print("%s - CaloEtaCut = " % (basFiller.name()), basFiller.CaloEtaCut)
+    print("%s - CaloPhiCut = " % (basFiller.name()), basFiller.CaloPhiCut)
+    print("%s - CaloLayersCut = " % (basFiller.name()), basFiller.CaloLayers)
+    print("%s - CaloDetectors = " % (basFiller.name()), basFiller.CaloDetectors)
 
     return 
 
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/SCD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/SCD3PDObject.py
index bb7364f4a1d92fb0950a3d9e386c3573bf72bd6e..d8d161660399507254a788425bda8875d1ab63d4 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/SCD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/SCD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import D3PDMakerCoreComps
 from D3PDMakerCoreComps.D3PDObject import D3PDObject
@@ -17,22 +17,22 @@ AllSCD3PDObject.defineBlock( 0, 'Basic', CaloSysD3PDMaker.SCFillerTool )
 def _hookForSCD3PDObject_(c, *arg, **kw ):
 
     basFiller = getattr(c, c.name() + '_Basic', None)
-    print "getattr(c, c.name()) / Type= ", type(basFiller)
-    if "CaloEtaCut" in kw.keys():
+    print("getattr(c, c.name()) / Type= ", type(basFiller))
+    if "CaloEtaCut" in list(kw.keys()):
         basFiller.CaloEtaCut = kw["CaloEtaCut"]
-    if "CaloPhiCut" in kw.keys():
+    if "CaloPhiCut" in list(kw.keys()):
         basFiller.CaloPhiCut = kw["CaloPhiCut"]
-    if "CaloLayers" in kw.keys():
+    if "CaloLayers" in list(kw.keys()):
         basFiller.CaloLayers = kw["CaloLayers"]
-    if "CaloDetectors" in kw.keys():
+    if "CaloDetectors" in list(kw.keys()):
         basFiller.CaloDetectors = kw["CaloDetectors"]
-    if "TileDLayerOption" in kw.keys():
+    if "TileDLayerOption" in list(kw.keys()):
         basFiller.TileDLayerOption = kw["TileDLayerOption"]
         
-    print "%s - CaloEtaCut = " % (basFiller.name()), basFiller.CaloEtaCut
-    print "%s - CaloPhiCut = " % (basFiller.name()), basFiller.CaloPhiCut
-    print "%s - CaloLayersCut = " % (basFiller.name()), basFiller.CaloLayers
-    print "%s - CaloDetectors = " % (basFiller.name()), basFiller.CaloDetectors
+    print("%s - CaloEtaCut = " % (basFiller.name()), basFiller.CaloEtaCut)
+    print("%s - CaloPhiCut = " % (basFiller.name()), basFiller.CaloPhiCut)
+    print("%s - CaloLayersCut = " % (basFiller.name()), basFiller.CaloLayers)
+    print("%s - CaloDetectors = " % (basFiller.name()), basFiller.CaloDetectors)
     #print "%s - TileDLayerOption = " % (basFiller.name()), basFiller.TileDLayerOption
     return 
 
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileCosmicMuonD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileCosmicMuonD3PDObject.py
index 9d359c4349fc8e7d40fd6d6ff2ca9f3101a4340a..089e349a0a85dedeee129e1133cba6d82bcd0238 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileCosmicMuonD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileCosmicMuonD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import CaloSysD3PDMaker
 import D3PDMakerCoreComps
@@ -14,10 +14,10 @@ def makeTileCosmicMuonD3PDObject (name, prefix, object_name='TileCosmicMuonD3PDO
     if label == None: label = prefix
 
     
-    print " makeTileCosmicMuonD3PDObject: name = ", name
-    print " makeTileCosmicMuonD3PDObject: prefix = ", prefix
-    print " makeTileCosmicMuonD3PDObject: object_name = ", object_name
-    print " makeTileCosmicMuonD3PDObject: sgkey = ", sgkey
+    print(" makeTileCosmicMuonD3PDObject: name = ", name)
+    print(" makeTileCosmicMuonD3PDObject: prefix = ", prefix)
+    print(" makeTileCosmicMuonD3PDObject: object_name = ", object_name)
+    print(" makeTileCosmicMuonD3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileDetailsD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileDetailsD3PDObject.py
index 1e53717ed639330687aab16deb0aaed1564a1440..f812414bca8ebaea78b67dfb776ecf4428f16848 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileDetailsD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileDetailsD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # $Id: TileDetailsD3PDObject.py 522639 2012-10-22 09:41:42Z ssnyder $
 
@@ -21,10 +21,10 @@ def makeTileD3PDObject (name, prefix, object_name='TileDetailsD3PDObject', gette
     if label == None: label = prefix
 
     
-    print " makeTileD3PDObject: name = ", name
-    print " makeTileD3PDObject: prefix = ", prefix
-    print " makeTileD3PDObject: object_name = ", object_name
-    print " makeTileD3PDObject: sgkey = ", sgkey
+    print(" makeTileD3PDObject: name = ", name)
+    print(" makeTileD3PDObject: prefix = ", prefix)
+    print(" makeTileD3PDObject: object_name = ", object_name)
+    print(" makeTileD3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
@@ -52,7 +52,7 @@ def hookForTileCellFilterAlg(c, prefix, *args, **kw) :
     if BaseSGKey == None or BaseSGKey=='holder' : BaseSGKey='AllCalo'
     sgkey = prefix
 
-    print " in makeTileD3PDObject, sgkey, cellSigmaCut = ",  sgkey, cellSigmaCut
+    print(" in makeTileD3PDObject, sgkey, cellSigmaCut = ",  sgkey, cellSigmaCut)
 
     filter = makeTileCellFilterAlg(OutputCellsName=sgkey, 
                                    CellSigmaCut=cellSigmaCut, 
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileL2D3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileL2D3PDObject.py
index a1094ce07b023c00a51eba4fea1e37fc8821cf2c..e47393904f3f6dc7c1a836174d590a8c7b95570e 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileL2D3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileL2D3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import CaloSysD3PDMaker
 import D3PDMakerCoreComps
@@ -11,10 +11,10 @@ def makeTileL2D3PDObject (name, prefix, object_name='TileL2D3PDObject', getter =
     if label == None: label = prefix
 
     
-    print " makeTileL2D3PDObject: name = ", name
-    print " makeTileL2D3PDObject: prefix = ", prefix
-    print " makeTileL2D3PDObject: object_name = ", object_name
-    print " makeTileL2D3PDObject: sgkey = ", sgkey
+    print(" makeTileL2D3PDObject: name = ", name)
+    print(" makeTileL2D3PDObject: prefix = ", prefix)
+    print(" makeTileL2D3PDObject: object_name = ", object_name)
+    print(" makeTileL2D3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileMuD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileMuD3PDObject.py
index 370d15317e90edfd23271ed9b19c0ea86da4a480..df8c92cdbb8cfa5c879b26e3956e221baadba815 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileMuD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileMuD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import CaloSysD3PDMaker
 import D3PDMakerCoreComps
@@ -11,10 +11,10 @@ def makeTileMuD3PDObject (name, prefix, object_name='TileMuD3PDObject', getter =
     if label == None: label = prefix
 
     
-    print " makeTileMuD3PDObject: name = ", name
-    print " makeTileMuD3PDObject: prefix = ", prefix
-    print " makeTileMuD3PDObject: object_name = ", object_name
-    print " makeTileMuD3PDObject: sgkey = ", sgkey
+    print(" makeTileMuD3PDObject: name = ", name)
+    print(" makeTileMuD3PDObject: prefix = ", prefix)
+    print(" makeTileMuD3PDObject: object_name = ", object_name)
+    print(" makeTileMuD3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTTL1D3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTTL1D3PDObject.py
index c95112c76a724d970fa09cdf3809c5ffa5395482..92705525b3c651597e0192512d59d448b44bb1c4 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTTL1D3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTTL1D3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import CaloSysD3PDMaker
 import D3PDMakerCoreComps
@@ -11,10 +11,10 @@ def makeTileTTL1D3PDObject (name, prefix, object_name='TileTTL1D3PDObject', gett
     if label == None: label = prefix
 
     
-    print " makeTileTTL1D3PDObject: name = ", name
-    print " makeTileTTL1D3PDObject: prefix = ", prefix
-    print " makeTileTTL1D3PDObject: object_name = ", object_name
-    print " makeTileTTL1D3PDObject: sgkey = ", sgkey
+    print(" makeTileTTL1D3PDObject: name = ", name)
+    print(" makeTileTTL1D3PDObject: prefix = ", prefix)
+    print(" makeTileTTL1D3PDObject: object_name = ", object_name)
+    print(" makeTileTTL1D3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTriggerD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTriggerD3PDObject.py
index 2c63f242925b5993f6bee8413f4e07d826fa63fa..88080f4453d11a8738f965f555f06939569cda25 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTriggerD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TileTriggerD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 import CaloSysD3PDMaker
 import D3PDMakerCoreComps
@@ -11,10 +11,10 @@ def makeTileTriggerD3PDObject (name, prefix, object_name='TileTriggerD3PDObject'
     if label == None: label = prefix
 
     
-    print " makeTileTriggerD3PDObject: name = ", name
-    print " makeTileTriggerD3PDObject: prefix = ", prefix
-    print " makeTileTriggerD3PDObject: object_name = ", object_name
-    print " makeTileTriggerD3PDObject: sgkey = ", sgkey
+    print(" makeTileTriggerD3PDObject: name = ", name)
+    print(" makeTileTriggerD3PDObject: prefix = ", prefix)
+    print(" makeTileTriggerD3PDObject: object_name = ", object_name)
+    print(" makeTileTriggerD3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TowerD3PDObject.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TowerD3PDObject.py
index ef60fae8178fde794204d881969b3349d2f5d19d..af0fd7e2e9411b52dc6829bf066eb092c68eb3fa 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TowerD3PDObject.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/TowerD3PDObject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # $Id: TowerD3PDObject.py 470396 2011-11-24 16:42:13Z krasznaa $
 
@@ -16,10 +16,10 @@ def makeTowerD3PDObject (name, prefix, object_name='TowerD3PDObject', getter = N
     
     if sgkey== 'TopoTower': ContainerType='CaloTopoTowerContainer'
     
-    print " makeTowerD3PDObject: name = ", name
-    print " makeTowerD3PDObject: prefix = ", prefix
-    print " makeTowerD3PDObject: object_name = ", object_name
-    print " makeTowerD3PDObject: sgkey = ", sgkey
+    print(" makeTowerD3PDObject: name = ", name)
+    print(" makeTowerD3PDObject: prefix = ", prefix)
+    print(" makeTowerD3PDObject: object_name = ", object_name)
+    print(" makeTowerD3PDObject: sgkey = ", sgkey)
 
     if not getter:
         getter = D3PDMakerCoreComps.SGDataVectorGetterTool \
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/__init__.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/__init__.py
index 40af18a9eb971755b9f5cb201609c14666f39e32..f29b92600d6d4046ad8485925bffeab7f442a2ca 100644
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/__init__.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/python/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 #
 # @file CaloSysD3PDMaker/python/__init__.py
@@ -17,8 +17,8 @@
 
 
 import CaloSysD3PDMakerConf
-for k, v in CaloSysD3PDMakerConf.__dict__.items():
+for k, v in list(CaloSysD3PDMakerConf.__dict__.items()):
     if k.startswith ('D3PD__'):
         globals()[k[6:]] = v
 
-from ClusterMomentFillerTool import ClusterMomentFillerTool
+from .ClusterMomentFillerTool import ClusterMomentFillerTool
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCD3PD_topOptions.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCD3PD_topOptions.py
index 8c8204f34d7d9d6c406c820ff7a1e048c66c6d1f..074e9cd58aa11b32aea6d4a141924aade968078f 100755
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCD3PD_topOptions.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCD3PD_topOptions.py
@@ -1,3 +1,5 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
 if "doSimpleSC" not in dir() : 
      doSimpleSC = False
 
@@ -151,7 +153,7 @@ addBunchStructureMetadata(alg)
 def _args (level, name, kwin, **kw):
     kw = kw.copy()
     kw['level'] = level
-    for (k, v) in kwin.items():
+    for (k, v) in list(kwin.items()):
         if k.startswith (name + '_'):
             kw[k[len(name)+1:]] = v
     return kw
diff --git a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCLArHitD3PD_topOptions.py b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCLArHitD3PD_topOptions.py
index 768df99ba73bfdaea6586dcaaa43705bc84fe540..6c3b3bd7aae032ed97e6ed5f47af197a3fa4f64a 100755
--- a/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCLArHitD3PD_topOptions.py
+++ b/PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker/share/MakeSCLArHitD3PD_topOptions.py
@@ -1,3 +1,5 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
 #--------------------------------------------------------------
 # Job options file for Dumping LArHit to d3pd
 #--------------------------------------------------------------
@@ -13,8 +15,8 @@ from AthenaCommon.JobProperties import jobproperties
 jobproperties.Global.DetDescrVersion = "ATLAS-IBL-03-00-00"
 jobproperties.Global.ConditionsTag = "OFLCOND-SDR-BS14T-IBL-CORR-06-02"
 
-print "**** JOBPROPERTIES.GLOBAL"
-print jobproperties.Global
+print("**** JOBPROPERTIES.GLOBAL")
+print(jobproperties.Global)
 from AthenaCommon.DetFlags import DetFlags
 DetFlags.Calo_setOn() 
 DetFlags.ID_setOff()
@@ -47,7 +49,7 @@ if larCondFlags.LArDBConnection.statusOn  :
   LArDB = ""
 larCondFlags.config_ElecCalibMC()
 if svcMgr.MessageSvc.OutputLevel <= DEBUG :
-  print larCondFlags
+  print(larCondFlags)
 from IOVDbSvc.CondDB import conddb
 larCondDBFolders = ["/LAR/ElecCalibMC/fSampl"]
 for i in larCondDBFolders :
@@ -121,7 +123,7 @@ alg += LArSCHitD3PDObject(0, prefix='hfcalsc_', sgKey="LArHitFCAL",
 
 # CaloDetectors=myDetectors)
 
-print " All Top Algorithms ", theApp.TopAlg
+print(" All Top Algorithms ", theApp.TopAlg)
 
         
 
diff --git a/Projects/Athena/package_filters.txt b/Projects/Athena/package_filters.txt
index 5a26e9a830f9e10eff6a784899885804deb217c6..d53ba75d8257def09069da5ce407aa34a218b0c2 100644
--- a/Projects/Athena/package_filters.txt
+++ b/Projects/Athena/package_filters.txt
@@ -54,7 +54,6 @@
 
 # Huge D3PD librarys not really useful any more
 - PhysicsAnalysis/D3PDMaker/InDetD3PDMaker
-- PhysicsAnalysis/D3PDMaker/CaloSysD3PDMaker
 
 # Don't build PerfMonVTune which has external Intel tool dependency
 - Control/PerformanceMonitoring/PerfMonVTune