From 804b3a9417f7ffaa51f7710f2ecc11420a3980b3 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <fwinkl@cern>
Date: Fri, 20 Nov 2020 15:36:22 +0100
Subject: [PATCH] InDetD3PDMaker: delete package

D3PDs are no longer used for the inner detector. Besides, this packages
was already disabled in the build for a long time.
---
 .../D3PDMakerConfig/python/D3PDProdFlags.py   |   3 -
 .../D3PDMaker/InDetD3PDMaker/CMakeLists.txt   |  66 --
 .../python/BeamSpotD3PDObject.py              |  25 -
 .../python/InDetD3PDMakerPixelFlags.py        | 179 -----
 .../python/InDetD3PDMakerSCTFlags.py          | 200 -----
 .../python/PixelClusterD3PDObject.py          |  36 -
 .../python/PixelHitOnTrackAssociation.py      |  17 -
 .../python/PixelRDOD3PDObject.py              |  33 -
 .../python/SCTClusterD3PDObject.py            |  34 -
 .../InDetD3PDMaker/python/SCTRDOD3PDObject.py |  32 -
 .../python/SctHitOnTrackAssociation.py        |  17 -
 .../InDetD3PDMaker/python/SiHitD3PDObject.py  | 104 ---
 .../python/TRTPhaseD3PDObject.py              |  29 -
 .../python/TRTUncompressedHitD3PDObject.py    |  34 -
 .../InDetD3PDMaker/python/TrackD3PD.py        |  50 --
 .../InDetD3PDMaker/python/TrackD3PDObject.py  | 324 --------
 .../python/TrackParticleD3PDObjects.py        |  37 -
 .../python/TrackStateOnSurfaceAssociation.py  | 114 ---
 .../python/TrkTrackD3PDObjects.py             | 100 ---
 .../python/TruthTrackD3PDObject.py            |  45 --
 .../python/TruthVertexD3PDObject.py           |  30 -
 .../InDetD3PDMaker/python/V0D3PDObject.py     |  67 --
 .../python/VertexD3PDAnalysisFlags.py         | 181 -----
 .../python/VertexD3PDAnalysisKeys.py          | 118 ---
 .../python/VertexD3PDAnalysisProdFlags.py     |  38 -
 .../InDetD3PDMaker/python/VertexD3PDObject.py | 164 -----
 .../InDetD3PDMaker/python/VertexGroupD3PD.py  | 296 --------
 .../InDetD3PDMaker/python/__init__.py         |   7 -
 .../python/trackBeamlineParametersFiller.py   |  72 --
 .../python/trackIsolationTool.py              | 223 ------
 .../trackParticleLastParametersFiller.py      |  48 --
 .../InDetD3PDMaker/share/PixelNtuple.py       | 260 -------
 .../InDetD3PDMaker/share/RecoOptions.py       | 163 -----
 .../share/RecoSetupForSctNtuple.py            | 184 -----
 .../InDetD3PDMaker/share/SCTNtuple.py         | 283 -------
 .../share/SctNtuple_topOptions.py             |  61 --
 .../share/SimHitsD3PD_jobOptions.py           |  84 ---
 .../share/TrackD3PD_topOptions.py             |  67 --
 .../share/VertexGroupD3PD_configure.py        |   9 -
 .../share/VertexGroupD3PD_jobOptions.py       |  38 -
 .../share/VertexGroupD3PD_loadConfig.py       | 112 ---
 .../share/VertexGroupD3PD_prodJobOFragment.py |  65 --
 .../share/VertexGroupD3PD_topOptions.py       |  73 --
 .../share/VertexLumiD3PD_configure.py         |  12 -
 .../share/VertexLumiD3PD_prodJobOFragment.py  |  64 --
 .../InDetD3PDMaker/src/BeamSpotFillerTool.cxx |  95 ---
 .../InDetD3PDMaker/src/BeamSpotFillerTool.h   |  81 --
 .../InDetD3PDMaker/src/BeamSpotGetterTool.cxx |  62 --
 .../InDetD3PDMaker/src/BeamSpotGetterTool.h   |  52 --
 .../src/ClusterAssocFillerTool.cxx            | 375 ----------
 .../src/ClusterAssocFillerTool.h              |  81 --
 .../src/ClusterAssocPixelFillerTool.cxx       | 372 ----------
 .../src/ClusterAssocPixelFillerTool.h         |  81 --
 .../src/ErrorMatrixCovarianceFillerTool.cxx   | 114 ---
 .../src/ErrorMatrixCovarianceFillerTool.h     | 102 ---
 .../src/ErrorMatrixErrorFillerTool.cxx        | 114 ---
 .../src/ErrorMatrixErrorFillerTool.h          |  97 ---
 .../src/InDetTSOSAssociationHelper.cxx        | 278 -------
 .../src/InDetTSOSAssociationHelper.h          |  60 --
 .../src/PixelClusterCollectionGetterTool.cxx  | 154 ----
 .../src/PixelClusterCollectionGetterTool.h    |  62 --
 .../src/PixelClusterFillerTool.cxx            | 147 ----
 .../src/PixelClusterFillerTool.h              |  70 --
 .../PixelClusterPixelRDOAssociationTool.cxx   | 231 ------
 .../src/PixelClusterPixelRDOAssociationTool.h | 140 ----
 ...lClusterToTrackParticleAssociationTool.cxx | 194 -----
 ...xelClusterToTrackParticleAssociationTool.h |  85 ---
 .../src/PixelRDOClusterAssociationTool.cxx    | 181 -----
 .../src/PixelRDOClusterAssociationTool.h      |  81 --
 .../src/PixelRDOCollectionGetterTool.cxx      | 139 ----
 .../src/PixelRDOCollectionGetterTool.h        |  65 --
 .../InDetD3PDMaker/src/PixelRDOFillerTool.cxx | 102 ---
 .../InDetD3PDMaker/src/PixelRDOFillerTool.h   |  69 --
 .../src/SCTByteStreamErrorFillerTool.cxx      | 112 ---
 .../src/SCTByteStreamErrorFillerTool.h        |  79 --
 .../src/SCTClusterCollectionGetterTool.cxx    | 134 ----
 .../src/SCTClusterCollectionGetterTool.h      |  52 --
 .../src/SCTClusterFillerTool.cxx              | 121 ---
 .../InDetD3PDMaker/src/SCTClusterFillerTool.h |  61 --
 .../src/SCTClusterSCTRDOAssociationTool.cxx   | 230 ------
 .../src/SCTClusterSCTRDOAssociationTool.h     | 140 ----
 ...TClusterToTrackParticleAssociationTool.cxx | 196 -----
 ...SCTClusterToTrackParticleAssociationTool.h |  85 ---
 .../src/SCTRDOClusterAssociationTool.cxx      | 182 -----
 .../src/SCTRDOClusterAssociationTool.h        |  87 ---
 .../src/SCTRDOCollectionGetterTool.cxx        | 140 ----
 .../src/SCTRDOCollectionGetterTool.h          |  65 --
 .../InDetD3PDMaker/src/SCTRDOFillerTool.cxx   |  96 ---
 .../InDetD3PDMaker/src/SCTRDOFillerTool.h     |  66 --
 .../SCTTrackParticleToMuonAssociationTool.cxx |  71 --
 .../SCTTrackParticleToMuonAssociationTool.h   |  50 --
 .../InDetD3PDMaker/src/SiHitFillerTool.cxx    | 241 ------
 .../InDetD3PDMaker/src/SiHitFillerTool.h      |  88 ---
 .../src/SiHitTruthAssociationTool.cxx         |  63 --
 .../src/SiHitTruthAssociationTool.h           |  58 --
 .../InDetD3PDMaker/src/TRTPhaseFillerTool.cxx |  49 --
 .../InDetD3PDMaker/src/TRTPhaseFillerTool.h   |  42 --
 .../src/TRTUncompressedHitFillerTool.cxx      | 124 ----
 .../src/TRTUncompressedHitFillerTool.h        |  72 --
 .../src/TSOFitQualityAssociationTool.cxx      |  46 --
 .../src/TSOFitQualityAssociationTool.h        |  59 --
 .../src/TSOSPixelClusterAssociationTool.cxx   |  94 ---
 .../src/TSOSPixelClusterAssociationTool.h     |  65 --
 ...TrackBeamlineParametersAssociationTool.cxx | 114 ---
 .../TrackBeamlineParametersAssociationTool.h  | 122 ----
 .../src/TrackFitQualityFillerTool.cxx         |  75 --
 .../src/TrackFitQualityFillerTool.h           |  72 --
 .../src/TrackInfoFillerTool.cxx               |  88 ---
 .../InDetD3PDMaker/src/TrackInfoFillerTool.h  |  50 --
 ...ckParametersErrorMatrixAssociationTool.cxx |  50 --
 ...rackParametersErrorMatrixAssociationTool.h |  63 --
 .../src/TrackParametersFillerTool.cxx         | 109 ---
 .../src/TrackParametersFillerTool.h           |  98 ---
 ...ckParticleDetailedTruthAssociationTool.cxx | 155 ----
 ...rackParticleDetailedTruthAssociationTool.h |  78 --
 ...TrackParticleFitQualityAssociationTool.cxx |  45 --
 .../TrackParticleFitQualityAssociationTool.h  |  62 --
 .../src/TrackParticleGetterTool.cxx           | 104 ---
 .../src/TrackParticleGetterTool.h             |  57 --
 .../src/TrackParticleInfoAssociationTool.cxx  |  45 --
 .../src/TrackParticleInfoAssociationTool.h    |  62 --
 ...kParticleLastParametersAssociationTool.cxx |  62 --
 ...ackParticleLastParametersAssociationTool.h |  65 --
 .../TrackParticleMCClassifierFillerTool.cxx   |  87 ---
 .../src/TrackParticleMCClassifierFillerTool.h |  87 ---
 .../TrackParticleParametersAtBLFillerTool.cxx | 149 ----
 .../TrackParticleParametersAtBLFillerTool.h   |  71 --
 .../src/TrackParticleTSOAssociationTool.cxx   |  80 --
 .../src/TrackParticleTSOAssociationTool.h     |  56 --
 ...kParticleToPixelClusterAssociationTool.cxx | 492 -------------
 ...ackParticleToPixelClusterAssociationTool.h | 168 -----
 ...icleToPixelClusterAssociationToolLight.cxx | 114 ---
 ...rticleToPixelClusterAssociationToolLight.h |  75 --
 ...ackParticleToSCTClusterAssociationTool.cxx | 492 -------------
 ...TrackParticleToSCTClusterAssociationTool.h | 171 -----
 ...rticleToSCTClusterAssociationToolLight.cxx | 114 ---
 ...ParticleToSCTClusterAssociationToolLight.h |  75 --
 ...ackParticleTrackSummaryAssociationTool.cxx |  47 --
 ...TrackParticleTrackSummaryAssociationTool.h |  63 --
 .../src/TrackParticleTruthAssociationTool.cxx |  79 --
 .../src/TrackParticleTruthAssociationTool.h   |  53 --
 .../src/TrackStateOnSurfaceFillerTool.cxx     | 691 ------------------
 .../src/TrackStateOnSurfaceFillerTool.h       | 158 ----
 .../src/TrackTrackSummaryFillerTool.cxx       | 324 --------
 .../src/TrackTrackSummaryFillerTool.h         |  88 ---
 ...kPrepRawDataGenParticleAssociationTool.cxx |  81 --
 ...TrkPrepRawDataGenParticleAssociationTool.h |  62 --
 .../TrkTrackDetailedTruthAssociationTool.cxx  | 137 ----
 .../TrkTrackDetailedTruthAssociationTool.h    |  73 --
 .../src/TrkTrackFitQualityAssociationTool.cxx |  45 --
 .../src/TrkTrackFitQualityAssociationTool.h   |  60 --
 .../InDetD3PDMaker/src/TrkTrackGetterTool.cxx | 100 ---
 .../InDetD3PDMaker/src/TrkTrackGetterTool.h   |  55 --
 .../src/TrkTrackInfoAssociationTool.cxx       |  45 --
 .../src/TrkTrackInfoAssociationTool.h         |  60 --
 .../src/TrkTrackParametersAtBLFillerTool.cxx  | 143 ----
 .../src/TrkTrackParametersAtBLFillerTool.h    |  71 --
 .../src/TrkTrackPerigeeAssociationTool.cxx    |  44 --
 .../src/TrkTrackPerigeeAssociationTool.h      |  61 --
 .../TrkTrackPerigeeAtBSAssociationTool.cxx    |  92 ---
 .../src/TrkTrackPerigeeAtBSAssociationTool.h  |  77 --
 .../TrkTrackPerigeeAtPVAssociationTool.cxx    |  87 ---
 .../src/TrkTrackPerigeeAtPVAssociationTool.h  |  75 --
 .../src/TrkTrackTSOAssociationTool.cxx        |  80 --
 .../src/TrkTrackTSOAssociationTool.h          |  51 --
 .../TrkTrackTrackSummaryAssociationTool.cxx   |  46 --
 .../src/TrkTrackTrackSummaryAssociationTool.h |  63 --
 .../src/TrkTrackTruthAssociationTool.cxx      |  98 ---
 .../src/TrkTrackTruthAssociationTool.h        |  48 --
 .../src/TrkTrackVertexAssociationTool.cxx     | 112 ---
 .../src/TrkTrackVertexAssociationTool.h       |  73 --
 .../src/TruthTrackFillerTool.cxx              | 122 ----
 .../InDetD3PDMaker/src/TruthTrackFillerTool.h |  61 --
 .../src/TruthTrackGetterTool.cxx              | 202 -----
 .../InDetD3PDMaker/src/TruthTrackGetterTool.h |  66 --
 .../src/TruthVertexFillerTool.cxx             |  63 --
 .../src/TruthVertexFillerTool.h               |  45 --
 .../src/TruthVertexGetterTool.cxx             | 164 -----
 .../src/TruthVertexGetterTool.h               |  55 --
 .../src/V0CandidateFillerTool.cxx             | 326 ---------
 .../src/V0CandidateFillerTool.h               | 103 ---
 .../V0CandidateVxCandidateAssociationTool.cxx |  57 --
 .../V0CandidateVxCandidateAssociationTool.h   |  69 --
 .../src/VertexFitQualityAssociationTool.cxx   |  45 --
 .../src/VertexFitQualityAssociationTool.h     |  60 --
 .../src/VertexPositionFillerTool.cxx          |  69 --
 .../src/VertexPositionFillerTool.h            |  73 --
 .../src/VertexPurityFillerTool.cxx            |  97 ---
 .../src/VertexPurityFillerTool.h              |  57 --
 .../src/VertexTrackAssociationFillerTool.cxx  |  70 --
 .../src/VertexTrackAssociationFillerTool.h    |  46 --
 .../src/VertexTypeFillerTool.cxx              |  62 --
 .../InDetD3PDMaker/src/VertexTypeFillerTool.h |  68 --
 ...ckAtVertexTrackParticleAssociationTool.cxx |  68 --
 ...rackAtVertexTrackParticleAssociationTool.h |  62 --
 ...VxTrackAtVertexTrkTrackAssociationTool.cxx |  61 --
 .../VxTrackAtVertexTrkTrackAssociationTool.h  |  61 --
 .../src/components/InDetD3PDMaker_entries.cxx | 149 ----
 .../InDetD3PDMaker/src/indetInheritance.cxx   |  20 -
 Projects/Athena/package_filters.txt           |   3 -
 200 files changed, 20503 deletions(-)
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/BeamSpotD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerPixelFlags.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerSCTFlags.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelClusterD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelHitOnTrackAssociation.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelRDOD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTClusterD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTRDOD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SctHitOnTrackAssociation.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SiHitD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTPhaseD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTUncompressedHitD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PD.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackParticleD3PDObjects.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackStateOnSurfaceAssociation.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrkTrackD3PDObjects.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthTrackD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthVertexD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/V0D3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisFlags.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisKeys.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisProdFlags.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDObject.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexGroupD3PD.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/__init__.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackBeamlineParametersFiller.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackIsolationTool.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackParticleLastParametersFiller.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/PixelNtuple.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoOptions.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoSetupForSctNtuple.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SCTNtuple.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SctNtuple_topOptions.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SimHitsD3PD_jobOptions.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/TrackD3PD_topOptions.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_configure.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_jobOptions.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_loadConfig.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_prodJobOFragment.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_topOptions.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_configure.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_prodJobOFragment.py
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.h
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/components/InDetD3PDMaker_entries.cxx
 delete mode 100644 PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/indetInheritance.cxx

diff --git a/PhysicsAnalysis/D3PDMaker/D3PDMakerConfig/python/D3PDProdFlags.py b/PhysicsAnalysis/D3PDMaker/D3PDMakerConfig/python/D3PDProdFlags.py
index 083e09528c8..3f9ab6fb1cc 100644
--- a/PhysicsAnalysis/D3PDMaker/D3PDMakerConfig/python/D3PDProdFlags.py
+++ b/PhysicsAnalysis/D3PDMaker/D3PDMakerConfig/python/D3PDProdFlags.py
@@ -140,8 +140,5 @@ listAllKnownD3PD.append (prodFlags.WriteTriggerD3PD)
 # Jet tag D3PDs
 _importFlagsFromModule ('JetTagD3PDMaker.JetTagD3PDProdFlags')
 
-# Tracking D3PDs.
-_importFlagsFromModule ('InDetD3PDMaker.VertexD3PDAnalysisProdFlags', True)
-
 # egamma D3PDs.
 _importFlagsFromModule ('egammaD3PDMaker.egammaD3PDProdFlags')
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
deleted file mode 100644
index 2daf5f88a71..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-################################################################################
-# Package: InDetD3PDMaker
-################################################################################
-
-# Declare the package name:
-atlas_subdir( InDetD3PDMaker )
-
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PRIVATE
-                          Commission/CommissionEvent
-                          Control/AthContainers
-                          Control/AthenaKernel
-                          Control/StoreGate
-                          DetectorDescription/AtlasDetDescr
-                          DetectorDescription/GeoModel/GeoAdaptors
-                          DetectorDescription/Identifier
-                          Event/EventPrimitives
-                          Event/xAOD/xAODEventInfo
-                          Event/xAOD/xAODTracking
-                          GaudiKernel
-                          InnerDetector/InDetConditions/InDetBeamSpotService
-                          InnerDetector/InDetConditions/SCT_ConditionsTools
-                          InnerDetector/InDetConditions/TRT_ConditionsServices
-                          InnerDetector/InDetDetDescr/InDetIdentifier
-                          InnerDetector/InDetDetDescr/InDetReadoutGeometry
-                          InnerDetector/InDetDetDescr/SCT_Cabling
-                          InnerDetector/InDetRawEvent/InDetRawData
-                          InnerDetector/InDetRecEvent/InDetPrepRawData
-                          InnerDetector/InDetRecEvent/InDetRIO_OnTrack
-                          InnerDetector/InDetRecTools/TRT_DriftFunctionTool
-                          InnerDetector/InDetSimEvent
-                          PhysicsAnalysis/D3PDMaker/D3PDMakerUtils
-                          PhysicsAnalysis/MCTruthClassifier
-                          Reconstruction/ParticleTruth
-                          Reconstruction/RecoTools/ITrackToVertex
-                          Reconstruction/MuonIdentification/muonEvent
-                          Reconstruction/Particle
-                          Tracking/TrkEvent/TrkCompetingRIOsOnTrack
-                          Tracking/TrkEvent/TrkEventPrimitives
-                          Tracking/TrkEvent/TrkParameters
-                          Tracking/TrkEvent/TrkParticleBase
-                          Tracking/TrkEvent/TrkPrepRawData
-                          Tracking/TrkEvent/TrkRIO_OnTrack
-                          Tracking/TrkEvent/TrkTrack
-                          Tracking/TrkEvent/TrkTrackSummary
-                          Tracking/TrkEvent/TrkTruthData
-                          Tracking/TrkEvent/TrkV0Vertex
-                          Tracking/TrkEvent/VxVertex
-                          Tracking/TrkTools/TrkToolInterfaces
-                          Tracking/TrkValidation/TrkVertexFitterValidationUtils
-                          Generators/AtlasHepMC )
-
-# External dependencies:
-find_package( Boost )
-find_package( HepPDT )
-
-# Component(s) in the package:
-atlas_add_component( InDetD3PDMaker
-                     src/*.cxx
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS}  ${HEPPDT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} AtlasHepMCLib ${HEPPDT_LIBRARIES}  GaudiKernel CommissionEvent AthContainers AthenaKernel StoreGateLib AtlasDetDescr GeoAdaptors Identifier EventPrimitives xAODEventInfo xAODTracking InDetBeamSpotServiceLib SCT_ConditionsToolsLib TRT_ConditionsServicesLib InDetIdentifier InDetReadoutGeometry SCT_CablingLib InDetRawData InDetPrepRawData InDetRIO_OnTrack InDetSimEvent D3PDMakerUtils MCTruthClassifierLib ParticleTruth ITrackToVertex muonEvent Particle TrkCompetingRIOsOnTrack TrkEventPrimitives TrkParameters TrkParticleBase TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkV0Vertex VxVertex TrkToolInterfaces TrkVertexFitterValidationUtilsLib TRT_DriftFunctionToolLib )
-
-# Install files from the package:
-atlas_install_python_modules( python/*.py )
-atlas_install_joboptions( share/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/BeamSpotD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/BeamSpotD3PDObject.py
deleted file mode 100644
index 3a841ce3aca..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/BeamSpotD3PDObject.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import TrackD3PDMaker
-import D3PDMakerCoreComps
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-
-def makeBeamSpotD3PDObject (name, prefix, object_name,
-                            getter = None):
-    if not getter:
-        from InDetD3PDMaker import BeamSpotGetterTool
-        getter = BeamSpotGetterTool ( name + '_Getter' )
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return D3PDMakerCoreComps.ObjFillerTool (name,
-                                             Prefix = prefix,
-                                             Getter = getter,
-                                             ObjectName = object_name,
-                                             AllowMissing=True,
-                                             SaveMetadata = \
-                                             D3PDMakerFlags.SaveObjectMetadata())
-    
-BeamSpotD3PDObject = D3PDObject (makeBeamSpotD3PDObject, 'beamSpot_', 'BeamSpotD3PDObject')
-
-from InDetD3PDMaker import BeamSpotFillerTool
-BeamSpotD3PDObject.defineBlock (0, 'BeamSpot',  BeamSpotFillerTool)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerPixelFlags.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerPixelFlags.py
deleted file mode 100644
index 145473ab5d8..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerPixelFlags.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-# 
-## @file InDetD3PDMaker/python/InDetD3PDMakerPixelFlags.py
-## @brief Python module to hold common flags to configure InDetD3PDMaker PixelNtuple JobOptions
-##
-
-
-
-##-----------------------------------------------------------------------------
-## Import
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-# General flags
-
-class inputFiles(JobProperty):
-     statusOn = True
-     allowTypes = ['list']
-     StoredValue = ['ESD.pool.root']
- 
-class outputFile(JobProperty):
-     statusOn = True
-     allowTypes = ['str']
-     StoredValue = 'PixelNtuple.root'
-
-
-class doPixelNtuple(JobProperty):
-    """ Turn on filling of Pixel Ntuples track and hit on track branches only 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class doPixelNtupleLight(JobProperty):
-    """ Turn on filling of Pixel Ntuples all branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class doPixelNtupleExtended(JobProperty):
-    """ Turn on filling of Pixel Ntuples branches including BCM rdo information 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-class storeEventInfo(JobProperty):
-    """ store general EventInformaton 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-
-class storeBSerror(JobProperty):
-    """ store general ByteStream error branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-
-class storeTracks(JobProperty):
-    """ store Combined Inner Detector 'Tracks' branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class storeHitsOnTracks(JobProperty):
-    """ store HitOnTrack details for Combined Inner Detector 'Tracks' branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-
-class storePixelClusters(JobProperty):
-    """ store branches for all Pixel Clusters 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class storePixelRDOs(JobProperty):
-    """ store branches for all Pixel RDOs
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class storeTriggerInfo(JobProperty):
-    """ store branches for trigger information
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class storePhysicsInfo(JobProperty):
-    """ store branches for MET etc. 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-class storeBCMrdo(JobProperty):
-    """ store branches for BCM RDOs 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-
-class doTrackToClusterAssociation(JobProperty):
-    """ store HitOnTrack details and do index association from tracks to clusters 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-    
-class doClusterToTrackAssociation(JobProperty):
-    """ perform index association from clusters to tracks 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class doClusterToRdoAssociation(JobProperty):
-    """ perform index association from clusters to rdos
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class doRdoToClusterAssociation(JobProperty):
-    """ store perform index association from rdos to clusters
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-##-----------------------------------------------------------------------------
-## Definition of the InDetD3PDMaker flag container
-
-class InDetD3PDMakerPixelFlags(JobPropertyContainer):
-    """ The Track D3PD Pixel flag container
-    """
-
-        
-# add the reconstruction flags container to the top container
-jobproperties.add_Container(InDetD3PDMakerPixelFlags)
-
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(inputFiles)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(outputFile)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doPixelNtuple)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doPixelNtupleLight)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doPixelNtupleExtended)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storeEventInfo)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storeBSerror)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storeTracks)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storeHitsOnTracks)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storePixelClusters)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storePixelRDOs)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storeTriggerInfo)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storePhysicsInfo)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(storeBCMrdo)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doTrackToClusterAssociation)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doClusterToTrackAssociation)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doClusterToRdoAssociation)
-jobproperties.InDetD3PDMakerPixelFlags.add_JobProperty(doRdoToClusterAssociation)
-
-
-InDetD3PDPixelFlags=jobproperties.InDetD3PDMakerPixelFlags
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerSCTFlags.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerSCTFlags.py
deleted file mode 100644
index 2e715725b2f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/InDetD3PDMakerSCTFlags.py
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# 
-## @file InDetD3PDMaker/python/InDetD3PDMakerSCTFlags.py
-## @brief Python module to hold common flags to configure InDetD3PDMaker SCTNtuple JobOptions
-##
-
-
-
-##-----------------------------------------------------------------------------
-## Import
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-# General flags
-
-class inputFiles(JobProperty):
-     statusOn = True
-     allowTypes = ['list']
-     StoredValue = ['ESD.pool.root']
- 
-class outputFile(JobProperty):
-     statusOn = True
-     allowTypes = ['str']
-     StoredValue = 'SctNtuple.root'
-
-
-class doSCTNtuple(JobProperty):
-    """ Turn on filling of SCT Ntuples track and hit on track branches only 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class doSCTNtupleLight(JobProperty):
-    """ Turn on filling of SCT Ntuples all branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class doSCTNtupleExtended(JobProperty):
-    """ Turn on filling of SCT Ntuples branches including BCM rdo information 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-class storeEventInfo(JobProperty):
-    """ store general EventInformaton 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-
-class storeBSerror(JobProperty):
-    """ store general ByteStream error branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-
-class storeTracks(JobProperty):
-    """ store Combined Inner Detector 'Tracks' branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False ##=# True
-
-class storeHitsOnTracks(JobProperty):
-    """ store HitOnTrack details for Combined Inner Detector 'Tracks' branches
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False ##=#True
-
-
-class storeSctClusters(JobProperty):
-    """ store branches for all SCT Clusters 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class storeSctRDOs(JobProperty):
-    """ store branches for all SCT RDOs
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=True
-
-class storeTriggerInfo(JobProperty):
-    """ store branches for trigger information
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False ##=# True
-
-class storePhysicsInfo(JobProperty):
-    """ store branches for MET etc. 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-class storeBCMrdo(JobProperty):
-    """ store branches for BCM RDOs 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class includeTruthInfo(JobProperty):
-     """ store branches MC truth info
-     """
-     statusOn=True
-     allowedTypes=['bool']
-     StoredValue=False
-                     
-class doTrackToMuonAssociation(JobProperty):
-     """ store Muon Information branches
-     """
-     statusOn=True
-     allowedTypes=['bool']
-     StoredValue=False ##=# True
-
-class useStacoMuonCollectionForAssociation(JobProperty):
-     """ use 'StacoMuonCollection' instead of default 'Muons' in SCTTrackParticleToMuonAssociationTool
-     """
-     statusOn=True
-     allowedTypes=['bool']
-     StoredValue=False
-     
-class doTrackToClusterAssociation(JobProperty):
-    """ store HitOnTrack details and do index association from tracks to clusters 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-    
-class doClusterToTrackAssociation(JobProperty):
-    """ perform index association from clusters to tracks 
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class doClusterToRdoAssociation(JobProperty):
-    """ perform index association from clusters to rdos
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-class doRdoToClusterAssociation(JobProperty):
-    """ store perform index association from rdos to clusters
-    """
-    statusOn=True
-    allowedTypes=['bool']
-    StoredValue=False
-
-
-##-----------------------------------------------------------------------------
-## Definition of the InDetD3PDMaker flag container
-
-class InDetD3PDMakerSCTFlags(JobPropertyContainer):
-    """ The InDet D3PD SCT flag container
-    """
-
-        
-# add the reconstruction flags container to the top container
-jobproperties.add_Container(InDetD3PDMakerSCTFlags)
-
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(inputFiles)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(outputFile)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doSCTNtuple)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doSCTNtupleLight)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doSCTNtupleExtended)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeEventInfo)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeBSerror)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeTracks)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeHitsOnTracks)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeSctClusters)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeSctRDOs)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeTriggerInfo)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storePhysicsInfo)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(storeBCMrdo)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doTrackToClusterAssociation)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doClusterToTrackAssociation)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doClusterToRdoAssociation)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doRdoToClusterAssociation)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(doTrackToMuonAssociation)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(useStacoMuonCollectionForAssociation)
-jobproperties.InDetD3PDMakerSCTFlags.add_JobProperty(includeTruthInfo)
-
-InDetD3PDSCTFlags=jobproperties.InDetD3PDMakerSCTFlags
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelClusterD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelClusterD3PDObject.py
deleted file mode 100644
index 026a4d30f82..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelClusterD3PDObject.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import D3PDMakerCoreComps
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerCoreComps.IndexMultiAssociation import IndexMultiAssociation
-from D3PDMakerCoreComps.IndexAssociation import IndexAssociation
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-
-
-from InDetD3PDMaker import PixelClusterFillerTool
-def makePixelClusterD3PDObject (name, prefix, object_name, getter = None,
-                              sgkey = 'PixelClusters',
-                              typename = 'InDet::PixelClusterContainer',
-                              label = 'PixelClus',
-			      blayerOnly = False):
-    if not getter:
-        from InDetD3PDMaker import PixelClusterCollectionGetterTool
-        getter = PixelClusterCollectionGetterTool (name + '_Getter',
-                                                   SGKey = sgkey,
-                                                   TypeName = typename,
-                                                   Label = label,
-						   BLayerOnly = blayerOnly)
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return  D3PDMakerCoreComps.VectorFillerTool (name, Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name,
-                                                 SaveMetadata = \
-                                                 D3PDMakerFlags.SaveObjectMetadata())
-
-##---
-PixelClusterD3PDObject = D3PDObject (makePixelClusterD3PDObject, 'pixelClus_',
-                                   'PixelClusterD3PDObject')
-
-PixelClusterD3PDObject.defineBlock (0, 'PixelCluster',  PixelClusterFillerTool)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelHitOnTrackAssociation.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelHitOnTrackAssociation.py
deleted file mode 100644
index bc1cca4128b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelHitOnTrackAssociation.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import InDetD3PDMaker
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-from D3PDMakerCoreComps.ContainedVectorMultiAssociation import ContainedVectorMultiAssociation
-
-def PixelHitOnTrackAssociation (parent, associator, _prefix = '',
-                              _blocknameprefix = '', _level = 0):
-    assoc = ContainedVectorMultiAssociation\
-            (parent, associator,
-             prefix = _prefix, level = _level,
-             blockname = _blocknameprefix+'clAssoc')
-    assoc.defineBlock(0, _blocknameprefix+'clAssoc',
-                      InDetD3PDMaker.ClusterAssocPixelFillerTool)
-
-    return assoc
-    
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelRDOD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelRDOD3PDObject.py
deleted file mode 100644
index 2ae0d046657..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/PixelRDOD3PDObject.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-## Pixel RDOs
-import D3PDMakerCoreComps
-
-
-from D3PDMakerCoreComps.D3PDObject     import D3PDObject
-from InDetD3PDMaker import PixelRDOFillerTool
-def makePixelRDOD3PDObject (name, prefix, object_name, getter = None,
-                          sgkey = 'PixelRDOs',
-                          typename = 'PixelRDO_Container', #PixelRDO_Container',
-                          label = 'PixelRdo'):
-    if not getter:
-        from InDetD3PDMaker import PixelRDOCollectionGetterTool
-        getter = PixelRDOCollectionGetterTool (name + '_Getter',
-                                               SGKey = sgkey,
-                                               TypeName = typename,
-                                               Label = label)
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return  D3PDMakerCoreComps.VectorFillerTool (name, Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name,
-                                                 SaveMetadata = \
-                                                 D3PDMakerFlags.SaveObjectMetadata())
-
-##---
-PixelRDOD3PDObject = D3PDObject (makePixelRDOD3PDObject, 'pixelRdo_',
-                               'PixelRDOD3PDObject')
-
-
-PixelRDOD3PDObject.defineBlock (0, 'PixelRdo',  PixelRDOFillerTool)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTClusterD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTClusterD3PDObject.py
deleted file mode 100644
index a66c9f6778b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTClusterD3PDObject.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import D3PDMakerCoreComps
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerCoreComps.IndexMultiAssociation import IndexMultiAssociation
-from D3PDMakerCoreComps.IndexAssociation import IndexAssociation
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-
-
-from InDetD3PDMaker import SCTClusterFillerTool
-def makeSCTClusterD3PDObject (name, prefix, object_name, getter = None,
-                              sgkey = 'SCT_Clusters',
-                              typename = 'InDet::SCT_ClusterContainer',
-                              label = 'SCTClus'):
-    if not getter:
-        from InDetD3PDMaker import SCTClusterCollectionGetterTool
-        getter = SCTClusterCollectionGetterTool (name + '_Getter',
-                                                 SGKey = sgkey,
-                                                 TypeName = typename,
-                                                 Label = label)
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return  D3PDMakerCoreComps.VectorFillerTool (name, Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name,
-                                                 SaveMetadata = \
-                                                 D3PDMakerFlags.SaveObjectMetadata())
-
-##---
-SCTClusterD3PDObject = D3PDObject (makeSCTClusterD3PDObject, 'sctClus_',
-                                   'SCTClusterD3PDObject')
-
-SCTClusterD3PDObject.defineBlock (0, 'SCT_Cluster',  SCTClusterFillerTool)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTRDOD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTRDOD3PDObject.py
deleted file mode 100644
index 2778f1c4a74..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SCTRDOD3PDObject.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-## SCT RDOs
-import D3PDMakerCoreComps
-
-
-from D3PDMakerCoreComps.D3PDObject     import D3PDObject
-from InDetD3PDMaker import SCTRDOFillerTool
-def makeSCTRDOD3PDObject (name, prefix, object_name, getter = None,
-                          sgkey = 'SCT_RDOs',
-                          typename = 'SCT_RDO_Container', #SCT_RDO_Container',
-                          label = 'SCTRdo'):
-    if not getter:
-        from InDetD3PDMaker import SCTRDOCollectionGetterTool
-        getter = SCTRDOCollectionGetterTool (name + '_Getter',
-                                             SGKey = sgkey,
-                                             TypeName = typename,
-                                             Label = label)
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return  D3PDMakerCoreComps.VectorFillerTool (name, Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name,
-                                                 SaveMetadata = \
-                                                 D3PDMakerFlags.SaveObjectMetadata())
-
-##---
-SCTRDOD3PDObject = D3PDObject (makeSCTRDOD3PDObject, 'sctRdo_',
-                               'SCTRDOD3PDObject')
-
-SCTRDOD3PDObject.defineBlock (0, 'SCT_Rdo',  SCTRDOFillerTool)
-#
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SctHitOnTrackAssociation.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SctHitOnTrackAssociation.py
deleted file mode 100644
index 6fd197da7e4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SctHitOnTrackAssociation.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-from InD3PDMaker import ClusterAssocFillerTool
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-from D3PDMakerCoreComps.ContainedVectorMultiAssociation import ContainedVectorMultiAssociation
-
-def SctHitOnTrackAssociation (parent, associator, _prefix = '',
-                              _blocknameprefix = '', _level = 0):
-    assoc = ContainedVectorMultiAssociation\
-            (parent, associator,
-             prefix = _prefix, level = _level,
-             blockname = _blocknameprefix+'clAssoc')
-    assoc.defineBlock(0, _blocknameprefix+'clAssoc',
-                      ClusterAssocFillerTool)
-
-    return assoc
-    
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SiHitD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SiHitD3PDObject.py
deleted file mode 100644
index 669beefbaf9..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/SiHitD3PDObject.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import InDetD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-from RecExConfig.RecFlags import rec
-
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-
-from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-
-def makeD3PDObject (name, prefix, object_name, getter = None,
-                            sgkey = None,
-                            label = None):
-     if sgkey == None: sgkey = "SiHits"
-     if label == None: label = prefix
-     if prefix=="pixhit_" :
-        sgkey = "PixelHits"
-     if prefix=="scthit_" :
-        sgkey = "SCT_Hits"
-
-
-     
-     if not getter:
-         getter = InDetD3PDMaker.SiHitContainerGetterTool \
-                  (name + '_Getter',
-                   TypeName = 'SiHitCollection',
-                   SGKey = sgkey,
-                   Label = label)
-     getter.OutputLevel=1    
-     return D3PDMakerCoreComps.VectorFillerTool (name,
-                                                 Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name, OutputLevel=1)
-
-PixelSiHitD3PDObject = D3PDObject (makeD3PDObject, 'pixhit_', 'PixelSiHitD3PDObject')
- 
-PixelSiHitD3PDObject.defineBlock (1, 'Hits',
-                                InDetD3PDMaker.SiHitFillerTool)
-
-SctSiHitD3PDObject = D3PDObject (makeD3PDObject, 'scthit_', 'SctSiHitD3PDObject')
- 
-SctSiHitD3PDObject.defineBlock (1, 'Hits',
-                                InDetD3PDMaker.SiHitFillerTool)
-
-
-# Truth matching
-#if rec.doTruth() :
-if True :
-    TruthAssoc = SimpleAssociation\
-                 (PixelSiHitD3PDObject,
-                  InDetD3PDMaker.SiHitTruthAssociationTool, prefix="mc_")
-    TruthAssoc.defineBlock (1,
-                                    'TruthAssocIndex',
-                                    D3PDMakerCoreComps.IndexFillerTool,
-                                    Target = 'mc')
-
-
-    TruthAssoc = SimpleAssociation\
-                 (SctSiHitD3PDObject,
-                  InDetD3PDMaker.SiHitTruthAssociationTool, prefix="mc_")
-    TruthAssoc.defineBlock (1,
-                                    'TruthAssocIndex',
-                                    D3PDMakerCoreComps.IndexFillerTool,
-                                    Target = 'mc')
-
-
-
-
-
-#            def _levelAssocToGP (reqlev, args, hookargs):
-#                if reqlev < 1: return False
-#                if hookargs.get ('TruthParticleTarget'): return False
-#                if hookargs.get ('GenParticleTarget'):
-#                    args['Target'] = hookargs.get ('GenParticleTarget')
-#                return True
-#            def _levelAssocToTP (reqlev, args, hookargs):
-#                if reqlev < 1: return False
-#                tpt = hookargs.get ('TruthParticleTarget')
-#                if not tpt: return False
-#                args['Target'] = tpt
-#                return True
-#
-#            TruthAssoc = SimpleAssociation\
-#                         (object,
-#                          TruthAssociationTool,
-#                          prefix = "mc_",
-#                          SGKey = sgkey,
-#                          MapKey = truthMapKey)
-#            TruthAssoc.defineBlock (_levelAssocToGP,
-#                                    'TruthAssocIndex',
-#                                    D3PDMakerCoreComps.IndexFillerTool,
-#                                    Target = truthTarget)
-#77                                      truthTarget='mc',
-#378                                      truthPrefix='mc_',
-#379                                      detailedTruthPrefix='detailed_mc_',
-#380                                      truthMapKey='TrackTruthCollection',
-#381                                      SGKeyForTruth='Tracks',
-#382                                      detailedTruthMapKey='DetailedTrackTruth',
-#383                                      SGKeyForDetailedTruth='Tracks',
-#384                                      flags=TrackD3PDFlags)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTPhaseD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTPhaseD3PDObject.py
deleted file mode 100644
index 009f59d7b3f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTPhaseD3PDObject.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-#TRT_Phase  PUT IN SEPARATE PYTHON FILE
-#
-# We operate on a single object from StoreGate.
-#
-import D3PDMakerCoreComps
-
-from D3PDMakerCoreComps.D3PDObject     import D3PDObject
-from InDetD3PDMaker import TRTPhaseFillerTool
-def makeTRTPhaseD3PDObject (name, prefix, object_name, getter = None, sgkey = 'TRT_Phase'):
-     if not getter:
-         getter = D3PDMakerCoreComps.SGObjGetterTool (name + '_Getter',
-                                                      SGKey = sgkey,
-                                                      TypeName = 'ComTime')
-
-     from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags 
-     return D3PDMakerCoreComps.ObjFillerTool (name,
-                                              Prefix = prefix,
-                                              Getter = getter,
-                                              ObjectName = object_name,
-                                              SaveMetadata = \
-                                              D3PDMakerFlags.SaveObjectMetadata())
- 
-# Create the object type.
-TRTPhaseD3PDObject = D3PDObject (makeTRTPhaseD3PDObject, 'TRT_', 'TRTPhaseD3PDObject') 
-# Define blocks.
-TRTPhaseD3PDObject.defineBlock (0, 'TRTPhase',TRTPhaseFillerTool)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTUncompressedHitD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTUncompressedHitD3PDObject.py
deleted file mode 100644
index 6dacbf61980..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TRTUncompressedHitD3PDObject.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import InDetD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-from RecExConfig.RecFlags import rec
-
-# would be needed for truth association:
-#from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-
-from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-
-def makeD3PDObject (name, prefix, object_name, getter = None, sgkey = None, label = None):
-     if sgkey == None: sgkey = "TRTUncompressedHits"
-     if label == None: label = prefix
-     
-     if not getter:
-         getter = InDetD3PDMaker.TRTUncompressedHitContainerGetterTool \
-                  (name + '_Getter',
-                   TypeName = 'TRTUncompressedHitCollection',
-                   SGKey = sgkey,
-                   Label = label)
-     getter.OutputLevel = 1
-     return D3PDMakerCoreComps.VectorFillerTool (name,
-                                                 Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name, OutputLevel=1)
-
-TRTUncompressedHitD3PDObject = D3PDObject (makeD3PDObject, 'trthit_', 'TRTUncompressedHitD3PDObject')
- 
-TRTUncompressedHitD3PDObject.defineBlock (1, 'Hits', InDetD3PDMaker.TRTUncompressedHitFillerTool)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PD.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PD.py
deleted file mode 100644
index 802d413e024..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PD.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import D3PDMakerCoreComps
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-from TrackD3PDMaker.TrackD3PDMakerFlags import TrackD3PDFlags
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-
-def _args (level, name, kwin, **kw):
-    kw = kw.copy()
-    kw['level'] = level
-    for (k, v) in kwin.items():
-        if k.startswith (name + '_'):
-            kw[k[len(name)+1:]] = v
-    return kw
-
-
-def AddTrackD3PDComponents(alg, level=1, **kw):
-
-    from InDetD3PDMaker.TruthTrackD3PDObject import TruthTrackD3PDObject
-    from InDetD3PDMaker.TruthVertexD3PDObject import TruthVertexD3PDObject
-    from InDetD3PDMaker.TrackParticleD3PDObjects import TrackParticleD3PDObject
-    from InDetD3PDMaker.VertexD3PDObject import PrimaryVertexD3PDObject
-    from InDetD3PDMaker.V0D3PDObject import DefaultV0D3PDObject as V0D3PDObject
-    #from TrackD3PDMaker.PixelClusterD3PDObject import PixelClusterD3PDObject
-
-    alg += V0D3PDObject(level)
-    #alg += PixelClusterD3PDObject(**_args(level, 'PixelCluster', kw))
-    alg += TruthTrackD3PDObject(**_args(level, 'TruthTrack', kw))
-    alg += TruthVertexD3PDObject(**_args(level, 'TruthVertex', kw))
-    alg += TrackParticleD3PDObject(**_args(level, 'Track', kw))
-    alg += PrimaryVertexD3PDObject(**_args(level, 'PrimaryVertex', kw))
-
-def TrackD3PD (file,
-               level = 4,
-               tuplename = 'track',
-               seq = topSequence,
-               D3PDSvc = 'D3PD::RootD3PDSvc',
-               **kw):
-
-    from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-    from TrigMbD3PDMaker.CtpRdoD3PDObject         import CtpRdoD3PDObject
-
-    alg = D3PDMakerCoreComps.MakerAlg(tuplename, seq, file = file, D3PDSvc = D3PDSvc)
-    alg += EventInfoD3PDObject (level)
-    alg += CtpRdoD3PDObject(level)
-    AddTrackD3PDComponents(alg, level, **kw)
-    return alg
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PDObject.py
deleted file mode 100644
index 7eb78b2a68c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackD3PDObject.py
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import TrackD3PDMaker
-import InDetD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-#import TruthD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerCoreComps.D3PDObject import DeferArg
-from D3PDMakerCoreComps.flagTestLOD import flagTestLOD, deferFlag
-from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-from D3PDMakerCoreComps.IndexAssociation import IndexAssociation
-from D3PDMakerCoreComps.IndexMultiAssociation import IndexMultiAssociation
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-from TrackD3PDMaker import TrackD3PDMakerConf
-from TrackD3PDMaker.PerigeeAssociation import PerigeeAssociation
-from InDetD3PDMaker.TrackStateOnSurfaceAssociation import TrackStateOnSurfaceAssociation
-from RecExConfig.RecFlags import rec
-from TrackD3PDMaker.TrackD3PDMakerFlags import *
-from AthenaCommon.AppMgr import ToolSvc
-
-
-def _get_estimator (args, hookargs):
-    from AthenaCommon.AppMgr import ToolSvc
-    if hasattr(ToolSvc, 'AtlasExtrapolator'):
-        AtlasExtrapolator = ToolSvc.AtlasExtrapolator
-    else:
-        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-        AtlasExtrapolator = AtlasExtrapolator()
-        ToolSvc += AtlasExtrapolator
-    if hasattr(ToolSvc, 'TrackD3PDLinTrkFactory'):
-        TrackD3PDLinTrkFactory = ToolSvc.TrackD3PDLinTrkFactory
-    else:
-        from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__FullLinearizedTrackFactory
-        TrackD3PDLinTrkFactory = Trk__FullLinearizedTrackFactory(
-            name              = "TrackD3PDFullLinearizedTrackFactory",
-            Extrapolator      = AtlasExtrapolator)
-        ToolSvc += TrackD3PDLinTrkFactory
-
-    if hasattr(ToolSvc, 'TrackD3PDTrackToVertexIPEstimator'):
-        TrackD3PDTrackToVertexIPEstimator = ToolSvc.TrackD3PDTrackToVertexIPEstimator
-    else:
-        from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__TrackToVertexIPEstimator
-        TrackD3PDTrackToVertexIPEstimator = Trk__TrackToVertexIPEstimator(
-            name="TrackD3PDTrackToVertexIPEstimator",
-            Extrapolator=AtlasExtrapolator,
-            LinearizedTrackFactory=TrackD3PDLinTrkFactory)
-        ToolSvc += TrackD3PDTrackToVertexIPEstimator
-
-    args['TrackToVertexIPEstimator'] = TrackD3PDTrackToVertexIPEstimator
-    return
-
-
-def TrackD3PDObject(_label='trkTrack',
-                    _prefix='trkTrack_',
-                    _sgkey='Tracks',
-                    _object_name='TrackD3PDObject',
-                    typ=TrackParticleType,
-                    vertexTarget='vx',
-                    vertexPrefix='vx_',
-                    vertexSGKey='VxPrimaryCandidate',
-                    truthTarget='mc',
-                    truthPrefix='mc_',
-                    detailedTruthPrefix='detailed_mc_',
-                    truthMapKey='TrackTruthCollection',
-                    SGKeyForTruth='Tracks',
-                    detailedTruthMapKey='DetailedTrackTruth',
-                    SGKeyForDetailedTruth='Tracks',
-                    flags=TrackD3PDFlags):
-
-    object = make_SGDataVector_D3PDObject (
-        typ.typeName,
-        _sgkey,
-        _prefix,
-        _object_name,
-        default_allowMissing = True,
-        default_label = _label,
-        allow_args = ['GenParticleTarget',
-                      'TruthParticleTarget',
-                      'storeTruthInfo',
-                      'storeTrackMomentum',
-                      'trackParametersAtGlobalPerigeeLevelOfDetails',
-                      'trackParametersAtPrimaryVertexLevelOfDetails',
-                      'trackParametersAtBeamSpotLevelOfDetails',
-                      'trackParameterAtBeamLineLevelOfDetails',
-                      'storeDiagonalCovarianceAsErrors',
-                      'storeTrackParametersAtCalo',
-                      'storeTrackParametersAtCalo2ndLayer',
-                      'storeTrackFitQuality',
-                      'storeTrackPredictionAtBLayer',
-                      'storeTrackInfo',
-                      'storeVertexAssociation',
-                      'storeDetailedTruth',
-                      'storeBLayerHitsOnTrack',
-                      'storePixelHitsOnTrack',
-                      'storeSCTHitsOnTrack',
-                      'storeTRTHitsOnTrack',
-                      'storeMDTHitsOnTrack',
-                      'storeCSCHitsOnTrack',
-                      'storeRPCHitsOnTrack',
-                      'storeTGCHitsOnTrack',
-                      'storeBLayerOutliersOnTrack',
-                      'storePixelOutliersOnTrack',
-                      'storeSCTOutliersOnTrack',
-                      'storeTRTOutliersOnTrack',
-                      'storeMDTOutliersOnTrack',
-                      'storeCSCOutliersOnTrack',
-                      'storeRPCOutliersOnTrack',
-                      'storeTGCOutliersOnTrack',
-                      'storeBLayerHolesOnTrack',
-                      'storePixelHolesOnTrack',
-                      'storeSCTHolesOnTrack',
-                      'storeTRTHolesOnTrack',
-                      'storeMDTHolesOnTrack',
-                      'storeCSCHolesOnTrack',
-                      'storeRPCHolesOnTrack',
-                      'storeTGCHolesOnTrack',
-                      'storePullsAndResiduals',
-                      'storeTrackUnbiasedIPAtPV',
-                      'storeHitTruthMatching',
-                      'storeTrackSummary',
-                      'doTruth',
-                      ])
-
-    # This generates ERROR messages.  Disabled for now.
-    #object.defineBlock(1, "Isolation", TrackD3PDMaker.TrackIsolationFillerTool)
-
-
-    ## default perigee (at (0,0,0))
-    PerigeeAssoc = PerigeeAssociation\
-                   (object,
-                    typ.PerigeeAssociationTool, "GlobalPerigee",
-                    fillMomName = 'storeTrackMomentum',
-                    levelName = 'trackParametersAtGlobalPerigeeLevelOfDetails')
-
-    # Unbiased impact parameters at PV
-    PerigeeAssoc.defineBlock (flagTestLOD('storeTrackUnbiasedIPAtPV',
-                                          flags, _get_estimator),
-                              _prefix+"IPEstimate",
-                              TrackD3PDMaker.PerigeeUnbiasedIPAtPVFillerTool,
-                              # Filled in by LOD function.
-                              TrackToVertexIPEstimator=None,
-                              Prefix = 'IPEstimate_',
-                              Suffix = '_wrtPV')
-
-    # perigee at Primary Vertex
-    PerigeeAtPVAssoc = PerigeeAssociation\
-                       (object,
-                        typ.PerigeeAtPVAssociationTool, "PerigeeAtPV",
-                        suffix='_wrtPV',
-                        levelName = 'trackParametersAtPrimaryVertexLevelOfDetails')
-
-    # perigee at Beam Spot
-    PerigeeAtBSAssoc = PerigeeAssociation\
-                       (object,
-                        typ.PerigeeAtBSAssociationTool, "PerigeeAtBS",
-                        suffix='_wrtBS', 
-                        levelName = 'trackParametersAtBeamSpotLevelOfDetails')
-
-    # parameters at Calo
-    object.defineBlock(flagTestLOD('storeTrackParametersAtCalo', flags),
-                       _prefix+"ParametersAtCalo",
-                       ParametersAtCaloFillerTool)
-
-    # parameters at Calo 2nd layer
-    object.defineBlock(flagTestLOD('storeTrackParametersAtCalo2ndLayer', flags),
-                       _prefix+"ParametersAtCalo2ndLayer",
-                       ParametersAtCaloFillerTool,
-                       Sampling = 1,
-                       Suffix = '2ndLayer')
-
-    # Fit Quality
-    FitQualityAssoc = SimpleAssociation\
-                      (object,
-                       typ.FitQualityAssociationTool,
-                       level = flagTestLOD('storeTrackFitQuality', flags))
-        
-    FitQualityAssoc.defineBlock(flagTestLOD('storeTrackFitQuality', flags),
-                                _prefix+'FitQuality',
-                                InDetD3PDMaker.TrackFitQualityFillerTool)
-
-    # Track Summary
-    TrackSummaryAssoc = SimpleAssociation\
-                        (object,
-                         typ.TrackSummaryAssociationTool,
-                         level = flagTestLOD('storeTrackSummary', flags))
-
-    TrackSummaryAssoc.defineBlock(flagTestLOD('storeTrackSummary', flags),
-                                  _prefix+'TrackSummary',
-                                  InDetD3PDMaker.TrackTrackSummaryFillerTool,
-                                  FullInfo = flags.storeTrackSummary.FullInfo,
-                                  IDHits = flags.storeTrackSummary.IDHits,
-                                  IDHoles = flags.storeTrackSummary.IDHoles,
-                                  IDSharedHits = flags.storeTrackSummary.IDSharedHits,
-                                  IDOutliers = flags.storeTrackSummary.IDOutliers,
-                                  PixelInfoPlus = flags.storeTrackSummary.PixelInfoPlus,
-                                  SCTInfoPlus = flags.storeTrackSummary.SCTInfoPlus,
-                                  TRTInfoPlus = flags.storeTrackSummary.TRTInfoPlus,
-                                  InfoPlus = flags.storeTrackSummary.InfoPlus,
-                                  MuonHits = flags.storeTrackSummary.MuonHits,
-                                  MuonHoles = flags.storeTrackSummary.MuonHoles,
-                                  ExpectBLayer = flags.storeTrackSummary.ExpectBLayer,
-                                  HitSum = flags.storeTrackSummary.HitSum,
-                                  HoleSum = flags.storeTrackSummary.HoleSum,
-                                  HitPattern = flags.storeTrackSummary.HitPattern,
-                                  SiHits = flags.storeTrackSummary.SiHits,
-                                  TRTRatio = flags.storeTrackSummary.TRTRatio,
-                                  PixeldEdx = flags.storeTrackSummary.PixeldEdx,
-                                  ElectronPID = flags.storeTrackSummary.ElectronPID)
-        
-    # Track Info
-    TrackInfoAssoc = SimpleAssociation\
-                     (object,
-                      typ.TrackInfoAssociationTool,
-                      level = flagTestLOD('storeTrackInfo', flags))
-        
-    TrackInfoAssoc.defineBlock(flagTestLOD('storeTrackInfo', flags),
-                               _prefix+'TrackInfo',
-                               InDetD3PDMaker.TrackInfoFillerTool)
-
-    ## B-Layer predictions
-    from AthenaCommon.AppMgr import ToolSvc
-    if hasattr(ToolSvc, 'InDetRecTestBLayerTool'):
-        BLayerPredictionAssoc = SimpleAssociation\
-                                (object,
-                                 typ.PerigeeAssociationTool,
-                                 prefix = 'blayerPrediction_',
-                                 blockname = _prefix+'BLayerInfoAssoc',
-                                 level = flagTestLOD('storeTrackPredictionAtBLayer', flags))
-
-        BLayerPredictionAssoc.defineBlock (flagTestLOD('storeTrackPredictionAtBLayer', flags),
-                                           _prefix+'BLayerInfo',
-                                           TrackD3PDMaker.PerigeeBLPredictionFillerTool,
-                                           InDetTestBLayerTool = ToolSvc.InDetRecTestBLayerTool)
-
-    tsos_table = [
-        ('storeBLayerHitsOnTrack', 'BLayer_hit_', 'getBLayerMeasurements'),
-        ('storePixelHitsOnTrack',  'Pixel_hit_',  'getPixelMeasurements'),
-        ('storeSCTHitsOnTrack',    'SCT_hit_',    'getSCTMeasurements'),
-        ('storeTRTHitsOnTrack',    'TRT_hit_',    'getTRTMeasurements'),
-        ('storeMDTHitsOnTrack',    'MDT_hit_',    'getMDTMeasurements'),
-        ('storeCSCHitsOnTrack',    'CSC_hit_',    'getCSCMeasurements'),
-        ('storeRPCHitsOnTrack',    'RPC_hit_',    'getRPCMeasurements'),
-        ('storeTGCHitsOnTrack',    'TGC_hit_',    'getTGCMeasurements'),
-
-        ('storeBLayerOutliersOnTrack', 'BLayer_outlier_', 'getBLayerOutliers'),
-        ('storePixelOutliersOnTrack',  'Pixel_outlier_',  'getPixelOutliers'),
-        ('storeSCTOutliersOnTrack',    'SCT_outlier_',    'getSCTOutliers'),
-        ('storeTRTOutliersOnTrack',    'TRT_outlier_',    'getTRTOutliers'),
-        ('storeMDTOutliersOnTrack',    'MDT_outlier_',    'getMDTOutliers'),
-        ('storeCSCOutliersOnTrack',    'CSC_outlier_',    'getCSCOutliers'),
-        ('storeRPCOutliersOnTrack',    'RPC_outlier_',    'getRPCOutliers'),
-        ('storeTGCOutliersOnTrack',    'TGC_outlier_',    'getTGCOutliers'),
-
-        ('storeBLayerHolesOnTrack',    'BLayer_hole_',    'getBLayerHoles'),
-        ('storePixelHolesOnTrack',     'Pixel_hole_',     'getPixelHoles'),
-        ('storeSCTHolesOnTrack',       'SCT_hole_',       'getSCTHoles'),
-        ('storeTRTHolesOnTrack',       'TRT_hole_',       'getTRTHoles'),
-        ('storeMDTHolesOnTrack',       'MDT_hole_',       'getMDTHoles'),
-        ('storeCSCHolesOnTrack',       'CSC_hole_',       'getCSCHoles'),
-        ('storeRPCHolesOnTrack',       'RPC_hole_',       'getRPCHoles'),
-        ('storeTGCHolesOnTrack',       'TGC_hole_',       'getTGCHoles'),
-        ]
-
-    for flag, pref, opt in tsos_table:
-        TrackStateOnSurfaceAssociation (object,
-                                        typ.HitAssociationTool,
-                                        pref, _prefix + pref,
-                                        flagTestLOD(flag, flags),
-                                        fillPullsName = 'storePullsAndResiduals' if flag.find('Holes')<0 else 'False',
-                                        **{opt : True})
-
-
-    # Vertex association
-    VertexAssoc = IndexAssociation  (
-        object,
-        typ.VertexAssociationTool, vertexTarget,
-        prefix = vertexPrefix,
-        VxSGKey = vertexSGKey,
-        level = flagTestLOD('storeVertexAssociation', flags))
-
-    # Truth matching
-    if rec.doTruth():
-        # Simple truth matching
-
-        # Allow associating to either GenParticles or TruthParticles.
-        def _levelAssocToGP (reqlev, args, hookargs):
-            if reqlev < 1: return False
-            if hookargs.get ('TruthParticleTarget'): return False
-            if hookargs.get ('GenParticleTarget'):
-                args['Target'] = hookargs.get ('GenParticleTarget')
-            return True
-        def _levelAssocToTP (reqlev, args, hookargs):
-            if reqlev < 1: return False
-            tpt = hookargs.get ('TruthParticleTarget')
-            if not tpt: return False
-            args['Target'] = tpt
-            return True
-
-        TruthAssoc = SimpleAssociation\
-                     (object,
-                      typ.TruthAssociationTool,
-                      prefix = truthPrefix,
-                      SGKey = SGKeyForTruth,
-                      MapKey = truthMapKey,
-                      level = flagTestLOD('doTruth and storeHitTruthMatching', flags))
-        TruthAssoc.defineBlock (_levelAssocToGP,
-                                'TruthAssocIndex',
-                                D3PDMakerCoreComps.IndexFillerTool,
-                                Target = truthTarget)
-
-
-        # Detailed truth matching
-        DetailedTruthAssoc = IndexMultiAssociation (
-            object,
-            typ.DetailedTruthAssociationTool, truthTarget,
-            prefix = detailedTruthPrefix,
-            level = flagTestLOD('doTruth and storeDetailedTruth and reqlev>=1', flags),
-            SGKey = SGKeyForDetailedTruth,
-            MapKey = detailedTruthMapKey)
-    
-    return object
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackParticleD3PDObjects.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackParticleD3PDObjects.py
deleted file mode 100644
index 4d25aa34312..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackParticleD3PDObjects.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-from InDetD3PDMaker.TrackD3PDObject import TrackD3PDObject
-import TrackD3PDMaker
-import InDetD3PDMaker
-
-class TrackParticleType:
-    typeName = 'Rec::TrackParticleContainer'
-    PerigeeAssociationTool       = TrackD3PDMaker.TrackParticlePerigeeAtOOAssociationTool
-    PerigeeAtPVAssociationTool   = TrackD3PDMaker.TrackParticlePerigeeAtPVAssociationTool
-    PerigeeAtBSAssociationTool   = TrackD3PDMaker.TrackParticlePerigeeAtBSAssociationTool
-    FitQualityAssociationTool    = InDetD3PDMaker.TrackParticleFitQualityAssociationTool
-    TrackSummaryAssociationTool  = InDetD3PDMaker.TrackParticleTrackSummaryAssociationTool
-    TrackInfoAssociationTool     = TrackD3PDMaker.TrackParticleInfoAssociationTool
-    HitAssociationTool           = InDetD3PDMaker.TrackParticleTSOAssociationTool
-    VertexAssociationTool        = TrackD3PDMaker.TrackParticleVertexAssociationTool
-    TruthAssociationTool         = InDetD3PDMaker.TrackParticleTruthAssociationTool
-    DetailedTruthAssociationTool = InDetD3PDMaker.TrackParticleDetailedTruthAssociationTool
-    
-
-TrackParticleD3PDObject = TrackD3PDObject(_label='trk',
-                                          _prefix='trk_',
-                                          _sgkey=D3PDMakerFlags.TrackSGKey(),
-                                          _object_name='TrackParticleD3PDObject',
-                                          typ=TrackParticleType,
-                                          vertexTarget='vx',
-                                          vertexPrefix='vx_',
-                                          vertexSGKey='VxPrimaryCandidate',
-                                          truthTarget='mc',
-                                          truthPrefix='mc_',
-                                          detailedTruthPrefix='detailed_mc_',
-                                          truthMapKey='TrackParticleTruthCollection',
-                                          SGKeyForTruth=D3PDMakerFlags.TrackSGKey(),
-                                          detailedTruthMapKey='DetailedTrackTruth',
-                                          SGKeyForDetailedTruth='Tracks',
-                                          flags=TrackD3PDFlags)
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackStateOnSurfaceAssociation.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackStateOnSurfaceAssociation.py
deleted file mode 100644
index b02b97d5825..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrackStateOnSurfaceAssociation.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import TrackD3PDMaker
-import InDetD3PDMaker
-from TrackD3PDMaker.TrackD3PDMakerFlags import TrackD3PDFlags
-import D3PDMakerCoreComps
-from D3PDMakerCoreComps.flagTestLOD import deferFlag
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-from D3PDMakerCoreComps.ContainedVectorMultiAssociation import ContainedVectorMultiAssociation
-
-def _get_res():
-    from AthenaCommon.AppMgr import ToolSvc
-    if hasattr(ToolSvc, 'TrackD3PDResidualPullCalculator'):
-        return ToolSvc.TrackD3PDResidualPullCalculator
-
-    from TrkResidualPullCalculator.TrkResidualPullCalculatorConf import Trk__ResidualPullCalculator
-    print 'xxx', Trk__ResidualPullCalculator
-    res = Trk__ResidualPullCalculator( name = "TrackD3PDResidualPullCalculator")
-    ToolSvc += res
-    return res
-
-
-def TrackStateOnSurfaceAssociation (parent, associator, _prefix = '',
-                                    _blocknameprefix = '', _level = 0,
-                                    getBLayerMeasurements = False,
-                                    getPixelMeasurements = False,
-                                    getSCTMeasurements = False,
-                                    getTRTMeasurements = False,
-                                    getMDTMeasurements = False,
-                                    getCSCMeasurements = False,
-                                    getRPCMeasurements = False,
-                                    getTGCMeasurements = False,
-                                    getBLayerOutliers = False,
-                                    getPixelOutliers = False,
-                                    getSCTOutliers = False,
-                                    getTRTOutliers = False,
-                                    getMDTOutliers = False,
-                                    getCSCOutliers = False,
-                                    getRPCOutliers = False,
-                                    getTGCOutliers = False,
-                                    getBLayerHoles = False,
-                                    getPixelHoles = False,
-                                    getSCTHoles = False,
-                                    getTRTHoles = False,
-                                    getMDTHoles = False,
-                                    getCSCHoles = False,
-                                    getRPCHoles = False,
-                                    getTGCHoles = False,
-                                    fillPullsName = 'False',
-                                    flags = TrackD3PDFlags):
-
-    assoc = ContainedVectorMultiAssociation\
-            (parent, associator,
-             prefix = _prefix, level = _level,
-             blockname = _blocknameprefix+'HitsOnTrackAssoc',
-             GetBLayerMeasurements = getBLayerMeasurements,
-             GetPixelMeasurements = getPixelMeasurements,
-             GetSCTMeasurements = getSCTMeasurements,
-             GetTRTMeasurements = getTRTMeasurements,
-             GetMDTMeasurements = getMDTMeasurements,
-             GetCSCMeasurements = getCSCMeasurements,
-             GetRPCMeasurements = getRPCMeasurements,
-             GetTGCMeasurements = getTGCMeasurements,
-             GetBLayerOutliers = getBLayerOutliers,
-             GetPixelOutliers = getPixelOutliers,
-             GetSCTOutliers = getSCTOutliers,
-             GetTRTOutliers = getTRTOutliers,
-             GetMDTOutliers = getMDTOutliers,
-             GetCSCOutliers = getCSCOutliers,
-             GetRPCOutliers = getRPCOutliers,
-             GetTGCOutliers = getTGCOutliers,
-             GetBLayerHoles = getBLayerHoles,
-             GetPixelHoles = getPixelHoles,
-             GetSCTHoles = getSCTHoles,
-             GetTRTHoles = getTRTHoles,
-             GetMDTHoles = getMDTHoles,
-             GetCSCHoles = getCSCHoles,
-             GetRPCHoles = getRPCHoles,
-             GetTGCHoles = getTGCHoles)
-
-
-    assoc.defineBlock(0, _blocknameprefix+'HitsOnTrack',
-                      InDetD3PDMaker.TrackStateOnSurfaceFillerTool,
-                      FillPixelHits = getPixelMeasurements or getPixelOutliers or getBLayerMeasurements or getBLayerOutliers,
-                      FillSCTHits = getSCTMeasurements or getSCTOutliers,
-                      FillTRTHits = getTRTMeasurements or getTRTOutliers,
-                      FillMDTHits = getMDTMeasurements or getMDTOutliers,
-                      FillCSCHits = getCSCMeasurements or getCSCOutliers,
-                      FillRPCHits = getRPCMeasurements or getRPCOutliers,
-                      FillTGCHits = getTGCMeasurements or getTGCOutliers,
-                      FillPixelHoles = getPixelHoles or getBLayerHoles,
-                      FillSCTHoles = getSCTHoles,
-                      FillTRTHoles = getTRTHoles,
-                      FillMDTHoles = getMDTHoles,
-                      FillCSCHoles = getCSCHoles,
-                      FillRPCHoles = getRPCHoles,
-                      FillTGCHoles = getTGCHoles,
-                      FillPulls = deferFlag (fillPullsName, flags),
-                      ResidualPullCalculator = deferFlag ('_get_res() if %s else None'%
-                                                          fillPullsName,
-                                                          flags,
-                                                          {'_get_res':_get_res}))
-
-    ## TODO - add Muon holes
-    if not(getPixelHoles or getBLayerHoles or getSCTHoles or getTRTHoles):
-        fqassoc = SimpleAssociation\
-                  (assoc,
-                   InDetD3PDMaker.TSOFitQualityAssociationTool,
-                   prefix = '', level = 0, blockname = _blocknameprefix+'HitsOnTrack_FitQualityAssoc')
-
-        fqassoc.defineBlock(0, _blocknameprefix+'HitsOnTrack_FitQuality',
-                            InDetD3PDMaker.TrackFitQualityFillerTool)
-    
-    return assoc
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrkTrackD3PDObjects.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrkTrackD3PDObjects.py
deleted file mode 100644
index 96a9e68b656..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TrkTrackD3PDObjects.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-from InDetD3PDMaker.TrackD3PDObject import TrackD3PDObject
-import InDetD3PDMaker
-
-
-class TrackCollectionType:
-    typeName = 'TrackCollection'
-    PerigeeAssociationTool       = InDetD3PDMaker.TrkTrackPerigeeAssociationTool
-    PerigeeAtPVAssociationTool   = InDetD3PDMaker.TrkTrackPerigeeAtPVAssociationTool
-    PerigeeAtBSAssociationTool   = InDetD3PDMaker.TrkTrackPerigeeAtBSAssociationTool
-    FitQualityAssociationTool    = InDetD3PDMaker.TrkTrackFitQualityAssociationTool
-    TrackSummaryAssociationTool  = InDetD3PDMaker.TrkTrackTrackSummaryAssociationTool
-    TrackInfoAssociationTool     = InDetD3PDMaker.TrkTrackInfoAssociationTool
-    HitAssociationTool           = InDetD3PDMaker.TrkTrackTSOAssociationTool
-    VertexAssociationTool        = InDetD3PDMaker.TrkTrackVertexAssociationTool
-    TruthAssociationTool         = InDetD3PDMaker.TrkTrackTruthAssociationTool
-    DetailedTruthAssociationTool = InDetD3PDMaker.TrkTrackDetailedTruthAssociationTool
-
-
-TrkTrackD3PDObject = TrackD3PDObject(_label='trkTrack',
-                                     _prefix='trkTrack_',
-                                     _sgkey='Tracks',
-                                     _object_name='TrkTrackD3PDObject',
-                                     typ=TrackCollectionType,
-                                     vertexTarget='vx',
-                                     vertexPrefix='vx_',
-                                     vertexSGKey='VxPrimaryCandidate',
-                                     truthTarget='mc',
-                                     truthPrefix='mc_',
-                                     detailedTruthPrefix='detailed_mc_',
-                                     truthMapKey='TrackTruthCollection',
-                                     SGKeyForTruth='Tracks',
-                                     detailedTruthMapKey='DetailedTrackTruth',
-                                     SGKeyForDetailedTruth='Tracks')
-
-PixelTrackD3PDObject = TrackD3PDObject(_label='trkPix',
-                                       _prefix='trkPix_',
-                                       _sgkey='ResolvedPixelTracks',
-                                       _object_name='PixelTrackD3PDObject',
-                                       typ=TrackCollectionType,
-                                       vertexTarget='vx',
-                                       vertexPrefix='vx_',
-                                       vertexSGKey='VxPrimaryCandidate',
-                                       truthTarget='mc',
-                                       truthPrefix='mc_',
-                                       detailedTruthPrefix='detailed_mc_',
-                                       truthMapKey='ResolvedPixelTracksTruthCollection',
-                                       SGKeyForTruth='ResolvedPixelTracks',
-                                       detailedTruthMapKey='ResolvedPixelTracksDetailedTruth',
-                                       SGKeyForDetailedTruth='ResolvedPixelTracks')
-
-SCTTrackD3PDObject = TrackD3PDObject(_label='trkSCT',
-                                     _prefix='trkSCT_',
-                                     _sgkey='ResolvedSCTTracks',
-                                     _object_name='SCTTrackD3PDObject',
-                                     typ=TrackCollectionType,
-                                     vertexTarget='vx',
-                                     vertexPrefix='vx_',
-                                     vertexSGKey='VxPrimaryCandidate',
-                                     truthTarget='mc',
-                                     truthPrefix='mc_',
-                                     detailedTruthPrefix='detailed_mc_',
-                                     truthMapKey='ResolvedSCTTracksTruthCollection',
-                                     SGKeyForTruth='ResolvedSCTTracks',
-                                     detailedTruthMapKey='ResolvedSCTTracksDetailedTruth',
-                                     SGKeyForDetailedTruth='ResolvedSCTTracks')
-
-TRTTrackD3PDObject = TrackD3PDObject(_label='trkTRT',
-                                     _prefix='trkTRT_',
-                                     _sgkey='StandaloneTRTTracks',
-                                     _object_name='TRTTrackD3PDObject',
-                                     typ=TrackCollectionType,
-                                     vertexTarget='vx',
-                                     vertexPrefix='vx_',
-                                     vertexSGKey='VxPrimaryCandidate',
-                                     truthTarget='mc',
-                                     truthPrefix='mc_',
-                                     detailedTruthPrefix='detailed_mc_',
-                                     truthMapKey='StandaloneTRTTracks',
-                                     SGKeyForTruth='StandaloneTRTTracks',
-                                     detailedTruthMapKey='StandaloneTRTTracksDetailedTruth',
-                                     SGKeyForDetailedTruth='StandaloneTRTTracks')
-
-ResolvedTracksD3PDObject = TrackD3PDObject(_label='trkResolvedTrack',
-                                           _prefix='trkResolvedTrack_',
-                                           _sgkey='ResolvedTracks',
-                                           _object_name='ResolvedTracksD3PDObject',
-                                           typ=TrackCollectionType,
-                                           vertexTarget='vx',
-                                           vertexPrefix='vx_',
-                                           vertexSGKey='VxPrimaryCandidate',
-                                           truthTarget='mc',
-                                           truthPrefix='mc_',
-                                           detailedTruthPrefix='detailed_mc_',
-                                           truthMapKey='ResolvedTracksTruthCollection',
-                                           SGKeyForTruth='ResolvedTracks',
-                                           detailedTruthMapKey='ResolvedTracksDetailedTruth',
-                                           SGKeyForDetailedTruth='ResolvedTracks')
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthTrackD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthTrackD3PDObject.py
deleted file mode 100644
index 41716508b42..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthTrackD3PDObject.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from InDetD3PDMaker import TruthTrackFillerTool
-from TruthD3PDMaker import GenParticlePerigeeFillerTool
-from TruthD3PDMaker import GenParticleFillerTool
-from InDetRecExample.InDetKeys import InDetKeys
-
-## Track Particles Truth
-def makeTruthTrackD3PDObject (name, prefix, object_name, getter = None,
-                              sgkey = "TruthEvent,GEN_AOD",
-                              typename = 'McEventCollection',
-                              label = 'mc'):
-    if not getter:
-        from InDetD3PDMaker import TruthTrackGetterTool
-        getter = TruthTrackGetterTool (name + '_Getter',
-                                       SGKey = sgkey,
-                                       TypeName = typename,
-                                       Label = label,
-                                       KeepOnlyPrimaryParticles = False,
-                                       KeepOnlyChargedParticles = False,
-                                       KeepV0 = True,
-                                       TrueTrackPtCut = 0,
-                                       TrueTrackEtaCut = 99999.,
-                                       MaxRAll = 2000000,
-                                       MaxZAll = 2000000,
-                                       MaxRPrimary = 25,
-                                       MaxZPrimary = 200)
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return  D3PDMakerCoreComps.VectorFillerTool (name, Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name,
-                                                 SaveMetadata = \
-                                                 D3PDMakerFlags.SaveObjectMetadata())
-
-## Track Truth
-TruthTrackD3PDObject = D3PDObject (makeTruthTrackD3PDObject, 'mc_', 'TruthTrackD3PDObject')
-
-TruthTrackD3PDObject.defineBlock (0, 'TruthTrackGenParticleInfo', GenParticleFillerTool, prefix='gen_', WriteE = True, WriteM = False)
-TruthTrackD3PDObject.defineBlock (0, 'TruthTrackPerigee',  GenParticlePerigeeFillerTool, prefix='perigee_')
-TruthTrackD3PDObject.defineBlock (0, 'TruthTrackParameters',  TruthTrackFillerTool)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthVertexD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthVertexD3PDObject.py
deleted file mode 100644
index c2ed731b454..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/TruthVertexD3PDObject.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-## Truth Vertices
-
-import D3PDMakerCoreComps
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from InDetD3PDMaker import TruthVertexFillerTool
-from InDetRecExample.InDetKeys import InDetKeys
-
-def makeTruthVertexD3PDObject (name, prefix, object_name, getter = None,
-                               sgkey = "TruthEvent,GEN_AOD",
-                               label = 'mcVx'):
-    
-    if not getter:
-        from InDetD3PDMaker import TruthVertexGetterTool
-        getter = TruthVertexGetterTool (name + '_Getter',
-                                        SGKey = sgkey,
-                                        TypeName = 'McEventCollection',
-                                        Label = label)
-
-    from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-    return  D3PDMakerCoreComps.VectorFillerTool (name, Prefix = prefix,
-                                                 Getter = getter,
-                                                 ObjectName = object_name,
-                                                 SaveMetadata = \
-                                                 D3PDMakerFlags.SaveObjectMetadata())
-
-TruthVertexD3PDObject = D3PDObject (makeTruthVertexD3PDObject, 'mcVx_',
-                                    'TruthVertexD3PDObject')
-TruthVertexD3PDObject.defineBlock (0, 'TruthVxPosition',  TruthVertexFillerTool)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/V0D3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/V0D3PDObject.py
deleted file mode 100644
index fb7056f819c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/V0D3PDObject.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import InDetD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-from InDetD3PDMaker.VertexD3PDObject import DefineVertexD3PDObject
-
-def BuildV0D3PDObject(_prefix='v0_',
-                      _label='v0',
-                      _sgkey='SimpleV0Candidates',
-                      _object_name='V0D3PDObject'):
-
-
-    def makeV0D3PDObject (name, prefix, object_name,
-                          getter = None,
-                          sgkey = _sgkey,
-                          label = _label):
-
-        if sgkey == None:
-            sgkey = 'SimpleV0Candidates'
-            
-        if label == None:
-            label = prefix
-                
-        if not getter:
-            from InDetD3PDMaker import V0ContainerGetterTool
-            getter = V0ContainerGetterTool\
-                     (name + '_Getter',
-                      TypeName = 'V0Container',
-                      SGKey = sgkey,
-                      Label = label)
-
-        from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags            
-        return D3PDMakerCoreComps.VectorFillerTool (name,
-                                                    Prefix = prefix,
-                                                    Getter = getter,
-                                                    ObjectName = object_name,
-                                                    AllowMissing = True,
-                                                    SaveMetadata = \
-                                                    D3PDMakerFlags.SaveObjectMetadata())
-
-    object = D3PDObject(makeV0D3PDObject, _prefix, _object_name)
-
-    object.defineBlock (0, 'V0Attributes',
-                        InDetD3PDMaker.V0CandidateFillerTool)
-
-    VxCandidateAssoc = SimpleAssociation\
-                       (object,
-                        InDetD3PDMaker.V0CandidateVxCandidateAssociationTool)
-    
-    DefineVertexD3PDObject(VxCandidateAssoc,
-                           trackTarget='trk',
-                           trackPrefix='trk_',
-                           trackType='Rec::TrackParticleContainer')
-    return object
-
-V0D3PDObject = BuildV0D3PDObject ('v0_', 'v0',
-                                  'SimpleV0Candidates',
-                                  'V0D3PDObject')
-
-DefaultV0D3PDObject = BuildV0D3PDObject ('v0_', 'v0',
-                                         'V0Candidates',
-                                         'DefaultV0D3PDObject')
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisFlags.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisFlags.py
deleted file mode 100644
index 67425669627..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisFlags.py
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-#
-## @file InDetD3PDMaker/python/VertexD3PDAnalysisFlags.py
-## @brief Python module to hold VertexD3PDAnalysis common flags
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-
-
-"""
-This file is used to configure the VertexD3PDAnalysis objects:
-enabling specific branch writing, ...
-"""
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-from D3PDMakerConfig.D3PDMakerFlags  import D3PDMakerFlags
-
-## Example flags
-#class doExampleFlag(JobProperty):
-#    """ Comment
-#    """
-#    statusOn=True
-#    allowedType=['bool'] #['int','float',...]
-#    StoredValue=False
-#
-
-## General flags
-
-class D3PDMakerExtraDict(JobProperty):
-    """ Extra options for D3PD making
-    """
-    statusOn=True
-    allowedType=['dict'] 
-    StoredValue={}
-
-class useEventInfo(JobProperty):
-    """ Store/use track information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class useTracks(JobProperty):
-    """ Store/use track information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class useBeamspot(JobProperty):
-    """ Store/use beamspot information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class useTrigger(JobProperty):
-    """ Store/use trigger information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class useTriggerRaw(JobProperty):
-    """ Store/use trigger RAW information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=False
-
-class useBackgroundWord(JobProperty):
-    """ Store/use beam background word information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class useSecondaryVertex(JobProperty):
-    """ Store/use V0 information
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=False
-
-class useAllVertexCollections(JobProperty):
-    """ Store/use split and non BC vertices
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class useTruth(JobProperty):
-    """ Store/use truth information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=True
-
-class filterTightTruth(JobProperty):
-    """ Only keep charged stable particles from in-time pile-up
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=False
-
-class useMET(JobProperty):
-    """ Store/use Missing Energy information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=True
-
-class useMuons(JobProperty):
-    """ Store/use Muons information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=True
-
-class useElectrons(JobProperty):
-    """ Store/use Electrons information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=True
-
-class usePhotons(JobProperty):
-    """ Store/use Photons information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=False
-
-class useJets(JobProperty):
-    """ Store/use Jets information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=True
-
-class useTaus(JobProperty):
-    """ Store/use Jets information
-    """
-    statusOn=True
-    allowedType=['bool']
-    StoredValue=False
-
-    
-
-## Add properties
-class VertexD3PDAnalysisFlags(JobPropertyContainer):
-    """ VertexD3PDAnalysis D3PD Flags container
-    """
-    
-jobproperties.add_Container(VertexD3PDAnalysisFlags)
-
-#jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(doExampleFlag)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(D3PDMakerExtraDict)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useEventInfo)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useTracks)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useBeamspot)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useTrigger)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useTriggerRaw)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useBackgroundWord)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useSecondaryVertex)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useAllVertexCollections)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useTruth)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(filterTightTruth)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useMET)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useElectrons)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useMuons)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(usePhotons)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useJets)
-jobproperties.VertexD3PDAnalysisFlags.add_JobProperty(useTaus)
-
-
-## Create shortcut
-VertexD3PDAnalysisFlags=jobproperties.VertexD3PDAnalysisFlags
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisKeys.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisKeys.py
deleted file mode 100644
index ea1999e06af..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisKeys.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-#
-## @file InDetD3PDMaker/python/VertexD3PDAnalysisKeys.py
-## @brief Python module to hold VertexD3PDAnalysis common Keys
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-
-
-"""
-This file is used to set different conventions for the VertexD3PDAnalysis objects:
-block names and common labels
-"""
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-## Define keys
-
-## Example key
-#class ExampleKey(JobProperty):
-#    """ Comment
-#    """
-#    statusOn=True
-#    allowedType=['str'] #['int','float',...]
-#    StoredValue='ExampleValue'
-#
-
-## General keys for Vertex Group D3PD production
-
-class D3PDFileName(JobProperty):
-    """ Output D3PD file name
-    """
-    statusOn=True
-    allowedType=['str'] 
-    StoredValue='VertexGroupD3PD.root'
-
-class D3PDTreeName(JobProperty):
-    """ Name of D3PD maker algorithm
-    """
-    statusOn=True
-    allowedType=['str'] 
-    StoredValue='VtxTree'
-
-class LabelDefaultVtx(JobProperty):
-    """ Label/Prefix for dumping default collection on AOD/ESD
-        Prefix is obtained as StoredValue+'_'
-    """
-    statusOn=True
-    allowedType=['str'] 
-    StoredValue='vxbc'
-
-class TruthTrackCutPtMin(JobProperty):
-    """ Cut of storing truth information on tracks (pT minimum)
-    """
-    statusOn=True
-    allowedType=['float'] 
-    StoredValue=350.
-
-class TruthTrackCutEtaMax(JobProperty):
-    """ Cut of storing truth information on tracks (|eta| maximum)
-    """
-    statusOn=True
-    allowedType=['float'] 
-    StoredValue=2.6
-
-class TruthAddOnlyFirstVertex(JobProperty):
-    """ Store only information of first vertex per event
-    """
-    statusOn=True
-    allowedType=['bool'] 
-    StoredValue=True
-
-class MetCollections(JobProperty):
-    """ Container name of Met info to use
-    """
-    statusOn=True
-    allowedType=['list'] 
-    StoredValue=['MET_RefFinal']
-    
-class MuonCollections(JobProperty):
-    """ Container name of Muon info to use
-    """
-    statusOn=True
-    allowedType=['list'] 
-    StoredValue=['MuidMuonCollection']
-
-class JetCollections(JobProperty):
-    """ Container name of Jet collections to use
-    """
-    statusOn=True
-    allowedType=['list']
-    StoredValue=['AntiKt4TopoEMJets']
-    
-
-
-## Add properties
-class VertexD3PDAnalysisKeys(JobPropertyContainer):
-    """ VertexD3PDAnalysis D3PD Keys container
-    """
-    
-jobproperties.add_Container(VertexD3PDAnalysisKeys)
-
-#jobproperties.VertexD3PDAnalysisKeys.add_JobPorioerty(ExampleKey)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(D3PDFileName)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(D3PDTreeName)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(LabelDefaultVtx)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(TruthTrackCutPtMin)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(TruthTrackCutEtaMax)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(TruthAddOnlyFirstVertex)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(MetCollections)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(MuonCollections)
-jobproperties.VertexD3PDAnalysisKeys.add_JobProperty(JetCollections)
-
-## Shortcut
-VertexD3PDAnalysisKeys=jobproperties.VertexD3PDAnalysisKeys
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisProdFlags.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisProdFlags.py
deleted file mode 100644
index b51f1ee482e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDAnalysisProdFlags.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-#
-## @file InDetD3PDMaker/python/VertexGroupD3PDProdFlags.py
-## @brief Setup Vertex Group D3PD (VTXD3PD) in D3PDMakerConfig/D3PDProdFlags.py
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-## Any objects here with a name of the form Write*D3PD that derive
-## from JobProperty are added to D3PDProdFlags.
-##
-
-from AthenaCommon.JobProperties import JobProperty
-from InDetD3PDMaker.VertexD3PDAnalysisKeys import VertexD3PDAnalysisKeys
-
-class WriteIDVTXD3PD (JobProperty):
-     """Produce the Vertex Group (IDVTX) D3PD."""
-     statusOn = True
-     allowedTypes = ['bool']
-     StoredValue = False
-     StreamName = 'StreamNTUP_IDVTX'
-     FileName = ''
-     isVirtual = False
-     DPDMakerScript = "InDetD3PDMaker/VertexGroupD3PD_prodJobOFragment.py"
-     TreeNames = [VertexD3PDAnalysisKeys.D3PDTreeName()]
-     SubSteps = ['a2d', 'e2d']
-
-class WriteIDVTXLUMID3PD (JobProperty):
-     """Produce the Vertex Luminosiry (IDVTXLUMI) D3PD."""
-     statusOn = True
-     allowedTypes = ['bool']
-     StoredValue = False
-     StreamName = 'StreamNTUP_IDVTXLUMI'
-     FileName = ''
-     isVirtual = False
-     DPDMakerScript = "InDetD3PDMaker/VertexLumiD3PD_prodJobOFragment.py"
-     TreeNames = [VertexD3PDAnalysisKeys.D3PDTreeName()]
-     SubSteps = ['a2d', 'e2d']
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDObject.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDObject.py
deleted file mode 100644
index ebc7f8642cd..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexD3PDObject.py
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import TrackD3PDMaker
-import InDetD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from D3PDMakerCoreComps.flagTestLOD import flagTestLOD, deferFlag
-from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
-from D3PDMakerCoreComps.SimpleAssociation import SimpleAssociation
-from D3PDMakerCoreComps.IndexAssociation import IndexAssociation
-from D3PDMakerCoreComps.IndexMultiAssociation import IndexMultiAssociation
-from D3PDMakerCoreComps.ContainedVectorMultiAssociation import ContainedVectorMultiAssociation
-from D3PDMakerCoreComps.resolveSGKey import resolveSGKey
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-from TrackD3PDMaker.TrackD3PDMakerFlags import *
-from RecExConfig.RecFlags import rec
-
-
-def _get_purity (args, hookargs):
-    from AthenaCommon.AppMgr import ToolSvc
-    from InDetRecExample.InDetKeys import InDetKeys
-    from InDetRecExample.InDetJobProperties import InDetFlags
-    # this tool is only needed for D3PD writing and hence it is configured here
-    from TrkVertexFitterValidationUtils.TrkVertexFitterValidationUtilsConf import Trk__TrkPriVxPurityTool
-    mckey = resolveSGKey ('McEventCollection', D3PDMakerFlags.TruthSGKey())
-    TrkPriVxPurityTool = Trk__TrkPriVxPurityTool(MonteCarloCollection = mckey)
-    ToolSvc += TrkPriVxPurityTool
-    if InDetFlags.doPrintConfigurables():
-        print TrkPriVxPurityTool
-    return
-
-
-def DefineVertexD3PDObject(object,
-                           trackTarget='trk',
-                           trackPrefix='trk_',
-                           trackType='Rec::TrackParticleContainer',
-                           flags=TrackD3PDFlags):
-
-    if trackType=='Rec::TrackParticleContainer':
-        vxTrackAtVertexTrackAssociationTool = InDetD3PDMaker.VxTrackAtVertexTrackParticleAssociationTool
-    if trackType=='TrackCollection':
-        vxTrackAtVertexTrackAssociationTool = InDetD3PDMaker.VxTrackAtVertexTrkTrackAssociationTool
-
-    # Position
-    object.defineBlock (flagTestLOD('vertexPositionLevelOfDetails>=1', flags),
-                        'Position',
-                        InDetD3PDMaker.VertexPositionFillerTool)
-
-    # Covariance Matrix
-    CovarianceAssoc = SimpleAssociation \
-                      (object,
-                       TrackD3PDMaker.VertexCovarianceAssociationTool,
-                       level = flagTestLOD('vertexPositionLevelOfDetails>=2', flags))
-
-
-    CovarianceAssoc.defineBlock (
-        flagTestLOD('vertexPositionLevelOfDetails>=2', flags),
-        'Error',
-        TrackD3PDMaker.CovarianceFillerTool,
-        Error = deferFlag ('storeDiagonalCovarianceAsErrors', flags),
-        DiagCovariance = deferFlag('not storeDiagonalCovarianceAsErrors',flags),
-        OffDiagCovariance = False,
-        IsPosition = True)
-
-    CovarianceAssoc.defineBlock (flagTestLOD('vertexPositionLevelOfDetails>=3', flags),
-                                 'Covariance',
-                                 TrackD3PDMaker.CovarianceFillerTool,
-                                 Error = False,
-                                 DiagCovariance = False,
-                                 OffDiagCovariance = True,
-                                 IsPosition = True)
-
-    # Type
-    object.defineBlock (flagTestLOD('storeVertexType', flags),
-                        'Type',
-                        InDetD3PDMaker.VertexTypeFillerTool)
-    
-    # Fit Quality
-    FitQualityAssoc = SimpleAssociation \
-                      (object,
-                       InDetD3PDMaker.VertexFitQualityAssociationTool,
-                       level = flagTestLOD('storeVertexFitQuality', flags))
-        
-    FitQualityAssoc.defineBlock (flagTestLOD('storeVertexFitQuality', flags),
-                                 'FitQuality',
-                                 InDetD3PDMaker.TrackFitQualityFillerTool)
-
-    # Kine
-    object.defineBlock (flagTestLOD('storeVertexKinematics', flags),
-                        'Kine',
-                        TrackD3PDMaker.VertexKineFillerTool)
-
-    # Purity
-    if rec.doTruth():
-        object.defineBlock(flagTestLOD('doTruth and storeVertexPurity', flags, _get_purity),
-                           'Purity',
-                           InDetD3PDMaker.VertexPurityFillerTool)
-
-    # Track association
-    TrackAssoc = ContainedVectorMultiAssociation\
-                 (object,
-                  TrackD3PDMaker.VertexTrackAssociationTool,
-                  trackPrefix,
-                  FillUnbiasedIP = deferFlag ('storeVertexTrackAssociation',
-                                              flags),
-                  level = flagTestLOD ('storeVertexTrackAssociation or storeVertexTrackIndexAssociation',
-                                       flags))
-
-    TrackAssoc.defineBlock(flagTestLOD('storeVertexTrackAssociation', flags),
-                           'TrackAtVertex',
-                           InDetD3PDMaker.VertexTrackAssociationFillerTool)
-
-    TrackParticleAssoc = IndexAssociation (
-        TrackAssoc,
-        vxTrackAtVertexTrackAssociationTool,
-        trackTarget,
-        level = flagTestLOD ('storeVertexTrackIndexAssociation', flags))
-
-
-def BuildVertexD3PDObject(_prefix='vx_',
-                          _label='vx',
-                          _sgkey=D3PDMakerFlags.VertexSGKey(),
-                          _object_name='PrimaryVertexD3PDObject',
-                          trackTarget='trk',
-                          trackPrefix='trk_',
-                          trackType='Rec::TrackParticleContainer'):
-
-    object = make_SGDataVector_D3PDObject (
-        'VxContainer',
-        _sgkey,
-        _prefix,
-        _object_name,
-        default_allowMissing = True,
-        allow_args = ['storeVertexTrackAssociation',
-                      'storeVertexTrackIndexAssociation',
-                      'storeDiagonalCovarianceAsErrors',
-                      'storeVertexType',
-                      'storeVertexFitQuality',
-                      'storeVertexKinematics',
-                      'storeVertexPurity',
-                      'vertexPositionLevelOfDetails',
-                      'doTruth'])
-
-    DefineVertexD3PDObject(object,
-                           trackTarget,
-                           trackPrefix,
-                           trackType)
-
-    return object
-
-
-#
-# Additional arguments that can be passed to this D3PDObject:
-#   storeVertexAssociation
-#   storeVertexTrackIndexAssociation
-#
-PrimaryVertexD3PDObject = BuildVertexD3PDObject(_prefix='vx_',
-                                                _label='vx',
-                                                _sgkey='VxPrimaryCandidate',
-                                                _object_name='PrimaryVertexD3PDObject',
-                                                trackTarget='trk',
-                                                trackPrefix='trk_',
-                                                trackType='Rec::TrackParticleContainer')
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexGroupD3PD.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexGroupD3PD.py
deleted file mode 100644
index b1ccab60923..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/VertexGroupD3PD.py
+++ /dev/null
@@ -1,296 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-#
-## @file InDetD3PDMaker/python/VertexGroupD3PD.py
-## @brief Setup D3PD objects for vertex group D3PD production
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-"""
-This file is used to add Vertex Group D3PD objects
-to a D3PD Maker algorithm
-"""
-
-from InDetD3PDMaker.VertexD3PDAnalysisFlags import VertexD3PDAnalysisFlags
-from InDetD3PDMaker.VertexD3PDAnalysisKeys import VertexD3PDAnalysisKeys
-
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-from RecExConfig.RecFlags import rec
-
-
-### Parse arguments with 'name' prefix and strip prefix
-#  for specific options to target D3PD objects
-# E.g. ei_level -> sets options 'level' of EventInfoD3PDObject
-def _args (name, kwin, **kw):
-    kw = kw.copy()
-    for (k, v) in kwin.items():
-        if k.startswith (name + '_'):
-            kw[k[len(name)+1:]] = v
-    return kw
-
-### Main routing to add objects to algorithm 'alg'
-def VertexGroupD3PD(alg = None,
-                    file=VertexD3PDAnalysisKeys.D3PDFileName(),
-                    treeName = VertexD3PDAnalysisKeys.D3PDTreeName(),
-                    **kw):
-
-    print '[InDetD3PDMaker.VertexGroupD3PD] Vertex group D3PD settings:'
-    print 'VertexD3PDAnalysisFlags'
-    print VertexD3PDAnalysisFlags
-    print 'VertexD3PDAnalysisKeys'
-    print VertexD3PDAnalysisKeys
-
-    if not alg:
-        ## Create a new algorithm
-        from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-        alg = MSMgr.NewRootStream(treeName, file)
-
-    ## General event information (custom options prefix: 'ei_')
-    if VertexD3PDAnalysisFlags.useEventInfo():
-        from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-        alg += EventInfoD3PDObject(**_args('ei_', kw, level=0, prefix='ei_'))        
-
-    ## Trigger information (custom options prefix: 'trig_')
-    if VertexD3PDAnalysisFlags.useTrigger():
-        from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
-        cfg = TriggerConfigGetter("ReadPool")
-        from TriggerD3PDMaker.defineTriggerBits import defineTriggerBits
-        from TriggerD3PDMaker.TrigConfMetadata  import addTrigConfMetadata
-        from TriggerD3PDMaker.TrigDecisionD3PDObject import TrigDecisionD3PDObject
-        alg += TrigDecisionD3PDObject(**_args('trig_', kw, level=2))
-        addTrigConfMetadata(alg)
-    if VertexD3PDAnalysisFlags.useTriggerRaw():
-        from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
-        cfg = TriggerConfigGetter("ReadPool")
-        from TriggerD3PDMaker.defineTriggerBits import defineTriggerBits
-        from TriggerD3PDMaker.TrigConfMetadata  import addTrigConfMetadata
-        #Setup custom D3PD object with raw trigger info only (e.g. calibration_vdM streams)
-        from D3PDMakerCoreComps.D3PDObject import make_Void_D3PDObject
-        import TriggerD3PDMaker
-        TrigDecisionD3PDObjectRaw = make_Void_D3PDObject( "trigRaw_", "TrigDecisionD3PDObjectRaw",default_name = "TrigDecisionFillerRaw" )
-        if not VertexD3PDAnalysisFlags.useTrigger():
-            TrigDecisionD3PDObjectRaw.defineBlock( 0, "TriggerRawInfo",
-                                                   TriggerD3PDMaker.TrigDecisionFillerTool,
-                                                   SaveLVL1Raw = True, SaveHLTRaw=True, SaveBGCode = True)
-        else:
-            TrigDecisionD3PDObjectRaw.defineBlock( 0, "TriggerRawInfo",
-                                                   TriggerD3PDMaker.TrigDecisionFillerTool,
-                                                   SaveHLTRaw=True, SaveBGCode = True)            
-        #Finally add object to algorithms
-        alg += TrigDecisionD3PDObjectRaw(**_args('trig_', kw, level=0))
-        if not VertexD3PDAnalysisFlags.useTrigger():
-            #unless we've already added it, add meta-data as well
-            addTrigConfMetadata(alg)
-
-    ## Beam background information (custom options prefix: 'bkg_')
-    if VertexD3PDAnalysisFlags.useBackgroundWord():
-        from BackgroundD3PDMaker.BackgroundWordD3PDObject import BackgroundWordD3PDObject
-        alg += BackgroundWordD3PDObject (**_args('bkg_', kw, level=0))
-
-    ## Tracks and V0 information (custom options prefix: 'trk_', and 'v0_')
-    if VertexD3PDAnalysisFlags.useTracks():
-        labelDefaultVtx=VertexD3PDAnalysisKeys.LabelDefaultVtx()
-        prefixDefaultVtx=labelDefaultVtx+'_' #Add trailing '_'    
-
-        import TrackD3PDMaker
-        from TrackD3PDMaker.TrackD3PDMakerFlags import TrackD3PDFlags
-        from InDetD3PDMaker.TrackD3PDObject import TrackD3PDObject
-        from InDetD3PDMaker.TrackParticleD3PDObjects import TrackParticleType
-        from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-        from TruthD3PDMaker.TruthD3PDMakerFlags import TruthD3PDFlags
-        from TruthD3PDMaker.TruthD3PDMakerKeys import TruthD3PDKeys
-        VtxD3PD_Track_Exclude=['vx_weight']
-        TrackD3PDMaker.PerigeeUnbiasedIPAtPVFillerTool.DoBiased = False #Switch off biased perigee
-        TrackParticleD3PDObjectForVertex = TrackD3PDObject(_label='trk',
-                                                           _prefix='trk_',
-                                                           _sgkey=D3PDMakerFlags.TrackSGKey(),
-                                                           _object_name='TrackParticleD3PDObjectForVertex',
-                                                           typ=TrackParticleType,
-                                                           vertexTarget=labelDefaultVtx,
-                                                           vertexPrefix=prefixDefaultVtx,
-                                                           vertexSGKey='VxPrimaryCandidate',
-                                                           truthTarget=TruthD3PDFlags.GenParticleAssocLabel(),
-                                                           truthPrefix=TruthD3PDKeys.GenParticlePrefix(),
-                                                           detailedTruthPrefix='', # 'mc_detailed_'
-                                                           SGKeyForTruth=D3PDMakerFlags.TrackSGKey(),
-                                                           truthMapKey='TrackParticleTruthCollection',
-                                                           detailedTruthMapKey='', #'DetailedTrackTruth'
-                                                           flags=TrackD3PDFlags)       
-        alg += TrackParticleD3PDObjectForVertex(**_args('trk_', kw, level=8, exclude=VtxD3PD_Track_Exclude))
-
-    if VertexD3PDAnalysisFlags.useSecondaryVertex():
-        from InDetD3PDMaker.V0D3PDObject import V0D3PDObject
-        alg += V0D3PDObject(**_args('v0_', kw, level=10))
-
-    ## Store beamspot information (custom option perfix: 'bs_')
-    if VertexD3PDAnalysisFlags.useBeamspot():
-        from InDetD3PDMaker.BeamSpotD3PDObject import BeamSpotD3PDObject
-        alg += BeamSpotD3PDObject(**_args('bs_', kw, level=0))
-
-    ## Store vertex information (custom options prefix: 'vtx_' or 'vtx' for BuildVertexD3PDObject)
-    from InDetD3PDMaker.VertexD3PDObject import PrimaryVertexD3PDObject
-    from InDetD3PDMaker.VertexD3PDObject import BuildVertexD3PDObject
-    from InDetRecExample.InDetKeys import InDetKeys
-    from InDetRecExample.InDetJobProperties import InDetFlags                
-    #First dump existing content
-    labelDefaultVtx=VertexD3PDAnalysisKeys.LabelDefaultVtx()
-    prefixDefaultVtx=labelDefaultVtx+'_' #Add trailing '_'    
-    VtxDefaultD3PDObj = BuildVertexD3PDObject(**_args('vtx', kw,
-                                                      _prefix=prefixDefaultVtx,
-                                                      _label=labelDefaultVtx,
-                                                      _sgkey=InDetKeys.PrimaryVertices(),
-                                                      trackTarget='trk',
-                                                      trackPrefix='trk_',
-                                                      trackType='Rec::TrackParticleContainer'))
-    alg += VtxDefaultD3PDObj(**_args('vtx_', kw, level=10))
-    #Then also dump the other vertex collections
-    if VertexD3PDAnalysisFlags.useAllVertexCollections:
-        #Use non BC and split collections (sorry, no customization of parameters here)
-        if not InDetFlags.doSplitVertexFindingForMonitoring():
-            #raise NameError('Requesting split vertices but algorith has not run!')
-            #pass
-            print('[InDetD3PDMaker.VertexGroupD3PD] WARNING: Requested split vertices, but algorithm has not run! Skipped.')
-        else:            
-            SplitPrimaryVertexD3PDObject = BuildVertexD3PDObject(_prefix='vxsplit_',
-                                                                 _label='vxsplit',
-                                                                 _sgkey=InDetKeys.PrimaryVerticesSplitStream(),
-                                                                 trackTarget='trk',
-                                                                 trackPrefix='trk_',
-                                                                 trackType='Rec::TrackParticleContainer')
-            alg += SplitPrimaryVertexD3PDObject(8)
-
-        #Then store also non beamspot constrained ones
-        if not InDetFlags.doVertexFindingForMonitoring():
-            #raise NameError('Requesting NBC vertices but algorith has not run!')
-            #pass
-            print('[InDetD3PDMaker.VertexGroupD3PD] WARNING: Requested non beamspot constrained vertices, but algorithm has not run! Skipped.')
-        else:
-            NoBeamConstraintPrimaryVertexD3PDObject = BuildVertexD3PDObject(_prefix='vxnbc_',
-                                                               _label='vxnbc',
-                                                               _sgkey=InDetKeys.PrimaryVerticesWithoutBeamConstraint(),
-                                                               trackTarget='trk',
-                                                               trackPrefix='trk_',
-                                                               trackType='Rec::TrackParticleContainer')
-            alg += NoBeamConstraintPrimaryVertexD3PDObject(8)
-            
-    ## Store truth-level information (custom options prefix: 'tuthVtx_', 'truthEvt_', 'truthPart_')
-    if VertexD3PDAnalysisFlags.useTruth():
-        from TruthD3PDAnalysis.TruthD3PDAnalysisConf import D3PD__GenObjectsFilterTool
-        trackGenObjectsFilterTool= D3PD__GenObjectsFilterTool( "trackGenObjectsFilterTool" )
-        from AthenaCommon.AppMgr import ToolSvc
-        ToolSvc += trackGenObjectsFilterTool
-
-        if (VertexD3PDAnalysisFlags.filterTightTruth()):
-            trackGenObjectsFilterTool.SelectTruthTracks=True
-            trackGenObjectsFilterTool.PtMin = VertexD3PDAnalysisKeys.TruthTrackCutPtMin()
-            trackGenObjectsFilterTool.EtaMax = VertexD3PDAnalysisKeys.TruthTrackCutEtaMax()
-            trackGenObjectsFilterTool.RemoveEmptyEvents = True
-            trackGenObjectsFilterTool.RemoveDummyEvents = True
-            trackGenObjectsFilterTool.RemoveInTimePileUp = False
-            trackGenObjectsFilterTool.Remove2BCPileUp = True
-            trackGenObjectsFilterTool.Remove800nsPileUp = True
-            trackGenObjectsFilterTool.RemoveCavernBkg = False
-            trackGenObjectsFilterTool.AddOnlyFirstVertex = VertexD3PDAnalysisKeys.TruthAddOnlyFirstVertex()            
-        else:
-            #Use a more inclusive truth policy
-            trackGenObjectsFilterTool.SelectTruthTracks=False	  
-            trackGenObjectsFilterTool.PtMin = VertexD3PDAnalysisKeys.TruthTrackCutPtMin()
-            trackGenObjectsFilterTool.EtaMax = VertexD3PDAnalysisKeys.TruthTrackCutEtaMax()
-            trackGenObjectsFilterTool.RemoveEmptyEvents = True
-            trackGenObjectsFilterTool.RemoveDummyEvents = True
-            trackGenObjectsFilterTool.AddOnlyFirstVertex = VertexD3PDAnalysisKeys.TruthAddOnlyFirstVertex()
-	  
-        from TruthD3PDMaker.GenEventD3PDObject import GenEventD3PDObject
-        alg += GenEventD3PDObject(**_args('truthEvt_', kw,
-                                          level=10, filter = trackGenObjectsFilterTool,
-                                          pileup_CollectionGetterRegistry=alg.name()+'_CollectionGetterRegistry'))
-        
-        from TruthD3PDMaker.GenVertexD3PDObject import GenVertexD3PDObject
-        alg += GenVertexD3PDObject(**_args('truthVtx_', kw,
-                                           level=1,
-                                           filter = trackGenObjectsFilterTool))
-        
-        from TruthD3PDMaker.GenParticleD3PDObject import GenParticleD3PDObject
-        alg += GenParticleD3PDObject(**_args('truthPart_', kw,
-                                             level=10,
-                                             filter = trackGenObjectsFilterTool))
-
-        from TruthD3PDMaker.GenParticleD3PDObject import GenTruthTrackD3PDObject
-        alg += GenTruthTrackD3PDObject(**_args('truthTrack_', kw, level=0))
-        
-    ## Dump higher level objects	  
-    # Missing Energy (custom options prefix with VertexD3PDAnalysisKeys.MetCollections+'_')
-    if VertexD3PDAnalysisFlags.useMET():
-        for MET in VertexD3PDAnalysisKeys.MetCollections():
-            VtxD3PD_Met_Key=MET
-            VtxD3PD_Met_Prefix=MET.replace('_','')+'_'
-            VtxD3PD_Met_Level=0 #Only basic info
-            VtxD3PD_Met_Exclude=['MET_Regions', 'L1_', 'L2_', 'EF_']
-            from MissingETD3PDMaker.MissingETD3PDObject import RefFinalMETD3PDObject
-            VtxD3PD_Met_Obj = RefFinalMETD3PDObject(**_args(MET+'_', kw,
-                                                           level=VtxD3PD_Met_Level,
-                                                           sgkey=VtxD3PD_Met_Key,
-                                                           prefix=VtxD3PD_Met_Prefix,
-                                                           exclude=VtxD3PD_Met_Exclude))
-            alg += VtxD3PD_Met_Obj
-
-    #Muons (custom options prefix VtxD3PD_Muon_Prefix -- see below [e.g. muid_, staco_, ...])
-    if VertexD3PDAnalysisFlags.useMuons():
-        from MuonD3PDMaker.MuonD3PDObject import MuonD3PDObject
-        for Muon in VertexD3PDAnalysisKeys.MuonCollections():
-            VtxD3PD_Muon_Key=Muon
-            VtxD3PD_Muon_Prefix=Muon+'_'
-            if VtxD3PD_Muon_Key == 'MuidMuonCollection':
-                VtxD3PD_Muon_Prefix='muid_'
-            elif VtxD3PD_Muon_Key == 'StacoMuonCollection':
-                VtxD3PD_Muon_Prefix = 'staco_'
-            
-            VtxD3PD_Muon_Level=0 #Only basic info
-            VtxD3PD_Muon_Exclude=['EFCBInfo', 'EFMGInfo', 'EFMEInfo', 'L2CBInfo', 'L1Info', 'L1_', 'L2_', 'EF_']
-            VtxD3PD_Muon_Obj = MuonD3PDObject(**_args(VtxD3PD_Muon_Prefix, kw,
-                                                     level=VtxD3PD_Muon_Level,
-                                                     sgkey=VtxD3PD_Muon_Key,
-                                                     prefix=VtxD3PD_Muon_Prefix,
-                                                     allowMissing = True,
-                                                     exclude=VtxD3PD_Muon_Exclude))
-            alg += VtxD3PD_Muon_Obj
-            
-    #Electrons (custom options prefix: 'el_')
-    if VertexD3PDAnalysisFlags.useElectrons():
-        from egammaD3PDMaker.ElectronD3PDObject import ElectronD3PDObject
-        alg += ElectronD3PDObject(**_args('el_', kw, prefix='el_', level=0))
-        
-    #Photons (custom options prefix: 'ph_')
-    if VertexD3PDAnalysisFlags.usePhotons():
-        from egammaD3PDMaker.PhotonD3PDObject import PhotonD3PDObject
-        alg += PhotonD3PDObject(**_args('ph_', kw, prefix='ph_', level=0))
-        
-    #Jets, JVF, b-jets (custom options prefix: 'jet_')
-    if VertexD3PDAnalysisFlags.useJets():
-        from JetD3PDMaker.JetD3PDObject import JetD3PDObject
-        from JetTagD3PDMaker.JetTagD3PDMakerKeys import JetTagD3PDKeys
-        from JetTagD3PDMaker.AddBTagD3PDInfo import addBTagInfoToJetObject
-        addBTagInfoToJetObject(JetD3PDObject, btagLevelOffset=0)        
-        VtxD3PD_Jet_Include=['Kinematics', 'JetVertexFraction', 'JVtx', 'EMFraction','TrueFlavorComponents',
-                             JetTagD3PDKeys.BTagWeightsBlockName()]
-        for JET in VertexD3PDAnalysisKeys.JetCollections():
-            VtxD3PD_Jet_Prefix=JET.replace('_','')+'_'
-            if len(VertexD3PDAnalysisKeys.JetCollections()) == 1:
-                #only 1 element, simplify prefix
-                VtxD3PD_Jet_Prefix='jet_'
-            alg += JetD3PDObject(**_args('jet_', kw,                                         
-                                         sgkey=JET,
-                                         prefix=VtxD3PD_Jet_Prefix,
-                                         level=0, include=VtxD3PD_Jet_Include))
-    
-    #Taus
-    if VertexD3PDAnalysisFlags.useTaus():
-        from TauD3PDMaker.TauD3PDObject import TauD3PDObject
-        VtxD3PD_Tau_Include=['TauPriVtx']
-        alg += TauD3PDObject(**_args('tau_', kw, prefix='tau_', level=0, include=VtxD3PD_Tau_Include))
-
-    ## Return algorithm
-    return alg
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/__init__.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/__init__.py
deleted file mode 100644
index 5292384ade7..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-import InDetD3PDMakerConf
-for k, v in InDetD3PDMakerConf.__dict__.items():
-    if k.startswith ('D3PD__'):
-        globals()[k[6:]] = v
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackBeamlineParametersFiller.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackBeamlineParametersFiller.py
deleted file mode 100644
index 485721ba032..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackBeamlineParametersFiller.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-# $Id: trackBeamlineParametersFiller.py 527323 2012-11-22 18:22:23Z ssnyder $
-#
-# @file InDetD3PDMaker/python/trackBeamlineParametersFiller.py
-# @author scott snyder <snyder@bnl.gov>
-# @date June 2012
-# @brief Configure fillers for the beamline parameters of a track.
-#
-
-
-from D3PDMakerCoreComps.SimpleAssociation   import SimpleAssociation
-from D3PDMakerCoreComps.flagTestLOD         import flagTestLOD
-from TrackD3PDMaker.TrackD3PDMakerFlags     import TrackD3PDFlags
-import TrackD3PDMaker
-import InDetD3PDMaker
-
-
-def trackBeamlineParametersFiller (tobj,
-                                   blockprefix = '',
-                                   prefix = '',
-                                   suffix = '_wrtBL',
-                                   parametersLOD = None,
-                                   errorsLOD = None,
-                                   covarianceLOD = None):
-
-    """Add blocks to TOBJ to write track parameters / errors / covariance
-as evaluated at the beamline.
-
-TOBJ may represent one of Track, TrackParameters, or TrackParticle.
-
-BLOCKPREFIX is a prefix to add onto the block names.
-
-PREFIX and SUFFIX are added to variable names.
-
-If PARAMETERSLOD is None, then whether or not the parameters are written
-is controlled by TrackD3PDFlags.trackParametersAtBeamLineLevelOfDetails.
-Otherwise, it should be the level of detail for the block.
-
-ERRORSLOD and COVARIANCELOD are similar for the errors and covariances.
-"""
-
-    def make_lod (lod, flagthresh):
-        if lod != None:
-            return lod
-        return flagTestLOD ('trackParametersAtBeamLineLevelOfDetails >= %d and reqlev >= %d' % (flagthresh, flagthresh), TrackD3PDFlags)
-
-    BLParamsAssoc = SimpleAssociation \
-                    (tobj,
-                     InDetD3PDMaker.TrackBeamlineParametersAssociationTool,
-                     blockname = blockprefix + 'BLParamsAssoc',
-                     prefix = prefix,
-                     suffix = suffix)
-    BLParamsAssoc.defineBlock (make_lod (parametersLOD, 1),
-                               blockprefix + 'BLParams',
-                               InDetD3PDMaker.TrackParametersFillerTool,
-                               DefaultValue = -9999)
-
-    BLErrorsAssoc = SimpleAssociation \
-                    (BLParamsAssoc,
-                     InDetD3PDMaker.TrackParametersErrorMatrixAssociationTool,
-                     blockname = blockprefix + 'BLErrorsAssoc')
-    BLErrorsAssoc.defineBlock (make_lod (parametersLOD, 2),
-                               blockprefix + 'BLErrors',
-                               InDetD3PDMaker.ErrorMatrixErrorFillerTool,
-                               DefaultValue = -9999)
-    BLErrorsAssoc.defineBlock (make_lod (parametersLOD, 3),
-                               blockprefix + 'BLCovariance',
-                               InDetD3PDMaker.ErrorMatrixCovarianceFillerTool,
-                               DefaultValue = -9999)
-    
-    return
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackIsolationTool.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackIsolationTool.py
deleted file mode 100644
index 94821764e5e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackIsolationTool.py
+++ /dev/null
@@ -1,223 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-# $Id: trackIsolationTool.py 542462 2013-03-26 04:51:52Z ssnyder $
-#
-# @file InDetD3PDMaker/python/trackIsolationTool.py
-# @author scott snyder <snyder@bnl.gov>
-# @date Mar, 2013
-# @brief Helpers for setting up TrackIsolationTool.
-#
-
-
-from RecExConfig.RecFlags import rec 
-from TrackIsolationTools.TrackIsolationToolsConf import  TrackIsolationTool
-from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
-from AthenaCommon.SystemOfUnits import MeV, GeV, mm
-from AthenaCommon.DetFlags import DetFlags
-from AthenaCommon.AppMgr import ServiceMgr
-
-
-from AthenaCommon.Include import include
-include ( "TrackInCaloTools/TrackInCaloTools_jobOptions.py" )
-
-
-# Create an initialized TrackIsolationTool.
-def trackIsolationTool (name,
-                        doTrackIsolation = False,
-                        doSumConversionTracks = True,
-                        trackParticleCollection = 'TrackParticleCandidate',
-                        conversionContainer = 'ConversionCandidate',
-                        calorimeterCellContainer = None,
-                        onlyEM = False,
-                        coreDeltaR = 0.05,
-                        trackToVertexTool = None,
-                        trackSummaryTool = None,
-                        extrapolator = None,
-
-                        trackSelector = None,
-                        pTMin                = 1000*MeV,
-                        IPd0Max              = 10.0*mm,
-                        IPz0Max              = 10.0*mm,
-                        z0Max                = 10.0*mm,
-                        useTrackSummaryInfo  = True,
-                        nHitBLayer           = 0,
-                        nHitPix              = 0,
-                        nHitBLayerPlusPix    = 0,
-                        nHitSct              = 0,
-                        nHitSi               = 4,
-                        nHitTrt              = 0,
-                        useTrackQualityInfo  = False,
-                        **kw
-                        ):
-
-    from AthenaCommon.AppMgr import ToolSvc
-
-    if calorimeterCellContainer == None:
-        calorimeterCellContainer = \
-          'AODCellContainer' if rec.readAOD() else 'AllCalo'
-
-    if trackToVertexTool == None:
-        from TrackToVertex.TrackToVertexConf import Reco__TrackToVertex
-        trackToVertexTool = Reco__TrackToVertex()
-        ToolSvc += trackToVertexTool
-
-    if trackSummaryTool == None:
-        from TrkTrackSummaryTool.AtlasTrackSummaryTool import AtlasTrackSummaryTool
-        trackSummaryTool = AtlasTrackSummaryTool()
-        ToolSvc += trackSummaryTool
-
-    if extrapolator == None:
-        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-        extrapolator = AtlasExtrapolator()
-        ToolSvc += extrapolator
-
-
-    if trackSelector == None:
-        selname = name + 'TrackSelector'
-        from AthenaCommon.BeamFlags import jobproperties
-        if (jobproperties.Beam.beamType() == 'cosmics' or
-            jobproperties.Beam.beamType() == 'singlebeam'):
-
-            trackSelector = InDet__InDetDetailedTrackSelectorTool (
-                name                 = selname,
-                pTMin                = 0*MeV,
-                IPd0Max              = 9999*mm,
-                IPz0Max              = 9999*mm,
-                z0Max                = 9999*mm,
-                useTrackSummaryInfo  = False,
-                useTrackQualityInfo  = False,
-                TrackSummaryTool     = trackSummaryTool,
-                Extrapolator         = extrapolator)
-        else:
-            trackSelector = InDet__InDetDetailedTrackSelectorTool (
-                name                 = selname,
-                pTMin                = pTMin,
-                IPd0Max              = IPd0Max,
-                IPz0Max              = IPz0Max,
-                z0Max                = z0Max,
-                useTrackSummaryInfo  = useTrackSummaryInfo,
-                nHitBLayer           = nHitBLayer,
-                nHitPix              = nHitPix,
-                nHitBLayerPlusPix    = nHitBLayerPlusPix,
-                nHitSct              = nHitSct,
-                nHitSi               = nHitSi,
-                nHitTrt              = nHitTrt,
-                useTrackQualityInfo  = useTrackQualityInfo,
-                TrackSummaryTool     = trackSummaryTool,
-                Extrapolator         = extrapolator,
-                **kw)
-        ToolSvc += trackSelector
-
-
-    tool = TrackIsolationTool(
-        name,
-        DoTrackIsolation         = doTrackIsolation,
-        DoSumConversionTracks    = doSumConversionTracks,
-        TrackParticleCollection  = trackParticleCollection,
-        ConversionContainer      = conversionContainer,
-        CaloCellContainer        = calorimeterCellContainer,
-
-        OnlyEM                   = onlyEM,
-        CoreDeltaR               = coreDeltaR,
-        ExtrapolTrackToCaloTool  = ToolSvc.TrackInCaloTools,
-
-        TrackToVertex            = trackToVertexTool,
-        TrackSelector            = trackSelector)
-    ToolSvc += tool
-    return tool
-
-
-
-#########################################################################
-# Define some useful variations of TrackIsolationTool.
-#
-
-
-#
-# Track cut of 500 MeV
-#
-def trackIsolationTool_500MeV():
-    return trackIsolationTool (name = 'TrackIsolationTool_500MeV',
-                               pTMin = 500*MeV)
-
-
-#
-# Track cut of 1 GeV
-#
-def trackIsolationTool_1GeV():
-    return trackIsolationTool (name = 'TrackIsolationTool_1GeV',
-                               pTMin = 1*GeV)
-
-
-#
-# Track cut of 2 GeV
-#
-def trackIsolationTool_2GeV():
-    return trackIsolationTool (name = 'TrackIsolationTool_2GeV',
-                               pTMin = 2*GeV)
-
-
-#
-# Track cut of 3 GeV
-#
-def trackIsolationTool_3GeV():
-    return trackIsolationTool (name = 'TrackIsolationTool_3GeV',
-                               pTMin = 3*GeV)
-
-
-#
-# Track cut of 4 GeV
-#
-def trackIsolationTool_4GeV():
-    return trackIsolationTool (name = 'TrackIsolationTool_4GeV',
-                               pTMin = 4*GeV)
-
-
-#
-# Track cut of 4 GeV
-#
-def trackIsolationTool_5GeV():
-    return trackIsolationTool (name = 'TrackIsolationTool_5GeV',
-                               pTMin = 5*GeV)
-
-def trackIsolationTool_3GeV_hitschi():
-    return trackIsolationTool (name = 'TrackIsolationTool_3GeV_hitschi',
-                               pTMin = 3*GeV,
-                               nHitPix              = 1,
-                               nHitSct              = 4,
-                               nHitTrt              = 10,
-                               useTrackQualityInfo  = True,
-                               fitChi2OnNdfMax      = 3.0,
-                               )
-
-
-def trackIsolationTool_trkelstyle():
-    from AthenaCommon.AppMgr import ToolSvc
-
-    IsolBuildTestBLayerTool = None
-    if DetFlags.haveRIO.pixel_on():
-        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-        TrackIsolationExtrapolator = AtlasExtrapolator()
-        ToolSvc+=TrackIsolationExtrapolator
-
-        from InDetTestBLayer.InDetTestBLayerConf import \
-             InDet__InDetTestBLayerTool
-        IsolBuildTestBLayerTool = InDet__InDetTestBLayerTool \
-          (name= "IsolBuildTestBLayerTool",
-           PixelSummarySvc = ServiceMgr.PixelConditionsSummarySvc,
-           Extrapolator    = TrackIsolationExtrapolator)
-        ToolSvc += IsolBuildTestBLayerTool
-
-    return trackIsolationTool (name = 'TrackIsolationTool_trkelstyle',
-                               pTMin = 0.4*MeV,
-                               IPd0Max = 1.5*mm,
-                               IPz0Max = 1.0*mm,
-                               nHitBLayer = 1,
-                               nHitSi = 9,
-                               nHolesPixel = 0,
-                               nSharedBLayer = 999,
-                               nSharedPix = 999,
-                               nSharedSct = 999,
-                               nSharedSi = 999,
-                               d0MaxPreselection = 9999,
-                               InDetTestBLayerTool = IsolBuildTestBLayerTool)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackParticleLastParametersFiller.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackParticleLastParametersFiller.py
deleted file mode 100644
index b58a127454d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/python/trackParticleLastParametersFiller.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-
-# $Id: trackParticleLastParametersFiller.py 526670 2012-11-19 18:50:06Z ssnyder $
-#
-# @file InDetD3PDMaker/python/trackParticleLastParametersFiller.py
-# @author scott snyder <snyder@bnl.gov>
-# @date May 2012
-# @brief Configure fillers for last parameters of a TrackParticle.
-#
-
-
-from D3PDMakerCoreComps.SimpleAssociation   import SimpleAssociation
-import TrackD3PDMaker
-import InDetD3PDMaker
-
-
-def trackParticleLastParametersFiller (tpobj, covarianceLOD = 99):
-
-    TPLastParameters = SimpleAssociation \
-        (tpobj,
-         InDetD3PDMaker.TrackParticleLastParametersAssociationTool,
-         suffix = '_LM')
-    TPLastParameters.defineBlock (1, 'TPLastQoverP',
-                                  InDetD3PDMaker.TrackParametersFillerTool,
-                                  LocalType = "NONE",
-                                  FillPhi = False)
-    TPLastParameters.defineBlock (3, 'TPLastParameters',
-                                  InDetD3PDMaker.TrackParametersFillerTool,
-                                  LocalType = "CARTESIAN",
-                                  FillThetaAndQoverP = False)
-    TPLastErrors = SimpleAssociation \
-                   (TPLastParameters,
-                    InDetD3PDMaker.TrackParametersErrorMatrixAssociationTool)
-    TPLastErrors.defineBlock (2, 'TPLastQoverPErr',
-                              InDetD3PDMaker.ErrorMatrixErrorFillerTool,
-                              LocalType = "NONE",
-                              FillPhi = False)
-    TPLastErrors.defineBlock (3, 'TPLastParametersErr',
-                              InDetD3PDMaker.ErrorMatrixErrorFillerTool,
-                              LocalType = "CARTESIAN",
-                              FillThetaAndQoverP = False)
-
-    TPLastErrors.defineBlock (covarianceLOD, 'TPLastParametersCov',
-                              InDetD3PDMaker.ErrorMatrixCovarianceFillerTool,
-                              LocalType = "CARTESIAN")
-
-    return
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/PixelNtuple.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/PixelNtuple.py
deleted file mode 100644
index ee554ea00c2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/PixelNtuple.py
+++ /dev/null
@@ -1,260 +0,0 @@
-#import MinBiasD3PDMaker
-import TrackD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-import TriggerD3PDMaker
-
-from D3PDMakerConfig.D3PDMakerFlags           import D3PDMakerFlags
-from TrackD3PDMaker.TrackD3PDMakerFlags       import TrackD3PDFlags
-from InDetD3PDMaker.InDetD3PDMakerPixelFlags  import InDetD3PDPixelFlags
-
-### added to enure the TrackD3PD generic track variables (14.04.2011)
-TrackD3PDFlags.vertexPositionLevelOfDetails=1
-TrackD3PDFlags.storeVertexFitQuality = True
-TrackD3PDFlags.storeVertexKinematics=True
-TrackD3PDFlags.storeVertexPurity=False
-TrackD3PDFlags.storeVertexTrackAssociation=False
-TrackD3PDFlags.storeVertexTrackIndexAssociation=False
-
-TrackD3PDFlags.storeTrackSummary = True
-TrackD3PDFlags.storeTrackSummary.IDHits = True
-TrackD3PDFlags.storeTrackSummary.IDHoles = True
-TrackD3PDFlags.storeTrackSummary.IDSharedHits = False
-TrackD3PDFlags.storeTrackSummary.IDOutliers = False
-TrackD3PDFlags.storeTrackSummary.PixelInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.SCTInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.TRTInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.InfoPlus = False
-TrackD3PDFlags.storeTrackSummary.MuonHits = False #default True
-TrackD3PDFlags.storeTrackSummary.MuonHoles = False
-TrackD3PDFlags.storeTrackSummary.ExpectBLayer = False #default True
-TrackD3PDFlags.storeTrackPredictionAtBLayer = False
-TrackD3PDFlags.storeTrackSummary.HitSum = True
-TrackD3PDFlags.storeTrackSummary.HoleSum = True
-TrackD3PDFlags.storeTrackSummary.HitPattern = True
-TrackD3PDFlags.storeTrackSummary.SiHits = False
-TrackD3PDFlags.storeTrackSummary.TRTRatio = True
-TrackD3PDFlags.storeTrackSummary.PixeldEdx = True #default False
-TrackD3PDFlags.storeTrackSummary.ElectronPID = False
-####
-## Fix impact parameters
-TrackD3PDFlags.trackParametersAtGlobalPerigeeLevelOfDetails=0
-TrackD3PDFlags.trackParametersAtPrimaryVertexLevelOfDetails=2
-TrackD3PDFlags.trackParametersAtBeamSpotLevelOfDetails=0
-TrackD3PDFlags.storeTrackUnbiasedIPAtPV=False
-## Fix track variables
-TrackD3PDFlags.storeTrackMomentum=True
-TrackD3PDFlags.storeTrackInfo=True
-TrackD3PDFlags.storeTrackFitQuality=True
-## Fix the rest
-TrackD3PDFlags.storePullsAndResiduals=False
-TrackD3PDFlags.storeBLayerHitsOnTrack=False
-TrackD3PDFlags.storePixelHitsOnTrack=False
-TrackD3PDFlags.storeSCTHitsOnTrack=False
-TrackD3PDFlags.storeTRTHitsOnTrack=False
-TrackD3PDFlags.storeBLayerOutliersOnTrack=False
-TrackD3PDFlags.storePixelOutliersOnTrack=False
-TrackD3PDFlags.storeTRTOutliersOnTrack=False
-TrackD3PDFlags.storeBLayerHolesOnTrack=False
-TrackD3PDFlags.storePixelHolesOnTrack=False   
-TrackD3PDFlags.storeSCTHolesOnTrack=False
-TrackD3PDFlags.storeTRTHolesOnTrack=False
-TrackD3PDFlags.storeVertexAssociation=False
-
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-
-from InDetD3PDMaker.PixelClusterD3PDObject      import PixelClusterD3PDObject     #new
-from InDetD3PDMaker.PixelRDOD3PDObject          import PixelRDOD3PDObject         #new
-from TrackD3PDMaker.TRTPhaseD3PDObject        import TRTPhaseD3PDObject
-from InDetD3PDMaker.PixelHitOnTrackAssociation  import PixelHitOnTrackAssociation #new
-
-#primary vertex
-from InDetD3PDMaker.VertexD3PDObject          import PrimaryVertexD3PDObject 
-
-
-from InDetD3PDMaker.TrackParticleD3PDObjects  import TrackParticleD3PDObject
-#from MinBiasD3PDMaker.BcmRdoD3PDObject        import BcmRdoD3PDObject
-from TrigMbD3PDMaker.BcmRdoD3PDObject         import BcmRdoD3PDObject
-
-#Trigger
-#from MinBiasD3PDMaker.CtpRdoD3PDObject        import CtpRdoD3PDObject
-#from MinBiasD3PDMaker.CtpDecisionD3PDObject   import CtpDecisionD3PDObject
-from TrigMbD3PDMaker.CtpRdoD3PDObject        import CtpRdoD3PDObject
-from TrigMbD3PDMaker.CtpDecisionD3PDObject    import CtpDecisionD3PDObject
-from TriggerD3PDMaker.TrigDecisionD3PDObject  import TrigDecisionD3PDObject
-from TriggerD3PDMaker.TrigConfMetadata import addTrigConfMetadata
-
-## Associations
-from D3PDMakerCoreComps.D3PDObject            import D3PDObject
-from D3PDMakerCoreComps.IndexAssociation      import IndexAssociation
-from D3PDMakerCoreComps.IndexMultiAssociation import IndexMultiAssociation
-
-## Athena imports
-from AthenaCommon.AlgSequence import AlgSequence
-
-topSequence = AlgSequence()
-########################################################################################
-# Configure Pixel Ntuple tree
-
-
-InDetD3PDPixelFlags.storeEventInfo = True
-InDetD3PDPixelFlags.storeBSerror = True
-InDetD3PDPixelFlags.storeTracks = True
-InDetD3PDPixelFlags.storePixelClusters = True
-InDetD3PDPixelFlags.storePixelRDOs = True
-InDetD3PDPixelFlags.storeTriggerInfo = True
-
-# Xiaoxiao:
-InDetD3PDPixelFlags.storeTriggerInfo = False
-#if globalflags.InputFormat() == 'bytestream' and hasattr(runArgs,"topOptions"): 
-    #InDetD3PDPixelFlags.storeTriggerInfo = False
-#elif globalflags.InputFormat() == 'pool' and  globalflags.DataSource() == 'geant4' and hasattr(runArgs,"topOptions"):
-    #InDetD3PDPixelFlags.storeTriggerInfo = False
-    
-
-InDetD3PDPixelFlags.storePhysicsInfo = False
-InDetD3PDPixelFlags.storeBCMrdo = False
-
-InDetD3PDPixelFlags.storeHitsOnTracks = False
-InDetD3PDPixelFlags.doTrackToClusterAssociation = True  #temporarily false 
-InDetD3PDPixelFlags.doClusterToTrackAssociation = True  #temporarily false
-InDetD3PDPixelFlags.doRdoToClusterAssociation = True
-InDetD3PDPixelFlags.doClusterToRdoAssociation = True
-
-
-if InDetD3PDPixelFlags.doPixelNtupleLight:
-    InDetD3PDPixelFlags.doPixelNtuple = False
-    InDetD3PDPixelFlags.doPixelNtupleExtended = False
-elif InDetD3PDPixelFlags.doPixelNtupleExtended:
-    InDetD3PDPixelFlags.doPixelNtupleLight = False
-    InDetD3PDPixelFlags.doPixelNtuple = False
-
-
-
-if InDetD3PDPixelFlags.doPixelNtupleLight:
-    InDetD3PDPixelFlags.storePixelClusters = False
-    InDetD3PDPixelFlags.storePixelRDOs = False
-    if InDetD3PDPixelFlags.storeTracks:
-        InDetD3PDPixelFlags.storeHitsOnTracks = True
-        InDetD3PDPixelFlags.doTrackToClusterAssociation = False
-        InDetD3PDPixelFlags.doClusterToTrackAssociation = False
-        InDetD3PDPixelFlags.doRdoToClusterAssociation = False
-        InDetD3PDPixelFlags.doClusterToRdoAssociation = False
-
-elif InDetD3PDPixelFlags.doPixelNtupleExtended:
-    InDetD3PDPixelFlags.storeBCMrdo = True
-
-    
-## D3PD Maker alg ########################################################################################
-from InDetRecExample.InDetKeys import InDetKeys
-name = InDetD3PDPixelFlags.outputFile() #'PixelNtuple_'+InDetKeys.trkD3PDFileName()
-
-print InDetD3PDPixelFlags
-
-print TrackD3PDFlags
-
-#print "1 ", name 
-#
-#if InDetD3PDPixelFlags.doPixelNtupleLight and True:
-#    name = 'Light_'+InDetD3PDPixelFlags.outputFile()
-#    print "2 ", name 
-#elif InDetD3PDPixelFlags.doPixelNtupleExtended and True:
-#    name = 'Extended_'+InDetD3PDPixelFlags.outputFile()
-#    print "3 ", name
-    
-alg = D3PDMakerCoreComps.MakerAlg('InDetTrackTree',
-                                  topSequence,
-                                  name)
-
-#alg_2 = D3PDMakerCoreComps.MakerAlg('InDetAllTree',
-#                                     topSequence,
-#                                     name)
-
-#print "4 ", name
-
-##########################################################################################################
-## Track to cluster association for full/extended version 
-if InDetD3PDPixelFlags.doTrackToClusterAssociation:
-    PixelClusterAssoc = IndexMultiAssociation(TrackParticleD3PDObject,
-                                            InDetD3PDMaker.TrackParticleToPixelClusterAssociationTool,
-                                            'PixelClus','clAssoc_',level = 1)
-
-##########################################################################################################
-## Cluster on Tracks for light version 
-if InDetD3PDPixelFlags.storeHitsOnTracks:
-    LightAssociationTool = InDetD3PDMaker.TrackParticleToPixelClusterAssociationToolLight
-    Pixel_clAssocLight     = PixelHitOnTrackAssociation\
-                           (TrackParticleD3PDObject,
-                            LightAssociationTool,
-                            'clAssoc_', 'clAssoc_', 0) 
-## Pixel CLusters ##########################################################################################
-## Set up associaations for full/extended version 
-if InDetD3PDPixelFlags.doClusterToRdoAssociation:
-    PixelRDOAssoc = IndexMultiAssociation(PixelClusterD3PDObject,
-                                        InDetD3PDMaker.PixelClusterPixelRDOAssociationTool,
-                                        'PixelRdo','rdoAssoc_',level = 1)
-
-if InDetD3PDPixelFlags.doClusterToTrackAssociation:
-    TrackAssoc = IndexMultiAssociation(PixelClusterD3PDObject,
-                                       InDetD3PDMaker.PixelClusterToTrackParticleAssociationTool,
-                                       'trk','trkAssoc_',level = 1,
-                                       TrackParticleContainerSGKey = D3PDMakerFlags.TrackSGKey())
-
-## Pixel RDOs ##############################################################################################
-## Set up associations for full/extended version    
-if InDetD3PDPixelFlags.doRdoToClusterAssociation:
-    clasterAssoc = IndexAssociation(PixelRDOD3PDObject,InDetD3PDMaker.PixelRDOClusterAssociationTool,
-                                    'PixelClus','clAssoc_',level = 1, ClusterConteinerKey = 'PixelClusters')
-
-#############################################################################################################
-## Pixel ByteStreamErrors
-#if InDetD3PDPixelFlags.storeBSerror:
-#    from TrackD3PDMaker.TrackD3PDMakerConf import D3PD__PixelByteStreamErrorFillerTool as PixelByteStreamFiller
-#    EventInfoD3PDObject.defineBlock (1, 'PixelErrors',PixelByteStreamFiller)
-
-##############################################################################################################
-## Add blocks to the tree
-
-if InDetD3PDPixelFlags.storeEventInfo:
-    alg += EventInfoD3PDObject(10)
-    if not InDetFlags.doHeavyIon():
-        alg += TRTPhaseD3PDObject(10)
-    
-    alg += PrimaryVertexD3PDObject(8)
-    
-if InDetD3PDPixelFlags.storeTracks:
-    alg += TrackParticleD3PDObject(8)
-
-if InDetD3PDPixelFlags.storePixelRDOs:
-    alg += PixelRDOD3PDObject(8)
-    #alg_2 += PixelRDOD3PDObject(8)
-
-if InDetD3PDPixelFlags.storePixelClusters:    
-    alg += PixelClusterD3PDObject(8)
-    #alg_2 += PixelClusterD3PDObject(8)
-
-if InDetD3PDPixelFlags.storeBCMrdo:
-    alg += BcmRdoD3PDObject(8)
-
-if InDetD3PDPixelFlags.storeTriggerInfo:
-    ## Configure Trigger reading
-    DoTrigger = True
-    if DoTrigger and False:
-        from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
-        cfg = TriggerConfigGetter("ReadPool")
-
-    #alg += CtpDecisionD3PDObject(10)
-    #if InDetD3PDPixelFlags.doPixelNtupleExtended:
-    #    alg += CtpRdoD3PDObject(10)
-    alg += TrigDecisionD3PDObject(3)
-    addTrigConfMetadata(alg)
-    
-###################################################################################################################
-
-if globalflags.InputFormat() == 'bytestream':
-    from AnalysisTools.AnalysisToolsConf import AANTupleStream
-    AANTupleStream('D3PD').ExistDataHeader = False
-
-
-
-#theApp.CreateSvc += ["FPEControlSvc"]
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoOptions.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoOptions.py
deleted file mode 100644
index 2be702bc910..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoOptions.py
+++ /dev/null
@@ -1,163 +0,0 @@
-
-import os
-if os.environ['CMTCONFIG'].endswith('-dbg'):
-  # --- do EDM monitor (debug mode only)
-  doEdmMonitor    = True
-  # --- write out a short message upon entering or leaving each algorithm
-  doNameAuditor   = True
-else:
-  doEdmMonitor    = False
-  doNameAuditor   = False
-
-import AthenaCommon.SystemOfUnits as Units
-
-dotruth = False
-dorereco = False
-dowritesd = False
-
-if 'DoReconstruction' in dir():
-  dorereco = DoReconstruction
-if 'DoTruth' in dir():
-  dotruth = DoTruth
-
-# --- specify input type
-if not 'readESD' in dir():
-  readESD= True
-readAOD = not readESD
-# --- controls what is written out. ESD includes AOD, so it's normally enough
-doWriteESD = dowritesd and readESD
-doWriteAOD = False
-
-#--------------------------------------------------------------
-# control algorithms to be rerun
-#--------------------------------------------------------------
-# --- run InDetRecStatistics (only possible if readESD = True)
-doInDetRecStatistics = False and readESD
-# --- refit the EXISTING tracks in ESD (only possible if readESD = True)
-doRefitTracks = False and readESD
-# --- redo the pattern reco and the tracking (do not use that in conjunction with doRefitTracks above)
-redoPatternRecoAndTracking = dorereco and not doRefitTracks and readESD
-# --- redo primary vertexing (will be set to true later automatically if you redid the tracking and want to redo the TrackParticle creation)
-reDoPrimaryVertexing = True and dorereco
-# --- redo particle creation (recommended after revertexing on ESD, otherwise trackparticles are inconsistent)
-#reDoParticleCreation = True and readESD and reDoPrimaryVertexing and dorereco
-reDoParticleCreation = redoPatternRecoAndTracking
-# --- redo conversion finding
-reDoConversions = redoPatternRecoAndTracking
-# --- redo V0 finding
-reDoV0Finder = redoPatternRecoAndTracking
-
-## Uncomment to do vertexing without rerunning tracking
-#reDoPrimaryVertexing = True
-#------------------------------------------------------
-
-#--------------------------------------------------------------
-# Control - standard options (as in jobOptions.py)
-#--------------------------------------------------------------
-# --- Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
-OutputLevel     = INFO
-# --- produce an atlantis data file
-doJiveXML       = False
-# --- run the Virtual Point 1 event visualisation
-doVP1           = False
-# --- do auditors ?
-doAuditors      = True
-
-# safety section ... redoing tracking/vertexing is a tricky business to stay consistent ...
-if redoPatternRecoAndTracking and reDoParticleCreation:
-  reDoPrimaryVertexing = True
-
-if not (readESD or readAOD):
-  print "You have to turn on reading of ESD or AOD! That's the purpose of this jobO!"
-if readESD and readAOD:
-  print "I can either read ESD or AOD but not both at the same time! Turn one or the other off!"
-if readESD and reDoPrimaryVertexing and not reDoParticleCreation:
-  print "INFO! You are running on ESD, redoing the vertexing but not recreating the TrackParticles!"
-  print "INFO! To avoid inconsistencies do not use the old track particles in conjunction with the new vertex!"
-  if doWriteESD or doWriteAOD:
-    print "INFO! To avoid inconsistencies the old track particle (truth) container will not be in the new ESD/AOD!"
-if readAOD and reDoPrimaryVertexing:
-  print "INFO! You are running on AOD, and redoing the vertexing. At the moment new track particles cannot be made from old ones."
-  print "INFO! To avoid inconsistencies do not use the old track particles in conjunction with the new vertex!"
-  if doWriteAOD:
-    print "INFO! To avoid inconsistencies the old track particle (truth) container will not be in the new AOD!"
-if doRefitTracks and (reDoPrimaryVertexing or reDoParticleCreation):
-  print "INFO! You are refitting tracks and also revertex and/or recreate track particles"
-  print "INFO! The input for that will be the refitted tracks!"
-
-#--------------------------------------------------------------
-# Set Detector setup
-#--------------------------------------------------------------
-from RecExConfig.RecFlags import rec
-rec.Commissioning=True
-rec.doMonitoring=False
-
-from AthenaCommon.DetFlags import DetFlags
-DetFlags.ID_setOn()
-DetFlags.Calo_setOff()
-DetFlags.Muon_setOff()
-DetFlags.Print()
-
-# --- setup InDetJobProperties
-from InDetRecExample.InDetJobProperties import InDetFlags
-InDetFlags.doTruth            = (globalflags.DataSource == 'geant4' and globalflags.InputFormat == "pool") and dotruth
-InDetFlags.preProcessing      = redoPatternRecoAndTracking
-InDetFlags.doPRDFormation        = redoPatternRecoAndTracking  # those two will be (later) automatically false if
-InDetFlags.doSpacePointFormation = redoPatternRecoAndTracking  # preProcessing is false
-InDetFlags.doNewTracking      = redoPatternRecoAndTracking
-InDetFlags.doLowPt            = True
-InDetFlags.doCTBTracking      = False
-InDetFlags.doBackTracking     = redoPatternRecoAndTracking
-InDetFlags.doTRTStandalone    = redoPatternRecoAndTracking
-InDetFlags.doTrtSegments      = redoPatternRecoAndTracking
-#ao do run separate standalone tracklets
-InDetFlags.doTrackSegmentsPixel = redoPatternRecoAndTracking
-InDetFlags.doTrackSegmentsSCT   = redoPatternRecoAndTracking
-InDetFlags.doTrackSegmentsTRT   = redoPatternRecoAndTracking
-#
-InDetFlags.postProcessing     = reDoPrimaryVertexing or reDoParticleCreation or reDoConversions or doInDetRecStatistics or reDoV0Finder
-InDetFlags.doSlimming         = False
-InDetFlags.loadTools          = True
-InDetFlags.doVertexFinding    = reDoPrimaryVertexing
-InDetFlags.doParticleCreation = reDoParticleCreation
-InDetFlags.doConversions      = reDoConversions
-InDetFlags.doSecVertexFinder  = False
-InDetFlags.doV0Finder         = reDoV0Finder
-InDetFlags.doTrkNtuple        = False
-InDetFlags.doPixelTrkNtuple   = False
-InDetFlags.doSctTrkNtuple     = False
-InDetFlags.doTrtTrkNtuple     = False
-InDetFlags.doSctClusterNtuple   = False
-InDetFlags.doVtxNtuple        = False
-InDetFlags.doConvVtxNtuple    = False
-InDetFlags.doV0VtxNtuple      = False
-InDetFlags.doRefit            = doRefitTracks
-InDetFlags.doLowBetaFinder    = False
-InDetFlags.doPrintConfigurables = True
-InDetFlags.doStatistics   = doInDetRecStatistics
-
-# print InDetFlags
-
-#primary vertex settings 
-InDetFlags.primaryVertexSetup = 'DefaultFullFinding'
-InDetFlags.useBeamConstraint = False
-
-InDetFlags.primaryVertexCutSetup = "StartUp"
-#InDetPriVxFinderTool.chi2CutMethod = 2
-#print InDetPriVxFinderTool
-
-#--------------------------------------------------------------
-# load master InDet joboptions file
-#--------------------------------------------------------------
-  
-include("InDetRecExample/InDetRec_all.py")
-
-#--------------------------------------------------------------
-# Event related parameters
-#--------------------------------------------------------------
-if doWriteESD:
-  StreamESD.OutputFile = "/tmp/pbehera/InDetRecESD_new.root"
-    
-if doWriteAOD:
-  StreamAOD.OutputFile = "/tmp/pbehera/InDetRecAOD_new.root"
- 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoSetupForSctNtuple.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoSetupForSctNtuple.py
deleted file mode 100644
index 0e6e9383601..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/RecoSetupForSctNtuple.py
+++ /dev/null
@@ -1,184 +0,0 @@
-#CONTROL
-
-# --- Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
-OutputLevel     = INFO
-# --- produce an atlantis data file
-doJiveXML       = False
-# --- run the Virtual Point 1 event visualisation
-doVP1           = False
-# --- controls what is written out. ESD includes AOD, so it's normally enough
-doWriteESD      = False
-doWriteAOD      = False
-# --- read BS - please look at the default input file(s) to know the det descr and cond tag
-doReadBS        = False
-if globalflags.InputFormat() == 'bytestream':
-    doReadBS=True
-    
-doWriteBS       = False
-# --- do auditors ?
-doAuditors      = True
-
-# this might be useful to trace s.v. faults
-import os
-if os.environ['CMTCONFIG'].endswith('-dbg'):
-    # --- do EDM monitor (debug mode only)
-    doEdmMonitor    = True 
-    # --- write out a short message upon entering or leaving each algorithm
-    doNameAuditor   = True
-else:
-    doEdmMonitor    = False
-    doNameAuditor   = False
-
-#--------------------------------------------------------------
-# data or simulation
-#--------------------------------------------------------------
-
-mySimulation=False
-
-print "mySimulation=",mySimulation
-
-from RecExConfig.RecFlags import rec
-from RecExConfig.InputFilePeeker import inputFileSummary
-if inputFileSummary['evt_type'][0]=='IS_SIMULATION':
-   mySimulation=True
- 
-print " SCT Ntuple will be created from simulated data: ",mySimulation
-
-#--------------------------------------------------------------
-# detector description version: both RDO and BS default use this
-#--------------------------------------------------------------
-
-
-#--------------------------------------------------------------
-# load Global Flags and set defaults (import the new jobProperty globalflags)
-#--------------------------------------------------------------
-import AthenaCommon.SystemOfUnits as Units
-from AthenaCommon.GlobalFlags import globalflags
-# --- default is atlas geometry
-globalflags.DetGeo = 'atlas'
-# --- set defaults
-
-if mySimulation:
-    globalflags.DataSource = 'geant4'
-else:
-    globalflags.DataSource = 'data'
-
-#--------------------------------------------------------------
-# Detector Set Up
-#-------------------------------------------------------------
-
-from RecExConfig.RecFlags import rec
-rec.Commissioning=False
-rec.doESD.set_Value_and_Lock(True)
-rec.doInDet.set_Value_and_Lock(True)
-rec.doEgamma.set_Value_and_Lock(False)
-rec.doWriteESD.set_Value_and_Lock(False) ## write out ESDs
-rec.doJiveXML.set_Value_and_Lock(False) ## for ATLANTIS
-readESD = True
-readRDO = False
-if globalflags.InputFormat() == 'bytestream':
-    readESD = False
-elif globalflags.InputFormat() == 'pool' and globalflags.DataSource() == 'geant4':
-    redESD = False
-    redRDO = True
-    
-rec.readESD=readESD
-rec.readRDO=readRDO
-
-
-from AthenaCommon.DetFlags import DetFlags 
-# --- switch on Detector bits
-DetFlags.ID_setOn()
-#DetFlags.makeRIO.pixel_setOff()
-#DetFlags.makeRIO.SCT_setOff()
-#DetFlags.makeRIO.TRT_setOff()
-
-# Swithc of the rest
-DetFlags.Calo_setOff()
-DetFlags.Muon_setOff()
-
-DetFlags.Print()
-
-#--------------------------------------------------------------
-# control algorithms to be rerun
-#--------------------------------------------------------------
-# --- run InDetRecStatistics (only possible if readESD = True)
-doInDetRecStatistics = True and rec.doESD
-# --- refit the EXISTING tracks in ESD (only possible if readESD = True)
-doRefitTracks = readESD #False #False 
-# --- redo the pattern reco and the tracking (do not use that in conjunction with doRefitTracks above)
-redoPatternRecoAndTracking = True
-# --- redo primary vertexing (will be set to true later automatically if you redid the tracking and want to redo the TrackParticle creation)
-reDoPrimaryVertexing = True 
-# --- redo particle creation (recommended after revertexing on ESD, otherwise trackparticles are inconsistent)
-reDoParticleCreation = True 
-# --- redo conversion finding
-reDoConversions = False
-# --- redo V0 finding
-reDoV0Finder = False
-#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-from AthenaCommon.GlobalFlags import globalflags
-
-import AthenaPython.ConfigLib as apcl
-
-if globalflags.InputFormat() == 'bytestream':
-    cfg = apcl.AutoCfg(name = 'MyAutoConfig', input_files=athenaCommonFlags.BSRDOInput())
-    cfg.configure_job()
-else:
-    cfg = apcl.AutoCfg(name = 'MyAutoConfig', input_files=athenaCommonFlags.FilesInput())
-    cfg.configure_job()
-
-#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-from InDetRecExample.InDetJobProperties import InDetFlags
-InDetFlags.doTruth            = (globalflags.DataSource == 'geant4' and globalflags.InputFormat == "pool")
-InDetFlags.preProcessing = redoPatternRecoAndTracking
-
-InDetFlags.doPRDFormation = False  # For SCT_Clusters
-if globalflags.InputFormat() == 'bytestream':
-    InDetFlags.doPRDFormation = True
-elif globalflags.InputFormat() == 'pool' and globalflags.DataSource() == 'geant4':
-    InDetFlags.doPRDFormation = True
-     
-
-InDetFlags.doSpacePointFormation = redoPatternRecoAndTracking  # preProcessing is false
-InDetFlags.doNewTracking     = redoPatternRecoAndTracking
-
-if readESD:
-    InDetFlags.doLowPt           = False
-    InDetFlags.doCTBTracking      = False
-    
-InDetFlags.doBackTracking     = redoPatternRecoAndTracking
-InDetFlags.doTRTStandalone    = redoPatternRecoAndTracking
-InDetFlags.doTrtSegments      = redoPatternRecoAndTracking
-InDetFlags.postProcessing     = reDoPrimaryVertexing or reDoParticleCreation or reDoConversions or doInDetRecStatistics or reDoV0Finder
-InDetFlags.doSlimming         = False
-InDetFlags.loadTools          = True
-InDetFlags.doVertexFinding    = reDoPrimaryVertexing
-InDetFlags.doParticleCreation = reDoParticleCreation
-InDetFlags.doConversions      = reDoConversions
-if readESD:
-    InDetFlags.doSecVertexFinder  = False
-    InDetFlags.doV0Finder         = reDoV0Finder
-    
-InDetFlags.doTrkNtuple        = False 
-InDetFlags.doPixelTrkNtuple   = False 
-InDetFlags.doSctTrkNtuple     = False 
-InDetFlags.doTrtTrkNtuple     = False 
-InDetFlags.doSctClusterNtuple   = False
-InDetFlags.doVtxNtuple        = False 
-InDetFlags.doConvVtxNtuple    = False 
-InDetFlags.doV0VtxNtuple      = False 
-InDetFlags.doRefit            = doRefitTracks
-InDetFlags.doLowBetaFinder    = False
-InDetFlags.doPrintConfigurables = True
-
-#---------------------------------------------------------------
-# Load master JO
-#---------------------------------------------------------------
-include("InDetRecExample/InDetRec_all.py")
-
-
-
-
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SCTNtuple.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SCTNtuple.py
deleted file mode 100644
index f395f87f42b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SCTNtuple.py
+++ /dev/null
@@ -1,283 +0,0 @@
-#import MinBiasD3PDMaker
-import TrackD3PDMaker
-import InDetD3PDMaker
-import D3PDMakerCoreComps
-import EventCommonD3PDMaker
-import TriggerD3PDMaker
-
-from D3PDMakerConfig.D3PDMakerFlags           import D3PDMakerFlags
-from TrackD3PDMaker.TrackD3PDMakerFlags       import TrackD3PDFlags
-from InDetD3PDMaker.InDetD3PDMakerSCTFlags    import InDetD3PDSCTFlags
-
-from InDetD3PDMaker.TruthTrackD3PDObject import TruthTrackD3PDObject
-from InDetD3PDMaker.TruthVertexD3PDObject import TruthVertexD3PDObject
-
-### added to enure the TrackD3PD generic track variables (14.04.2011)
-TrackD3PDFlags.vertexPositionLevelOfDetails=1
-TrackD3PDFlags.storeVertexFitQuality = True
-TrackD3PDFlags.storeVertexKinematics=True
-TrackD3PDFlags.storeVertexPurity=False
-TrackD3PDFlags.storeVertexTrackAssociation=False
-TrackD3PDFlags.storeVertexTrackIndexAssociation=False
-TrackD3PDFlags.doTruth = True
-
-TrackD3PDFlags.storeTrackSummary = True
-TrackD3PDFlags.storeTrackSummary.IDHits = True
-TrackD3PDFlags.storeTrackSummary.IDHoles = True
-TrackD3PDFlags.storeTrackSummary.IDSharedHits = False
-TrackD3PDFlags.storeTrackSummary.IDOutliers = False
-TrackD3PDFlags.storeTrackSummary.PixelInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.SCTInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.TRTInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.InfoPlus = False
-TrackD3PDFlags.storeTrackSummary.MuonHits = False #default True
-TrackD3PDFlags.storeTrackSummary.MuonHoles = False
-TrackD3PDFlags.storeTrackSummary.ExpectBLayer = False #default True
-TrackD3PDFlags.storeTrackPredictionAtBLayer = False
-TrackD3PDFlags.storeTrackSummary.HitSum = True
-TrackD3PDFlags.storeTrackSummary.HoleSum = True
-TrackD3PDFlags.storeTrackSummary.HitPattern = True
-TrackD3PDFlags.storeTrackSummary.SiHits = False
-TrackD3PDFlags.storeTrackSummary.TRTRatio = True
-TrackD3PDFlags.storeTrackSummary.PixeldEdx = True #default False
-TrackD3PDFlags.storeTrackSummary.ElectronPID = False
-####
-## Fix impact parameters
-TrackD3PDFlags.trackParametersAtGlobalPerigeeLevelOfDetails=0
-TrackD3PDFlags.trackParametersAtPrimaryVertexLevelOfDetails=2
-TrackD3PDFlags.trackParametersAtBeamSpotLevelOfDetails=0
-TrackD3PDFlags.storeTrackUnbiasedIPAtPV=False
-## Fix track variables
-TrackD3PDFlags.storeTrackMomentum=True
-TrackD3PDFlags.storeTrackInfo=True
-TrackD3PDFlags.storeTrackFitQuality=True
-## Fix the rest
-TrackD3PDFlags.storePullsAndResiduals=False
-TrackD3PDFlags.storeBLayerHitsOnTrack=False
-TrackD3PDFlags.storePixelHitsOnTrack=False
-TrackD3PDFlags.storeSCTHitsOnTrack=False
-TrackD3PDFlags.storeTRTHitsOnTrack=False
-TrackD3PDFlags.storeBLayerOutliersOnTrack=False
-TrackD3PDFlags.storePixelOutliersOnTrack=False
-TrackD3PDFlags.storeTRTOutliersOnTrack=False
-TrackD3PDFlags.storeBLayerHolesOnTrack=False
-TrackD3PDFlags.storePixelHolesOnTrack=False   
-TrackD3PDFlags.storeSCTHolesOnTrack=False
-TrackD3PDFlags.storeTRTHolesOnTrack=False
-TrackD3PDFlags.storeVertexAssociation=False
-
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-
-from InDetD3PDMaker.SCTClusterD3PDObject      import SCTClusterD3PDObject     #new
-from InDetD3PDMaker.SCTRDOD3PDObject          import SCTRDOD3PDObject         #new
-from InDetD3PDMaker.TRTPhaseD3PDObject        import TRTPhaseD3PDObject
-from InDetD3PDMaker.SctHitOnTrackAssociation  import SctHitOnTrackAssociation #new
-
-#primary vertex
-from InDetD3PDMaker.VertexD3PDObject          import PrimaryVertexD3PDObject 
-
-
-from InDetD3PDMaker.TrackParticleD3PDObjects  import TrackParticleD3PDObject
-#from MinBiasD3PDMaker.BcmRdoD3PDObject        import BcmRdoD3PDObject
-from TrigMbD3PDMaker.BcmRdoD3PDObject         import BcmRdoD3PDObject
-
-#Trigger
-#from MinBiasD3PDMaker.CtpRdoD3PDObject        import CtpRdoD3PDObject
-#from MinBiasD3PDMaker.CtpDecisionD3PDObject   import CtpDecisionD3PDObject
-from TrigMbD3PDMaker.CtpRdoD3PDObject        import CtpRdoD3PDObject
-from TrigMbD3PDMaker.CtpDecisionD3PDObject    import CtpDecisionD3PDObject
-from TriggerD3PDMaker.TrigDecisionD3PDObject  import TrigDecisionD3PDObject
-from TriggerD3PDMaker.TrigConfMetadata import addTrigConfMetadata
-
-## Associations
-from D3PDMakerCoreComps.D3PDObject            import D3PDObject
-from D3PDMakerCoreComps.IndexAssociation      import IndexAssociation
-from D3PDMakerCoreComps.IndexMultiAssociation import IndexMultiAssociation
-from D3PDMakerCoreComps.SimpleAssociation     import SimpleAssociation
-
-## Athena imports
-from AthenaCommon.AlgSequence import AlgSequence
-
-topSequence = AlgSequence()
-########################################################################################
-# Configure SCT Ntuple tree
-
-print "NICK here i am"
-
-InDetD3PDSCTFlags.storeEventInfo = True
-InDetD3PDSCTFlags.storeBSerror = True
-InDetD3PDSCTFlags.storeTracks = False
-InDetD3PDSCTFlags.storeSctClusters = True
-InDetD3PDSCTFlags.storeSctRDOs = True
-InDetD3PDSCTFlags.storeTriggerInfo = False
-if globalflags.InputFormat() == 'bytestream' and hasattr(runArgs,"topOptions"): 
-    InDetD3PDSCTFlags.storeTriggerInfo = False
-elif globalflags.InputFormat() == 'pool' and  globalflags.DataSource() == 'geant4' and hasattr(runArgs,"topOptions"):
-    InDetD3PDSCTFlags.storeTriggerInfo = False
-    
-InDetD3PDSCTFlags.doTrackToMuonAssociation = False
-InDetD3PDSCTFlags.storePhysicsInfo = False
-InDetD3PDSCTFlags.storeBCMrdo = False
-InDetD3PDSCTFlags.includeTruthInfo = False
-InDetD3PDSCTFlags.storeHitsOnTracks = False
-InDetD3PDSCTFlags.doTrackToClusterAssociation = False
-InDetD3PDSCTFlags.doClusterToTrackAssociation = False
-InDetD3PDSCTFlags.doRdoToClusterAssociation = True
-InDetD3PDSCTFlags.doClusterToRdoAssociation = True
-
-
-if InDetD3PDSCTFlags.doSCTNtupleLight:
-    InDetD3PDSCTFlags.doSCTNtuple = False
-    InDetD3PDSCTFlags.doSCTNtupleExtended = False
-elif InDetD3PDSCTFlags.doSCTNtupleExtended:
-    InDetD3PDSCTFlags.doSCTNtupleLight = False
-    InDetD3PDSCTFlags.doSCTNtuple = False
-
-
-
-if InDetD3PDSCTFlags.doSCTNtupleLight:
-    InDetD3PDSCTFlags.storeSctClusters = False
-    InDetD3PDSCTFlags.storeSctRDOs = False
-    if InDetD3PDSCTFlags.storeTracks:
-        InDetD3PDSCTFlags.storeHitsOnTracks = True
-        InDetD3PDSCTFlags.doTrackToMuonAssociation = False
-        InDetD3PDSCTFlags.doTrackToClusterAssociation = False
-        InDetD3PDSCTFlags.doClusterToTrackAssociation = False
-        InDetD3PDSCTFlags.doRdoToClusterAssociation = False
-        InDetD3PDSCTFlags.doClusterToRdoAssociation = False
-
-elif InDetD3PDSCTFlags.doSCTNtupleExtended:
-    InDetD3PDSCTFlags.storeBCMrdo = True
-
-    
-## D3PD Maker alg ########################################################################################
-from InDetRecExample.InDetKeys import InDetKeys
-name = InDetD3PDSCTFlags.outputFile() #'SctNtuple_'+InDetKeys.trkD3PDFileName()
-
-print InDetD3PDSCTFlags
-
-print TrackD3PDFlags
-
-#print "1 ", name 
-#
-#if InDetD3PDSCTFlags.doSCTNtupleLight and True:
-#    name = 'Light_'+InDetD3PDSCTFlags.outputFile()
-#    print "2 ", name 
-#elif InDetD3PDSCTFlags.doSCTNtupleExtended and True:
-#    name = 'Extended_'+InDetD3PDSCTFlags.outputFile()
-#    print "3 ", name
-    
-alg = D3PDMakerCoreComps.MakerAlg('InDetTrackTree',
-                                  topSequence,
-                                  name)
-
-#print "4 ", name
-
-##########################################################################################################
-## Track to cluster association for full/extended version 
-if InDetD3PDSCTFlags.doTrackToClusterAssociation:
-    SCTClusterAssoc = IndexMultiAssociation(TrackParticleD3PDObject,
-                                            InDetD3PDMaker.TrackParticleToSCTClusterAssociationTool,
-                                            'SCTClus','clAssoc_',level = 1)
-
-##########################################################################################################
-## Cluster on Tracks for light version 
-if InDetD3PDSCTFlags.storeHitsOnTracks:
-    LightAssociationTool = InDetD3PDMaker.TrackParticleToSCTClusterAssociationToolLight
-    SCT_clAssocLight     = SctHitOnTrackAssociation\
-                           (TrackParticleD3PDObject,
-                            LightAssociationTool,
-                            'clAssoc_', 'clAssoc_', 0) 
-## SCT CLusters ##########################################################################################
-## Set up associaations for full/extended version 
-if InDetD3PDSCTFlags.doClusterToRdoAssociation:
-    SCTRDOAssoc = IndexMultiAssociation(SCTClusterD3PDObject,
-                                        InDetD3PDMaker.SCTClusterSCTRDOAssociationTool,
-                                        'SCTRdo','rdoAssoc_',level = 1)
-
-if InDetD3PDSCTFlags.doClusterToTrackAssociation:
-    TrackAssoc = IndexMultiAssociation(SCTClusterD3PDObject,
-                                       InDetD3PDMaker.SCTClusterToTrackParticleAssociationTool,
-                                       'trk','trkAssoc_',level = 1,
-                                       TrackParticleContainerSGKey = D3PDMakerFlags.TrackSGKey())
-
-## Muons ##########################################################################################
-## TrackParticle to muon association
-if InDetD3PDSCTFlags.doTrackToMuonAssociation:
-    if InDetD3PDSCTFlags.useStacoMuonCollectionForAssociation==True:
-        MuonAssoc = SimpleAssociation(TrackParticleD3PDObject,
-                                      TrackD3PDMaker.SCTTrackParticleToMuonAssociationTool,
-                                      matched = 'hasMuon',
-                                      MuonContainerSGKey = "StacoMuonCollection")
-    else:
-        MuonAssoc = SimpleAssociation(TrackParticleD3PDObject,
-                                      TrackD3PDMaker.SCTTrackParticleToMuonAssociationTool,
-                                      matched = 'hasMuon',
-                                      MuonContainerSGKey = "Muons")
-
-## SCT RDOs ##############################################################################################
-## Set up associations for full/extended version    
-if InDetD3PDSCTFlags.doRdoToClusterAssociation:
-    clasterAssoc = IndexAssociation(SCTRDOD3PDObject,InDetD3PDMaker.SCTRDOClusterAssociationTool,
-                                    'SCTClus','clAssoc_',level = 1, ClusterConteinerKey = 'SCT_Clusters')
-
-#############################################################################################################
-## SCT ByteStreaErrors
-if InDetD3PDSCTFlags.storeBSerror:
-    from InDetD3PDMaker import SCTByteStreamErrorFillerTool
-    EventInfoD3PDObject.defineBlock (1, 'SCTErrors',SCTByteStreamErrorFillerTool)
-
-##############################################################################################################
-## Add blocks to the tree
-
-if InDetD3PDSCTFlags.storeEventInfo:
-    alg += EventInfoD3PDObject(10)
-    if not InDetFlags.doHeavyIon():
-        alg += TRTPhaseD3PDObject(10)
-    #use Truth?    
-    if (InDetD3PDSCTFlags.includeTruthInfo and globalflags.DataSource == 'geant4'):
-        alg += TruthVertexD3PDObject(10)
-        alg += PrimaryVertexD3PDObject(10)
-    else:
-        alg += PrimaryVertexD3PDObject(8)
-
-if InDetD3PDSCTFlags.storeTracks:
-    #use Truth?
-    if (InDetD3PDSCTFlags.includeTruthInfo and globalflags.DataSource == 'geant4'):
-        alg += TruthTrackD3PDObject(10)
-        alg += TrackParticleD3PDObject(10)
-    else:
-        alg += TrackParticleD3PDObject(8)
-
-
-if InDetD3PDSCTFlags.storeSctRDOs:
-    alg += SCTRDOD3PDObject(8)
-
-if InDetD3PDSCTFlags.storeSctClusters:    
-    alg += SCTClusterD3PDObject(8)
-
-if InDetD3PDSCTFlags.storeBCMrdo:
-    alg += BcmRdoD3PDObject(8)
-
-if InDetD3PDSCTFlags.storeTriggerInfo:
-    ## Configure Trigger reading
-    DoTrigger = True
-    if DoTrigger and False:
-        from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
-        cfg = TriggerConfigGetter("ReadPool")
-
-    #alg += CtpDecisionD3PDObject(10)
-    #if InDetD3PDSCTFlags.doSCTNtupleExtended:
-    #    alg += CtpRdoD3PDObject(10)
-    alg += TrigDecisionD3PDObject(3)
-    addTrigConfMetadata(alg)
-    
-###################################################################################################################
-
-if globalflags.InputFormat() == 'bytestream':
-    from AnalysisTools.AnalysisToolsConf import AANTupleStream
-    AANTupleStream('D3PD').ExistDataHeader = False
-
-
-
-#theApp.CreateSvc += ["FPEControlSvc"]
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SctNtuple_topOptions.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SctNtuple_topOptions.py
deleted file mode 100644
index c3b364890c3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SctNtuple_topOptions.py
+++ /dev/null
@@ -1,61 +0,0 @@
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-from AthenaCommon.GlobalFlags import globalflags
-
-from InDetD3PDMaker.InDetD3PDMakerSCTFlags    import InDetD3PDSCTFlags
-
-if hasattr(runArgs,"inputESDFile"):
-    InDetD3PDSCTFlags.inputFiles = runArgs.inputESDFile
-    athenaCommonFlags.FilesInput=InDetD3PDSCTFlags.inputFiles()
-    
-if hasattr(runArgs,"inputBSFile"):
-    InDetD3PDSCTFlags.inputFiles = runArgs.inputBSFile
-    globalflags.InputFormat='bytestream'
-    athenaCommonFlags.BSRDOInput=InDetD3PDSCTFlags.inputFiles()
-
-if hasattr(runArgs,"inputRDOFile"):
-    InDetD3PDSCTFlags.inputFiles = runArgs.inputRDOFile
-    globalflags.InputFormat='pool'
-    athenaCommonFlags.PoolRDOInput=InDetD3PDSCTFlags.inputFiles()
-    athenaCommonFlags.FilesInput=athenaCommonFlags.PoolRDOInput()
-
-
-# run the reconstruction
-include('InDetD3PDMaker/RecoSetupForSctNtuple.py')
-
-#Condition tag 04.03
-if globalflags.InputFormat() == 'bytestream':   
-   if len(globalflags.ConditionsTag())!=0:
-      from IOVDbSvc.CondDB import conddb
-      conddb.setGlobalTag(globalflags.ConditionsTag())
-   
-
-# compose the tree
-from InDetD3PDMaker.InDetD3PDMakerSCTFlags    import InDetD3PDSCTFlags
-
-# uncomment the necessary one
-InDetD3PDSCTFlags.doSCTNtuple = True # default
-#InDetD3PDSCTFlags.doSCTNtupleLight = True
-#InDetD3PDSCTFlags.doSCTNtupleExtended = True
-
-#if not hasattr(runArgs,"inputRDOFile") and not hasattr(runArgs,"inputBSFile"):
-#    include('InDetD3PDMaker/SCTNtuple.py')
-
-include('InDetD3PDMaker/SCTNtuple.py')
-
-
-#if globalflags.InputFormat() == 'bytestream':
-#    from AnalysisTools.AthAnalysisToolsConf import AANTupleStream
-#    AANTupleStream('D3PD').ExistDataHeader = False
-
-
-#################################################################
-if hasattr(runArgs,"maxEvents"):
-   theApp.EvtMax=runArgs.maxEvents
-
-#theApp.SkipEvents=1870
-#ServiceMgr.EventSelector.SkipEvents=1870
-
-if globalflags.InputFormat() == 'bytestream':
-    ServiceMgr.EventSelector.Input = athenaCommonFlags.BSRDOInput()
-else:
-    ServiceMgr.EventSelector.InputCollections = InDetD3PDSCTFlags.inputFiles()
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SimHitsD3PD_jobOptions.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SimHitsD3PD_jobOptions.py
deleted file mode 100644
index 44e2aa3186a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/SimHitsD3PD_jobOptions.py
+++ /dev/null
@@ -1,84 +0,0 @@
-#--------------------------------------------------------------
-# Job configuration
-#--------------------------------------------------------------
-
-from GaudiKernel.GaudiHandles import *
-from GaudiKernel.Proxy.Configurable import *
-import AthenaPoolCnvSvc.ReadAthenaPool
-from AthenaCommon.AppMgr import ServiceMgr
-from AthenaCommon.AppMgr import ToolSvc
-
-# configure MsgSvc
-ServiceMgr.MessageSvc.defaultLimit  = 9999999
-ServiceMgr.MessageSvc.OutputLevel = INFO
-
-#--------------------------------------------------------------
-## Configure input
-#--------------------------------------------------------------
-ServiceMgr.EventSelector.InputCollections = [ "Hits.pool.root" ]
-theApp.EvtMax = -1
-ServiceMgr.EventSelector.SkipEvents = 0
-
-#--------------------------------------------------------------
-# load Global Flags and set defaults (import the new jobProperty globalflags)
-#--------------------------------------------------------------
-
-## Global flags
-DetDescrVersion = 'ATLAS-GEO-20-00-01'
-
-from AthenaCommon.GlobalFlags import globalflags
-from AthenaCommon.BeamFlags import jobproperties
-globalflags.DetGeo = 'atlas'
-globalflags.InputFormat = 'pool'
-globalflags.DetDescrVersion = DetDescrVersion
-globalflags.DataSource  = 'geant4' # 'data' # 
-jobproperties.Beam.beamType = 'collisions' # 'cosmics' # 'singlebeam' # 
-if globalflags.DataSource != 'geant4':
-   DoTruth = False
-else:
-   globalflags.ConditionsTag = 'OFLCOND-MC12-SIM-00'
-   
-globalflags.print_JobProperties()
-
-## Configure conditions
-if len(globalflags.ConditionsTag())!=0:
-   from IOVDbSvc.CondDB import conddb
-   conddb.setGlobalTag(globalflags.ConditionsTag()) 
-
-# setup detector description
-from AthenaCommon.DetFlags import DetFlags
-DetFlags.ID_setOn()
-DetFlags.Calo_setOn()
-DetFlags.Muon_setOn()
-DetFlags.Truth_setOn()
-
-# load det description
-include('RecExCond/AllDet_detDescr.py')
-
-#--------------------------------------------------------------
-# Configure the TrackD3PDMaker
-#--------------------------------------------------------------
-
-## Output file name
-outFileName = 'SimHitsD3PD.root'
-
-## Top Sequence
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-## Event Info
-from EventCommonD3PDMaker.EventInfoD3PDObject import EventInfoD3PDObject
-## Truth Tracks
-from InDetD3PDMaker.SiHitD3PDObject import PixelSiHitD3PDObject
-from InDetD3PDMaker.SiHitD3PDObject import SctSiHitD3PDObject
-from InDetD3PDMaker.TRTUncompressedHitD3PDObject import TRTUncompressedHitD3PDObject
-
-## D3PD Maker alg
-import D3PDMakerCoreComps
-alg = D3PDMakerCoreComps.MakerAlg('SimHits', topSequence, outFileName)
-
-## Add blocks to the tree
-alg += EventInfoD3PDObject(0)
-alg += PixelSiHitD3PDObject(10)
-alg += SctSiHitD3PDObject(10)
-alg += TRTUncompressedHitD3PDObject(10)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/TrackD3PD_topOptions.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/TrackD3PD_topOptions.py
deleted file mode 100644
index 92defedc9c3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/TrackD3PD_topOptions.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Input and output files.
-if not globals().get('poolFileInput'):
-    poolFileInput = "AOD.pool.root"
-
-if not globals().get('tupleFileOutput'):
-    tupleFileOutput = 'trackD3PD.root'
-
-theApp.EvtMax = 10
-
-# Turn this on to enable the detector description.
-# Without this, some event information that depends on the geometry
-# will not be available.  On the other hand, Athena will initialize
-# much faster.
-if not globals().has_key('use_dd'):
-    use_dd = False
-
-if use_dd:
-    from AthenaCommon.DetFlags      import DetFlags
-    DetFlags.detdescr.all_setOn()
-    import AtlasGeoModel.GeoModelInit
-    svcMgr.GeoModelSvc.AutomaticGeometryVersion = True
-
-
-
-#####################################################
-# Set up reading the input file.
-#
-
-if type(poolFileInput) == type(""):
-    poolFileInput = [poolFileInput]
-
-# Disable inputFilePeeker cache.
-# The cache just goes by the file name.
-# So if, for example, you're reading the input file via a symlink and you
-# change where the symlink points, the old cached info will still be used.
-# This can be terribly confusing.
-# So disable the cache for now.
-import PyUtils.AthFile as af
-af.server.flush_cache()
-try:
-    af.server.disable_pers_cache()
-except AttributeError: # backward compat...
-    pass
-
-import AthenaPoolCnvSvc.ReadAthenaPool
-ServiceMgr.EventSelector.InputCollections = poolFileInput
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-athenaCommonFlags.FilesInput.set_Value_and_Lock(poolFileInput)
-from RecExConfig.InputFilePeeker import inputFileSummary
-
-
-# Backwards compatibility for taus.
-if ('TauRecExtraDetailsContainer' in
-    inputFileSummary['eventdata_itemsDic'].get
-      ('Analysis::TauDetailsContainer',[])):
-    from AthenaCommon.AlgSequence import AlgSequence
-    topSequence = AlgSequence()
-    from TauTools.TauToolsConf import TauCommonDetailsMerger
-    topSequence += TauCommonDetailsMerger("TauCommonDetailsMerger")
-
-
-#####################################################
-# Set up the D3PD maker.
-#
-
-from InDetD3PDMaker.TrackD3PD import TrackD3PD
-alg = TrackD3PD ( tupleFileOutput )
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_configure.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_configure.py
deleted file mode 100644
index 7da8ff1c4f2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_configure.py
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexGroupD3PD_configure.py
-## @brief PreInlcude file for Reco_trf.py to enable NBC and split vertices algorithms
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
-InDetFlags.doSplitVertexFindingForMonitoring.set_Value_and_Lock(True)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_jobOptions.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_jobOptions.py
deleted file mode 100644
index da0946dabf6..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_jobOptions.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexGroupD3PD_jobOptions.py
-## @brief Setup D3PD Maker algorithm for vertex group D3PD production
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-"""
-Setup D3PD Maker algorithm to produce Vertex Group D3PD
-"""
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-from AthenaCommon.AppMgr import ToolSvc
-from InDetD3PDMaker.VertexD3PDAnalysisFlags import VertexD3PDAnalysisFlags
-from InDetD3PDMaker.VertexD3PDAnalysisKeys import VertexD3PDAnalysisKeys
-
-### Pre-configure options (if you want your custom options, set and lock them before including this file)
-include("InDetD3PDMaker/VertexGroupD3PD_loadConfig.py")
-
-### Now semi-automatic settings -- do manually in your JO!
-#if VertexD3PDAnalysisFlags.useAllVertexCollections:
-#    #Need to enable algorithms in IDRE
-#    from InDetRecExample.InDetJobProperties import InDetFlags
-#    InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
-#    #Include IDRE job options
-#    include("InDetRecExample/InDetRec_all.py")
-
-### Now setup D3PD Maker algorithm
-import D3PDMakerCoreComps
-VertexGroupD3PDMaker = D3PDMakerCoreComps.MakerAlg('VertexGroupD3PDMaker',
-                                                   topSequence,
-                                                   file=VertexD3PDAnalysisKeys.D3PDFileName(),
-                                                   tuplename=VertexD3PDAnalysisKeys.D3PDTreeName())
-
-### Add objects to the algorithm
-from InDetD3PDMaker.VertexGroupD3PD import VertexGroupD3PD
-VertexGroupD3PD(VertexGroupD3PDMaker, **(VertexD3PDAnalysisFlags.D3PDMakerExtraDict()))
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_loadConfig.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_loadConfig.py
deleted file mode 100644
index e7e9bbd340d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_loadConfig.py
+++ /dev/null
@@ -1,112 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexGroupD3PD_loadConfig.py
-## @brief Setup D3PD flags for vertex group D3PD production
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-"""
-Setup Vertex Group D3PD options for various objects.
-"""
-
-from RecExConfig.RecFlags import rec
-from InDetD3PDMaker.VertexD3PDAnalysisFlags import VertexD3PDAnalysisFlags
-from InDetD3PDMaker.VertexD3PDAnalysisKeys import VertexD3PDAnalysisKeys
-
-from D3PDMakerConfig.D3PDMakerFlags  import D3PDMakerFlags
-from TrackD3PDMaker.TrackD3PDMakerFlags import TrackD3PDFlags
-
-### Set flags of D3PD fillers, etc..
-## First our own flags
-# Set truth flag
-VertexD3PDAnalysisFlags.useTruth = rec.doTruth()
-# Set storegate collection names (where default may be wrong)
-from InDetRecExample.InDetKeys import InDetKeys
-if rec.readESD():
-  InDetKeys.UnslimmedTracks              = 'Tracks'
-  InDetKeys.UnslimmedTracksTruth         = 'TrackTruthCollection'
-if rec.readAOD():
-  InDetKeys.Tracks = InDetKeys.TrackParticles()
-  InDetKeys.TracksTruth = InDetKeys.TrackParticlesTruth()
-  #print "InDetKeys.Tracks = "+InDetKeys.Tracks()
-  #print "InDetKeys.TracksTruth = "+InDetKeys.TracksTruth()  
-  InDetKeys.McEventCollection = 'GEN_AOD'
-#print D3PDMakerFlags
-
-# Set default prefix for existing vertex collection
-from InDetRecExample.InDetJobProperties import InDetFlags
-if (not VertexD3PDAnalysisFlags.useAllVertexCollections()) and (not InDetFlags.useBeamConstraint()):
-  #Assume we're dumping NBC vertices
-  VertexD3PDAnalysisKeys.LabelDefaultVtx = 'vxnbc'
-
-## Switch off trigger-related objects for other info D3PD dumpers (e.g. MET, Muons, ...)
-D3PDMakerFlags.DoTrigger=False
-
-## Set track/vertex details
-TrackD3PDFlags.doTruth = rec.doTruth()
-TrackD3PDFlags.storeDiagonalCovarianceAsErrors = False
-TrackD3PDFlags.storeHitTruthMatching = True
-TrackD3PDFlags.storeDetailedTruth = False
-TrackD3PDFlags.storeTrackMomentum = True
-TrackD3PDFlags.storePullsAndResiduals = True
-TrackD3PDFlags.storeTrackInfo = True
-TrackD3PDFlags.storeTrackFitQuality = True
-TrackD3PDFlags.trackParametersAtGlobalPerigeeLevelOfDetails = 3
-TrackD3PDFlags.trackParametersAtPrimaryVertexLevelOfDetails = 2
-TrackD3PDFlags.trackParametersAtBeamSpotLevelOfDetails = 2
-TrackD3PDFlags.trackParametersAtBeamLineLevelOfDetails = 0
-TrackD3PDFlags.storeTrackParametersAtCalo = False
-TrackD3PDFlags.storeTrackUnbiasedIPAtPV = True
-TrackD3PDFlags.storeTrackPredictionAtBLayer = False
-TrackD3PDFlags.storeTrackSummary = True
-TrackD3PDFlags.storeTrackSummary.IDHits = True
-TrackD3PDFlags.storeTrackSummary.IDHoles = True
-TrackD3PDFlags.storeTrackSummary.IDSharedHits = True
-TrackD3PDFlags.storeTrackSummary.IDOutliers = False
-TrackD3PDFlags.storeTrackSummary.PixelInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.SCTInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.TRTInfoPlus = False
-TrackD3PDFlags.storeTrackSummary.InfoPlus = False
-TrackD3PDFlags.storeTrackSummary.MuonHits = False
-TrackD3PDFlags.storeTrackSummary.MuonHoles = False
-TrackD3PDFlags.storeTrackSummary.ExpectBLayer = True
-TrackD3PDFlags.storeTrackSummary.HitSum = True
-TrackD3PDFlags.storeTrackSummary.HoleSum = False
-TrackD3PDFlags.storeTrackSummary.HitPattern = True
-TrackD3PDFlags.storeTrackSummary.SiHits = False
-TrackD3PDFlags.storeTrackSummary.TRTRatio = True
-TrackD3PDFlags.storeTrackSummary.PixeldEdx = False
-TrackD3PDFlags.storeTrackSummary.ElectronPID = False
-TrackD3PDFlags.storeBLayerHitsOnTrack = False
-TrackD3PDFlags.storePixelHitsOnTrack = False
-if TrackD3PDFlags.storePixelHitsOnTrack():
-    TrackD3PDFlags.storeBLayerHitsOnTrack = False
-#TrackD3PDFlags.storeDetailedTrackPredictionAtBLayer = False
-TrackD3PDFlags.storeSCTHitsOnTrack = False
-TrackD3PDFlags.storeTRTHitsOnTrack = False
-TrackD3PDFlags.storeBLayerOutliersOnTrack = False
-TrackD3PDFlags.storePixelOutliersOnTrack = False
-TrackD3PDFlags.storeSCTOutliersOnTrack = False
-TrackD3PDFlags.storeTRTOutliersOnTrack = False
-TrackD3PDFlags.storeBLayerHolesOnTrack = False
-TrackD3PDFlags.storePixelHolesOnTrack = False
-TrackD3PDFlags.storeSCTHolesOnTrack = False
-TrackD3PDFlags.storeTRTHolesOnTrack = False
-TrackD3PDFlags.storeVertexAssociation = True
-TrackD3PDFlags.vertexPositionLevelOfDetails = 3
-TrackD3PDFlags.storeVertexType = True
-TrackD3PDFlags.storeVertexFitQuality = True
-TrackD3PDFlags.storeVertexKinematics = True
-TrackD3PDFlags.storeVertexPurity = False
-TrackD3PDFlags.storeVertexTrackAssociation = False
-TrackD3PDFlags.storeVertexTrackIndexAssociation = True
-if not VertexD3PDAnalysisFlags.useTracks():
-    #If not storing tracks, do not store track-vertex association as well
-    TrackD3PDFlags.storeVertexTrackAssociation = False
-    TrackD3PDFlags.storeVertexTrackIndexAssociation = False
-
-# b-tagging info
-from JetTagD3PDMaker.JetTagD3PDMakerFlags import JetTagD3PDFlags
-JetTagD3PDFlags.Taggers.set_Value_and_Lock(['MV1', 'JetFitterCOMBNN'])
-
-### Use special VertexD3PDAnalysisFlags to trigger specific options
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_prodJobOFragment.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_prodJobOFragment.py
deleted file mode 100644
index b227df7d113..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_prodJobOFragment.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexGroupD3PD_prodjobOFragment.py
-## @brief Setup D3PD Maker algorithm for vertex group D3PD when running from Reco_trf.py
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-## Notes:
-## - To include non beam-constrained and split vertices, use as preExec:
-##   InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
-##   InDetFlags.doSplitVertexFindingForMonitoring.set_Value_and_Lock(True)
-##   or use as preInclude InDetD3PDMaker/VertexGroupD3PD_configure.py
-##   and make sure that VertexD3PDAnalysisFlags.useAllVertexCollections = True
-##   (it is by default; if the algorithms are not run, it does not dump info)
-
-"""
-Setup Vertex Group D3PD Maker algorithm  when running from Reco_trf.py
-"""
-
-from AthenaCommon.JobProperties import jobproperties
-vtxprodFlags = jobproperties.D3PDProdFlags
-from PrimaryDPDMaker.PrimaryDPDHelpers import buildFileName
-
-from InDetD3PDMaker.VertexD3PDAnalysisKeys import VertexD3PDAnalysisKeys
-from InDetD3PDMaker.VertexD3PDAnalysisFlags import VertexD3PDAnalysisFlags
-
-### Configure Vertex D3PD Maker
-VertexD3PDAnalysisFlags.useAllVertexCollections = True
-VertexD3PDAnalysisFlags.useEventInfo=True
-VertexD3PDAnalysisFlags.useTracks=True
-VertexD3PDAnalysisFlags.useBeamspot=True
-VertexD3PDAnalysisFlags.useBackgroundWord=True
-VertexD3PDAnalysisFlags.useTrigger=True
-VertexD3PDAnalysisFlags.useSecondaryVertex=False
-VertexD3PDAnalysisFlags.useMET=True
-VertexD3PDAnalysisFlags.useElectrons=True
-VertexD3PDAnalysisFlags.useMuons=True
-VertexD3PDAnalysisFlags.usePhotons=False
-VertexD3PDAnalysisFlags.useJets=True
-VertexD3PDAnalysisFlags.useTaus=False
-
-include("InDetD3PDMaker/VertexGroupD3PD_loadConfig.py")
-
-### Semi-automatic configuration steps
-## The following needs to be given as preExec
-##  (it has to be set before including RecExCommon)
-#if VertexD3PDAnalysisFlags.useAllVertexCollections:
-#    #Need to enable algorithms in IDRE
-#    from InDetRecExample.InDetJobProperties import InDetFlags
-#    InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
-#    InDetFlags.doSplitVertexFindingForMonitoring.set_Value_and_Lock(True)
-
-### Setup algorithm
-if vtxprodFlags.WriteIDVTXD3PD.isVirtual:
-    raise NameError( "IDVTX set to be a virtual stream" )
-    pass 
-
-streamName = vtxprodFlags.WriteIDVTXD3PD.StreamName
-fileName   = buildFileName( vtxprodFlags.WriteIDVTXD3PD )
-
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-VertexGroupD3PDMaker = MSMgr.NewRootStream(vtxprodFlags.WriteIDVTXD3PD.StreamName, fileName, VertexD3PDAnalysisKeys.D3PDTreeName())
-	
-### Add objects to the algorithm
-from InDetD3PDMaker.VertexGroupD3PD import VertexGroupD3PD
-VertexGroupD3PD(VertexGroupD3PDMaker, **(VertexD3PDAnalysisFlags.D3PDMakerExtraDict()))
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_topOptions.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_topOptions.py
deleted file mode 100644
index d58875b0aab..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexGroupD3PD_topOptions.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexGroupD3PD_topOptions.py
-## @brief Example of job options for producing Vertex Group D3PD (standalone, othewise use Reco_trf directly)
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-"""
-Example of job options for producing Vertex Group D3PD (standalone, othewise use Reco_trf directly)
-"""
-
-
-## Set input and configration
-readESD=False
-readAOD= not readESD
-InputPath='/eliza18/atlas/spagan/VtxStudies/VtxPUTF/AOD/'
-NEvtProcess=100
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-athenaCommonFlags.FilesInput = [InputPath+'mc11_valid.105200.T1_McAtNlo_Jimmy.recon.AOD.e835_s1256_s1258_r2529_tid464329_00/AOD.464329._000135.pool.root.1']
-
-import AthenaPython.ConfigLib as apcl
-cfg = apcl.AutoCfg(name = 'InDetRecExampleAutoConfig', input_files=athenaCommonFlags.FilesInput())
-#cfg = apcl.AutoCfg(cfg='everything', input_files=athenaCommonFlags.FilesInput())
-cfg.configure_job()
-
-theApp.EvtMax  = NEvtProcess
-
-## Set specific options for D3PD production
-from InDetD3PDMaker.VertexD3PDAnalysisFlags import VertexD3PDAnalysisFlags
-VertexD3PDAnalysisFlags.useAllVertexCollections = True
-VertexD3PDAnalysisFlags.useTrigger=True
-VertexD3PDAnalysisFlags.useSecondaryVertex=True
-VertexD3PDAnalysisFlags.useMET=True
-VertexD3PDAnalysisFlags.useElectrons=True
-VertexD3PDAnalysisFlags.useMuons=True
-VertexD3PDAnalysisFlags.usePhotons=True
-VertexD3PDAnalysisFlags.useJets=True
-VertexD3PDAnalysisFlags.useTaus=True
-
-## Set other InDetRecExample configurations
-doWriteESD = False
-doWriteAOD = False
-OutputLevel     = INFO
-doJiveXML       = False
-doVP1           = False
-doAuditors      = True
-doEdmMonitor    = False
-doNameAuditor   = False
-
-from RecExConfig.RecFlags import rec
-rec.Commissioning=True
-
-from InDetRecExample.InDetJobProperties import InDetFlags
-InDetFlags.disableInDetReco.set_Value_and_Lock(True) # Do not run ID reconstruction
-
-from InDetRecExample.InDetKeys import InDetKeys
-if InDetFlags.doVertexFinding() and readAOD:
-  InDetKeys.Tracks = InDetKeys.TrackParticles()
-  print "InDetKeys.Tracks = "+InDetKeys.Tracks()
-
-if readESD:
-  InDetKeys.UnslimmedTracks              = 'Tracks'
-  InDetKeys.UnslimmedTracksTruth         = 'TrackTruthCollection'
-if readAOD:
-  InDetKeys.McEventCollection = 'GEN_AOD'
-
-TrackCollectionKeys        = [InDetKeys.Tracks()]
-TrackCollectionTruthKeys   = [InDetKeys.TracksTruth()]
-
-
-## Now include main job options for D3PD production (with IDRE)
-include("InDetD3PDMaker/VertexGroupD3PD_jobOptions.py")
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_configure.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_configure.py
deleted file mode 100644
index fc18113b068..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_configure.py
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexLumiD3PD_configure.py
-## @brief PreInlcude file for Reco_trf.py to enable NBC and split vertices algorithms
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-
-# Do not use beamspot constraint tools and cuts and
-#  enable non beamspot constrined vertex algorithm
-# Note: The setting can still be over-written with a preExec
-InDetFlags.useBeamConstraint.set_Value_and_Lock(False)
-InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_prodJobOFragment.py b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_prodJobOFragment.py
deleted file mode 100644
index 19fd760f01e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/share/VertexLumiD3PD_prodJobOFragment.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-## @file InDetD3PDMaker/share/VertexLumiD3PD_prodjobOFragment.py
-## @brief Setup D3PD Maker algorithm for luminosity measurement/debug
-## @author Simone Pagan Griso
-## @date Mar, 2012
-##
-## Notes:
-## - To include non beam-constrained, use as preExec:
-##   InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
-##   or use as preInclude InDetD3PDMaker/VertexLumiD3PD_configure.py
-##   and make sure that VertexD3PDAnalysisFlags.useAllVertexCollections = True
-##   (it is by default; if the algorithms are not run, it does not dump info)
-
-"""
-Setup Vertex Lumi D3PD Maker algorithm  when running from Reco_trf.py
-"""
-
-from AthenaCommon.JobProperties import jobproperties
-vtxprodFlags = jobproperties.D3PDProdFlags
-from PrimaryDPDMaker.PrimaryDPDHelpers import buildFileName
-
-from InDetD3PDMaker.VertexD3PDAnalysisKeys import VertexD3PDAnalysisKeys
-from InDetD3PDMaker.VertexD3PDAnalysisFlags import VertexD3PDAnalysisFlags
-
-### Configure Vertex D3PD Maker
-VertexD3PDAnalysisFlags.useAllVertexCollections = False
-VertexD3PDAnalysisFlags.useEventInfo=True
-VertexD3PDAnalysisFlags.useTracks=False
-VertexD3PDAnalysisFlags.useBeamspot=False
-VertexD3PDAnalysisFlags.useTrigger=False
-VertexD3PDAnalysisFlags.useBackgroundWord=True
-VertexD3PDAnalysisFlags.useSecondaryVertex=False
-VertexD3PDAnalysisFlags.useMET=False
-VertexD3PDAnalysisFlags.useElectrons=False
-VertexD3PDAnalysisFlags.useMuons=False
-VertexD3PDAnalysisFlags.usePhotons=False
-VertexD3PDAnalysisFlags.useJets=False
-VertexD3PDAnalysisFlags.useTaus=False
-
-include("InDetD3PDMaker/VertexGroupD3PD_loadConfig.py")
-
-
-### Semi-automatic configuration steps
-## The following needs to be given as preExec
-##  (it has to be set before including RecExCommon)
-#if VertexD3PDAnalysisFlags.useAllVertexCollections:
-#    #Need to enable algorithms in IDRE
-#    from InDetRecExample.InDetJobProperties import InDetFlags
-#    InDetFlags.doVertexFindingForMonitoring.set_Value_and_Lock(True)
-
-### Setup algorithm
-if vtxprodFlags.WriteIDVTXLUMID3PD.isVirtual:
-    raise NameError( "IDVTXLUMID set to be a virtual stream" )
-    pass 
-
-streamName = vtxprodFlags.WriteIDVTXLUMID3PD.StreamName
-fileName   = buildFileName( vtxprodFlags.WriteIDVTXLUMID3PD )
-
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-VertexLumiD3PDMaker = MSMgr.NewRootStream(vtxprodFlags.WriteIDVTXLUMID3PD.StreamName, fileName, VertexD3PDAnalysisKeys.D3PDTreeName())
-
-### Add objects to the algorithm
-from InDetD3PDMaker.VertexGroupD3PD import VertexGroupD3PD
-VertexGroupD3PD(VertexLumiD3PDMaker, **(VertexD3PDAnalysisFlags.D3PDMakerExtraDict()))
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.cxx
deleted file mode 100644
index 66646e6c31e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.cxx
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/BeamSpotFillerTool.cxx
- * @author remi zaidan <zaidan@cern.ch>
- * @date Jan, 2011
- * @brief Block filler tool for beam spot parameters.
- */
-
-
-#include "BeamSpotFillerTool.h"
-#include "VxVertex/VxCandidate.h"
-#include "AthenaKernel/errorcheck.h"
-#include "EventPrimitives/EventPrimitivesHelpers.h"
-#include "TrkEventPrimitives/ParamDefs.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-BeamSpotFillerTool::BeamSpotFillerTool
-    (const std::string& type,
-     const std::string& name,
-     const IInterface* parent)
-  : Base (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode BeamSpotFillerTool::book()
-{
-
-  CHECK( addVariable ("x", m_x, "", -9999) );
-  CHECK( addVariable ("y", m_y, "", -9999) );
-  CHECK( addVariable ("z", m_z, "", -9999) );
-  CHECK( addVariable ("sigma_x", m_sigma_x, "", -1 ) );
-  CHECK( addVariable ("sigma_y", m_sigma_y, "", -1 ) );
-  CHECK( addVariable ("sigma_z", m_sigma_z, "", -1 ) );
-  CHECK( addVariable ("tilt_x", m_tilt_x, "", -1 ) );
-  CHECK( addVariable ("tilt_y", m_tilt_y, "", -1 ) );
- 
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-StatusCode BeamSpotFillerTool::fill (const Trk::RecVertex& p)
-{
-
-  const Amg::Vector3D& pos = p.position();
-  *m_x = pos.x();
-  *m_y = pos.y();
-  *m_z = pos.z();
-
-  const AmgSymMatrix(3)& m = p.covariancePosition();
-  //*m_sigma_x = Amg::error(m,Trk::x);
-  //*m_sigma_y = Amg::error(m,Trk::y);
-  //*m_sigma_z = Amg::error(m,Trk::z);
-
-  *m_sigma_x = sqrt(m(Trk::x,Trk::x));
-  *m_sigma_y = sqrt(m(Trk::y,Trk::y));
-  *m_sigma_z = sqrt(m(Trk::z,Trk::z));
-
-  double cxz = m(Trk::x, Trk::z);
-  double cyz = m(Trk::y, Trk::z);
-
-  if(*m_sigma_z != 0) {
-    *m_tilt_x = atan(cxz / ( (*m_sigma_z)*(*m_sigma_z) ));
-    *m_tilt_y = atan(cyz / ( (*m_sigma_z)*(*m_sigma_z) ));
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.h
deleted file mode 100644
index 3f6f4454f91..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotFillerTool.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/BeamSpotFillerTool.h
- * @author remi zaidan <zaidan@cern.ch>
- * @date Jan, 2011
- * @brief Block filler tool for beam spot.
- */
-
-#ifndef INDETD3PDMAKER_BEAMSPOTFILLERTOOL_H
-#define INDETD3PDMAKER_BEAMSPOTFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-namespace Trk {
-  class RecVertex;
-}
-
-
-namespace D3PD {
-
-
-/**
- * @brief Block filler tool for vertex position.
- */
-class BeamSpotFillerTool
-  : public BlockFillerTool<Trk::RecVertex>
-{
-public:
-  typedef BlockFillerTool<Trk::RecVertex> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  BeamSpotFillerTool (const std::string& type,
-		    const std::string& name,
-		    const IInterface* parent);
-  
-
-  /// Book variables for this block.
-  virtual StatusCode book();
-  
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const Trk::RecVertex& p);
-
-private:
-
-  /// Variables: 
-  // Beam spot position.
-  float* m_x;
-  float* m_y;
-  float* m_z;
-  // Beam spot size:
-  float* m_sigma_x;
-  float* m_sigma_y;
-  float* m_sigma_z;
-  // Beam spot tilt
-  float* m_tilt_x;
-  float* m_tilt_y;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_BEAMSPOTFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.cxx
deleted file mode 100644
index d91e4d9dad3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "BeamSpotGetterTool.h"
-
-#include "InDetBeamSpotService/IBeamCondSvc.h"
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-BeamSpotGetterTool::BeamSpotGetterTool(const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent) : 
-  Base(type, name, parent),
-  m_iBeamCondSvc(0)
-{
-  declareProperty("BeamCondSvcName", m_beamCondSvcName = "BeamCondSvc" );
-}
-
-BeamSpotGetterTool::~BeamSpotGetterTool(){
-
-}
-
-StatusCode BeamSpotGetterTool::initialize(){
-
-  CHECK(Base::initialize());
-
-  // Pick up the BeamConditionService
-  if (service(m_beamCondSvcName, m_iBeamCondSvc).isFailure() || m_iBeamCondSvc == 0) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not find BeamCondSvc: " <<  m_beamCondSvcName;
-    REPORT_MESSAGE (MSG::WARNING) << "Will use nominal beamspot at (0,0,0)";
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-const Trk::RecVertex* BeamSpotGetterTool::get (bool /*allowMissing*/){
-
-  /// Pick up the beamspot parameters as a vertex object
-  Trk::RecVertex *bvx = 0;
-  if (m_iBeamCondSvc) {
-    bvx = new Trk::RecVertex(m_iBeamCondSvc->beamVtx());
-  }else{
-    // no beam service => create dummy beam spot
-    AmgSymMatrix(3) err;
-    Amg::Vector3D pos(0,0,0);
-    double ndf = 0;
-    double chi2 = 0;
-    bvx = new Trk::RecVertex(pos, err, ndf, chi2); // dummy beam spot
-  }
-
-  return bvx;
-}
-
-void BeamSpotGetterTool::releaseObject (const Trk::RecVertex* p){
-  if(p) delete p;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.h
deleted file mode 100644
index 5c741b4aa14..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/BeamSpotGetterTool.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_BEAMSPOTGETTERTOOL_H
-#define INDETD3PDMAKER_BEAMSPOTGETTERTOOL_H
-
-#include "D3PDMakerUtils/ObjGetterTool.h"
-#include "VxVertex/RecVertex.h"
-
-#include "GaudiKernel/ToolHandle.h"
-
-class IBeamCondSvc;
-
-namespace D3PD {
-
-class BeamSpotGetterTool : public D3PD::ObjGetterTool<Trk::RecVertex> {
-public:
-  typedef D3PD::ObjGetterTool<Trk::RecVertex> Base;
-
-  BeamSpotGetterTool(const std::string& type,
-		     const std::string& name,
-		     const IInterface* parent);
-  virtual ~BeamSpotGetterTool();
-
-  StatusCode initialize();
-
-  /**
-     get method:
-      use the beam spot service to extract beam spot parameters
-      wrap the info in a Trk::RecVertex object (position and covariance matrix
-  */
-  virtual const Trk::RecVertex* get (bool allowMissing = false);
-
-  /**
-     delete the pointer created by get
-   */
-  virtual void releaseObject (const Trk::RecVertex* p);
-
-private:
-
-  /* the beam condition service **/
-  IBeamCondSvc* m_iBeamCondSvc;
-  std::string   m_beamCondSvcName;
-
-}; // class BeamSpotGetterTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_BEAMSPOTGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.cxx
deleted file mode 100644
index 157361cbf84..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.cxx
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "ClusterAssocFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h"
-#include "InDetReadoutGeometry/SiDetectorElement.h"
-#include "TrkEventPrimitives/LocalParameters.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-//#include "TrkParameters/MeasuredTrackParameters.h"
-#include "InDetIdentifier/PixelID.h"
-#include "InDetIdentifier/SCT_ID.h"
-#include "InDetIdentifier/TRT_ID.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "TrkCompetingRIOsOnTrack/CompetingRIOsOnTrack.h"
-#include "EventPrimitives/EventPrimitivesHelpers.h"
-
-//using CLHEP::rotationZOf;
-
-
-namespace D3PD {
-
-
-ClusterAssocFillerTool::ClusterAssocFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<Trk::TrackStateOnSurface> (type, name, parent),
-    m_idHelper(0),
-    m_sctId(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode ClusterAssocFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // need Atlas id-helpers to identify sub-detectors, take them from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasDetectorID helper";
-    return StatusCode::FAILURE;
-  }   
-
-  if(detStore()->retrieve(m_sctId,"SCT_ID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve SCT helper";
-    return StatusCode::FAILURE; 
-  } 
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode ClusterAssocFillerTool::book(){
-
-
-  //CHECK( addVariable( "tsosPosition" , m_tsosPosition) );
-  CHECK( addVariable( "clX" , m_clGlobX) );
-  CHECK( addVariable( "clY" , m_clGlobY) );
-  CHECK( addVariable( "clZ" , m_clGlobZ) );
-  CHECK( addVariable( "clLocX" , m_clLocX) );
-  CHECK( addVariable( "clLocY" , m_clLocY) );
-  CHECK( addVariable( "clId" , m_id) );
-  CHECK( addVariable( "clDetElementId" , m_detElementId) );
-  CHECK( addVariable( "clDetType" , m_detType) );
-  CHECK( addVariable( "clBEC" , m_bec) );
-  CHECK( addVariable( "clLayer" , m_layer) );
-  CHECK( addVariable( "locX" , m_locX) );
-  CHECK( addVariable( "locY" , m_locY) );
-  CHECK( addVariable( "errLocX" , m_err_locX) );
-  CHECK( addVariable( "errLocY" , m_err_locY) );
-  CHECK( addVariable( "covLocXY" , m_cov_locXY) );
-  CHECK( addVariable( "x" , m_x) );
-  CHECK( addVariable( "y" , m_y) );
-  CHECK( addVariable( "z" , m_z) );
-  CHECK( addVariable( "trkLocX" , m_trkLocX) );
-  CHECK( addVariable( "trkLocY" , m_trkLocY) );
-  CHECK( addVariable( "errTrkLocX" , m_err_trkLocX) );
-  CHECK( addVariable( "errTrkLocY" , m_err_trkLocY) );
-  CHECK( addVariable( "covTrkLocXY" , m_cov_trkLocXY) );
-  CHECK( addVariable( "isCompetingRIO" , m_isCompetingRIO) );
-  CHECK( addVariable( "size" , m_sizePhi) );
-  CHECK( addVariable( "side" , m_sideModule) );
-  CHECK( addVariable( "locPhi" , m_locPhi) );
-  CHECK( addVariable( "locTheta" , m_locTheta) );
-  CHECK( addVariable( "tsosType" , m_tsosType) );
-
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode ClusterAssocFillerTool::fill (const Trk::TrackStateOnSurface& tso)
-{
-
-    this->clearData();
-
-    const InDet::SCT_Cluster* RawDataClus = 0;
-
-    const Trk::TrackStateOnSurface* pTSoS = &tso;
-    long bitsetValue = (long)pTSoS->types().to_ulong();
-    *m_tsosType = (int)bitsetValue;
-
-    // TrackStateOnSurface part 
-
-    // measured hit/outlier
-    const Trk::MeasurementBase *measurement = pTSoS->measurementOnTrack();
-
-    // track parameters at wafer
-    const Trk::TrackParameters *tp = pTSoS->trackParameters();
-    
-    // Fill the hit/oultier local/global position variables
-    if(measurement){
-      
-      // local position
-      //for SCT only locX, locY ether not defined at all, i.e.-9999.
-      // or 0, when the second parameter defined
-
-      //local parameters
-      const Trk::LocalParameters pars = measurement->localParameters();
-      //local error matrix
-      const Amg::MatrixX err = measurement->localCovariance();
-
-      //>fix1.. this produced FPE OVERFLOW last time 
-      // *m_locX = (float)pars[Trk::locX];
-      // *m_locY = (float)pars[Trk::locY];
-      if ( pars.contains(Trk::locX) ){
-        double locX = pars[Trk::locX];
-	if ( !(std::isinf(locX) || std::isnan(locX)) ){
-	  *m_locX = (float)locX;
-	  *m_err_locX = (float)Amg::error(err,Trk::locX);
-	}
-      }
-      if ( pars.contains(Trk::locY) ){
-	double locY = pars.get(Trk::locY);
-	if ( !(std::isinf(locY) || std::isnan(locY)) ){
-	  if ( locY<1e-07 ) locY=0.;
-	  *m_locY = (float)locY;
-	  *m_err_locY = (float)Amg::error(err,Trk::locY);
-	}
-      }
-      if ( *m_locX > -9900 && *m_locY > -9900 ){
-	double locXY = err(Trk::locX, Trk::locY);
-	if (  !(std::isinf(locXY) || std::isnan(locXY)) )
-	  *m_cov_locXY = (float)locXY;
-      }
-      //<fix1
-   
-      // global position
-      const Amg::Vector3D pos = measurement->globalPosition();
-      //*m_x = (float)pos[Trk::x];
-      //*m_y = (float)pos[Trk::y];
-      //*m_z = (float)pos[Trk::z];
-      *m_x = (float)pos.x();
-      *m_y = (float)pos.y();
-      *m_z = (float)pos.z();
-    }
-
-    // Fill the track local position at wafer
-    if(tp){
-     
-      //const HepVector lp0 = tp->parameters();
-      if ( tp->parameters().rows() > 1 ){
-	*m_trkLocX=(float)tp->parameters()[Trk::locX]; //lp[Trk::locX];
-	*m_trkLocY=(float)tp->parameters()[Trk::locY]; //lp[Trk::locY];
-	
-	const AmgSymMatrix(5) *mtp  = tp->covariance();
-	if(mtp){
-
-	  //const Trk::ErrorMatrix err = mtp->localErrorMatrix();
-	
-	  *m_err_trkLocX=(float)Amg::error(*mtp,Trk::locX);
-	  *m_err_trkLocY=(float)Amg::error(*mtp,Trk::locY);
-	  *m_cov_trkLocXY=(float)(*mtp)(Trk::locX, Trk::locY);
-	}
-      }
-
-    } // if(tp)
-
-    //*m_isCompetingRIO = 0;
-    const Trk::RIO_OnTrack *rio = dynamic_cast<const Trk::RIO_OnTrack*>(measurement);
-    if(!rio){
-      const Trk::CompetingRIOsOnTrack *crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(measurement);
-      if(crot){
-	rio = & crot->rioOnTrack( crot->indexOfMaxAssignProb() );
-	*m_isCompetingRIO = 1;
-      }
-    }
- 
-
-    // Fill varaibles representing SCT Cluster local and global coordinates
-    if(rio){
-
-      Identifier id = rio->identify();
-   
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-      if(de){
-	Identifier detId = de->identify();
-
-	if ( detId.is_valid() ) {
-	  *m_detElementId = detId.get_compact();
-  
-	  if (m_idHelper->is_sct(detId)) {
-	    *m_detType = (int)Trk::TrackState::SCT;
-	    *m_bec = (int)m_sctId->barrel_ec(id);
-	    *m_layer = (int)m_sctId->layer_disk(id);
-	    *m_sideModule = (int)m_sctId->side(id);
-	    const InDet::SCT_Cluster *clus = dynamic_cast<const InDet::SCT_Cluster*>(rio->prepRawData());
-	    if(clus){
-	      const InDet::SiWidth cw = clus->width();
-	      *m_sizePhi = (int)cw.colRow().x(); //cw.colRow()[0]; 
-	      RawDataClus = clus;
-
-	      *m_clGlobX = (float)RawDataClus->globalPosition().x();
-	      *m_clGlobY = (float)RawDataClus->globalPosition().y();
-	      *m_clGlobZ = (float)RawDataClus->globalPosition().z();
-	      const Amg::Vector2D& locpos = RawDataClus->localPosition();
-	    
-	      if ( !(std::isinf(locpos[Trk::locX]) || std::isnan(locpos[Trk::locX])) )
-		*m_clLocX = (float)locpos[Trk::locX];
-
-	      if ( !(std::isinf(locpos[Trk::locY]) || std::isnan(locpos[Trk::locY])) ){
-
-		if (locpos[Trk::locY]<1e-07) 
-		  *m_clLocY=0.;
-		else
-		  *m_clLocY = (float)locpos(Trk::locY);//locpos.get??
-
-	      }
-	  
-	    }
-	  }
-	}
-	else {
-	  REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-	}
-      }
-    } // if rio
-
-
-    // Fill local incidence angles
-    if ( measurement && rio && tp ) {
-
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-
-      if(de){
-	Identifier detId = de->identify();
-
-	if ( detId.is_valid() ) {
-	  if ( m_idHelper->is_sct(detId)) {
-
-	    const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de);
-	    if ( side ){
-
-	      //fix 2 is the modification of loc inc. angles
-	      //const InDet::SCT_Cluster *clus = dynamic_cast<const InDet::SCT_Cluster*>(rio->prepRawData());
-	      double sinAlpha = 0.;
-	      if(RawDataClus){
-		// local Stereo anlge of strip with respect to locY axis
-		// always 0. for Barrel modules
-		sinAlpha = side->sinStereoLocal(RawDataClus->localPosition());
-	      }
-
-	      // normal component of the wafer's local coordinate system
-	      // (along global R for Barrel and global Z for Endcaps)
-	      Amg::Vector3D mynormal = side->normal(); 
-	      
-	      // side->phiAxis() is the X component of wafer's local coordinates 
-	      //(goes across the strips in increasing global Phi direction)
-	      // side->etaAxis() is the Y component of wafer's local coordinates
-	      //(goes along the strips in increasing global Eta direction)
-
-	      // Here we rotate around local Z axis to account for strip local stereo angle if any (EC)
-	      // "-" is because rotation is defined in the counter-clockwise sense,
-	      // and we need to go back (clockwise) to align the local axes with the
-
-	      Amg::Transform3D rotationZ;
-	      //rotationZ.setIdentity();
-	      rotationZ = Amg::AngleAxis3D(asin(-sinAlpha),Amg::Vector3D(0.,0.,1.));
-	      Amg::Vector3D myphiax = rotationZ.linear() * side->phiAxis();
-	      Amg::Vector3D myetaax = rotationZ.linear() * side->etaAxis();
-
-	      Amg::Vector3D mytrack = tp->momentum();
-
-	      //Vector3D<double> mynormal = side->normal();
-	      //Vector3D<double> myphiax = side->phiAxis();
-	      //Vector3D<double> myetaax = side->etaAxis();
-	      float trketacomp = (float)mytrack.dot(myetaax);
-	      float trkphicomp = (float)mytrack.dot(myphiax);
-	      float trknormcomp = (float)mytrack.dot(mynormal);
-	      if (fabs(trknormcomp*1e07)>0 ){
-                const double inv_trknormcomp = 1. / trknormcomp;
-		*m_locPhi = (float)atan(trkphicomp * inv_trknormcomp); //(float)atan2(trkphicomp,trknormcomp);
-		*m_locTheta = (float)atan(trketacomp * inv_trknormcomp); //(float)atan2(trketacomp,trknormcomp);
-	      }
-	      
-	      /* Old...
-	      Vector3D<double> mytrack = tp->momentum();
-
-	      Vector3D<double> mynormal = side->normal();
-	      
-	      Vector3D<double> myphiax = side->phiAxis();
-	      Vector3D<double> myetaax = side->etaAxis();
-	      float trketacomp = (float)mytrack.dot(myetaax);
-	      float trkphicomp = (float)mytrack.dot(myphiax);
-	      float trknormcomp = (float)mytrack.dot(mynormal);
-	      *m_locPhi = (float)atan2(trkphicomp,trknormcomp);
-	      *m_locTheta = (float)atan2(trketacomp,trknormcomp);
-	      ....end...old */
-
-	      // For x-check. To be removed when uploading.Start 
-	      /*
-	      *m_locPhiOld = (float)atan2(trkphicomp,trknormcomp);
-	      *m_locThetaOld = (float)atan2(trketacomp,trknormcomp);
-	      //Vector3D<double> mynormal = side->normal();
-	      Vector3D<double> myphiax0 = side->phiAxis();
-	      Vector3D<double> myetaax0 = side->etaAxis();
-	      float trketacomp0 = (float)mytrack.dot(myetaax0);
-	      float trkphicomp0 = (float)mytrack.dot(myphiax0);
-	      *m_locPhiOldNotCor = (float)atan2(trkphicomp0,trknormcomp);
-	      *m_locThetaOldNotCor = (float)atan2(trketacomp0,trknormcomp);
-	      // For x-check. To be removed when uploading.End
-	      */
-	    }
-	  }
-	}
-	else{
-	  REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-	}
-      }
-    } // if measurement && rio && tp
-       
-    return StatusCode::SUCCESS;
-}
-
-void ClusterAssocFillerTool::clearData(){
-
-    *m_clGlobX= -9999.;
-    *m_clGlobY= -9999.;
-    *m_clGlobZ= -9999.;
-    *m_clLocX= -9999.;
-    *m_clLocY= -9999.;
-    *m_locX= -9999.;
-    *m_locY= -9999.;
-    *m_err_locX= -9999.;
-    *m_err_locY= -9999.;
-    *m_cov_locXY= -9999.;
-    *m_x= -9999.;
-    *m_y= -9999.;
-    *m_z= -9999.;
-    *m_trkLocX= -9999.;
-    *m_trkLocY= -9999.;
-    *m_err_trkLocX= -9999.;
-    *m_err_trkLocY= -9999.;
-    *m_cov_trkLocXY= -9999.;
-    *m_isCompetingRIO= 0;
-    *m_sizePhi= 0.;
-    *m_sideModule = -9999;
-    *m_locPhi= -9999.;
-    *m_locTheta= -9999.;
-    *m_tsosType= (int)Trk::TrackStateOnSurface::Unknown;
-
-    *m_id= 0; // unique identifier for a cluster
-    *m_detElementId= 0; // unique identifier for a detector element
-    *m_detType= Trk::TrackState::unidentified;
-    *m_bec= -9999.;
-    *m_layer= -1;
-
-}
-
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.h
deleted file mode 100644
index 022fc0d3d15..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocFillerTool.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_CLUSTERASSOCFILLERTOOL_H
-#define INDETD3PDMAKER_CLUSTERASSOCFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#include "Identifier/Identifier.h"
-
-class AtlasDetectorID;
-class PixelID;
-class SCT_ID;
-class TRT_ID;
-
-namespace Trk{
-class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-class ClusterAssocFillerTool
-  : public D3PD::BlockFillerTool<Trk::TrackStateOnSurface>
-{
-public:
-  typedef D3PD::BlockFillerTool<Trk::TrackStateOnSurface> Base;
-
-  ClusterAssocFillerTool (const std::string& type,
-				 const std::string& name,
-				 const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::TrackStateOnSurface &p);
-
-private:
-
-  void clearData();
-
-  const AtlasDetectorID* m_idHelper;
-  const SCT_ID* m_sctId;
-
-
-  float                 *m_clGlobX;
-  float                 *m_clGlobY;
-  float                 *m_clGlobZ;
-  float                 *m_clLocX;
-  float                 *m_clLocY;
-  float                 *m_locX;
-  float                 *m_locY;
-  float                 *m_err_locX;
-  float                 *m_err_locY;
-  float                 *m_cov_locXY;
-  float                 *m_x;
-  float                 *m_y;
-  float                 *m_z;
-  float                 *m_trkLocX;
-  float                 *m_trkLocY;
-  float                 *m_err_trkLocX;
-  float                 *m_err_trkLocY;
-  float                 *m_cov_trkLocXY;
-  int                   *m_isCompetingRIO;
-  int                   *m_sizePhi;
-  int                   *m_sideModule;
-  float                 *m_locPhi;
-  float                 *m_locTheta;
-  int                   *m_tsosType;
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId; // unique identifier for a detector element
-  int *m_detType;
-  int *m_bec;
-  int *m_layer;
-
-
-}; // class ClusterAssocFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_CLUSTERASSOCFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.cxx
deleted file mode 100644
index 52b26947aac..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.cxx
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "ClusterAssocPixelFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h"
-#include "InDetReadoutGeometry/SiDetectorElement.h"
-#include "TrkEventPrimitives/LocalParameters.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "InDetIdentifier/PixelID.h"
-#include "InDetIdentifier/SCT_ID.h"
-#include "InDetIdentifier/TRT_ID.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "TrkCompetingRIOsOnTrack/CompetingRIOsOnTrack.h"
-#include "EventPrimitives/EventPrimitivesHelpers.h"
-
-
-namespace D3PD {
-
-
-ClusterAssocPixelFillerTool::ClusterAssocPixelFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<Trk::TrackStateOnSurface> (type, name, parent),
-    m_idHelper(0),
-    m_pixelId(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode ClusterAssocPixelFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // need Atlas id-helpers to identify sub-detectors, take them from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasDetectorID helper";
-    return StatusCode::FAILURE;
-  }   
-
-  if(detStore()->retrieve(m_pixelId,"PixelID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve Pixel helper";
-    return StatusCode::FAILURE; 
-  } 
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode ClusterAssocPixelFillerTool::book(){
-
-
-  //CHECK( addVariable( "tsosPosition" , m_tsosPosition) );
-  CHECK( addVariable( "clX" , m_clGlobX) );
-  CHECK( addVariable( "clY" , m_clGlobY) );
-  CHECK( addVariable( "clZ" , m_clGlobZ) );
-  CHECK( addVariable( "clLocX" , m_clLocX) );
-  CHECK( addVariable( "clLocY" , m_clLocY) );
-  CHECK( addVariable( "clId" , m_id) );
-  CHECK( addVariable( "clDetElementId" , m_detElementId) );
-  CHECK( addVariable( "clDetType" , m_detType) );
-  CHECK( addVariable( "clBEC" , m_bec) );
-  CHECK( addVariable( "clLayer" , m_layer) );
-  CHECK( addVariable( "locX" , m_locX) );
-  CHECK( addVariable( "locY" , m_locY) );
-  CHECK( addVariable( "errLocX" , m_err_locX) );
-  CHECK( addVariable( "errLocY" , m_err_locY) );
-  CHECK( addVariable( "covLocXY" , m_cov_locXY) );
-  CHECK( addVariable( "x" , m_x) );
-  CHECK( addVariable( "y" , m_y) );
-  CHECK( addVariable( "z" , m_z) );
-  CHECK( addVariable( "trkLocX" , m_trkLocX) );
-  CHECK( addVariable( "trkLocY" , m_trkLocY) );
-  CHECK( addVariable( "errTrkLocX" , m_err_trkLocX) );
-  CHECK( addVariable( "errTrkLocY" , m_err_trkLocY) );
-  CHECK( addVariable( "covTrkLocXY" , m_cov_trkLocXY) );
-  CHECK( addVariable( "isCompetingRIO" , m_isCompetingRIO) );
-  CHECK( addVariable( "size" , m_sizePhi) );
-  //CHECK( addVariable( "side" , m_sideModule) );
-  CHECK( addVariable( "locPhi" , m_locPhi) );
-  CHECK( addVariable( "locTheta" , m_locTheta) );
-  CHECK( addVariable( "tsosType" , m_tsosType) );
-
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode ClusterAssocPixelFillerTool::fill (const Trk::TrackStateOnSurface& tso)
-{
-
-    this->clearData();
-
-    const InDet::PixelCluster* RawDataClus = 0;
-
-    const Trk::TrackStateOnSurface* pTSoS = &tso;
-    long bitsetValue = (long)pTSoS->types().to_ulong();
-    *m_tsosType = (int)bitsetValue;
-
-    // TrackStateOnSurface part 
-
-    // measured hit/outlier
-    const Trk::MeasurementBase *measurement = pTSoS->measurementOnTrack();
-
-    // track parameters at wafer
-    const Trk::TrackParameters *tp = pTSoS->trackParameters();
-    
-    // Fill the hit/oultier local/global position variables
-    if(measurement){
-      
-      // local position
-      //for Pixel only locX, locY ether not defined at all, i.e.-9999.
-      // or 0, when the second parameter defined
-
-      //local parameters
-      const Trk::LocalParameters pars = measurement->localParameters();
-      //local error matrix
-      const AmgSymMatrix(5) err = measurement->localCovariance();
-
-      //>fix1.. this produced FPE OVERFLOW last time 
-      // *m_locX = (float)pars[Trk::locX];
-      // *m_locY = (float)pars[Trk::locY];
-      if ( pars.contains(Trk::locX) ){
-        double locX = pars[Trk::locX];
-	if ( !(std::isinf(locX) || std::isnan(locX)) ){
-	  *m_locX = (float)locX;
-	  *m_err_locX = (float)Amg::error(err,Trk::locX);
-	}
-      }
-      if ( pars.contains(Trk::locY) ){
-	double locY = pars.get(Trk::locY);
-	if ( !(std::isinf(locY) || std::isnan(locY)) ){
-	  if ( locY<1e-07 ) locY=0.;
-	  *m_locY = (float)locY;
-	  *m_err_locY = (float)Amg::error(err,Trk::locY);
-	}
-      }
-      if ( *m_locX > -9900 && *m_locY > -9900 ){
-	double locXY = err(Trk::locX, Trk::locY);
-	if (  !(std::isinf(locXY) || std::isnan(locXY)) )
-	  *m_cov_locXY = (float)locXY;
-      }
-      //<fix1
-   
-      // global position
-      const Amg::Vector3D pos = measurement->globalPosition();
-      //*m_x = (float)pos[Trk::x];
-      //*m_y = (float)pos[Trk::y];
-      //*m_z = (float)pos[Trk::z];
-      *m_x = (float)pos.x();
-      *m_y = (float)pos.y();
-      *m_z = (float)pos.z();
-    }
-
-    // Fill the track local position at wafer
-    if(tp){
-     
-      //const HepVector lp0 = tp->parameters();
-      if ( tp->parameters().rows() > 1 ){
-	*m_trkLocX=(float)tp->parameters()[Trk::locX]; //lp[Trk::locX];
-	*m_trkLocY=(float)tp->parameters()[Trk::locY]; //lp[Trk::locY];
-	
-	const AmgSymMatrix(5) *mtp  = tp->covariance();
-	if(mtp){
-
-	  //const Trk::ErrorMatrix err = mtp->localErrorMatrix();
-	
-	  *m_err_trkLocX=(float)Amg::error(*mtp,Trk::locX);
-	  *m_err_trkLocY=(float)Amg::error(*mtp,Trk::locY);
-	  *m_cov_trkLocXY=(float)(*mtp)(Trk::locX, Trk::locY);
-	}
-      }
-
-    } // if(tp)
-
-    //*m_isCompetingRIO = 0;
-    const Trk::RIO_OnTrack *rio = dynamic_cast<const Trk::RIO_OnTrack*>(measurement);
-    if(!rio){
-      const Trk::CompetingRIOsOnTrack *crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(measurement);
-      if(crot){
-	rio = &crot->rioOnTrack( crot->indexOfMaxAssignProb() );
-	*m_isCompetingRIO = 1;
-      }
-    }
- 
-
-    // Fill varaibles representing Pixel Cluster local and global coordinates
-    if(rio){
-
-      Identifier id = rio->identify();
-   
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-      if(de){
-	Identifier detId = de->identify();
-
-	if ( detId.is_valid() ) {
-	  *m_detElementId = detId.get_compact();
-  
-	  if (m_idHelper->is_pixel(detId)) {
-	    *m_detType = (int)Trk::TrackState::Pixel;
-	    *m_bec = (int)m_pixelId->barrel_ec(id);
-	    *m_layer = (int)m_pixelId->layer_disk(id);
-	    //*m_sideModule = (int)m_pixelId->side(id);
-	    const InDet::PixelCluster *clus = dynamic_cast<const InDet::PixelCluster*>(rio->prepRawData());
-	    if(clus){
-	      const InDet::SiWidth cw = clus->width();
-	      *m_sizePhi = (int)cw.colRow().x(); //cw.colRow()[0]; 
-	      RawDataClus = clus;
-
-	      *m_clGlobX = (float)RawDataClus->globalPosition().x();
-	      *m_clGlobY = (float)RawDataClus->globalPosition().y();
-	      *m_clGlobZ = (float)RawDataClus->globalPosition().z();
-	      const Amg::Vector2D& locpos = RawDataClus->localPosition();
-	    
-	      if ( !(std::isinf(locpos[Trk::locX]) || std::isnan(locpos[Trk::locX])) )
-		*m_clLocX = (float)locpos[Trk::locX];
-
-	      if ( !(std::isinf(locpos[Trk::locY]) || std::isnan(locpos[Trk::locY])) ){
-
-		if (locpos[Trk::locY]<1e-07) 
-		  *m_clLocY=0.;
-		else
-		  *m_clLocY = (float)locpos(Trk::locY);
-
-	      }
-	  
-	    }
-	  }
-	}
-	else {
-	  REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-	}
-      }
-    } // if rio
-
-
-    // Fill local incidence angles
-    if ( measurement && rio && tp ) {
-
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-
-      if(de){
-	Identifier detId = de->identify();
-
-	if ( detId.is_valid() ) {
-	  if ( m_idHelper->is_pixel(detId)) {
-
-	    const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de);
-	    if ( side ){
-
-	      //fix 2 is the modification of loc inc. angles
-	      //const InDet::PixelCluster *clus = dynamic_cast<const InDet::PixelCluster*>(rio->prepRawData());
-	      double sinAlpha = 0.;
-	      if(RawDataClus){
-		// local Stereo anlge of strip with respect to locY axis
-		// always 0. for Barrel modules
-		sinAlpha = side->sinStereoLocal(RawDataClus->localPosition());
-	      }
-
-	      // normal component of the wafer's local coordinate system
-	      // (along global R for Barrel and global Z for Endcaps)
-	      Amg::Vector3D mynormal = side->normal(); 
-	      
-	      // side->phiAxis() is the X component of wafer's local coordinates 
-	      //(goes across the strips in increasing global Phi direction)
-	      // side->etaAxis() is the Y component of wafer's local coordinates
-	      //(goes along the strips in increasing global Eta direction)
-
-	      // Here we rotate around local Z axis to account for strip local stereo angle if any (EC)
-	      // "-" is because rotation is defined in the counter-clockwise sense,
-	      // and we need to go back (clockwise) to align the local axes with the
-	      Amg::Transform3D rotationZ;
-	      //rotationZ.setIdentity();
-	      rotationZ = Amg::AngleAxis3D(asin(-sinAlpha),Amg::Vector3D(0.,0.,1.));
-
-	      Amg::Vector3D myphiax = rotationZ.linear() * side->phiAxis();
-	      Amg::Vector3D myetaax = rotationZ.linear() * side->etaAxis();
-
-	      Amg::Vector3D mytrack = tp->momentum();
-
-	      //Vector3D<double> mynormal = side->normal();
-	      //Vector3D<double> myphiax = side->phiAxis();
-	      //Vector3D<double> myetaax = side->etaAxis();
-	      float trketacomp = (float)mytrack.dot(myetaax);
-	      float trkphicomp = (float)mytrack.dot(myphiax);
-	      float trknormcomp = (float)mytrack.dot(mynormal);
-	      if (fabs(trknormcomp*1e07)>0 ){
-                const double inv_trknormcomp = 1. / trknormcomp;
-		*m_locPhi = (float)atan(trkphicomp * inv_trknormcomp); //(float)atan2(trkphicomp,trknormcomp);
-		*m_locTheta = (float)atan(trketacomp * inv_trknormcomp); //(float)atan2(trketacomp,trknormcomp);
-	      }
-	      
-	      /* Old...
-	      Vector3D<double> mytrack = tp->momentum();
-
-	      Vector3D<double> mynormal = side->normal();
-	      
-	      Vector3D<double> myphiax = side->phiAxis();
-	      Vector3D<double> myetaax = side->etaAxis();
-	      float trketacomp = (float)mytrack.dot(myetaax);
-	      float trkphicomp = (float)mytrack.dot(myphiax);
-	      float trknormcomp = (float)mytrack.dot(mynormal);
-	      *m_locPhi = (float)atan2(trkphicomp,trknormcomp);
-	      *m_locTheta = (float)atan2(trketacomp,trknormcomp);
-	      ....end...old */
-
-	      // For x-check. To be removed when uploading.Start 
-	      /*
-	      *m_locPhiOld = (float)atan2(trkphicomp,trknormcomp);
-	      *m_locThetaOld = (float)atan2(trketacomp,trknormcomp);
-	      //Vector3D<double> mynormal = side->normal();
-	      Vector3D<double> myphiax0 = side->phiAxis();
-	      Vector3D<double> myetaax0 = side->etaAxis();
-	      float trketacomp0 = (float)mytrack.dot(myetaax0);
-	      float trkphicomp0 = (float)mytrack.dot(myphiax0);
-	      *m_locPhiOldNotCor = (float)atan2(trkphicomp0,trknormcomp);
-	      *m_locThetaOldNotCor = (float)atan2(trketacomp0,trknormcomp);
-	      // For x-check. To be removed when uploading.End
-	      */
-	    }
-	  }
-	}
-	else{
-	  REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-	}
-      }
-    } // if measurement && rio && tp
-       
-    return StatusCode::SUCCESS;
-}
-
-void ClusterAssocPixelFillerTool::clearData(){
-
-    *m_clGlobX= -9999.;
-    *m_clGlobY= -9999.;
-    *m_clGlobZ= -9999.;
-    *m_clLocX= -9999.;
-    *m_clLocY= -9999.;
-    *m_locX= -9999.;
-    *m_locY= -9999.;
-    *m_err_locX= -9999.;
-    *m_err_locY= -9999.;
-    *m_cov_locXY= -9999.;
-    *m_x= -9999.;
-    *m_y= -9999.;
-    *m_z= -9999.;
-    *m_trkLocX= -9999.;
-    *m_trkLocY= -9999.;
-    *m_err_trkLocX= -9999.;
-    *m_err_trkLocY= -9999.;
-    *m_cov_trkLocXY= -9999.;
-    *m_isCompetingRIO= 0;
-    *m_sizePhi= 0.;
-    //*m_sideModule = -9999;
-    *m_locPhi= -9999.;
-    *m_locTheta= -9999.;
-    *m_tsosType= (int)Trk::TrackStateOnSurface::Unknown;
-
-    *m_id= 0; // unique identifier for a cluster
-    *m_detElementId= 0; // unique identifier for a detector element
-    *m_detType= Trk::TrackState::unidentified;
-    *m_bec= -9999.;
-    *m_layer= -1;
-
-}
-
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.h
deleted file mode 100644
index 7e206e81eb5..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ClusterAssocPixelFillerTool.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_CLUSTERASSOCPIXELFILLERTOOL_H
-#define INDETD3PDMAKER_CLUSTERASSOCPIXELFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#include "Identifier/Identifier.h"
-
-class AtlasDetectorID;
-class PixelID;
-class SCT_ID;
-class TRT_ID;
-
-namespace Trk{
-class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-class ClusterAssocPixelFillerTool
-  : public D3PD::BlockFillerTool<Trk::TrackStateOnSurface>
-{
-public:
-  typedef D3PD::BlockFillerTool<Trk::TrackStateOnSurface> Base;
-
-  ClusterAssocPixelFillerTool (const std::string& type,
-				 const std::string& name,
-				 const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::TrackStateOnSurface &p);
-
-private:
-
-  void clearData();
-
-  const AtlasDetectorID* m_idHelper;
-  const PixelID* m_pixelId;
-
-
-  float                 *m_clGlobX;
-  float                 *m_clGlobY;
-  float                 *m_clGlobZ;
-  float                 *m_clLocX;
-  float                 *m_clLocY;
-  float                 *m_locX;
-  float                 *m_locY;
-  float                 *m_err_locX;
-  float                 *m_err_locY;
-  float                 *m_cov_locXY;
-  float                 *m_x;
-  float                 *m_y;
-  float                 *m_z;
-  float                 *m_trkLocX;
-  float                 *m_trkLocY;
-  float                 *m_err_trkLocX;
-  float                 *m_err_trkLocY;
-  float                 *m_cov_trkLocXY;
-  int                   *m_isCompetingRIO;
-  int                   *m_sizePhi;
-  //int                   *m_sideModule;
-  float                 *m_locPhi;
-  float                 *m_locTheta;
-  int                   *m_tsosType;
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId; // unique identifier for a detector element
-  int *m_detType;
-  int *m_bec;
-  int *m_layer;
-
-
-}; // class ClusterAssocPixelFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_CLUSTERASSOCPIXELFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.cxx
deleted file mode 100644
index bd8043bb96f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.cxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/ErrorMatrixCovarianceFillerTool.cxx
- * @author scott snyder <snyder@bnl.gov>
- * @date Jun, 2012
- * @brief Fill covariance elements from ErrorMatrix.
- */
-
-
-#include "ErrorMatrixCovarianceFillerTool.h"
-//#include "TrkEventPrimitives/ErrorMatrix.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-ErrorMatrixCovarianceFillerTool::ErrorMatrixCovarianceFillerTool (const std::string& type,
-                                                        const std::string& name,
-                                                        const IInterface* parent)
-  : D3PD::BlockFillerTool<AmgSymMatrix(5)> (type, name, parent)
-{
-  declareProperty ("LocalType", m_localType = "CYLINDRICAL",
-                   "Type of local variables: "
-                   "CYLINDRICAL -- d0/z0; CARTESIAN -- locX/loxY; "
-                   "NONE -- not written.");
-  declareProperty ("FillThetaAndQoverP", m_fillThetaAndQoverP = true,
-                   "Should theta and qoverp be filled?");
-  declareProperty ("FillPhi", m_fillPhi=true,
-                   "Should the phi variable be filled?");
-  declareProperty ("DefaultValue", m_defaultValue = 0,
-                   "Default value to which to set unfilled variables.");
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode ErrorMatrixCovarianceFillerTool::book()
-{
-  std::vector<Trk::ParamDefs> varcodes;
-  std::vector<std::string> varnames;
-
-  if (m_localType == "CYLINDRICAL") {
-    varcodes.push_back (Trk::loc1);    varnames.push_back ("d0");
-    varcodes.push_back (Trk::loc2);    varnames.push_back ("z0");
-  }
-  else if (m_localType == "CARTESIAN") {
-    varcodes.push_back (Trk::loc1);    varnames.push_back ("locX");
-    varcodes.push_back (Trk::loc2);    varnames.push_back ("locY");
-  }
-
-  if (m_fillPhi) {
-    varcodes.push_back (Trk::phi0);    varnames.push_back ("phi");
-  }
-
-  if (m_fillThetaAndQoverP){
-    varcodes.push_back (Trk::theta);   varnames.push_back ("theta");
-    varcodes.push_back (Trk::qOverP);  varnames.push_back ("qoverp");
-  }
-
-  size_t n = varcodes.size();
-  m_vars.clear();
-  m_vars.resize (n * (n-1) / 2);
-
-  size_t ipos = 0;
-  for (size_t i = 0; i < n; i++) {
-    for (size_t j = i+1; j < n; j++) {
-      assert (ipos < m_vars.size());
-      std::string name = varnames[i] + "_" + varnames[j] + "_err";
-      CHECK( addVariable (name, m_vars[ipos].var,
-                          varnames[i] + " / " + varnames[j] + " covariance",
-                          m_defaultValue) );
-      m_vars[ipos].v1 = varcodes[i];
-      m_vars[ipos].v2 = varcodes[j];
-      ++ipos;
-    }
-  }
-  assert (ipos == m_vars.size());
-
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-  StatusCode ErrorMatrixCovarianceFillerTool::fill (const AmgSymMatrix(5) &p)
-{
-  for (size_t ipos = 0; ipos < m_vars.size(); ipos++) {
-    Var& v = m_vars[ipos];
-    *v.var = p(v.v1, v.v2);
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.h
deleted file mode 100644
index 6cb21641004..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixCovarianceFillerTool.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/ErrorMatrixCovarianceFillerTool.h
- * @author scott snyder <snyder@bnl.gov>
- * @date Jun, 2012
- * @brief Fill covariance elements from ErrorMatrix.
- */
-
-
-#ifndef INDETD3PDMAKER_ERRORMATRIXCOVARIANCEFILLERTOOL_H
-#define INDETD3PDMAKER_ERRORMATRIXCOVARIANCEFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "TrkEventPrimitives/ParamDefs.h"
-#include "EventPrimitives/EventPrimitives.h"
-#include <vector>
-
-
-
-namespace D3PD {
-
-
-/**
- * @brief Fill covariance elements from ErrorMatrix.
- */
-class ErrorMatrixCovarianceFillerTool
-  : public D3PD::BlockFillerTool<AmgSymMatrix(5)>
-{
-public:
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  ErrorMatrixCovarianceFillerTool (const std::string& type,
-                                   const std::string& name,
-                                   const IInterface* parent);
-
-  /**
-   * @brief Book variables for this block.
-   */
-  virtual StatusCode book();
-
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const AmgSymMatrix(5) &p);
-
-
-private:
-  /// Parameter: Type of local variables: 
-  /// CYLINDRICAL -- d0/z0; CARTESIAN -- locX/loxY; NONE -- not written.
-  std::string m_localType;
-
-  /// Parameter: Should theta and qoverp be filled?
-  bool m_fillThetaAndQoverP;
-
-  /// Parameter: Should the phi variable be filled?
-  bool m_fillPhi;
-
-  /// Parameter: Default value to which to set unfilled variables.
-  float m_defaultValue;
-
-
-  struct Var {
-    /// The D3PD variable being filled.
-    float* var;
-
-    /// First parameter code for this variable.
-    Trk::ParamDefs v1;
-
-    /// Second parameter code for this variable.
-    Trk::ParamDefs v2;
-
-    Var() : var(0), v1(Trk::d0), v2(Trk::z0) {}
-  };
-
-
-  /// Variables being filled.
-  std::vector<Var> m_vars;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_ERRORMATRIXCOVARIANCEFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.cxx
deleted file mode 100644
index 9534f3071b3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.cxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/ErrorMatrixErrorFillerTool.cxx
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Fill error elements from ErrorMatrix.
- */
-
-
-#include "ErrorMatrixErrorFillerTool.h"
-//#include "TrkEventPrimitives/ErrorMatrix.h"
-#include "AthenaKernel/errorcheck.h"
-#include "EventPrimitives/EventPrimitivesHelpers.h"
-#include "TrkEventPrimitives/ParamDefs.h"
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-ErrorMatrixErrorFillerTool::ErrorMatrixErrorFillerTool (const std::string& type,
-                                                        const std::string& name,
-                                                        const IInterface* parent)
-  : D3PD::BlockFillerTool<AmgSymMatrix(5)> (type, name, parent)
-{
-  declareProperty ("LocalType", m_localType = "CYLINDRICAL",
-                   "Type of local variables: "
-                   "CYLINDRICAL -- d0/z0; CARTESIAN -- locX/loxY; "
-                   "NONE -- not written.");
-  declareProperty ("FillThetaAndQoverP", m_fillThetaAndQoverP = true,
-                   "Should theta and qoverp be filled?");
-  declareProperty ("FillPhi", m_fillPhi=true,
-                   "Should the phi variable be filled?");
-  declareProperty ("DefaultValue", m_defaultValue = 0,
-                   "Default value to which to set unfilled variables.");
-
-  book().ignore();  // Silence coverity warnings
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode ErrorMatrixErrorFillerTool::book()
-{
-  if (m_localType == "CYLINDRICAL") {
-    CHECK( addVariable ("d0_err", m_loc1_err,
-                        "Local transverse impact", m_defaultValue) );
-    CHECK( addVariable ("z0_err", m_loc2_err, 
-                        "Local longitudinal impact", m_defaultValue) );
-  }
-  else if (m_localType == "CARTESIAN") {
-    CHECK( addVariable ("locX_err", m_loc1_err,
-                        "Local x coordinate", m_defaultValue) );
-    CHECK( addVariable ("locY_err", m_loc2_err,
-                        "Local y coordinate", m_defaultValue) );
-  }
-  else {
-    m_loc1_err = 0;
-    m_loc2_err = 0;
-  }
-
-  if (m_fillPhi)
-    CHECK( addVariable ("phi_err", m_phi_err,
-                        "Azimuthal angle", m_defaultValue) );
-
-  if(m_fillThetaAndQoverP){
-    CHECK( addVariable ("theta_err", m_theta_err,
-                        "Polar angle", m_defaultValue) );
-    CHECK( addVariable ("qoverp_err", m_qoverp_err,
-                        "Charge over momentum", m_defaultValue) );
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-  StatusCode ErrorMatrixErrorFillerTool::fill (const AmgSymMatrix(5) &p)
-{
-  // Either d0/z0 or locX/locY
-  if (m_loc1_err) {
-    *m_loc1_err = Amg::error(p,Trk::loc1);
-    *m_loc2_err = Amg::error(p,Trk::loc2);
-  }
-
-  if (m_fillPhi)
-    *m_phi_err = Amg::error(p,Trk::phi0);
-
-  if(m_fillThetaAndQoverP){
-    *m_theta_err  = Amg::error(p,Trk::theta);
-    *m_qoverp_err = Amg::error(p,Trk::qOverP);
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.h
deleted file mode 100644
index 0e0b56d832f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/ErrorMatrixErrorFillerTool.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/ErrorMatrixErrorFillerTool.h
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Fill error elements from ErrorMatrix.
- */
-
-
-#ifndef INDETD3PDMAKER_ERRORMATRIXERRORFILLERTOOL_H
-#define INDETD3PDMAKER_ERRORMATRIXERRORFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "EventPrimitives/EventPrimitives.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Fill error elements from ErrorMatrix.
- */
-class ErrorMatrixErrorFillerTool
-  : public D3PD::BlockFillerTool<AmgSymMatrix(5)>
-{
-public:
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  ErrorMatrixErrorFillerTool (const std::string& type,
-                              const std::string& name,
-                              const IInterface* parent);
-
-  /**
-   * @brief Book variables for this block.
-   */
-  virtual StatusCode book();
-
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const AmgSymMatrix(5) &p);
-
-
-private:
-  /// Parameter: Type of local variables: 
-  /// CYLINDRICAL -- d0/z0; CARTESIAN -- locX/loxY; NONE -- not written.
-  std::string m_localType;
-
-  /// Parameter: Should theta and qoverp be filled?
-  bool m_fillThetaAndQoverP;
-
-  /// Parameter: Should the phi variable be filled?
-  bool m_fillPhi;
-
-  /// Parameter: Default value to which to set unfilled variables.
-  float m_defaultValue;
-
-
-  /// Variable: First local variable.
-  float* m_loc1_err;
-
-  /// Variable: Second local variable.
-  float* m_loc2_err;
-
-  /// Variable: aximuthal angle.
-  float* m_phi_err;
-
-  /// Variable: polar angle.
-  float* m_theta_err;
-
-  /// Variable: Charge over momentum.
-  float* m_qoverp_err;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_ERRORMATRIXERRORFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.cxx
deleted file mode 100644
index 7acda9cb157..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.cxx
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "InDetTSOSAssociationHelper.h"
-
-#include "TrkTrack/Track.h"
-#include <Particle/TrackParticle.h>
-#include <TrkTrack/TrackStateOnSurface.h>
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "InDetIdentifier/PixelID.h"
-
-namespace D3PD {
-
-
-InDetTSOSAssociationHelper::InDetTSOSAssociationHelper()//:
-  //  m_idHoleSearch("InDet::InDetTrackHoleSearchTool")// ,
-  //   m_doHolesInDet(false)
-  : m_idHelper(0),
-    m_pixelId(0)
-{
-  m_getTypes["GetBLayerMeasurements"] = false;
-  m_getTypes["GetPixelMeasurements"] = false;
-  m_getTypes["GetSCTMeasurements"] = false;
-  m_getTypes["GetTRTMeasurements"] = false;
-  m_getTypes["GetMDTMeasurements"] = false;
-  m_getTypes["GetCSCMeasurements"] = false;
-  m_getTypes["GetRPCMeasurements"] = false;
-  m_getTypes["GetTGCMeasurements"] = false;
-  m_getTypes["GetBLayerOutliers"] = false;
-  m_getTypes["GetPixelOutliers"] = false;
-  m_getTypes["GetSCTOutliers"] = false;
-  m_getTypes["GetTRTOutliers"] = false;
-  m_getTypes["GetMDTOutliers"] = false;
-  m_getTypes["GetCSCOutliers"] = false;
-  m_getTypes["GetRPCOutliers"] = false;
-  m_getTypes["GetTGCOutliers"] = false;
-  m_getTypes["GetBLayerHoles"] = false;
-  m_getTypes["GetPixelHoles"] = false;
-  m_getTypes["GetSCTHoles"] = false;
-  m_getTypes["GetTRTHoles"] = false;
-  m_getTypes["GetMDTHoles"] = false;
-  m_getTypes["GetCSCHoles"] = false;
-  m_getTypes["GetRPCHoles"] = false;
-  m_getTypes["GetTGCHoles"] = false;
-}
-
-InDetTSOSAssociationHelper::~InDetTSOSAssociationHelper(){
-
-}
-
-StatusCode InDetTSOSAssociationHelper::doReset (const Trk::Track& p)
-{
-
-  const Trk::Track *track = &p;
-
-  const DataVector<const Trk::TrackStateOnSurface> *TSOs = 0;
-
-  //   static const Trk::Track *newTrack = 0;
-  //   if(m_doHolesInDet){
-  //     if(newTrack) delete newTrack;
-  //     newTrack = m_idHoleSearch->getTrackWithHoles(*track, track->info().particleHypothesis());
-  //     TSOs = newTrack->trackStateOnSurfaces();
-  //   }else{
-  TSOs = track->trackStateOnSurfaces();
-  //   }
-
-  if(!TSOs){
-    m_TSOItr = m_TSOEnd;
-    REPORT_MESSAGE (MSG::WARNING) << "Could not access track state on surfaces";
-    return StatusCode::SUCCESS;
-  }
-
-  m_TSOItr = TSOs->begin();
-  m_TSOEnd = TSOs->end();
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode InDetTSOSAssociationHelper::doReset (const Rec::TrackParticle& p)
-{
-
-  const Trk::Track *track = p.originalTrack();
-  if(!track){
-    m_TSOItr = m_TSOEnd;
-    //REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-    return StatusCode::SUCCESS;
-  }
-
-  const DataVector<const Trk::TrackStateOnSurface> *TSOs = 0;
-
-  //   static const Trk::Track *newTrack = 0;
-  //   if(m_doHolesInDet){
-  //     if(newTrack) delete newTrack;
-  //     newTrack = m_idHoleSearch->getTrackWithHoles(*track, track->info().particleHypothesis());
-  //     TSOs = newTrack->trackStateOnSurfaces();
-  //   }else{
-  TSOs = track->trackStateOnSurfaces();
-  //   }
-
-  if(!TSOs){
-    m_TSOItr = m_TSOEnd;
-    REPORT_MESSAGE (MSG::WARNING) << "Could not access track state on surfaces";
-    return StatusCode::SUCCESS;
-  }
-
-  m_TSOItr = TSOs->begin();
-  m_TSOEnd = TSOs->end();
-
-  return StatusCode::SUCCESS;
-}
-
-const Trk::TrackStateOnSurface* InDetTSOSAssociationHelper::getNext(){
-
-  // reached the end
-  if(m_TSOItr == m_TSOEnd) return 0;
-
-  const Trk::TrackStateOnSurface *TSO = (*m_TSOItr);
-  m_TSOItr++;
-
-  int detType = getDetectorType(TSO);
-
-  const Trk::TrackStateOnSurface *ret = 0;
-
-  if(TSO->types()[Trk::TrackStateOnSurface::Measurement]){
-    if(Trk::TrackState::Pixel==detType){
-      if(m_getTypes["GetPixelMeasurements"]){
-        ret = TSO;
-      }
-      if(m_getTypes["GetBLayerMeasurements"] && isBLayer(TSO)){
-        ret = TSO;
-      }
-    }
-    if(Trk::TrackState::SCT==detType && m_getTypes["GetSCTMeasurements"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::TRT==detType && m_getTypes["GetTRTMeasurements"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::MDT==detType && m_getTypes["GetMDTMeasurements"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::CSC==detType && m_getTypes["GetCSCMeasurements"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::RPC==detType && m_getTypes["GetRPCMeasurements"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::TGC==detType && m_getTypes["GetTGCMeasurements"]){
-      ret = TSO;
-    }
-  }else if(TSO->types()[Trk::TrackStateOnSurface::Outlier]){
-    if(Trk::TrackState::Pixel==detType){
-      if(m_getTypes["GetPixelOutliers"]){
-        ret = TSO;
-      }
-      if(m_getTypes["GetBLayerOutliers"] && isBLayer(TSO)){
-        ret = TSO;
-      }
-    }
-    if(Trk::TrackState::SCT==detType && m_getTypes["GetSCTOutliers"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::TRT==detType && m_getTypes["GetTRTOutliers"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::MDT==detType && m_getTypes["GetMDTOutliers"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::CSC==detType && m_getTypes["GetCSCOutliers"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::RPC==detType && m_getTypes["GetRPCOutliers"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::TGC==detType && m_getTypes["GetTGCOutliers"]){
-      ret = TSO;
-    }
-  }else if(TSO->types()[Trk::TrackStateOnSurface::Hole]){
-    if(Trk::TrackState::Pixel==detType && m_getTypes["GetPixelHoles"]){
-      if(m_getTypes["GetPixelHoles"]){
-	ret = TSO;
-      }
-      if(m_getTypes["GetBLayerHoles"] && isBLayer(TSO)){
-	ret = TSO;
-      }
-    }
-    if(Trk::TrackState::SCT==detType && m_getTypes["GetSCTHoles"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::TRT==detType && m_getTypes["GetTRTHoles"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::MDT==detType && m_getTypes["GetMDTHoles"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::CSC==detType && m_getTypes["GetCSCHoles"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::RPC==detType && m_getTypes["GetRPCHoles"]){
-      ret = TSO;
-    }
-    if(Trk::TrackState::TGC==detType && m_getTypes["GetTGCHoles"]){
-      ret = TSO;
-    }
-  }
-
-  if(!ret) ret = getNext();
-
-  return ret;
-}
-
-int InDetTSOSAssociationHelper::getDetectorType(const Trk::TrackStateOnSurface *TSO){
-
-  int detType = Trk::TrackState::unidentified;
-
-  if( TSO->types()[Trk::TrackStateOnSurface::Measurement] ||
-      TSO->types()[Trk::TrackStateOnSurface::Outlier] ||
-      TSO->types()[Trk::TrackStateOnSurface::Hole] ){
-
-    const Trk::Surface& surface = TSO->surface();
-    const Trk::TrkDetElementBase* detElement = surface.associatedDetectorElement();
-
-    if(detElement){
-      Identifier Id = detElement->identify();
-
-      if (m_idHelper->is_pixel(Id) ) {
-        detType = Trk::TrackState::Pixel;
-      }else if (m_idHelper->is_sct(Id)) {
-        detType = Trk::TrackState::SCT;
-      }else if (m_idHelper->is_trt(Id)) {
-        detType = Trk::TrackState::TRT;
-      }  else if (m_idHelper->is_mdt(Id)) {
-        detType = Trk::TrackState::MDT;
-      }  else if (m_idHelper->is_csc(Id)) {
-        detType = Trk::TrackState::CSC;
-      }  else if (m_idHelper->is_rpc(Id)) {
-        detType = Trk::TrackState::RPC;
-      }  else if (m_idHelper->is_tgc(Id)) {
-        detType = Trk::TrackState::TGC;
-      }
-    }
-  }
-
-  return detType;
-}
-
-bool InDetTSOSAssociationHelper::isBLayer(const Trk::TrackStateOnSurface *TSO){
-
-  if( TSO->types()[Trk::TrackStateOnSurface::Measurement] ||
-      TSO->types()[Trk::TrackStateOnSurface::Outlier] ||
-      TSO->types()[Trk::TrackStateOnSurface::Hole] ){
-
-    const Trk::Surface& surface = TSO->surface();
-
-
-    const Trk::TrkDetElementBase* detElement = surface.associatedDetectorElement();
-
-    if(detElement){
-
-      Identifier Id = detElement->identify();
-
-      if(m_idHelper->is_pixel(Id)){
-
-        if(m_pixelId->is_blayer(Id)){
-          return true;
-        }
-      }
-    }
-  }
-
-  return false;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.h
deleted file mode 100644
index 2811b785c22..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/InDetTSOSAssociationHelper.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_TSOSASSOCIATIONHELPER_H
-#define INDETD3PDMAKER_TSOSASSOCIATIONHELPER_H
-
-//#include "GaudiKernel/ToolHandle.h"
-//#include "TrkToolInterfaces/ITrackHoleSearchTool.h"
-#include "AthContainers/DataVector.h"
-
-#include <vector>
-#include <map>
-#include <string>
-
-class AtlasDetectorID;
-class PixelID;
-
-namespace Rec{
-class TrackParticle;
-}
-
-namespace Trk{
-  class Track;
-  class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-
-class InDetTSOSAssociationHelper {
- public:
-  InDetTSOSAssociationHelper();
-  virtual ~InDetTSOSAssociationHelper();
-
-  StatusCode doReset (const Rec::TrackParticle& p);
-  StatusCode doReset (const Trk::Track& p);
-  const Trk::TrackStateOnSurface* getNext();
-
-protected:
-
-  int getDetectorType(const Trk::TrackStateOnSurface *TSO);
-  bool isBLayer(const Trk::TrackStateOnSurface *TSO);
-
-  /* Hole search tool **/
-  /*   ToolHandle<Trk::ITrackHoleSearchTool> m_idHoleSearch; */
-  /*   bool m_doHolesInDet; */
-
-  const AtlasDetectorID* m_idHelper;
-  const PixelID* m_pixelId;
-
-  std::map<std::string, bool> m_getTypes;
-
-  DataVector<const Trk::TrackStateOnSurface>::const_iterator m_TSOItr;
-  DataVector<const Trk::TrackStateOnSurface>::const_iterator m_TSOEnd;
-};
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TSOSASSOCIATIONHELPER_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.cxx
deleted file mode 100644
index 9420cbb0159..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.cxx
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelClusterCollectionGetterTool.h"
-
-#include "InDetPrepRawData/PixelCluster.h"
-#include "Identifier/Identifier.h"
-#include "InDetIdentifier/PixelID.h"
-
-namespace D3PD {
-
-PixelClusterCollectionGetterTool::PixelClusterCollectionGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_pixelId(0)
-{
-  declareProperty("BLayerOnly", m_BLayerOnly = false);
-}
-
-StatusCode PixelClusterCollectionGetterTool::initialize()
-{
-  CHECK( Base::initialize() );
-
-  CHECK( detStore()->retrieve(m_pixelId,"PixelID") );
-
-  return StatusCode::SUCCESS;
-}
-
-const std::type_info& PixelClusterCollectionGetterTool::typeinfo() const
-{
-  return typeid(InDet::PixelClusterContainer);
-}
-
-
-const std::type_info& PixelClusterCollectionGetterTool::elementTypeinfo() const
-{
-  return typeid(InDet::PixelCluster);
-}
-
-size_t PixelClusterCollectionGetterTool::sizeHint(bool allowMissing)
-{
-  const InDet::PixelClusterContainer* cont = (InDet::PixelClusterContainer*)getUntyped(allowMissing);
-
-  if (!cont) {
-    return 0;
-  }
-  int nclus = 0;
-
-  // Loop over the container
-  InDet::PixelClusterContainer::const_iterator itr = cont->begin();
-  InDet::PixelClusterContainer::const_iterator itr_end = cont->end();
-  for( ; itr!=itr_end; ++itr ){
-
-    // Loop over the collection
-    InDet::PixelClusterCollection::const_iterator itr_col = (*itr)->begin();
-    InDet::PixelClusterCollection::const_iterator itr_col_end = (*itr)->end();
-    for( ; itr_col!=itr_col_end; ++itr_col ){
-      nclus++;
-    }
-  }
-
-  return nclus;
-}
-
-StatusCode PixelClusterCollectionGetterTool::reset(bool allowMissing)
-{
-
-  const InDet::PixelClusterContainer* cont = (InDet::PixelClusterContainer*)getUntyped(allowMissing);
- 
-  if (!cont) {
-    m_contItr = m_contEnd;
-    m_collItr = m_collEnd;
-    return StatusCode::FAILURE;
-  }
-
-  m_contItr = cont->begin();
-  m_contEnd = cont->end();
-
-  if(m_contItr == m_contEnd){
-    m_collItr = m_collEnd;
-    return StatusCode::SUCCESS;
-  }
-
-  m_collItr = (*m_contItr)->begin();
-  m_collEnd = (*m_contItr)->end();
-
-  return StatusCode::SUCCESS;
-}
-
-const void* PixelClusterCollectionGetterTool::nextUntyped()
-{
-  if(m_collItr == m_collEnd){
-    if(m_contItr == m_contEnd){
-      return 0;
-    }
-    m_contItr++;
-    if(m_contItr == m_contEnd){
-      return 0;
-    }
-    m_collItr = (*m_contItr)->begin();
-    m_collEnd = (*m_contItr)->end();
-    if(m_collItr == m_collEnd){
-      return 0;
-    }
-  }
-
-  const InDet::PixelCluster *clus = *m_collItr;
-
-  m_collItr++;
-
-  if(m_BLayerOnly){
-    if(clus){
-      if(!isBLayer(clus)){
-	clus = (const InDet::PixelCluster *)nextUntyped();
-      }
-    }
-  }
-
-  return clus;
-}
-
-bool PixelClusterCollectionGetterTool::isBLayer(const InDet::PixelCluster *clus){
-
-  Identifier id = clus->identify();
-
-  if ( id.is_valid() ) {
-    if( m_pixelId->is_blayer(id) ) {
-      return true;
-    }
-  }
-
-  return false;
-}
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<InDet::PixelClusterContainer>::elementTypeinfo() const
-{
-  return typeid(InDet::PixelCluster);
-}
-
-template<>
-const void*
-CollectionGetterTool<InDet::PixelClusterContainer>::nextUntyped()
-{
-  return 0;
-}
-
-}
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.h
deleted file mode 100644
index 4883abc45c2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterCollectionGetterTool.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_PIXELCLUSTERCOLLECTIONGETTERTOOL_H
-#define INDETD3PDMAKER_PIXELCLUSTERCOLLECTIONGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h" 
-#include "InDetPrepRawData/PixelClusterContainer.h" 
-#include "InDetPrepRawData/PixelClusterCollection.h"
-
-namespace InDet {
-  class PixelCluster;
-}
-class PixelID;
-
-namespace D3PD { 
-
-class PixelClusterCollectionGetterTool 
-  : public SGCollectionGetterTool<InDet::PixelClusterContainer>
-{ 
- public: 
-  typedef SGCollectionGetterTool<InDet::PixelClusterContainer> Base; 
-  PixelClusterCollectionGetterTool (const std::string& type, 
-				    const std::string& name, 
-				    const IInterface* parent); 
-
-  StatusCode initialize(); 
-  size_t sizeHint(bool=false); 
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-  const std::type_info& typeinfo() const;
-  const std::type_info& elementTypeinfo() const;
-
- private:
-
-  bool isBLayer(const InDet::PixelCluster *clus);
-
-  InDet::PixelClusterContainer::const_iterator m_contItr; 
-  InDet::PixelClusterContainer::const_iterator m_contEnd; 
-  
-  InDet::PixelClusterCollection::const_iterator m_collItr; 
-  InDet::PixelClusterCollection::const_iterator m_collEnd; 
-
-  bool m_BLayerOnly;
-  const PixelID* m_pixelId; 
-
-}; 
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<InDet::PixelClusterContainer>::elementTypeinfo() const;
-
-template<>
-const void*
-CollectionGetterTool<InDet::PixelClusterContainer>::nextUntyped();
-
-} 
-
-#endif // INDETD3PDMAKER_PIXELCLUSTERCOLLECTIONGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.cxx
deleted file mode 100644
index 240c24655fd..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.cxx
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelClusterFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "InDetReadoutGeometry/SiDetectorElement.h"
-#include "InDetIdentifier/PixelID.h"
-#include "InDetPrepRawData/PixelCluster.h"
-//#include "TrkEventPrimitives/ErrorMatrix.h"
-
-namespace D3PD {
-
-
-PixelClusterFillerTool::PixelClusterFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<InDet::PixelCluster> (type, name, parent),
-    m_pixId(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode PixelClusterFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  if (detStore()->retrieve(m_pixId,"PixelID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve pixel ID helper";
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode PixelClusterFillerTool::book(){
-
-  CHECK( addVariable ("id", m_id) );
-  CHECK( addVariable ("bec", m_bec) );
-  CHECK( addVariable ("layer", m_layer) );
-  CHECK( addVariable ("detElementId", m_detElementId) );
-  CHECK( addVariable ("phi_module", m_phi_module) );
-  CHECK( addVariable ("eta_module", m_eta_module) );
-  CHECK( addVariable ("col", m_col) );
-  CHECK( addVariable ("row", m_row) );
-  CHECK( addVariable ("charge", m_charge) );
-  CHECK( addVariable ("ToT", m_ToT) );
-  CHECK( addVariable ("LVL1A", m_LVL1A) );
-  CHECK( addVariable ("sizePhi", m_sizePhi) );
-  CHECK( addVariable ("sizeZ", m_sizeZ) );
-  CHECK( addVariable ("size", m_size) );
-  CHECK( addVariable ("locX", m_locX) );
-  CHECK( addVariable ("locY", m_locY) );
-  CHECK( addVariable ("x", m_x) );
-  CHECK( addVariable ("y", m_y) );
-  CHECK( addVariable ("z", m_z) );
-  CHECK( addVariable ("isFake", m_isFake) );
-  CHECK( addVariable ("isGanged", m_isGanged) );
-  CHECK( addVariable ("isSplit", m_isSplit) );
-  CHECK( addVariable ("splitProb1", m_splitProb1) );
-  CHECK( addVariable ("splitProb2", m_splitProb2) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode PixelClusterFillerTool::fill (const InDet::PixelCluster& clus)
-{
-
-  this->clearData();
-
-  Identifier id = clus.identify();
-
-  if ( id.is_valid() ) {
-    *m_id = id.get_compact();
-    *m_bec = (int)m_pixId->barrel_ec(id);
-    *m_layer = (int)m_pixId->layer_disk(id);
-    *m_phi_module = (char)m_pixId->phi_module(id);
-    *m_eta_module = (char)m_pixId->eta_module(id);
-    *m_col = (short)m_pixId->eta_index(id);
-    *m_row = (short)m_pixId->phi_index(id);
-  }
-
-  const InDetDD::SiDetectorElement* de = clus.detectorElement();
-  if(de){
-    Identifier detId = de->identify();
-    if ( detId.is_valid() ) {
-      *m_detElementId = detId.get_compact();
-    }
-  }
-
-  *m_LVL1A = (short)clus.LVL1A();
-  *m_charge = clus.totalCharge();
-  *m_ToT = clus.totalToT();
-
-  const InDet::SiWidth cw = clus.width();
-  *m_sizePhi = (int)cw.colRow()[0];
-  *m_sizeZ = (int)cw.colRow()[1];
-  *m_size = (int)clus.rdoList().size();
-
-  const Amg::Vector2D& locpos = clus.localPosition();
-  *m_locX = locpos[Trk::locX];
-  *m_locY = locpos[Trk::locY];
-
-  const Amg::Vector3D& glopos = clus.globalPosition();
-  *m_x = glopos[Trk::x];
-  *m_y = glopos[Trk::y];
-  *m_z = glopos[Trk::z];
-
-  *m_isFake = (char)clus.isFake();
-  *m_isGanged = (char)clus.gangedPixel();
-  *m_isSplit = (int)clus.isSplit();
-  *m_splitProb1= clus.splitProbability1();
-  *m_splitProb2 = clus.splitProbability2();
-
-  return StatusCode::SUCCESS;
-}
-
-void PixelClusterFillerTool::clearData(){
-
-  *m_id = 0;
-  *m_detElementId = 0;
-  *m_bec = -1;
-  *m_layer = -1;
-  *m_phi_module = 0;
-  *m_eta_module = 0;
-  *m_col = 0;
-  *m_row = 0;
-  *m_charge = 0;
-  *m_ToT = -99999.;
-  *m_LVL1A = -1;
-  *m_sizePhi = 0;
-  *m_sizeZ = 0;
-  *m_size = 0;
-  *m_locX = -99999.;
-  *m_locY = -99999.;
-  *m_x = -99999.;
-  *m_y = -99999.;
-  *m_z = -99999.;
-  *m_isFake = 0;
-  *m_isGanged = 0;
-  *m_isSplit = 0;
-  *m_splitProb1 = 0.;
-  *m_splitProb2 = 0.;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.h
deleted file mode 100644
index 75a1b0e232b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterFillerTool.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_PIXELCLUSTERFILLERTOOL_H
-#define INDETD3PDMAKER_PIXELCLUSTERFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#include "Identifier/Identifier.h"
-
-class PixelID;
-
-namespace InDet {
-  class PixelCluster;
-}
-
-namespace D3PD {
-
-class PixelClusterFillerTool
-  : public D3PD::BlockFillerTool<InDet::PixelCluster>
-{
-public:
-  typedef D3PD::BlockFillerTool<InDet::PixelCluster> Base;
-
-  PixelClusterFillerTool (const std::string& type,
-			  const std::string& name,
-			  const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const InDet::PixelCluster &clus);
-
-private:
-
-  void clearData();
-
-  const PixelID* m_pixId; 
-
-  /* NTuple variables: **/
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId;
-  char *m_bec; // Barrel:0, End Cap: +/- 2
-  char *m_layer;
-  char *m_phi_module;
-  char *m_eta_module;
-  short *m_col;
-  short *m_row;
-  float *m_charge;
-  int *m_ToT;
-  short *m_LVL1A;
-  int *m_sizePhi;
-  int *m_sizeZ;
-  int *m_size;
-  float *m_locX;
-  float *m_locY;
-  float *m_x;
-  float *m_y;
-  float *m_z;
-  char *m_isFake;
-  char *m_isGanged;
-  int   *m_isSplit; // defined for Pixel only
-  float *m_splitProb1; // defined for Pixel only
-  float *m_splitProb2; // defined for Pixel only
-}; // class PixelClusterFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_PIXELCLUSTERFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.cxx
deleted file mode 100644
index 363c72eaccb..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.cxx
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-//********************************************************/
-// @author <yuriy.pylypchenko@cern.ch>                    /
-// @date Oct, 2010                                        /
-// @brief setting up an association of clusters to tracks /
-//       represented by indices.                          /
-//********************************************************/
- 
- 
-#include "PixelClusterPixelRDOAssociationTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "InDetIdentifier/PixelID.h"
-#include "xAODEventInfo/EventInfo.h"
-
-
-namespace D3PD {
-
-
-PixelClusterPixelRDOAssociationTool::PixelClusterPixelRDOAssociationTool (const std::string& type,
-								const std::string& name,
-								const IInterface* parent)
-  : PixelClusterPixelRDOBase(type, name, parent),
-    m_pixelId(0),
-    m_eventNumber(0),
-    m_rdocont(0)
-{
-}
- 
-
-/// initialize method.
-StatusCode PixelClusterPixelRDOAssociationTool::initialize()
-{
- 
-  //return  PixelClusterPixelRDOBase::initialize();
-  CHECK ( PixelClusterPixelRDOBase::initialize() );
-  if (detStore()->retrieve(m_pixelId,"PixelID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve Pixel ID helper";
-    return StatusCode::FAILURE;
-  }
-
-  m_eventNumber = -1;
-
-  return StatusCode::SUCCESS;
-}
-/// booking btuple variables
-StatusCode PixelClusterPixelRDOAssociationTool::book()
-{
- 
-  CHECK( PixelClusterPixelRDOBase::book() );
-  
-  return StatusCode::SUCCESS;
-}
-StatusCode PixelClusterPixelRDOAssociationTool::invalidate(StatusCode sc){
-
-  m_rdoItr = m_rdoEnd;
-  return sc;
-}
-
-///
-/// @brief Start the iteration for a new association.
-/// @param p The object from which to associate.
-///
-StatusCode PixelClusterPixelRDOAssociationTool::reset (const  InDet::PixelCluster& p)
-{
-
-  m_pixelRDOForAssociation.clear();
-
- 
-  int clusterModuleID = 0; 
-  StatusCode sc = tempmoduleid(p.identify(), clusterModuleID);
-  if ( sc.isFailure() ) REPORT_MESSAGE (MSG::ERROR)<< "Failed to calculate the tempID.";
-
-  std::vector< Identifier> pixelClusterIdentifier; 
-
-  const std::vector<Identifier>& rdoList = p.rdoList();
-  pixelClusterIdentifier.insert(pixelClusterIdentifier.end(),rdoList.begin(),rdoList.end());
-
-
-  const xAOD::EventInfo* eventInfo;
-  sc = evtStore()->retrieve(eventInfo);
-  if (sc.isFailure())
-    {
-      REPORT_MESSAGE  (MSG::ERROR) << "Could not retrieve event info";
-      return StatusCode::FAILURE;
-    }
-  int eventNumber = (int)eventInfo->eventNumber();
-
-  if (m_eventNumber != eventNumber ){
-    // For each event
-
-    m_globalmapOfRDOsPerModule.clear();
-    m_eventNumber = eventNumber;
-
-    if(!evtStore()->contains<PixelRDO_Container>("PixelRDOs")){
-      REPORT_MESSAGE (MSG::WARNING) << "RDOTESTASSOC: No Pixel RDO container in StoreGate";
-    }
-    else {
-      sc =  evtStore()->retrieve(m_rdocont,"PixelRDOs");
-      if(sc.isFailure()) {
-	REPORT_MESSAGE (MSG::WARNING) << "Failed to retrieve Pixel RDO container";
-      }
-    }
-    
-    if ( m_rdocont != 0){
-
-    // get all the RIO_Collections in the container
-    PixelRDO_Container::const_iterator contIt = m_rdocont->begin();
-       for( ; contIt != m_rdocont->end(); contIt++){
- 
-	 //get all the RDOs in the collection
-	 //const PixelRDO_Collection* Pixel_Collection(*contIt);
-         PixelRDO_Collection::const_iterator rdoIt = (*contIt)->begin();
-         for (; rdoIt != (*contIt)->end(); rdoIt++) {
-
-           if (!(*rdoIt)) {
-             REPORT_MESSAGE (MSG::WARNING) << "Null rdo....";
-             continue;
-           }
-
-	   Identifier rdoId = (*rdoIt)->identify();
-
-	   int rdoModuleID = 0; 
-	   StatusCode sc2 = tempmoduleid (rdoId, rdoModuleID);
-           if ( sc2.isFailure() ) REPORT_MESSAGE (MSG::WARNING)<<" Failed to calculate RDO tempID!";
-
-	   std::map< Identifier, const PixelRDORawData* > tempmap;
-           tempmap.insert( std::pair< Identifier, const PixelRDORawData*>( rdoId, (*rdoIt) ) );
-
-	   if ( m_globalmapOfRDOsPerModule.find(rdoModuleID) == m_globalmapOfRDOsPerModule.end() )
-	     m_globalmapOfRDOsPerModule.insert( std::pair< int, std::map< Identifier, const PixelRDORawData*> >( rdoModuleID, tempmap ));
-	   else {
-	     if  ( m_globalmapOfRDOsPerModule[rdoModuleID].find(rdoId) == m_globalmapOfRDOsPerModule[rdoModuleID].end() )
-	       m_globalmapOfRDOsPerModule[rdoModuleID].insert(std::pair<Identifier, const PixelRDORawData*>(rdoId,(*rdoIt)));
-	     else REPORT_MESSAGE (MSG::WARNING) << " More then one RDO per identifier!";
-	   }
-	   
-	 } // collection
-       } // container
-    }
-  //for each event
-  }
-  //For each cluster
-    std::map< Identifier, const PixelRDORawData*>::iterator mIt2 = m_globalmapOfRDOsPerModule[clusterModuleID].begin();
-    for( ; mIt2!=m_globalmapOfRDOsPerModule[clusterModuleID].end(); mIt2++){
-      Identifier rdoIdentity = mIt2->first;
-      std::vector<Identifier>::iterator posIt =   find(pixelClusterIdentifier.begin(),pixelClusterIdentifier.end(),rdoIdentity);
-      if ( posIt != pixelClusterIdentifier.end() ){
-	m_pixelRDOForAssociation.push_back(mIt2->second);
-      }
-    }
-    // end of global map loop 
-
-
-  m_rdoItr = m_pixelRDOForAssociation.begin(); //pixel::vector<cont InDet::PixelCluster>::const_iterator 
-  m_rdoEnd = m_pixelRDOForAssociation.end(); 
-
-
-  return StatusCode::SUCCESS;
-}
-
-/**
-* @brief Return a pointer to the next element in the association.
-*
-* Return 0 when the association has been exhausted.
-*/
-const PixelRDORawData* PixelClusterPixelRDOAssociationTool::next()
-  {
-
-    // reached the end
-    if(m_rdoItr==m_rdoEnd){
-      return 0;
-    }
-    else{
-    }
-
-    const PixelRDORawData* RawData = *m_rdoItr;
-       
-    m_rdoItr++; // to go throuhg all the HitsOnTrack
-
-    return RawData;
-
-  }
-
-  StatusCode PixelClusterPixelRDOAssociationTool::tempmoduleid( Identifier id, int& intbuf ){
-
-    int bec = (int)m_pixelId->barrel_ec(id);
-    int bec1 = bec;
-    int layer = (int)m_pixelId->layer_disk(id);
-    int phi_module = (char)m_pixelId->phi_module(id);
-    int eta_module = (char)m_pixelId->eta_module(id);
-    int eta_module1 = eta_module; 
-    //int side = (int)m_pixelId->side(id);
-    int firstPrefix = 1;
-    if ( bec != 0 ){ 
-      firstPrefix = 2;
-	if ( bec < 0 ) bec1 = bec*(-1); 
-    }
-    int secondPrefix = 2; 
-    if ( eta_module < 0 ){
-      secondPrefix = 1; 
-      eta_module1 = eta_module*(-1);
-    }
-
-    char buf[1024];
-    intbuf = 0;
-    //sprintf(buf,"%i%i%i%i%i%i%i",firstPrefix,secondPrefix,side,bec1,layer,eta_module1,phi_module);
-    sprintf(buf,"%i%i%i%i%i%i",firstPrefix,secondPrefix,bec1,layer,eta_module1,phi_module);
-    if(!(from_strings<int>(intbuf, std::string(buf), std::dec))){
-      //if ( EOF == sscanf(buf, "%i", &intbuf) ){
-      REPORT_MESSAGE (MSG::ERROR) <<" Cannot convert string to int...";
-      return StatusCode::FAILURE;
-    }
-
-    return StatusCode::SUCCESS;
-  }
-
- } // namespace D3PD
-  
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.h
deleted file mode 100644
index eabb4545507..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterPixelRDOAssociationTool.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-* @date Oct, 2010
-* @brief setting up an association of pixel clusters to RDOs
-*        represented by indices. 
-*/
-#ifndef PIXELCLUSTERPIXELRDOASSOCIATIONTOOL_H
-#define PIXELCLUSTERPIXELRDOASSOCIATIONTOOL_H
- 
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-#include <map>
-
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include "InDetRawData/InDetRawDataContainer.h"
-#include "InDetRawData/InDetRawDataCollection.h"
-#include "InDetRawData/PixelRDO_Container.h"
-#include "InDetRawData/PixelRDO_Collection.h"
-#include "InDetRawData/PixelRDORawData.h"
-#include "InDetRawData/PixelRDO_Collection.h" // Needed to pick up CLID.
-#include <stdio.h>
-#include <iostream>
-#include <string>
-
-
-class PixelID;
-
-namespace InDet {
-  class PixelCluster;
-  class SiCluster;
-}
-
- 
-namespace D3PD {
- 
- 
-  template <class T>
-    bool from_strings(T& t, const std::string& s, std::ios_base& (*f)(std::ios_base&))
-    {
-      std::istringstream iss(s);
-      return !(iss >> f >> t).fail();
-    }
-
-
-  ///
-  ///@brief Associate all clusters which belong to given track.
-  ///
-  /// This is a multiple association tool.
-  /// Given an @c InDet::PixelCluster object and a container of such objects,
-  /// return the all objects in the container wich identified with TrackStateOnSurface 
-  /// (Measurements) of the input track.
-  ///
-
-typedef D3PD::MultiAssociationTool<InDet::PixelCluster, PixelRDORawData> PixelClusterPixelRDOBase;
-  
-class PixelClusterPixelRDOAssociationTool
-   : public PixelClusterPixelRDOBase 
-{
-public:
- 
-  ///
-  /// @brief Standard Gaudi tool constructor.
-  /// @param type The name of the tool type.
-  /// @param name The tool name.
-  /// @param parent The tool's Gaudi parent.
-  ///
-  PixelClusterPixelRDOAssociationTool (const std::string& type,
-				  const std::string& name,
-				  const IInterface* parent);
- 
-
- 
-  /// Standard initialize method.
-  virtual StatusCode initialize();
-  ///
-  /// @brief Create any needed tuple variables.
-  /// In principle we do not intend to get anything else then index 
-  ///(=we don't create) variables
-  /// but for debugging and validation puproses it is nice to have this.
-  /// This is called at the start of the first event.
-  ///
-  virtual StatusCode book();
- 
-  ///
-  /// @brief Start the iteration for a new association.
-  /// @param p The object from which to associate.
-  ///
-  virtual StatusCode reset (const InDet::PixelCluster& p);
- 
- 
-  ///
-  /// @brief Return a pointer to the next element in the association.
-  ///
-  /// Return 0 when the association has been exhausted.
-  ///
-  virtual const PixelRDORawData* next();
- 
-
-private:
-
-  StatusCode invalidate(StatusCode);
-  StatusCode tempmoduleid( Identifier id, int& calculatedID );
-
-
-  const PixelID* m_pixelId;
-
-  int m_eventNumber;
-  const PixelRDO_Container* m_rdocont;
-  std::map < int, std::map< Identifier, const PixelRDORawData*> > m_globalmapOfRDOsPerModule;
-
-
-  /// The input object.
-  std::vector<const PixelRDORawData* >::const_iterator m_rdoItr;
-  std::vector<const PixelRDORawData* >::const_iterator m_rdoEnd;
-
-
-  std::vector<const PixelRDORawData*> m_pixelRDOForAssociation;
-
-
-}; // class PixelClusterPixelRDOAssociationTool
-
- 
-} // namespace D3PD
- 
-#endif // not PIXELCLUSTERPIXELRDOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.cxx
deleted file mode 100644
index 060af30b7ed..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.cxx
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelClusterToTrackParticleAssociationTool.h"
- 
-#include "AthenaKernel/errorcheck.h"
-#include "Particle/TrackParticle.h"
-#include "Particle/TrackParticleContainer.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "xAODEventInfo/EventInfo.h"
-
- 
-namespace D3PD {
- 
-  PixelClusterToTrackParticleAssociationTool::PixelClusterToTrackParticleAssociationTool (const std::string& type,
-								  const std::string& name,
-								  const IInterface* parent)
-    : Base (type, name, parent),
-      m_tr(0),
-      m_eventNumber(0)
-  {
-    declareProperty ("TrackParticleContainerSGKey", m_TrackParticleContainer = "TrackParticleCandidate");
-  }
-
- 
-  StatusCode PixelClusterToTrackParticleAssociationTool::initialize()
-  {
- 
-    CHECK( Base::initialize() );
-
-    m_tr = 0;
-    m_eventNumber = -1;
-
-    return StatusCode::SUCCESS;
-  }
- 
- 
-  StatusCode PixelClusterToTrackParticleAssociationTool::book ()
-  {
- 
-    CHECK( Base::book() );
-
-    return StatusCode::SUCCESS;
-  }
-
-
-  StatusCode PixelClusterToTrackParticleAssociationTool::reset(const InDet::PixelCluster& cluster)
-  {
- 
-    REPORT_MESSAGE (MSG::DEBUG) << "EnterReset";
-
-    // Get Track Collections
-    // Should be using Getter tools intead of StoreGate
-    // -- Tracks
-
-    m_trackParticleForAssoc.clear();
-  
-    StatusCode sc = StatusCode::SUCCESS;
-
-    const xAOD::EventInfo* eventInfo;
-    sc = evtStore()->retrieve(eventInfo);
-    if (sc.isFailure())
-      {
-        REPORT_MESSAGE  (MSG::ERROR) << "Could not retrieve event info";
-      }
-    int eventNumber = (int)eventInfo->eventNumber();
-
-
-    // FIXME: Obviously bogus! Should catch an incident.
-    if (m_eventNumber != eventNumber ){ // tretrieve only once!
-
-      m_eventNumber = eventNumber;
-     
-      m_trackParticleMap.clear();
-
-      sc = evtStore()->retrieve(m_tr, m_TrackParticleContainer);
-      if(sc.isFailure() || !m_tr) {
-	REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve TrackParticleContainer";
-	return StatusCode::FAILURE;
-      }
-      else {
-
-        
-	Rec::TrackParticleContainer::const_iterator trItr = m_tr->begin();
-	for( ; trItr!=m_tr->end(); trItr++){
-
-
-	  const Trk::Track *track = (*trItr)->originalTrack();
-	  if ( !track ){
-	    REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-	    continue;
-	  }
-	  std::vector< Identifier> pixelClusterIdentifier;
-
-	  const DataVector<const Trk::TrackStateOnSurface>* trackHits = track->trackStateOnSurfaces();
-
-	  if (!trackHits){
-	    REPORT_MESSAGE (MSG::DEBUG) << "REVERSE TESTASSOC for current track measurementsOntrack == Null, no clusters will be associated with this track";
-	    continue;
-	  }
-
-	  DataVector<const Trk::TrackStateOnSurface>::const_iterator it = trackHits->begin();
-
-	  for ( ; it != trackHits->end(); it++){
-
-	    const InDet::SiClusterOnTrack *clus = dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack());
-
-	    if (clus){
-
-	      const Trk::TrkDetElementBase* detectorElement = clus->detectorElement();
-	      // Dynamic cast to Silicon element and do Pixel / SCT element test
-	      const InDetDD::SiDetectorElement* siliconDetectorElement = dynamic_cast< const InDetDD::SiDetectorElement* >(detectorElement);
-	      if ( siliconDetectorElement ){
-
-		// Get Pointer to prepRawDataObject
-		const InDet::PixelCluster *RawDataClus = dynamic_cast<const InDet::PixelCluster*>(clus->prepRawData());
-
-		// check if Cluster is in Pixel ...
-		if (RawDataClus!=0){
-		  if (RawDataClus->detectorElement()->isPixel()){
-
-		    REPORT_MESSAGE (MSG::DEBUG) << "REVERSE TESTASSOC SiHIT via prepRawData";
-
-		    Identifier pixelClusterID = RawDataClus->identify();
-		    pixelClusterIdentifier.push_back(pixelClusterID);
-		    REPORT_MESSAGE (MSG::DEBUG) << "(2)REVERSE TESTASSOC TSoS-Type is: "<<   (*it)->types().to_ulong();
-
-		  } // isPixel
-		} // RawDataClus
-	      } // siliconDetectorElement
-	      else REPORT_MESSAGE (MSG::DEBUG) << "REVERSE TESTASSOC can't cast to siliconDetElement!!!!";
-	    } // clus
-	  } // TSoS loop
-
-	  m_trackParticleMap.insert(std::pair<const Rec::TrackParticle*, std::vector<Identifier> >(*trItr,pixelClusterIdentifier));
-
-	} // track loop 
-      } // if trackParticle is properly retrieved
-    } // if !m_tr
-
-    // reverse logic compare to TrackPixelClusterAssociationTool
-
-    Identifier clusterId = cluster.identify();
-
-    std::map< const Rec::TrackParticle*, std::vector<Identifier> >::const_iterator mapIt = m_trackParticleMap.begin();
-    for( ; mapIt!=m_trackParticleMap.end(); mapIt++){
-
-
-      if ( find(mapIt->second.begin(),mapIt->second.end(),clusterId)!= mapIt->second.end() ){
-	m_trackParticleForAssoc.push_back(mapIt->first);
-      }
-    }
-
-    m_pItr = m_trackParticleForAssoc.begin();
-    m_pEnd = m_trackParticleForAssoc.end();
-      
-    REPORT_MESSAGE (MSG::DEBUG) << "LeavingReset";
-
-    return StatusCode::SUCCESS;
-  }
-  //---------------------------------------------------------------------------------------------
-  const Rec::TrackParticle* PixelClusterToTrackParticleAssociationTool::next(){
-
-    REPORT_MESSAGE (MSG::DEBUG) << "EnterNext";
-
-    if(m_pItr==m_pEnd){
-
-      //m_trackParticleMap.clear();
-      //m_trackParticleForAssoc.clear();
-      //m_tr=0;
-
-      return 0;
-    }
-
-    const Rec::TrackParticle *trackParticle = *m_pItr;
-
-    m_pItr++;
-
-    REPORT_MESSAGE (MSG::DEBUG) << "LeavingNext";
-    return trackParticle;
-  }
-
- 
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.h
deleted file mode 100644
index 92168c2d853..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelClusterToTrackParticleAssociationTool.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_PIXELCLUSTERTOTRACKPARTICLEASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_PIXELCLUSTERTOTRACKPARTICLEASSOCIATIONTOOL_H
- 
-#include "D3PDMakerUtils/MultiAssociationTool.h"
- 
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-#include <map>
-
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-#include "Particle/TrackParticleContainer.h"
-
-
-namespace Rec{
-  class TrackParticle;
-}
-
-
-namespace Trk{
-  class Track;
-  class TrackStateOnSurface;
-}
-
-namespace InDet {
-  class PixelCluster;
-  class SiCluster;
-}
-
-
-
-namespace D3PD {
- 
-  class PixelClusterToTrackParticleAssociationTool
-    : public MultiAssociationTool<InDet::PixelCluster, Rec::TrackParticle>
-    {
-    public:
-      typedef MultiAssociationTool<InDet::PixelCluster, Rec::TrackParticle> Base;
- 
-      PixelClusterToTrackParticleAssociationTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent);
- 
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-
-      virtual StatusCode reset(const InDet::PixelCluster& cluster);
-
-      virtual const Rec::TrackParticle* next();
-
-    private:
-
-      const Rec::TrackParticleContainer* m_tr;
-      int m_eventNumber;
-      std::map< const Rec::TrackParticle*, std::vector<Identifier> > m_trackParticleMap;
-
-      // StoreGate keys
-      std::string m_TrackParticleContainer;
- 
-
-      std::vector<const Rec::TrackParticle* >::const_iterator m_pItr;
-      std::vector<const Rec::TrackParticle* >::const_iterator m_pEnd;
-      std::vector<const Rec::TrackParticle* > m_trackParticleForAssoc;
-
-
-      // NTuple variables 
- 
- 
-    }; // class PixelClusterToTrackParticleAssociationTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_PIXELCLUSTERTOTRACKPARTICLEASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.cxx
deleted file mode 100644
index 35971181c40..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.cxx
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelRDOClusterAssociationTool.h"
- 
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-#include "InDetIdentifier/PixelID.h"
-#include "xAODEventInfo/EventInfo.h"
-
-
-namespace D3PD {
- 
-  PixelRDOClusterAssociationTool::PixelRDOClusterAssociationTool (const std::string& type,
-				       			      const std::string& name,
-							      const IInterface* parent)
-    : Base (type, name, parent),
-      m_cl(0),
-      m_eventNumber(0),
-      m_pixelId(0)
-  {
-    declareProperty ("ClusterConteinerKey", m_clusterContainer = "PixelClusters");
-  }
-
- 
-  StatusCode PixelRDOClusterAssociationTool::initialize()
-  {
-    CHECK( Base::initialize() );
-    CHECK( detStore()->retrieve(m_pixelId,"PixelID") );
-
-    m_eventNumber = -1;
-    return StatusCode::SUCCESS;
-  }
- 
- 
-  StatusCode PixelRDOClusterAssociationTool::book ()
-  {
- 
-    //CHECK( addVariable ("", m_variable) );
- 
-    return StatusCode::SUCCESS;
-  }
-
-
-  const InDet::PixelCluster* PixelRDOClusterAssociationTool::get (const PixelRDORawData& rdo)
-  {
- 
-    // Get Track Collections
-    // Should be using Getter tools intead of StoreGate
-    // -- Tracks
-
-    const InDet::PixelCluster *cluster = 0; 
-
-    Identifier rdoId = rdo.identify();
-    int rdoTmpID = tempmoduleid(rdoId);
-    if ( !rdoTmpID ){ 
-      REPORT_MESSAGE (MSG::ERROR) <<" Could not calculate tempID";
-      return 0;
-    }
-
-    const xAOD::EventInfo* eventInfo;
-    StatusCode sc = evtStore()->retrieve(eventInfo);
-    if (sc.isFailure())
-      {
-	REPORT_MESSAGE  (MSG::ERROR) << "Could not retrieve event info";
-	return 0;
-      }
-    int eventNumber = (int)eventInfo->eventNumber();
-
-    if ( m_eventNumber != eventNumber ) {
-
-      m_eventNumber = eventNumber;  
-      m_rdoClusterMap.clear();
-
-      StatusCode sc = evtStore()->retrieve(m_cl, m_clusterContainer);  
-      if(sc.isFailure() || !m_cl) {
-	REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve Track Collection";
-	return 0;
-      }
-
-
-      InDet::PixelClusterContainer::const_iterator clItr = m_cl->begin();
-      for( ; clItr!=m_cl->end(); clItr++){
-
-	InDet::PixelClusterCollection::const_iterator rioItr = (*clItr)->begin();
-	for (; rioItr != (*clItr)->end(); rioItr++) {
-
-
-	  //const std::vector<Identifier>& rdoList = (*rioItr)->rdoList();
-
-	  Identifier clIdentifier = (*rioItr)->identify();
-
-	  int tmpID = tempmoduleid( clIdentifier );
-	  if ( !tmpID ) {
-
-	    REPORT_MESSAGE (MSG::ERROR) << "could not calculater tmpID for cluster"; 
-	    continue; 
-
-	  }
-
-	  std::vector< const InDet::PixelCluster* > pixelClusterIdentifier; 
-	  pixelClusterIdentifier.push_back ( (*rioItr) );
-	  if ( m_rdoClusterMap.find(tmpID) == m_rdoClusterMap.end() ){
-
-	    m_rdoClusterMap.insert(std::pair< int, std::vector<const InDet::PixelCluster*> >(tmpID,pixelClusterIdentifier) );
-
-	  }
-	  else{
-	    m_rdoClusterMap[tmpID].push_back( (*rioItr) );
-
-	  }
-	} // Cluster Collection Loop
-      } // cluster container loop 
-    }// one per event
-
-    if (  m_rdoClusterMap.find(rdoTmpID) != m_rdoClusterMap.end() ){
-
-      std::vector< const InDet::PixelCluster *> cloi = m_rdoClusterMap[rdoTmpID];
-      for( std::vector< const InDet::PixelCluster* >::iterator vIt = cloi.begin(); vIt!=cloi.end(); vIt++){
-
-	const std::vector<Identifier>& rdoList = (*vIt)->rdoList();
-
-	if ( find(rdoList.begin(),rdoList.end(),rdoId)!= rdoList.end() )
-	  cluster = (*vIt);
-
-	if ( cluster ) break;
-
-      }//vector loop
-
-    } // if module is in the map
-
-    return cluster;
-  }
-
-  int PixelRDOClusterAssociationTool::tempmoduleid( Identifier id ){
-
-    int intbuf = 0;
-    int bec = (int)m_pixelId->barrel_ec(id);
-    int bec1 = bec;
-    int layer = (int)m_pixelId->layer_disk(id);
-    int phi_module = (char)m_pixelId->phi_module(id);
-    int eta_module = (char)m_pixelId->eta_module(id);
-    int eta_module1 = eta_module;
-    //int side = (int)m_pixelId->side(id);
-    int firstPrefix = 1;
-    if ( bec != 0 ){
-      firstPrefix = 2;
-        if ( bec < 0 ) bec1 = bec*(-1);
-    }
-    int secondPrefix = 2;
-    if ( eta_module < 0 ){
-      secondPrefix = 1;
-      eta_module1 = eta_module*(-1);
-    }
-
-    char buf[1024];
-    intbuf = 0;
-    //sprintf(buf,"%i%i%i%i%i%i%i",firstPrefix,secondPrefix,side,bec1,layer,eta_module1,phi_module);
-    sprintf(buf,"%i%i%i%i%i%i",firstPrefix,secondPrefix,bec1,layer,eta_module1,phi_module);
-    //if(!(from_string<int>(intbuf, std::string(buf), std::dec))){
-    if ( EOF == sscanf(buf, "%i", &intbuf) ){
-      REPORT_MESSAGE (MSG::ERROR) <<" Cannot convert string to int...";
-      return 0;
-    }
-
-    return intbuf;
-  }
-
- 
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.h
deleted file mode 100644
index 0580d0e91f3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOClusterAssociationTool.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_PIXELRDOCLUSTERASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_PIXELRDOCLUSTERASSOCIATIONTOOL_H
- 
-#include "D3PDMakerUtils/SingleAssociationTool.h"
- 
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include "InDetRawData/InDetRawDataContainer.h"
-#include "InDetRawData/InDetRawDataCollection.h"
-#include "InDetRawData/PixelRDO_Container.h"
-#include "InDetRawData/PixelRDO_Collection.h"
-#include "InDetRawData/PixelRDORawData.h"
-#include "InDetRawData/PixelRDO_Collection.h" // Needed to pick up CLID.
-
-#include <stdio.h>
-#include <iostream>
-#include <string>
-
-
-class PixelID;
-
-
-namespace InDet {
-  class PixelCluster;
-  class SiCluster;
-}
-
-
-namespace D3PD {
- 
-  class PixelRDOClusterAssociationTool
-    : public SingleAssociationTool<PixelRDORawData, InDet::PixelCluster>
-    {
-    public:
-      typedef SingleAssociationTool<PixelRDORawData, InDet::PixelCluster> Base;
- 
-      PixelRDOClusterAssociationTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent);
- 
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-
-
-      virtual const InDet::PixelCluster* get (const PixelRDORawData& rdo);
-
-    private:
-
-      int tempmoduleid( Identifier id );
-      const InDet::PixelClusterContainer *m_cl;
-      std::map< int, std::vector< const InDet::PixelCluster* > > m_rdoClusterMap; 
-      int m_eventNumber;
-      const PixelID* m_pixelId;
-
-
-      // StoreGate keys
-      std::string m_clusterContainer;
- 
-      // NTuple variables 
- 
-
-    }; // class PixelRDOClusterAssociationTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_PIXELRDOCLUSTERASSOCIATIONTOOL_H
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.cxx
deleted file mode 100644
index a8fbf68c0aa..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelRDOCollectionGetterTool.h"
-#include "GaudiKernel/MsgStream.h"
-
-
-namespace D3PD {
-
-PixelRDOCollectionGetterTool::PixelRDOCollectionGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-StatusCode PixelRDOCollectionGetterTool::initialize()
-{
-  CHECK( Base::initialize() );
-
-  // Get Particle Data Table
-
-  return StatusCode::SUCCESS;
-}
-
-const std::type_info& PixelRDOCollectionGetterTool::typeinfo() const
-{
-  return typeid(PixelRDO_Container);
-}
-
-
-const std::type_info& PixelRDOCollectionGetterTool::elementTypeinfo() const
-{
-  return typeid(PixelRDORawData);
-}
-
-
-size_t PixelRDOCollectionGetterTool::sizeHint(bool allowMissing)
-{
-
-  const PixelRDO_Container* cont = get(allowMissing);
-
-
-  if (!cont) {
-    return 0;
-  }
-
-  int nRDOs = 0;
-
-  PixelRDO_Container::const_iterator col_It  = cont->begin();
-  PixelRDO_Container::const_iterator lastCol = cont->end();
-  for( ; col_It!= lastCol ; ++col_It){
-
-     const PixelRDO_Collection* Pixel_Collection(*col_It);
-     if (!Pixel_Collection) continue;  // select only Pixel RDOs
-     nRDOs += Pixel_Collection->size();
-   }
-
-  return nRDOs;
-}
-
-
-StatusCode PixelRDOCollectionGetterTool::reset(bool allowMissing)
-{
-  
-  const PixelRDO_Container* cont = get(allowMissing);
-
-  if (!cont) {
-    m_contItr = m_contEnd;
-    m_collItr = m_collEnd;
-    return StatusCode::FAILURE;
-  }
-
-  m_contItr = cont->begin();
-  m_contEnd = cont->end();
-
-  if(m_contItr == m_contEnd){
-    m_collItr = m_collEnd;
-    return StatusCode::SUCCESS;
-  }
-
-  m_collItr = (*m_contItr)->begin();
-  m_collEnd = (*m_contItr)->end();
-
-  return StatusCode::SUCCESS;
-}
-
-const void* PixelRDOCollectionGetterTool::nextUntyped()
-{
-
-  const PixelRDORawData* rawDataObject = 0;
-
-  do{
-
-    if(m_contItr == m_contEnd){
-      return 0;
-    }
-
-    if (m_collItr == m_collEnd)
-      rawDataObject = 0;
-    else {
-      rawDataObject = *m_collItr;
-      m_collItr++;
-    }
-
-    if(m_collItr == m_collEnd){
-      m_contItr++;
-      if(m_contItr != m_contEnd){
-	m_collItr = (*m_contItr)->begin();
-	m_collEnd = (*m_contItr)->end();
-      }
-    }
-
-  } while(!rawDataObject);
-
-  return rawDataObject;
-
-}
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<PixelRDO_Container>::elementTypeinfo() const
-{
-  return typeid(PixelRDORawData);
-}
-
-template<>
-const void*
-CollectionGetterTool<PixelRDO_Container>::nextUntyped()
-{
-  return 0;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.h
deleted file mode 100644
index e6b7c664544..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOCollectionGetterTool.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_PIXELRDOCOLLECTIONGETTERTOOL_H
-#define INDETD3PDMAKER_PIXELRDOCOLLECTIONGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include "InDetRawData/InDetRawDataContainer.h"
-#include "InDetRawData/InDetRawDataCollection.h"
-#include "InDetRawData/PixelRDO_Container.h"
-#include "InDetRawData/PixelRDO_Collection.h"
-#include "InDetRawData/PixelRDORawData.h"
-//#include "InDetRawData/SCT_RDO_Collection.h" // Needed to pick up CLID.
-
-class PixelID;
-
-
-namespace D3PD {
-
-class PixelRDOCollectionGetterTool
-  : public D3PD::SGCollectionGetterTool<PixelRDO_Container>
-{
-public:
-  typedef D3PD::SGCollectionGetterTool<PixelRDO_Container> Base;
-
-  PixelRDOCollectionGetterTool (const std::string& type,
-            			const std::string& name,
-	        		const IInterface* parent);
-
-  StatusCode initialize();
-  size_t sizeHint(bool=false);
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-
-  const std::type_info& typeinfo() const;
-  const std::type_info& elementTypeinfo() const;
-
-private:
-
-  /* Container iterators **/
-  PixelRDO_Container::const_iterator m_contItr;
-  PixelRDO_Container::const_iterator m_contEnd;
-
-  /* Collection iterators **/
-  PixelRDO_Collection::const_iterator m_collItr;
-  PixelRDO_Collection::const_iterator m_collEnd;
- 
-}; // class PixelRDOCollectionGetterTool
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<PixelRDO_Container>::elementTypeinfo() const;
-
-template<>
-const void*
-CollectionGetterTool<PixelRDO_Container>::nextUntyped();
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_PIXELRDOCOLLECTIONGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.cxx
deleted file mode 100644
index cc3f7064a9c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.cxx
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "PixelRDOFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
- 
- 
-namespace D3PD {
-
-PixelRDOFillerTool::PixelRDOFillerTool (const std::string& type,
-                                        const std::string& name,
-                                        const IInterface* parent)
-  : PixelRDOFillerBase (type, name, parent),
-    m_pixelId(0)
-{
-  book().ignore();  // Avoid coverity warnings.
-}
- 
-StatusCode PixelRDOFillerTool::initialize()
-{
-
-CHECK( PixelRDOFillerBase::initialize() );
-
- if (detStore()->retrieve(m_pixelId,"PixelID").isFailure() ){
-   REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve Pixel ID helper";
-   return StatusCode::FAILURE;
- }
-
-return StatusCode::SUCCESS;
-}
- 
-StatusCode PixelRDOFillerTool::book()
-{
-
-  //CHECK( addVariable ("nRDO", m_nRDO) );
-  //CHECK( addVariable ("time_ns", m_timeNanoSec) );
-  //CHECK( addVariable ("isOnTrack", m_isOnTrack) );
-
-  CHECK( addVariable ("bec", m_bec) );
-  CHECK( addVariable ("layer" ,m_layer) );
-  CHECK( addVariable ("moduleEta", m_moduleEta) );
-  CHECK( addVariable ("modulePhi", m_modulePhi) );
-
-  CHECK( addVariable ("ToT", m_ToT) );
-  //CHECK( addVariable ("moduleSide", m_moduleSide) );
-  //CHECK( addVariable ("firstStrip", m_firstStrip) );
-  //CHECK( addVariable ("nStripsOnWafer", m_nStripsOnWafer) );
-  //CHECK( addVariable ("timeBin", m_tbin) );
-
-
-  return StatusCode::SUCCESS;
-}
- 
-StatusCode PixelRDOFillerTool::fill (const PixelRDORawData& pixelRdo)
-{
-
-  this->clearData();
-
-  //const PixelRDORawData *p_pixelRdo = &pixelRdo;
-
-  //const Pixel1RawData* rdo1 = dynamic_cast<const Pixel1RawData*>(p_pixelRdo);
-  //if (rdo1!=0)
-  //  *m_tbin = rdo1->getTimeBin();
-  //else *m_tbin = -1;
-      
-  Identifier Pixel_Identifier = pixelRdo.identify();
-  *m_bec = m_pixelId->barrel_ec(Pixel_Identifier);
-  *m_layer = m_pixelId->layer_disk(Pixel_Identifier);
-  *m_modulePhi = m_pixelId->phi_module(Pixel_Identifier);
-  *m_moduleEta = m_pixelId->eta_module(Pixel_Identifier);
-
-  *m_ToT = pixelRdo.getToT();
-  //*m_moduleSide = m_pixelId->side(Pixel_Identifier);
-  //*m_firstStrip = pixelRdo.getStrip();
-  //*m_nStripsOnWafer = pixelRdo.getGroupSize();
-  //*m_isOnTrack = 0;
-
-   return StatusCode::SUCCESS;
-}
- 
-void PixelRDOFillerTool::clearData(){
-
-  //*m_nRDO = -9999;
-  //*m_timeNanoSec = -9999;
-  //*m_isOnTrack = -9999;
-
-  *m_bec = -9999;
-  *m_layer = -9999;
-  *m_moduleEta = -9999;
-  *m_modulePhi = -9999;
-  
-  *m_ToT = -9999;
-  //*m_moduleSide = -9999;
-  //*m_firstStrip = -9999;
-  //*m_nStripsOnWafer = -9999;
-  //*m_tbin = -9999;
-
-}
-
- 
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.h
deleted file mode 100644
index 143a234c33f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/PixelRDOFillerTool.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_PIXELRDOFILLERTOOL_H
-#define INDETD3PDMAKER_PIXELRDOFILLERTOOL_H
- 
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include <vector>
- 
-
-//#include "InDetRawData/SCT_RDO_Collection.h"
-#include "InDetRawData/PixelRDO_Container.h"
-#include "InDetRawData/PixelRDORawData.h"
-//#include "InDetRawData/SCT3_RawData.h"
-#include "InDetRawData/Pixel1RawData.h"  //method 1?
-
-#include "Identifier/Identifier.h"
-#include "InDetIdentifier/PixelID.h"
-
-class PixelID;
-
-namespace D3PD {
-
-
-
-class PixelRDOFillerTool
-  : public  D3PD::BlockFillerTool<PixelRDORawData> 
-  {
-  public:
-    
-    typedef D3PD::BlockFillerTool<PixelRDORawData> PixelRDOFillerBase;
-    PixelRDOFillerTool (const std::string& type,
-                     const std::string& name,
-                     const IInterface* parent);
- 
-   virtual StatusCode initialize();
-   virtual StatusCode book();
- 
-   virtual StatusCode fill (const PixelRDORawData& p);
- 
- private:
- 
-   void clearData();
-
-   const PixelID* m_pixelId;
-
- 
-   /* NTuple variables **/
-   //int *m_nRDO;
-   //float *m_timeNanoSec;
-   //int *m_isOnTrack; 
-   int *m_bec;
-   int *m_layer;
-   int *m_moduleEta;
-   int *m_modulePhi;
-
-   int *m_ToT;
-   //int *m_moduleSide;
-   //int *m_firstStrip;
-   //int *m_nStripsOnWafer;
-   //int *m_tbin;
- 
-  }; // class PixelRDOFillerTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_PIXELRDOFILLERTOOL_H
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.cxx
deleted file mode 100644
index 1a4bd761c5b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.cxx
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTByteStreamErrorFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include <string>
-
-namespace D3PD {
-
-
-/**
-  * @brief Standard Gaudi tool constructor.
-  * @param type The name of the tool type.
-  * @param name The tool name.
-  * @param parent The tool's Gaudi parent.
-  */
-SCTByteStreamErrorFillerTool::SCTByteStreamErrorFillerTool
-   (const std::string& type,
-    const std::string& name,
-    const IInterface* parent)
-     : BlockFillerTool<xAOD::EventInfo> (type, name, parent),
-       m_sctid(0)
- {
-   book().ignore(); // Avoid coverity warnings.
- }
- 
-  StatusCode SCTByteStreamErrorFillerTool::initialize(){
-
-    if (detStore()->retrieve(m_sctid, "SCT_ID").isFailure()) {
-      REPORT_MESSAGE (MSG::ERROR) <<"Could not get SCT ID helper";
-      return StatusCode::FAILURE;
-    }
-
-
-
-    if (m_byteStreamErrTool.retrieve().isFailure()) {
-      REPORT_MESSAGE (MSG::ERROR) << "Failed to retrieve tool " << m_byteStreamErrTool;
-      return StatusCode::FAILURE;
-    } else {
-      REPORT_MESSAGE (MSG::INFO) << "Retrieved service " << m_byteStreamErrTool;
-    }
-    if (m_cabling.retrieve().isFailure()) {
-      REPORT_MESSAGE (MSG::ERROR) << "Failed to retrieve service " << m_cabling;
-      return StatusCode::FAILURE;
-    } else {
-      REPORT_MESSAGE (MSG::INFO) << "Retrieved service " << m_cabling;
-    }
-
-
-
-    return StatusCode::SUCCESS;
-
-  }
- 
- /**
-  * @brief Book variables for this block.
-  */
- StatusCode SCTByteStreamErrorFillerTool::book()
- {
-   
-     CHECK( addVariable ("sctBSerr_Ntot", m_totalNumErrors) );
-     CHECK( addVariable ("sctBSerr_bec", m_scterr_bec) ) ;
-     CHECK( addVariable ("sctBSerr_layer", m_scterr_layer) );
-     CHECK( addVariable ("sctBSerr_eta", m_scterr_eta) );
-     CHECK( addVariable ("sctBSerr_phi", m_scterr_phi) );
-     CHECK( addVariable ("sctBSerr_side", m_scterr_side) );
-     CHECK( addVariable ("sctBSerr_rodid", m_scterr_rodid) );
-     CHECK( addVariable ("sctBSerr_channel", m_scterr_channel) );
-     CHECK( addVariable ("sctBSerr_type", m_scterr_type) );
-
-     return StatusCode::SUCCESS;
- }
- 
- 
-StatusCode SCTByteStreamErrorFillerTool::fill (const xAOD::EventInfo& /*p*/)
- {
-   *m_totalNumErrors = 0;
-   for (int type=0; type < SCT_ByteStreamErrors::NUM_ERROR_TYPES; ++type) {
-     const std::set<IdentifierHash> errorSet = m_byteStreamErrTool->getErrorSet(type);
-       int eta=0,phi=0,bec=0,layer=0,side=0;
-       *m_totalNumErrors += errorSet.size();
-       for(const auto& idHash : errorSet) {
-		 Identifier itId = m_sctid->wafer_id(idHash);
-		 layer = m_sctid->layer_disk(itId);
-		 side = m_sctid->side(itId);
-		 eta = m_sctid->eta_module(itId);
-		 phi = m_sctid->phi_module(itId);
-		 bec = m_sctid->barrel_ec(itId);
-		 m_scterr_type->push_back(type);
-		 m_scterr_bec->push_back(bec);
-		 m_scterr_layer->push_back(layer);
-		 m_scterr_eta->push_back(eta);
-		 m_scterr_phi->push_back(phi);
-		 m_scterr_side->push_back(side);
-	 
-		 uint32_t onlineID = m_cabling->getOnlineIdFromHash(idHash);
-		 SCT_OnlineId online(onlineID);
-		 uint32_t rod = online.rod();
-		 uint32_t fibre = online.fibre();
-		 m_scterr_rodid->push_back((int)rod);
-		 m_scterr_channel->push_back((int)fibre);
-       }
-     
-   }
-
-  
-   return StatusCode::SUCCESS;
- }
- 
- 
- } // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.h
deleted file mode 100644
index 81529cf435a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTByteStreamErrorFillerTool.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTBYTESTREAMERRORFILLERTOOL_H
-#define INDETD3PDMAKER_SCTBYTESTREAMERRORFILLERTOOL_H
- 
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "InDetIdentifier/SCT_ID.h"
-#include "SCT_ConditionsTools/ISCT_ByteStreamErrorsTool.h"
-#include "SCT_Cabling/ISCT_CablingTool.h"
-#include "SCT_Cabling/SCT_OnlineId.h"
-#include "xAODEventInfo/EventInfo.h"
-
-#include <vector>
- 
- 
-namespace D3PD {
- 
- 
-/**
- * @brief Block filler tool for byte stream error state from ByteStreamErrorsSvc.
- */
-class SCTByteStreamErrorFillerTool
-  : public BlockFillerTool<xAOD::EventInfo>
-{
-public:
-   /**
-    * @brief Standard Gaudi tool constructor.
-    * @param type The name of the tool type.
-    * @param name The tool name.
-    * @param parent The tool's Gaudi parent.
-    */
-    SCTByteStreamErrorFillerTool (const std::string& type,
-				  const std::string& name,
-				  const IInterface* parent);
- 
- 
-
-    virtual StatusCode initialize() override;
-
-    /// Book variables for this block.
-    virtual StatusCode book() override;
-
- 
-   /**
-    * @brief Fill one block --- type-safe version.
-    *
-    * This is called once per object.  The caller
-    * is responsible for arranging that all the pointers for booked variables
-    * are set appropriately upon entry.
-    */
-    virtual StatusCode fill (const xAOD::EventInfo& p) override;
- 
- 
-   private:
-
-   const SCT_ID*       m_sctid;
-   ToolHandle<ISCT_ByteStreamErrorsTool> m_byteStreamErrTool{this, "SCT_ByteStreamErrorsTool", "SCT_ByteStreamErrorsTool", "Tool to retrieve SCT ByteStream Errors"};
-   ToolHandle<ISCT_CablingTool> m_cabling{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
-
-
-   int *m_totalNumErrors;
-   std::vector<int> *m_scterr_bec;
-   std::vector<int> *m_scterr_layer;
-   std::vector<int> *m_scterr_eta;
-   std::vector<int> *m_scterr_phi;
-   std::vector<int> *m_scterr_side;
-   std::vector<int> *m_scterr_rodid;
-   std::vector<int> *m_scterr_channel;
-   std::vector<int> *m_scterr_type;
-
-  };
-
- 
-} // namespace D3PD
-
-#endif
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.cxx
deleted file mode 100644
index 2e648d71bc2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.cxx
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTClusterCollectionGetterTool.h"
-
-#include "InDetPrepRawData/SCT_Cluster.h"
-
-namespace D3PD {
-
-SCTClusterCollectionGetterTool::SCTClusterCollectionGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-StatusCode SCTClusterCollectionGetterTool::initialize()
-{
-  CHECK( Base::initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-const std::type_info& SCTClusterCollectionGetterTool::typeinfo() const
-{
-  return typeid(InDet::SCT_ClusterContainer);
-}
-
-
-const std::type_info& SCTClusterCollectionGetterTool::elementTypeinfo() const
-{
-  return typeid(InDet::SCT_Cluster);
-}
-
-size_t SCTClusterCollectionGetterTool::sizeHint(bool allowMissing)
-{
-  const InDet::SCT_ClusterContainer* cont = (InDet::SCT_ClusterContainer*)getUntyped(allowMissing);
-
-  if (!cont) {
-    return 0;
-  }
-  int nclus = 0;
-
-  // Loop over the container
-  InDet::SCT_ClusterContainer::const_iterator itr = cont->begin();
-  InDet::SCT_ClusterContainer::const_iterator itr_end = cont->end();
-  for( ; itr!=itr_end; ++itr ){
-
-    // Loop over the collection
-    InDet::SCT_ClusterCollection::const_iterator itr_col = (*itr)->begin();
-    InDet::SCT_ClusterCollection::const_iterator itr_col_end = (*itr)->end();
-    for( ; itr_col!=itr_col_end; ++itr_col ){
-      nclus++;
-    }
-  }
-
-  return nclus;
-}
-
-StatusCode SCTClusterCollectionGetterTool::reset(bool allowMissing)
-{
-
-  //std::cout << "reset in SCT Cluster Getter" << std::endl;
-
-  const InDet::SCT_ClusterContainer* cont = (InDet::SCT_ClusterContainer*)getUntyped(allowMissing);
- 
-  if (!cont) {
-    m_contItr = m_contEnd;
-    m_collItr = m_collEnd;
-    return StatusCode::FAILURE;
-  }
-
-  m_contItr = cont->begin();
-  m_contEnd = cont->end();
-
-  if(m_contItr == m_contEnd){
-    m_collItr = m_collEnd;
-    return StatusCode::SUCCESS;
-  }
-
-  m_collItr = (*m_contItr)->begin();
-  m_collEnd = (*m_contItr)->end();
-
-  return StatusCode::SUCCESS;
-}
-
-
-const void* SCTClusterCollectionGetterTool::nextUntyped()
-{
-  if(m_collItr == m_collEnd){
-    if(m_contItr==m_contEnd){
-      return 0;
-    }
-    m_contItr++;
-    if(m_contItr==m_contEnd){
-      return 0;
-    }
-    m_collItr = (*m_contItr)->begin();
-    m_collEnd = (*m_contItr)->end();
-    if(m_collItr == m_collEnd){
-      return 0;
-    }
-  }
-
-  const InDet::SCT_Cluster *clus = *m_collItr;
-  
-  m_collItr++;
-
-  //std::cout << "nextUntyped in SCT Cluster Getter. count_this " << std::endl;
-
-  return clus;
-}
-
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<InDet::SCT_ClusterContainer>::elementTypeinfo() const
-{
-  return typeid(InDet::SCT_Cluster);
-}
-
-template<>
-const void*
-CollectionGetterTool<InDet::SCT_ClusterContainer>::nextUntyped()
-{
-  return 0;
-}
-
-
-}
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.h
deleted file mode 100644
index bca14924a0f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterCollectionGetterTool.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTCLUSTERCOLLECTIONGETTERTOOL_H
-#define INDETD3PDMAKER_SCTCLUSTERCOLLECTIONGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h" 
-#include "InDetPrepRawData/SCT_ClusterContainer.h" 
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include "InDetPrepRawData/SCT_Cluster.h" 
-
-namespace D3PD { 
-  
-class SCTClusterCollectionGetterTool 
-  : public SGCollectionGetterTool<InDet::SCT_ClusterContainer>
-{ 
- public: 
-  typedef SGCollectionGetterTool<InDet::SCT_ClusterContainer> Base; 
-
-  SCTClusterCollectionGetterTool (const std::string& type,
-				  const std::string& name, 
-				  const IInterface* parent); 
-
-  StatusCode initialize(); 
-  size_t sizeHint(bool=false); 
-  StatusCode reset(bool=false); 
-  const void* nextUntyped(); 
-  const std::type_info& typeinfo() const; 
-  const std::type_info& elementTypeinfo() const; 
-  
- private: 
-  InDet::SCT_ClusterContainer::const_iterator m_contItr; 
-  InDet::SCT_ClusterContainer::const_iterator m_contEnd; 
-  
-  InDet::SCT_ClusterCollection::const_iterator m_collItr; 
-  InDet::SCT_ClusterCollection::const_iterator m_collEnd; 
-}; 
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<InDet::SCT_ClusterContainer>::elementTypeinfo() const;
-
-template<>
-const void*
-CollectionGetterTool<InDet::SCT_ClusterContainer>::nextUntyped();
-
-} 
-
-#endif // INDETD3PDMAKER_SCTCLUSTERCOLLECTIONGETTERTOOL_H 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.cxx
deleted file mode 100644
index 5623cadccc4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.cxx
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTClusterFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "InDetReadoutGeometry/SiDetectorElement.h"
-#include "InDetIdentifier/SCT_ID.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-
-
-namespace D3PD {
-
-
-SCTClusterFillerTool::SCTClusterFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<InDet::SCT_Cluster> (type, name, parent),
-    m_sctId(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode SCTClusterFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  if (detStore()->retrieve(m_sctId,"SCT_ID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve SCT ID helper";
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode SCTClusterFillerTool::book(){
-
-  CHECK( addVariable ("id", m_id) );
-  CHECK( addVariable ("bec", m_bec) );
-  CHECK( addVariable ("layer", m_layer) );
-  CHECK( addVariable ("detElementId", m_detElementId) );
-  CHECK( addVariable ("phi_module", m_phi_module) );
-  CHECK( addVariable ("eta_module", m_eta_module) );
-  CHECK( addVariable ("x", m_x) );
-  CHECK( addVariable ("y", m_y) );
-  CHECK( addVariable ("z", m_z) );
-  CHECK( addVariable ("locX", m_locX) );
-  CHECK( addVariable ("locY", m_locY) );
-  CHECK( addVariable ("side", m_side) );
-  CHECK( addVariable ("size", m_size) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode SCTClusterFillerTool::fill (const InDet::SCT_Cluster& clus)
-{
-
-  this->clearData();
-
-  Identifier id = clus.identify();
-  
-  if ( id.is_valid() ) {
-
-    *m_size =  int(clus.rdoList().size());
-    *m_id = id.get_compact();
-    *m_bec = (int)m_sctId->barrel_ec(id);
-    *m_layer = (int)m_sctId->layer_disk(id);
-    *m_phi_module = (int)m_sctId->phi_module(id);
-    *m_eta_module = (int)m_sctId->eta_module(id);
-    *m_side = (int)m_sctId->side(id);
-
-  }
-
-  const InDetDD::SiDetectorElement* de = clus.detectorElement();
-  if(de){
-    Identifier detId = de->identify();
-    if ( detId.is_valid() ) {
-      *m_detElementId = detId.get_compact();
-    }
-  }
-
-  const Amg::Vector2D& locpos = clus.localPosition();
-  *m_locX = locpos.x(); //[Trk::locX];
-  if ( !(std::isinf(locpos.y()) || std::isnan(locpos.y())) ){
-    if (locpos.y()<1e-07)
-      *m_locY= 0.;
-    else 
-      *m_locY=locpos.y();
-  }
-  else 
-    *m_locY = -9999.;//= locpos[Trk::locY];
-
-  
-  
-  const Amg::Vector3D& glopos = clus.globalPosition();
-  *m_x = glopos.x(); //[Trk::x];
-  *m_y = glopos.y(); //[Trk::y];
-  *m_z = glopos.z(); //[Trk::z];
-  return StatusCode::SUCCESS;
-}
-
-void SCTClusterFillerTool::clearData(){
-
-  *m_id = 0;
-  *m_detElementId = 0;
-  *m_bec = -1;
-  *m_layer = -1;
-  *m_phi_module = 0;
-  *m_eta_module = 0;
-  *m_x = -99999.;
-  *m_y = -99999.;
-  *m_z = -99999.;
-  *m_locX = -99999.;
-  *m_locY = -99999.;
-  *m_side = -10;
-  *m_size = -99999;
- 
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.h
deleted file mode 100644
index 9d07d4d56aa..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterFillerTool.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTCLUSTERFILLERTOOL_H
-#define INDETD3PDMAKER_SCTCLUSTERFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#include "Identifier/Identifier.h"
-
-class SCT_ID;
-
-namespace InDet {
-  class SCT_Cluster;
-}
-
-namespace D3PD {
-
-
-class SCTClusterFillerTool
-  : public D3PD::BlockFillerTool<InDet::SCT_Cluster>
-{
-public:
-  typedef D3PD::BlockFillerTool<InDet::SCT_Cluster> Base;
-
-  SCTClusterFillerTool (const std::string& type,
-			  const std::string& name,
-			  const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const InDet::SCT_Cluster &clus);
-
-private:
-
-  void clearData();
-
-  const SCT_ID* m_sctId; 
-
-  /* NTuple variables: **/
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId;
-  int *m_bec; // Barrel:0, End Cap: +/- 2
-  int *m_layer;
-  int *m_phi_module;
-  int *m_eta_module;
-  float *m_x;
-  float *m_y;
-  float *m_z;
-  float *m_locX;
-  float *m_locY;
-  int *m_side;
-  int *m_size;
-
-}; // class SCTClusterFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_SCTCLUSTERFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.cxx
deleted file mode 100644
index c0090b946de..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.cxx
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-//********************************************************/
-// @author <yuriy.pylypchenko@cern.ch>                    /
-// @date Oct, 2010                                        /
-// @brief setting up an association of clusters to tracks /
-//       represented by indices.                          /
-//********************************************************/
- 
- 
-#include "SCTClusterSCTRDOAssociationTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "InDetIdentifier/SCT_ID.h"
-#include "xAODEventInfo/EventInfo.h"
-
-
-namespace D3PD {
-
-
-SCTClusterSCTRDOAssociationTool::SCTClusterSCTRDOAssociationTool (const std::string& type,
-								const std::string& name,
-								const IInterface* parent)
-  : SCTClusterSCTRDOBase(type, name, parent),
-    m_sctId(0),
-    m_eventNumber(0),
-    m_rdocont(0)
-{
-}
- 
-
-/// initialize method.
-StatusCode SCTClusterSCTRDOAssociationTool::initialize()
-{
- 
-  //return  SCTClusterSCTRDOBase::initialize();
-  CHECK ( SCTClusterSCTRDOBase::initialize() );
-  if (detStore()->retrieve(m_sctId,"SCT_ID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve SCT ID helper";
-    return StatusCode::FAILURE;
-  }
-
-  m_eventNumber = -1;
-
-  return StatusCode::SUCCESS;
-}
-/// booking btuple variables
-StatusCode SCTClusterSCTRDOAssociationTool::book()
-{
- 
-  CHECK( SCTClusterSCTRDOBase::book() );
-  
-  return StatusCode::SUCCESS;
-}
-StatusCode SCTClusterSCTRDOAssociationTool::invalidate(StatusCode sc){
-
-  m_rdoItr = m_rdoEnd;
-  return sc;
-}
-
-///
-/// @brief Start the iteration for a new association.
-/// @param p The object from which to associate.
-///
-StatusCode SCTClusterSCTRDOAssociationTool::reset (const  InDet::SCT_Cluster& p)
-{
-
-  m_sctRDOForAssociation.clear();
-
- 
-  int clusterModuleID = 0; 
-  StatusCode sc = tempmoduleid(p.identify(), clusterModuleID);
-  if ( sc.isFailure() ) REPORT_MESSAGE (MSG::ERROR)<< "Failed to calculate the tempID.";
-
-  std::vector< Identifier> sctClusterIdentifier; 
-
-  const std::vector<Identifier>& rdoList = p.rdoList();
-  sctClusterIdentifier.insert(sctClusterIdentifier.end(),rdoList.begin(),rdoList.end());
-
-
-  const xAOD::EventInfo* eventInfo;
-  sc = evtStore()->retrieve(eventInfo);
-  if (sc.isFailure())
-    {
-      REPORT_MESSAGE  (MSG::ERROR) << "Could not retrieve event info";
-      return StatusCode::FAILURE;
-    }
-  int eventNumber = (int)eventInfo->eventNumber();
-
-  if (m_eventNumber != eventNumber ){
-    // For each event
-
-    m_globalmapOfRDOsPerModule.clear();
-    m_eventNumber = eventNumber;
-
-    if(!evtStore()->contains<SCT_RDO_Container>("SCT_RDOs")){
-      REPORT_MESSAGE (MSG::WARNING) << "RDOTESTASSOC: No SCT RDO container in StoreGate";
-    }
-    else {
-      sc =  evtStore()->retrieve(m_rdocont,"SCT_RDOs");
-      if(sc.isFailure()) {
-	REPORT_MESSAGE (MSG::WARNING) << "Failed to retrieve SCT RDO container";
-      }
-    }
-    
-    if ( m_rdocont != 0){
-
-    // get all the RIO_Collections in the container
-    SCT_RDO_Container::const_iterator contIt = m_rdocont->begin();
-       for( ; contIt != m_rdocont->end(); contIt++){
- 
-	 //get all the RDOs in the collection
-	 //const SCT_RDO_Collection* SCT_Collection(*contIt);
-         SCT_RDO_Collection::const_iterator rdoIt = (*contIt)->begin();
-         for (; rdoIt != (*contIt)->end(); rdoIt++) {
-
-           if (!(*rdoIt)) {
-             REPORT_MESSAGE (MSG::WARNING) << "Null rdo....";
-             continue;
-           }
-
-	   Identifier rdoId = (*rdoIt)->identify();
-
-	   int rdoModuleID = 0; 
-	   StatusCode sc2 = tempmoduleid (rdoId, rdoModuleID);
-           if ( sc2.isFailure() ) REPORT_MESSAGE (MSG::WARNING)<<" Failed to calculate RDO tempID!";
-
-	   std::map< Identifier, const SCT_RDORawData* > tempmap;
-           tempmap.insert( std::pair< Identifier, const SCT_RDORawData*>( rdoId, (*rdoIt) ) );
-
-	   if ( m_globalmapOfRDOsPerModule.find(rdoModuleID) == m_globalmapOfRDOsPerModule.end() )
-	     m_globalmapOfRDOsPerModule.insert( std::pair< int, std::map< Identifier, const SCT_RDORawData*> >( rdoModuleID, tempmap ));
-	   else {
-	     if  ( m_globalmapOfRDOsPerModule[rdoModuleID].find(rdoId) == m_globalmapOfRDOsPerModule[rdoModuleID].end() )
-	       m_globalmapOfRDOsPerModule[rdoModuleID].insert(std::pair<Identifier, const SCT_RDORawData*>(rdoId,(*rdoIt)));
-	     else REPORT_MESSAGE (MSG::WARNING) << " More then one RDO per identifier!";
-	   }
-	   
-	 } // collection
-       } // container
-    }
-  //for each event
-  }
-  //For each cluster
-    std::map< Identifier, const SCT_RDORawData*>::iterator mIt2 = m_globalmapOfRDOsPerModule[clusterModuleID].begin();
-    for( ; mIt2!=m_globalmapOfRDOsPerModule[clusterModuleID].end(); mIt2++){
-      Identifier rdoIdentity = mIt2->first;
-      std::vector<Identifier>::iterator posIt =   find(sctClusterIdentifier.begin(),sctClusterIdentifier.end(),rdoIdentity);
-      if ( posIt != sctClusterIdentifier.end() ){
-	m_sctRDOForAssociation.push_back(mIt2->second);
-      }
-    }
-    // end of global map loop 
-
-
-  m_rdoItr = m_sctRDOForAssociation.begin(); //sct::vector<cont InDet::SCT_Cluster>::const_iterator 
-  m_rdoEnd = m_sctRDOForAssociation.end(); 
-
-
-  return StatusCode::SUCCESS;
-}
-
-/**
-* @brief Return a pointer to the next element in the association.
-*
-* Return 0 when the association has been exhausted.
-*/
-const SCT_RDORawData* SCTClusterSCTRDOAssociationTool::next()
-  {
-
-    // reached the end
-    if(m_rdoItr==m_rdoEnd){
-      return 0;
-    }
-    else{
-    }
-
-    const SCT_RDORawData* RawData = *m_rdoItr;
-       
-    m_rdoItr++; // to go throuhg all the HitsOnTrack
-
-    return RawData;
-
-  }
-
-  StatusCode SCTClusterSCTRDOAssociationTool::tempmoduleid( Identifier id, int& intbuf ){
-
-    int bec = (int)m_sctId->barrel_ec(id);
-    int bec1 = bec;
-    int layer = (int)m_sctId->layer_disk(id);
-    int phi_module = (char)m_sctId->phi_module(id);
-    int eta_module = (char)m_sctId->eta_module(id);
-    int eta_module1 = eta_module; 
-    int side = (int)m_sctId->side(id);
-    int firstPrefix = 1;
-    if ( bec != 0 ){ 
-      firstPrefix = 2;
-	if ( bec < 0 ) bec1 = bec*(-1); 
-    }
-    int secondPrefix = 2; 
-    if ( eta_module < 0 ){
-      secondPrefix = 1; 
-      eta_module1 = eta_module*(-1);
-    }
-
-    char buf[1024];
-    intbuf = 0;
-    sprintf(buf,"%i%i%i%i%i%i%i",firstPrefix,secondPrefix,side,bec1,layer,eta_module1,phi_module);
-    if(!(from_string<int>(intbuf, std::string(buf), std::dec))){
-      //if ( EOF == sscanf(buf, "%i", &intbuf) ){
-      REPORT_MESSAGE (MSG::ERROR) <<" Cannot convert string to int...";
-      return StatusCode::FAILURE;
-    }
-
-    return StatusCode::SUCCESS;
-  }
-
- } // namespace D3PD
-  
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.h
deleted file mode 100644
index cf3216667fb..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterSCTRDOAssociationTool.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-* @date Oct, 2010
-* @brief setting up an association of SCT clusters to RDOs
-*        represented by indices. 
-*/
-#ifndef SCTCLUSTERSCTRDOASSOCIATIONTOOL_H
-#define SCTCLUSTERSCTRDOASSOCIATIONTOOL_H
- 
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-#include <map>
-
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include "InDetRawData/InDetRawDataContainer.h"
-#include "InDetRawData/InDetRawDataCollection.h"
-#include "InDetRawData/SCT_RDO_Container.h"
-#include "InDetRawData/SCT_RDO_Collection.h"
-#include "InDetRawData/SCT_RDORawData.h"
-#include "InDetRawData/SCT_RDO_Collection.h" // Needed to pick up CLID.
-#include <stdio.h>
-#include <iostream>
-#include <string>
-
-
-class SCT_ID;
-
-namespace InDet {
-  class SCT_Cluster;
-  class SiCluster;
-}
-
- 
-namespace D3PD {
- 
- 
-  template <class T>
-    bool from_string(T& t, const std::string& s, std::ios_base& (*f)(std::ios_base&))
-    {
-      std::istringstream iss(s);
-      return !(iss >> f >> t).fail();
-    }
-
-
-  ///
-  ///@brief Associate all clusters which belong to given track.
-  ///
-  /// This is a multiple association tool.
-  /// Given an @c InDet::SCT_Cluster object and a container of such objects,
-  /// return the all objects in the container wich identified with TrackStateOnSurface 
-  /// (Measurements) of the input track.
-  ///
-
-typedef D3PD::MultiAssociationTool<InDet::SCT_Cluster, SCT_RDORawData> SCTClusterSCTRDOBase;
-  
-class SCTClusterSCTRDOAssociationTool
-   : public SCTClusterSCTRDOBase 
-{
-public:
- 
-  ///
-  /// @brief Standard Gaudi tool constructor.
-  /// @param type The name of the tool type.
-  /// @param name The tool name.
-  /// @param parent The tool's Gaudi parent.
-  ///
-  SCTClusterSCTRDOAssociationTool (const std::string& type,
-				  const std::string& name,
-				  const IInterface* parent);
- 
-
- 
-  /// Standard initialize method.
-  virtual StatusCode initialize();
-  ///
-  /// @brief Create any needed tuple variables.
-  /// In principle we do not intend to get anything else then index 
-  ///(=we don't create) variables
-  /// but for debugging and validation puproses it is nice to have this.
-  /// This is called at the start of the first event.
-  ///
-  virtual StatusCode book();
- 
-  ///
-  /// @brief Start the iteration for a new association.
-  /// @param p The object from which to associate.
-  ///
-  virtual StatusCode reset (const InDet::SCT_Cluster& p);
- 
- 
-  ///
-  /// @brief Return a pointer to the next element in the association.
-  ///
-  /// Return 0 when the association has been exhausted.
-  ///
-  virtual const SCT_RDORawData* next();
- 
-
-private:
-
-  StatusCode invalidate(StatusCode);
-  StatusCode tempmoduleid( Identifier id, int& calculatedID );
-
-
-  const SCT_ID* m_sctId;
-
-  int m_eventNumber;
-  const SCT_RDO_Container* m_rdocont;
-  std::map < int, std::map< Identifier, const SCT_RDORawData*> > m_globalmapOfRDOsPerModule;
-
-
-  /// The input object.
-  std::vector<const SCT_RDORawData* >::const_iterator m_rdoItr;
-  std::vector<const SCT_RDORawData* >::const_iterator m_rdoEnd;
-
-
-  std::vector<const SCT_RDORawData*> m_sctRDOForAssociation;
-
-
-}; // class SCTClusterSCTRDOAssociationTool
-
- 
-} // namespace D3PD
- 
-#endif // not SCTCLUSTERSCTRDOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.cxx
deleted file mode 100644
index 9eb15627105..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.cxx
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTClusterToTrackParticleAssociationTool.h"
- 
-#include "AthenaKernel/errorcheck.h"
-#include "Particle/TrackParticle.h"
-#include "Particle/TrackParticleContainer.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "xAODEventInfo/EventInfo.h"
-
- 
-namespace D3PD {
- 
-  SCTClusterToTrackParticleAssociationTool::SCTClusterToTrackParticleAssociationTool (const std::string& type,
-								  const std::string& name,
-								  const IInterface* parent)
-    : Base (type, name, parent),
-      m_tr(0),
-      m_eventNumber(0)
-  {
-    declareProperty ("TrackParticleContainerSGKey", m_TrackParticleContainer = "TrackParticleCandidate");
-  }
-
- 
-  StatusCode SCTClusterToTrackParticleAssociationTool::initialize()
-  {
- 
-    CHECK( Base::initialize() );
-
-    m_tr = 0;
-    m_eventNumber = -1;
-
-    return StatusCode::SUCCESS;
-  }
- 
- 
-  StatusCode SCTClusterToTrackParticleAssociationTool::book ()
-  {
- 
-    CHECK( Base::book() );
-
-    return StatusCode::SUCCESS;
-  }
-
-
-  StatusCode SCTClusterToTrackParticleAssociationTool::reset(const InDet::SCT_Cluster& cluster)
-  {
- 
-    //REPORT_MESSAGE (MSG::DEBUG) << "EnterReset";
-
-    // Get Track Collections
-    // Should be using Getter tools intead of StoreGate
-    // -- Tracks
-
-    m_trackParticleForAssoc.clear();
-  
-    StatusCode sc = StatusCode::SUCCESS;
-
-    const xAOD::EventInfo* eventInfo = nullptr;
-    sc = evtStore()->retrieve(eventInfo);
-    if (sc.isFailure())
-      {
-        REPORT_MESSAGE  (MSG::ERROR) << "Could not retrieve event info";
-      }
-    int eventNumber = (int)eventInfo->eventNumber();
-
-
-    // FIXME: Obviously bogus! Should catch an incident.
-    if (m_eventNumber != eventNumber ){ // tretrieve only once!
-
-      m_eventNumber = eventNumber;
-     
-      m_trackParticleMap.clear();
-
-      sc = evtStore()->retrieve(m_tr, m_TrackParticleContainer);
-      if(sc.isFailure() || !m_tr) {
-	REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve TrackParticleContainer";
-	return StatusCode::FAILURE;
-      }
-      else {
-
-        
-	Rec::TrackParticleContainer::const_iterator trItr = m_tr->begin();
-	for( ; trItr!=m_tr->end(); trItr++){
-
-
-	  const Trk::Track *track = (*trItr)->originalTrack();
-	  if ( !track ){
-	    //REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-	    continue;
-	  }
-	  std::vector< Identifier> sctClusterIdentifier;
-
-	  const DataVector<const Trk::TrackStateOnSurface>* trackHits = track->trackStateOnSurfaces();
-
-	  if (!trackHits){
-	    //REPORT_MESSAGE (MSG::DEBUG) << "REVERSE TESTASSOC for current track measurementsOntrack == Null, no clusters will be associated with this track";
-	    continue;
-	  }
-
-	  DataVector<const Trk::TrackStateOnSurface>::const_iterator it = trackHits->begin();
-
-	  for ( ; it != trackHits->end(); it++){
-
-	    const InDet::SiClusterOnTrack *clus = dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack());
-
-	    if (clus){
-
-	      const Trk::TrkDetElementBase* detectorElement = clus->detectorElement();
-	      // Dynamic cast to Silicon element and do Pixel / SCT element test
-	      const InDetDD::SiDetectorElement* siliconDetectorElement = dynamic_cast< const InDetDD::SiDetectorElement* >(detectorElement);
-	      if ( siliconDetectorElement ){
-
-		// Get Pointer to prepRawDataObject
-		const InDet::SCT_Cluster *RawDataClus = dynamic_cast<const InDet::SCT_Cluster*>(clus->prepRawData());
-
-		// check if Cluster is in SCT ...
-		if (RawDataClus!=0){
-		  if (RawDataClus->detectorElement()->isSCT()){
-
-		    //REPORT_MESSAGE (MSG::DEBUG) << "REVERSE TESTASSOC SiHIT via prepRawData";
-
-		    Identifier sctClusterID = RawDataClus->identify();
-		    sctClusterIdentifier.push_back(sctClusterID);
-		    //REPORT_MESSAGE (MSG::DEBUG) << "(2)REVERSE TESTASSOC TSoS-Type is: "<<   (*it)->types().to_ulong();
-
-		  } // isSCT
-		} // RawDataClus
-	      } // siliconDetectorElement
-	      else {
-                //REPORT_MESSAGE (MSG::DEBUG) << "REVERSE TESTASSOC can't cast to siliconDetElement!!!!";
-              }
-	    } // clus
-	  } // TSoS loop
-
-	  m_trackParticleMap.insert(std::pair<const Rec::TrackParticle*, std::vector<Identifier> >(*trItr,sctClusterIdentifier));
-
-	} // track loop 
-      } // if trackParticle is properly retrieved
-    } // if !m_tr
-
-    // reverse logic compare to TrackSCTClusterAssociationTool
-
-    Identifier clusterId = cluster.identify();
-
-    std::map< const Rec::TrackParticle*, std::vector<Identifier> >::const_iterator mapIt = m_trackParticleMap.begin();
-    for( ; mapIt!=m_trackParticleMap.end(); mapIt++){
-
-
-      if ( find(mapIt->second.begin(),mapIt->second.end(),clusterId)!= mapIt->second.end() ){
-	m_trackParticleForAssoc.push_back(mapIt->first);
-      }
-    }
-
-    m_pItr = m_trackParticleForAssoc.begin();
-    m_pEnd = m_trackParticleForAssoc.end();
-      
-    //REPORT_MESSAGE (MSG::DEBUG) << "LeavingReset";
-
-    return StatusCode::SUCCESS;
-  }
-  //---------------------------------------------------------------------------------------------
-  const Rec::TrackParticle* SCTClusterToTrackParticleAssociationTool::next(){
-
-    //REPORT_MESSAGE (MSG::DEBUG) << "EnterNext";
-
-    if(m_pItr==m_pEnd){
-
-      //m_trackParticleMap.clear();
-      //m_trackParticleForAssoc.clear();
-      //m_tr=0;
-
-      return 0;
-    }
-
-    const Rec::TrackParticle *trackParticle = *m_pItr;
-
-    m_pItr++;
-
-    //REPORT_MESSAGE (MSG::DEBUG) << "LeavingNext";
-    return trackParticle;
-  }
-
- 
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.h
deleted file mode 100644
index cd15a001653..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTClusterToTrackParticleAssociationTool.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTCLUSTERTOTRACKPARTICLEASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_SCTCLUSTERTOTRACKPARTICLEASSOCIATIONTOOL_H
- 
-#include "D3PDMakerUtils/MultiAssociationTool.h"
- 
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-#include <map>
-
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-#include "Particle/TrackParticleContainer.h"
-
-
-namespace Rec{
-  class TrackParticle;
-}
-
-
-namespace Trk{
-  class Track;
-  class TrackStateOnSurface;
-}
-
-namespace InDet {
-  class SCT_Cluster;
-  class SiCluster;
-}
-
-
-
-namespace D3PD {
- 
-  class SCTClusterToTrackParticleAssociationTool
-    : public MultiAssociationTool<InDet::SCT_Cluster, Rec::TrackParticle>
-    {
-    public:
-      typedef MultiAssociationTool<InDet::SCT_Cluster, Rec::TrackParticle> Base;
- 
-      SCTClusterToTrackParticleAssociationTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent);
- 
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-
-      virtual StatusCode reset(const InDet::SCT_Cluster& cluster);
-
-      virtual const Rec::TrackParticle* next();
-
-    private:
-
-      const Rec::TrackParticleContainer* m_tr;
-      int m_eventNumber;
-      std::map< const Rec::TrackParticle*, std::vector<Identifier> > m_trackParticleMap;
-
-      // StoreGate keys
-      std::string m_TrackParticleContainer;
- 
-
-      std::vector<const Rec::TrackParticle* >::const_iterator m_pItr;
-      std::vector<const Rec::TrackParticle* >::const_iterator m_pEnd;
-      std::vector<const Rec::TrackParticle* > m_trackParticleForAssoc;
-
-
-      // NTuple variables 
- 
- 
-    }; // class SCTClusterToTrackParticleAssociationTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_SCTCLUSTERTOTRACKPARTICLEASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.cxx
deleted file mode 100644
index fa0b44c3146..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.cxx
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTRDOClusterAssociationTool.h"
- 
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-#include "InDetIdentifier/SCT_ID.h"
-#include "xAODEventInfo/EventInfo.h"
-
-
-namespace D3PD {
- 
-  SCTRDOClusterAssociationTool::SCTRDOClusterAssociationTool (const std::string& type,
-							      const std::string& name,
-							      const IInterface* parent)
-    : Base (type, name, parent),
-      m_cl(0),
-      m_eventNumber(0),
-      m_sctId(0)
-  {
-    declareProperty ("ClusterConteinerKey", m_clusterContainer = "SCT_Clusters");
-  }
-
- 
-  StatusCode SCTRDOClusterAssociationTool::initialize()
-  {
-    CHECK( Base::initialize() );
-    CHECK( detStore()->retrieve(m_sctId,"SCT_ID") );
-    CHECK( m_SCTDetEleCollKey.initialize() );
-
-    m_eventNumber = -1;
-    return StatusCode::SUCCESS;
-  }
- 
- 
-  StatusCode SCTRDOClusterAssociationTool::book ()
-  {
- 
-    //CHECK( addVariable ("", m_variable) );
- 
-    return StatusCode::SUCCESS;
-  }
-
-
-  const InDet::SCT_Cluster* SCTRDOClusterAssociationTool::get (const SCT_RDORawData& rdo)
-  {
- 
-    // Get Track Collections
-    // Should be using Getter tools intead of StoreGate
-    // -- Tracks
-
-    const InDet::SCT_Cluster *cluster = 0; 
-
-    Identifier rdoId = rdo.identify();
-    int rdoTmpID = tempmoduleid(rdoId);
-    if ( !rdoTmpID ){ 
-      REPORT_MESSAGE (MSG::ERROR) <<" Could not calculate tempID";
-      return 0;
-    }
-
-    const xAOD::EventInfo* eventInfo;
-    StatusCode sc = evtStore()->retrieve(eventInfo);
-    if (sc.isFailure())
-      {
-	REPORT_MESSAGE  (MSG::ERROR) << "Could not retrieve event info";
-	return 0;
-      }
-    int eventNumber = (int)eventInfo->eventNumber();
-
-    if ( m_eventNumber != eventNumber ) {
-
-      m_eventNumber = eventNumber;  
-      m_rdoClusterMap.clear();
-
-      StatusCode sc = evtStore()->retrieve(m_cl, m_clusterContainer);  
-      if(sc.isFailure() || !m_cl) {
-	REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve Track Collection";
-	return 0;
-      }
-
-
-      InDet::SCT_ClusterContainer::const_iterator clItr = m_cl->begin();
-      for( ; clItr!=m_cl->end(); clItr++){
-
-	InDet::SCT_ClusterCollection::const_iterator rioItr = (*clItr)->begin();
-	for (; rioItr != (*clItr)->end(); rioItr++) {
-
-
-	  //const std::vector<Identifier>& rdoList = (*rioItr)->rdoList();
-
-	  Identifier clIdentifier = (*rioItr)->identify();
-
-	  int tmpID = tempmoduleid( clIdentifier );
-	  if ( !tmpID ) {
-
-	    REPORT_MESSAGE (MSG::ERROR) << "could not calculater tmpID for cluster"; 
-	    continue; 
-
-	  }
-
-	  std::vector< const InDet::SCT_Cluster* > sctClusterIdentifier; 
-	  //sctClusterIdentifier.insert(sctClusterIdentifier.end(),rdoList.begin(),rdoList.end());
-	  sctClusterIdentifier.push_back ( (*rioItr) );
-	  if ( m_rdoClusterMap.find(tmpID) == m_rdoClusterMap.end() ){
-
-	    m_rdoClusterMap.insert(std::pair< int, std::vector<const InDet::SCT_Cluster*> >(tmpID,sctClusterIdentifier) );
-
-	  }
-	  else{
-	    m_rdoClusterMap[tmpID].push_back( (*rioItr) );
-
-	  }
-	} // Cluster Collection Loop
-      } // cluster container loop 
-    }// one per event
-
-    if (  m_rdoClusterMap.find(rdoTmpID) != m_rdoClusterMap.end() ){
-
-      std::vector< const InDet::SCT_Cluster *> cloi = m_rdoClusterMap[rdoTmpID];
-      for( std::vector< const InDet::SCT_Cluster* >::iterator vIt = cloi.begin(); vIt!=cloi.end(); vIt++){
-
-	const std::vector<Identifier>& rdoList = (*vIt)->rdoList();
-
-	if ( find(rdoList.begin(),rdoList.end(),rdoId)!= rdoList.end() )
-	  cluster = (*vIt);
-
-	if ( cluster ) break;
-
-      }//vector loop
-
-    } // if module is in the map
-
-    return cluster;
-  }
-
-  int SCTRDOClusterAssociationTool::tempmoduleid( Identifier id ){
-
-    int intbuf = 0;
-    int bec = (int)m_sctId->barrel_ec(id);
-    int bec1 = bec;
-    int layer = (int)m_sctId->layer_disk(id);
-    int phi_module = (char)m_sctId->phi_module(id);
-    int eta_module = (char)m_sctId->eta_module(id);
-    int eta_module1 = eta_module;
-    int side = (int)m_sctId->side(id);
-    int firstPrefix = 1;
-    if ( bec != 0 ){
-      firstPrefix = 2;
-        if ( bec < 0 ) bec1 = bec*(-1);
-    }
-    int secondPrefix = 2;
-    if ( eta_module < 0 ){
-      secondPrefix = 1;
-      eta_module1 = eta_module*(-1);
-    }
-
-    char buf[1024];
-    intbuf = 0;
-    sprintf(buf,"%i%i%i%i%i%i%i",firstPrefix,secondPrefix,side,bec1,layer,eta_module1,phi_module);
-    //if(!(from_string<int>(intbuf, std::string(buf), std::dec))){
-    if ( EOF == sscanf(buf, "%i", &intbuf) ){
-      REPORT_MESSAGE (MSG::ERROR) <<" Cannot convert string to int...";
-      return 0;
-    }
-
-    return intbuf;
-  }
-
- 
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.h
deleted file mode 100644
index 23996a47a05..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOClusterAssociationTool.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTRDOCLUSTERASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_SCTRDOCLUSTERASSOCIATIONTOOL_H
- 
-#include "D3PDMakerUtils/SingleAssociationTool.h"
- 
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/ReadCondHandleKey.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include "InDetRawData/InDetRawDataContainer.h"
-#include "InDetRawData/InDetRawDataCollection.h"
-#include "InDetRawData/SCT_RDO_Container.h"
-#include "InDetRawData/SCT_RDO_Collection.h"
-#include "InDetRawData/SCT_RDORawData.h"
-#include "InDetRawData/SCT_RDO_Collection.h" // Needed to pick up CLID.
-#include "InDetReadoutGeometry/SiDetectorElementCollection.h"
-
-#include <stdio.h>
-#include <iostream>
-#include <string>
-
-
-class SCT_ID;
-
-
-namespace InDet {
-  class SCT_Cluster;
-  class SiCluster;
-}
-
-
-namespace D3PD {
- 
-  class SCTRDOClusterAssociationTool
-    : public SingleAssociationTool<SCT_RDORawData, InDet::SCT_Cluster>
-    {
-    public:
-      typedef SingleAssociationTool<SCT_RDORawData, InDet::SCT_Cluster> Base;
- 
-      SCTRDOClusterAssociationTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent);
- 
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-
-
-      virtual const InDet::SCT_Cluster* get (const SCT_RDORawData& rdo);
-
-    private:
-
-      int tempmoduleid( Identifier id );
-      const InDet::SCT_ClusterContainer *m_cl;
-      std::map< int, std::vector< const InDet::SCT_Cluster* > > m_rdoClusterMap; 
-      int m_eventNumber;
-      const SCT_ID* m_sctId;
-
-
-      // StoreGate keys
-      std::string m_clusterContainer;
-
-      // Read Cond Handle
-      // For P->T converter of SCT_Clusters
-      SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
- 
-      // NTuple variables 
- 
-
-    }; // class SCTRDOClusterAssociationTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_SCTRDOCLUSTERASSOCIATIONTOOL_H
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.cxx
deleted file mode 100644
index 23a3b460f30..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.cxx
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTRDOCollectionGetterTool.h"
-#include "GaudiKernel/MsgStream.h"
-
-
-namespace D3PD {
-
-SCTRDOCollectionGetterTool::SCTRDOCollectionGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-StatusCode SCTRDOCollectionGetterTool::initialize()
-{
-  CHECK( Base::initialize() );
-
-  // Get Particle Data Table
-
-  return StatusCode::SUCCESS;
-}
-
-const std::type_info& SCTRDOCollectionGetterTool::typeinfo() const
-{
-  //return typeid(SCT_RDO_Container);
-  return typeid(SCT_RDO_Container);
-}
-
-
-const std::type_info& SCTRDOCollectionGetterTool::elementTypeinfo() const
-{
-  return typeid(SCT_RDORawData);
-}
-
-
-size_t SCTRDOCollectionGetterTool::sizeHint(bool allowMissing)
-{
-
-  const SCT_RDO_Container* cont = get(allowMissing);
-
-
-  if (!cont) {
-    return 0;
-  }
-
-  int nRDOs = 0;
-
-  SCT_RDO_Container::const_iterator col_It  = cont->begin();
-  SCT_RDO_Container::const_iterator lastCol = cont->end();
-  for( ; col_It!= lastCol ; ++col_It){
-
-     const SCT_RDO_Collection* SCT_Collection(*col_It);
-     if (!SCT_Collection) continue;  // select only SCT RDOs
-     nRDOs += SCT_Collection->size();
-   }
-
-  return nRDOs;
-}
-
-
-StatusCode SCTRDOCollectionGetterTool::reset(bool allowMissing)
-{
-  
-  const SCT_RDO_Container* cont = get(allowMissing);
-
-  if (!cont) {
-    m_contItr = m_contEnd;
-    m_collItr = m_collEnd;
-    return StatusCode::FAILURE;
-  }
-
-  m_contItr = cont->begin();
-  m_contEnd = cont->end();
-
-  if(m_contItr == m_contEnd){
-    m_collItr = m_collEnd;
-    return StatusCode::SUCCESS;
-  }
-
-  m_collItr = (*m_contItr)->begin();
-  m_collEnd = (*m_contItr)->end();
-
-  return StatusCode::SUCCESS;
-}
-
-const void* SCTRDOCollectionGetterTool::nextUntyped()
-{
-
-  const SCT_RDORawData* rawDataObject = 0;
-
-  do{
-
-    if(m_contItr == m_contEnd){
-      return 0;
-    }
-
-    if (m_collItr == m_collEnd)
-      rawDataObject = 0;
-    else {
-      rawDataObject = *m_collItr;
-      m_collItr++;
-    }
-
-    if(m_collItr == m_collEnd){
-      m_contItr++;
-      if(m_contItr != m_contEnd){
-	m_collItr = (*m_contItr)->begin();
-	m_collEnd = (*m_contItr)->end();
-      }
-    }
-
-  } while(!rawDataObject);
-
-  return rawDataObject;
-
-}
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<SCT_RDO_Container>::elementTypeinfo() const
-{
-  return typeid(SCT_RDORawData);
-}
-
-template<>
-const void*
-CollectionGetterTool<SCT_RDO_Container>::nextUntyped()
-{
-  return 0;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.h
deleted file mode 100644
index 4f8243f04a4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOCollectionGetterTool.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTRDOCOLLECTIONGETTERTOOL_H
-#define INDETD3PDMAKER_SCTRDOCOLLECTIONGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-
-#include "AthenaKernel/CLASS_DEF.h"
-#include "InDetRawData/InDetRawDataContainer.h"
-#include "InDetRawData/InDetRawDataCollection.h"
-#include "InDetRawData/SCT_RDO_Container.h"
-#include "InDetRawData/SCT_RDO_Collection.h"
-#include "InDetRawData/SCT_RDORawData.h"
-#include "InDetRawData/SCT_RDO_Collection.h" // Needed to pick up CLID.
-
-class SCT_ID;
-
-
-namespace D3PD {
-
-class SCTRDOCollectionGetterTool
-  : public D3PD::SGCollectionGetterTool<SCT_RDO_Container>
-{
-public:
-  typedef D3PD::SGCollectionGetterTool<SCT_RDO_Container> Base;
-
-  SCTRDOCollectionGetterTool (const std::string& type,
-			const std::string& name,
-			const IInterface* parent);
-
-  StatusCode initialize();
-  size_t sizeHint(bool=false);
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-
-  const std::type_info& typeinfo() const;
-  const std::type_info& elementTypeinfo() const;
-
-private:
-
-  /* Container iterators **/
-  SCT_RDO_Container::const_iterator m_contItr;
-  SCT_RDO_Container::const_iterator m_contEnd;
-
-  /* Collection iterators **/
-  SCT_RDO_Collection::const_iterator m_collItr;
-  SCT_RDO_Collection::const_iterator m_collEnd;
- 
-}; // class SCTRDOCollectionGetterTool
-
-// Dummies --- the default versions of these don't compile.
-// But these are overridden by the derived class here.
-template<>
-const std::type_info&
-CollectionGetterTool<SCT_RDO_Container>::elementTypeinfo() const;
-
-template<>
-const void*
-CollectionGetterTool<SCT_RDO_Container>::nextUntyped();
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_SCTRDOCOLLECTIONGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.cxx
deleted file mode 100644
index 29fdf580552..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.cxx
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SCTRDOFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
- 
- 
-namespace D3PD {
-
-SCTRDOFillerTool::SCTRDOFillerTool (const std::string& type,
-                                     const std::string& name,
-                                     const IInterface* parent)
-  : SCTRDOFillerBase (type, name, parent),
-    m_sctId(0)
-{
-  book().ignore();  // Avoid coverity warnings.
-}
- 
-StatusCode SCTRDOFillerTool::initialize()
-{
-
-CHECK( SCTRDOFillerBase::initialize() );
-
- if (detStore()->retrieve(m_sctId,"SCT_ID").isFailure() ){
-   REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve SCT ID helper";
-   return StatusCode::FAILURE;
- }
-
-return StatusCode::SUCCESS;
-}
- 
-StatusCode SCTRDOFillerTool::book()
-{
-
-  //CHECK( addVariable ("nRDO", m_nRDO) );
-  //CHECK( addVariable ("time_ns", m_timeNanoSec) );
-  //CHECK( addVariable ("isOnTrack", m_isOnTrack) );
-
-  CHECK( addVariable ("bec", m_bec) );
-  CHECK( addVariable ("layer" ,m_layer) );
-  CHECK( addVariable ("moduleEta", m_moduleEta) );
-  CHECK( addVariable ("modulePhi", m_modulePhi) );
-  CHECK( addVariable ("moduleSide", m_moduleSide) );
-  CHECK( addVariable ("firstStrip", m_firstStrip) );
-  CHECK( addVariable ("nStripsOnWafer", m_nStripsOnWafer) );
-  CHECK( addVariable ("timeBin", m_tbin) );
-
-
-  return StatusCode::SUCCESS;
-}
- 
-StatusCode SCTRDOFillerTool::fill (const SCT_RDORawData& sctRdo)
-{
-
-  this->clearData();
-
-  const SCT_RDORawData *p_sctRdo = &sctRdo;
-
-  const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData*>(p_sctRdo);
-  if (rdo3!=0)
-    *m_tbin = rdo3->getTimeBin();
-  else *m_tbin = -1;
-      
-  Identifier SCT_Identifier = sctRdo.identify();
-  *m_bec = m_sctId->barrel_ec(SCT_Identifier);
-  *m_layer = m_sctId->layer_disk(SCT_Identifier);
-  *m_modulePhi = m_sctId->phi_module(SCT_Identifier);
-  *m_moduleEta = m_sctId->eta_module(SCT_Identifier);
-  *m_moduleSide = m_sctId->side(SCT_Identifier);
-  *m_firstStrip = m_sctId->strip(SCT_Identifier);
-  *m_nStripsOnWafer = sctRdo.getGroupSize();
-  //*m_isOnTrack = 0;
-
-   return StatusCode::SUCCESS;
-}
- 
-void SCTRDOFillerTool::clearData(){
-
-  //*m_nRDO = -9999;
-  //*m_timeNanoSec = -9999;
-  //*m_isOnTrack = -9999;
-
-  *m_bec = -9999;
-  *m_layer = -9999;
-  *m_moduleEta = -9999;
-  *m_modulePhi = -9999;
-  *m_moduleSide = -9999;
-  *m_firstStrip = -9999;
-  *m_nStripsOnWafer = -9999;
-  *m_tbin = -9999;
-
-}
-
- 
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.h
deleted file mode 100644
index fa6abdcb74d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTRDOFillerTool.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SCTRDOFILLERTOOL_H
-#define INDETD3PDMAKER_SCTRDOFILLERTOOL_H
- 
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include <vector>
- 
-
-//#include "InDetRawData/SCT_RDO_Collection.h"
-#include "InDetRawData/SCT_RDO_Container.h"
-#include "InDetRawData/SCT_RDORawData.h"
-#include "InDetRawData/SCT3_RawData.h"
-
-#include "Identifier/Identifier.h"
-#include "InDetIdentifier/SCT_ID.h"
-
-class SCT_ID;
-
-namespace D3PD {
-
-
-
-class SCTRDOFillerTool
-  : public  D3PD::BlockFillerTool<SCT_RDORawData> 
-  {
-  public:
-    
-    typedef D3PD::BlockFillerTool<SCT_RDORawData> SCTRDOFillerBase;
-    SCTRDOFillerTool (const std::string& type,
-                     const std::string& name,
-                     const IInterface* parent);
- 
-   virtual StatusCode initialize();
-   virtual StatusCode book();
- 
-   virtual StatusCode fill (const SCT_RDORawData& p);
- 
- private:
- 
-   void clearData();
-
-   const SCT_ID* m_sctId;
-
- 
-   /* NTuple variables **/
-   //int *m_nRDO;
-   //float *m_timeNanoSec;
-   //int *m_isOnTrack; 
-   int *m_bec;
-   int *m_layer;
-   int *m_moduleEta;
-   int *m_modulePhi;
-   int *m_moduleSide;
-   int *m_firstStrip;
-   int *m_nStripsOnWafer;
-   int *m_tbin;
- 
-  }; // class SCTRDOFillerTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_SCTRDOFILLERTOOL_H
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.cxx
deleted file mode 100644
index 887e2442f20..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.cxx
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-//********************************************************/
-// @author <laura.rehnisch@cern.ch>                       /
-// @date Nov, 2012                                        /
-// @brief setting up an association of trackparticles     /
-//        and muons.                                      /
-//********************************************************/
-
-
-#include "SCTTrackParticleToMuonAssociationTool.h"
-#include "Particle/TrackParticle.h"
-#include "muonEvent/MuonContainer.h"
-#include "AthenaKernel/errorcheck.h"
-
-#include <cmath>
-
-using namespace Analysis;
-
-namespace D3PD {
-  
-  SCTTrackParticleToMuonAssociationTool::SCTTrackParticleToMuonAssociationTool (const std::string& type,
-										const std::string& name,
-										const IInterface* parent)
-    : Base (type, name, parent)
-  {
-    declareProperty ("MuonContainerSGKey", m_muonContainer = "muonCandidate");//dummy, SGKey defined in SCTntuple.py
-  }
-
- 
-  StatusCode SCTTrackParticleToMuonAssociationTool::initialize()
-  {
-    CHECK( Base::initialize() ); 
-    return StatusCode::SUCCESS; 
-  }
- 
- 
-  StatusCode SCTTrackParticleToMuonAssociationTool::book ()
-  {
-    CHECK( Base::book() );
-    return StatusCode::SUCCESS;
-  }
-
-
-  const Analysis::Muon* SCTTrackParticleToMuonAssociationTool::get (const Rec::TrackParticle& TP)
-  {
-    const Analysis::Muon *muon = 0; 
-      
-    /// access to MuonTracks
-    const MuonContainer* muonsForCombination=0;
-    if (evtStore()->retrieve(muonsForCombination, m_muonContainer).isFailure()){
-      REPORT_MESSAGE  (MSG::WARNING) << "No AOD muon container found in TDS";
-      return 0;
-    }
-      
-    // check if muons in container
-    for (const Analysis::Muon* cmuon : *muonsForCombination) {
-      /// the Inner Detector track
-      if ( cmuon->hasInDetTrackParticle() &&
-           std::abs(TP.pt() - cmuon->inDetTrackParticle()->pt()) < 0.01) { 
-        muon = cmuon;
-      }
-	  
-    } //muon container loop
-	
-    return muon;
-  }// get()
-  
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.h
deleted file mode 100644
index 17ed111e91f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
- * @file InDetD3PDMaker/src/SCTTrackParticleToMuonAssociationTool.cxx
- * @author <laura.rehnisch@cern.ch>
- * @date Nov, 2012
- * @brief setting up an association of trackparticles
- *        and muons.
- */
-#ifndef INDETD3PDMAKER_SCTTRACKPARTICLETOMUONASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_SCTTRACKPARTICLETOMUONASSOCIATIONTOOL_H
- 
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "muonEvent/Muon.h"
-
-namespace Rec {
-  class TrackParticle;
-}
-
-namespace D3PD {
- 
-  class SCTTrackParticleToMuonAssociationTool
-    : public SingleAssociationTool<Rec::TrackParticle, Analysis::Muon>
-    {
-    public:
-      typedef SingleAssociationTool<Rec::TrackParticle, Analysis::Muon> Base; 
-
-      SCTTrackParticleToMuonAssociationTool (const std::string& type,
-                                             const std::string& name,
-                                             const IInterface* parent);
- 
-      virtual StatusCode initialize();
-      virtual StatusCode book();
-
-
-      virtual const Analysis::Muon* get (const Rec::TrackParticle& trackparticle);
-
-    private:
-      // StoreGate keys
-      std::string m_muonContainer;
-
-    }; // class SCTTrackParticleToMuonAssociationTool
- 
-} // namespace D3PD
- 
-#endif // not INDETD3PDMAKER_SCTTRACKPARTICLETOMUONASSOCIATIONTOOL_H
-
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx
deleted file mode 100644
index fc50dc610a7..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "SiHitFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-//#include "InDetReadoutGeometry/SiDetectorElement.h"
-//#include "InDetIdentifier/PixelID.h"
-//#include "InDetPrepRawData/PixelCluster.h"
-//#include "TrkEventPrimitives/ErrorMatrix.h"
-#include "AtlasHepMC/GenParticle.h"
-//#include "GeoAdaptors/GeoSiHit.h"
-
-/*
-using HepGeom::Point3D;
-
-
-namespace D3PD {
-
-
-SiHitFillerTool::SiHitFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<SiHit> (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode SiHitFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // if (detStore()->retrieve(m_pixId,"PixelID").isFailure() ){
-  //  REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve pixel ID helper";
-  //  return StatusCode::FAILURE;
-  //}
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode SiHitFillerTool::book(){
-
-  CHECK( addVariable ("identifier", m_identifier) );
-  CHECK( addVariable ("localStartPos_x",m_localStartPos_x) );
-  CHECK( addVariable ("localStartPos_y",m_localStartPos_y) );
-  CHECK( addVariable ("localStartPos_z",m_localStartPos_z) );
-
-  CHECK( addVariable ("localEndPos_x",m_localEndPos_x) );
-  CHECK( addVariable ("localEndPos_y",m_localEndPos_y) );
-  CHECK( addVariable ("localEndPos_z",m_localEndPos_z) );
-
-  CHECK( addVariable ("globalPos_x",m_globalPos_x) );
-  CHECK( addVariable ("globalPos_y",m_globalPos_y) );
-  CHECK( addVariable ("globalPos_z",m_globalPos_z) );
-  CHECK( addVariable ("globalPos_r",m_globalPos_r) );
-
-  CHECK( addVariable ("energyLoss",m_energyLoss) );
-  CHECK( addVariable ("meanTime",m_meanTime) );
-  CHECK( addVariable ("trackNumber",m_trackNumber) );
-  CHECK( addVariable ("isPixel",m_isPixel) );
-  CHECK( addVariable ("isSCT",m_isSCT) );
-  CHECK( addVariable ("BarrelEndcap",m_BarrelEndcap) );
-
-  CHECK( addVariable ("m_LayerDisk",m_LayerDisk) );
-  CHECK( addVariable ("EtaModule",m_EtaModule) );
-  CHECK( addVariable ("PhiModule",m_PhiModule) );
-  CHECK( addVariable ("Side",m_Side) );
-
-  CHECK( addVariable ("TruthBarcode",m_truthbarcode) );
- 
-  CHECK( addVariable ("TruthBarcode2",m_truthbarcode2) );
-
-
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode SiHitFillerTool::fill (const SiHit& hit)
-{
-
-  //REPORT_MESSAGE (MSG::DEBUG) << "got hit";
-
-
-  *m_identifier=hit.identify();
-
-  const Point3D<double>& startPos=hit.localStartPosition();
-  *m_localStartPos_x=startPos.x();
-  *m_localStartPos_y=startPos.y();
-  *m_localStartPos_z=startPos.z();
-
- const Point3D<double>& endPos=hit.localEndPosition();
-  *m_localEndPos_x=endPos.x();
-  *m_localEndPos_y=endPos.y();
-  *m_localEndPos_z=endPos.z();
-
-  GeoSiHit ghit(hit);
-  const Point3D<double>& globalPos=ghit.getGlobalPosition();
-  *m_globalPos_x = globalPos.x();
-  *m_globalPos_y = globalPos.y();
-  *m_globalPos_z = globalPos.z();
-  *m_globalPos_r = globalPos.perp();
-
-  *m_energyLoss=hit.energyLoss();
-  *m_meanTime=hit.meanTime();
-  *m_trackNumber=hit.trackNumber();
-  //const HepMcParticleLink & 	particleLink () const
-  *m_isPixel=hit.isPixel();
-  *m_isSCT=hit.isSCT();
-  *m_BarrelEndcap=hit.getBarrelEndcap();
-  *m_LayerDisk=hit.getLayerDisk();
-  *m_EtaModule=hit.getEtaModule();
-  *m_PhiModule=hit.getPhiModule();
-  *m_Side=hit.getSide(); 
-
-  const HepMcParticleLink& mcLink = hit.particleLink();
-  *m_truthbarcode2 = mcLink.barcode();
-
-  const HepMC::GenParticle* genPart= mcLink.cptr();
-  if(genPart){
-   *m_truthbarcode = genPart->barcode();
-  }else{
-   *m_truthbarcode=-999;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-} // namespace D3PD
-*/
-
-
-using HepGeom::Point3D;
-
-
-namespace D3PD {
-
-
-SiHitFillerTool::SiHitFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<SiHit> (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode SiHitFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // if (detStore()->retrieve(m_pixId,"PixelID").isFailure() ){
-  //  REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve pixel ID helper";
-  //  return StatusCode::FAILURE;
-  //}
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode SiHitFillerTool::book(){
-
-  CHECK( addVariable ("identifier", m_identifier) );
-  CHECK( addVariable ("localStartPos_x",m_localStartPos_x) );
-  CHECK( addVariable ("localStartPos_y",m_localStartPos_y) );
-  CHECK( addVariable ("localStartPos_z",m_localStartPos_z) );
-
-  CHECK( addVariable ("localEndPos_x",m_localEndPos_x) );
-  CHECK( addVariable ("localEndPos_y",m_localEndPos_y) );
-  CHECK( addVariable ("localEndPos_z",m_localEndPos_z) );
-
-  CHECK( addVariable ("globalPos_x",m_globalPos_x) );
-  CHECK( addVariable ("globalPos_y",m_globalPos_y) );
-  CHECK( addVariable ("globalPos_z",m_globalPos_z) );
-  CHECK( addVariable ("globalPos_r",m_globalPos_r) );
-
-  CHECK( addVariable ("energyLoss",m_energyLoss) );
-  CHECK( addVariable ("meanTime",m_meanTime) );
-  CHECK( addVariable ("trackNumber",m_trackNumber) );
-  CHECK( addVariable ("isPixel",m_isPixel) );
-  CHECK( addVariable ("isSCT",m_isSCT) );
-  CHECK( addVariable ("BarrelEndcap",m_BarrelEndcap) );
-
-  CHECK( addVariable ("m_LayerDisk",m_LayerDisk) );
-  CHECK( addVariable ("EtaModule",m_EtaModule) );
-  CHECK( addVariable ("PhiModule",m_PhiModule) );
-  CHECK( addVariable ("Side",m_Side) );
-
-  CHECK( addVariable ("TruthBarcode",m_truthbarcode) );
- 
-  CHECK( addVariable ("TruthBarcode2",m_truthbarcode2) );
-
-
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode SiHitFillerTool::fill (const SiHit& /*hit*/)
-{
-
-  //REPORT_MESSAGE (MSG::DEBUG) << "got hit";
-
-
-  *m_identifier=1;
-
-  //const Point3D<double>& startPos=hit.localStartPosition();
-  *m_localStartPos_x=1.0;
-  *m_localStartPos_y=1.0;
-  *m_localStartPos_z=1.0;
-
-  //const Point3D<double>& endPos=hit.localEndPosition();
-  *m_localEndPos_x=1.0;
-  *m_localEndPos_y=1.0;
-  *m_localEndPos_z=1.0;
-
-  //GeoSiHit ghit(hit);
-  //const Point3D<double>& globalPos=ghit.getGlobalPosition();
-  *m_globalPos_x = 1.0;
-  *m_globalPos_y = 1.0;
-  *m_globalPos_z = 1.0;
-  *m_globalPos_r = 1.0;
-
-  *m_energyLoss=1.0;
-  *m_meanTime=1.0;
-  *m_trackNumber=1.0;
-  *m_isPixel=1;
-  *m_isSCT=1;
-  *m_BarrelEndcap=1;
-  *m_LayerDisk=1;
-  *m_EtaModule=1;
-  *m_PhiModule=1;
-  *m_Side=1; 
-
-  *m_truthbarcode2 = 1;
-
-
-   *m_truthbarcode = -999;
-
-
-  return StatusCode::SUCCESS;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.h
deleted file mode 100644
index cfb0032b5eb..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SIHITFILLERTOOL_H
-#define INDETD3PDMAKER_SIHITFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "InDetSimEvent/SiHit.h"
-#include "InDetSimEvent/SiHitCollection.h"
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-
-//#include "Identifier/Identifier.h"
-
-class PixelID;
-
-
-
-
-
-namespace D3PD {
-
-class SiHitContainerGetterTool
-   : public D3PD::SGCollectionGetterTool<SiHitCollection>
- {
- public:
-   SiHitContainerGetterTool (const std::string& type,
-                              const std::string& name,
-                              const IInterface* parent)
-     : SGCollectionGetterTool<SiHitCollection>
-          (type, name, parent) {}
- };
- 
-
-class SiHitFillerTool
-  : public D3PD::BlockFillerTool<SiHit>
-{
-public:
-  typedef D3PD::BlockFillerTool<SiHit> Base;
-
-  SiHitFillerTool (const std::string& type,
-			  const std::string& name,
-			  const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const SiHit &hit);
-
-private:
-
-  // const PixelID* m_pixId; 
-
-  /* NTuple variables: **/
-  
-  int 	*m_identifier;
-  float *m_localStartPos_x;
-  float *m_localStartPos_y;
-  float *m_localStartPos_z;
-  float *m_localEndPos_x;
-  float *m_localEndPos_y;
-  float *m_localEndPos_z;
-  float *m_globalPos_x;
-  float *m_globalPos_y;
-  float *m_globalPos_z;
-  float *m_globalPos_r;
-  double *m_energyLoss;
-  double *m_meanTime;
-  int 	*m_trackNumber;
-  //const HepMcParticleLink & 	particleLink () const
-  bool 	*m_isPixel;
-  bool 	*m_isSCT;
-  int 	*m_BarrelEndcap;
-  int 	*m_LayerDisk;
-  int 	*m_EtaModule;
-  int 	*m_PhiModule;
-  int 	*m_Side; 
-  int   *m_truthbarcode;
-  int   *m_truthbarcode2;
-
-
-
-}; // class SiHitFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_SIHITFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx
deleted file mode 100644
index fd8111b8dd9..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
- #include "SiHitTruthAssociationTool.h"
- 
- #include "AthenaKernel/errorcheck.h"
- #include "AtlasHepMC/GenParticle.h"
-//#include "TrkTrack/Track.h"
-//#include "TrkTrack/TrackCollection.h"
-//#include "TrkTruthData/TrackTruthCollection.h"
- #include <map>
- 
- namespace D3PD {
- 
- SiHitTruthAssociationTool::SiHitTruthAssociationTool (const std::string& type,
-                                                             const std::string& name,
-                                                             const IInterface* parent)
-   : Base (type, name, parent)
- {
-   //   declareProperty ("MapKey", m_TruthMap = "TrackTruthMap");
-   //declareProperty ("SGKey", m_TrkContainer = "Tracks");
- }
- 
- 
- StatusCode SiHitTruthAssociationTool::initialize()
- {
- 
-   CHECK( Base::initialize() );
- 
-   // StatusCode sc = service("StoreGateSvc", m_storeGate);
-   //if(sc.isFailure()) {
-   //  return StatusCode::FAILURE;
-   //}
- 
-   return StatusCode::SUCCESS;
- }
- 
- 
- StatusCode SiHitTruthAssociationTool::book ()
- {
-   //CHECK( addVariable ("probability", m_trueProb) );
-   //CHECK( addVariable ("barcode", m_trueBarcode) );
- 
-   return StatusCode::SUCCESS;
- }
- 
-const HepMC::GenParticle* SiHitTruthAssociationTool::get (const SiHit& sihit){
-  const HepMcParticleLink& mcLink = sihit.particleLink();
-const HepMC::GenParticle* genPart= mcLink.cptr();
- std::cout<< "Identifier: "<< sihit.identify();
-  if(genPart){
-	std::cout<<" genPart.barcode: " << genPart->barcode() << " type " << genPart->pdg_id() << " status " << genPart->status();
-        
-	}else {
-	std::cout<<" no genPart ";
-	}
-
- std::cout<< std::endl;
-
-return genPart;
-}
- }
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h
deleted file mode 100644
index 6dd3312120d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_SIHITTRUTHASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_SIHITTRUTHASSOCIATIONTOOL_H
- 
-#include "D3PDMakerUtils/SingleAssociationTool.h"
- 
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "StoreGate/StoreGateSvc.h"
-#include "InDetSimEvent/SiHit.h"
-#include "InDetSimEvent/SiHitCollection.h"
-#include "AtlasHepMC/GenParticle.h"
-
-
-namespace Trk {
- class Track;
- }
- 
- namespace D3PD {
- 
- class SiHitTruthAssociationTool
-   : public SingleAssociationTool<SiHit, HepMC::GenParticle>
- {
- public:
-  typedef SingleAssociationTool<SiHit, HepMC::GenParticle> Base;
- 
-  SiHitTruthAssociationTool (const std::string& type,
-                             const std::string& name,
-                             const IInterface* parent);
- 
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual const HepMC::GenParticle* get (const SiHit& sihit);
-
- private:
- 
-   /* Pointer to storegate **/
-  // StoreGateSvc* m_storeGate;
- 
-  /* StoreGate keys **/
-  //std::string m_TruthMap;
-  //std::string m_TrkContainer;
-
-  /* NTuple variables **/
-  //float* m_trueProb;
-  // int* m_trueBarcode;
- 
- }; // class SiHitTruthAssociationTool
- 
-} // namespace D3PD
- 
- #endif // not INDETD3PDMAKER_SIHITTRUTHASSOCIATIONTOOL_H
- 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.cxx
deleted file mode 100644
index 4d4b0f1ada4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.cxx
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TRTPhaseFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-
-TRTPhaseFillerTool::TRTPhaseFillerTool (const std::string& type,
-					const std::string& name,
-					const IInterface* parent)
-  : D3PD::BlockFillerTool<ComTime> (type, name, parent)
-{
-  book().ignore();  // Avoid coverity warnings.
-}
-
-StatusCode TRTPhaseFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TRTPhaseFillerTool::book(){
-
-  CHECK( addVariable ("Phase", m_TRTPhase) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TRTPhaseFillerTool::fill (const ComTime& theComTime)
-{
-
-  this->clearData();
-
-  *m_TRTPhase =  float(theComTime.getTime());
-
-  return StatusCode::SUCCESS;
-}
-
-void TRTPhaseFillerTool::clearData(){
-
-  *m_TRTPhase = 0;
-
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.h
deleted file mode 100644
index c6249625e0c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTPhaseFillerTool.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_TRTPHASEFILLERTOOL_H
-#define INDETD3PDMAKER_TRTPHASEFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "CommissionEvent/ComTime.h"
-
-
-namespace D3PD {
-
-
-class TRTPhaseFillerTool
-  : public D3PD::BlockFillerTool<ComTime>
-{
-public:
-  typedef D3PD::BlockFillerTool<ComTime> Base;
-
-  TRTPhaseFillerTool (const std::string& type,
-			  const std::string& name,
-			  const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const ComTime &theComTime);
-
-private:
-
-  void clearData();
-
-
-  /* NTuple variables: **/
-  float *m_TRTPhase;
-
-}; // class TRTPhaseFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRTPHASEFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx
deleted file mode 100644
index f233c736308..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TRTUncompressedHitFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasHepMC/GenParticle.h"
-#include "GeoAdaptors/GeoTRTUncompressedHit.h"
-
-D3PD::TRTUncompressedHitFillerTool::TRTUncompressedHitFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<TRTUncompressedHit> (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode D3PD::TRTUncompressedHitFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode D3PD::TRTUncompressedHitFillerTool::book(){
-  CHECK( addVariable("hitID",            m_hitID           ) );
-  CHECK( addVariable("particleEncoding", m_particleEncoding) );
-  CHECK( addVariable("kineticEnergy",    m_kineticEnergy   ) );
-  CHECK( addVariable("energyDeposit",    m_energyDeposit   ) );
-  CHECK( addVariable("preStepX",         m_preStepX        ) );
-  CHECK( addVariable("preStepY",         m_preStepY        ) );
-  CHECK( addVariable("preStepZ",         m_preStepZ        ) );
-  CHECK( addVariable("postStepX",        m_postStepX       ) );
-  CHECK( addVariable("postStepY",        m_postStepY       ) );
-  CHECK( addVariable("postStepZ",        m_postStepZ       ) );
-  CHECK( addVariable("globalTime",       m_globalTime      ) );
-
-  CHECK( addVariable("globalPosX",       m_globalPosX      ) );
-  CHECK( addVariable("globalPosY",       m_globalPosY      ) );
-  CHECK( addVariable("globalPosZ",       m_globalPosZ      ) );
-  CHECK( addVariable("globalPosR",       m_globalPosR      ) );
-
-  CHECK( addVariable("TruthBarcode",     m_truthbarcode    ) );
-  CHECK( addVariable("TruthBarcode2",    m_truthbarcode2   ) );
-
-  return StatusCode::SUCCESS;
-}
-
-
-/*
-
-StatusCode D3PD::TRTUncompressedHitFillerTool::fill (const TRTUncompressedHit& hit)
-{
-
-  //REPORT_MESSAGE (MSG::DEBUG) << "got hit";
-
-  // read out the TRTUncompressedHit
-  *m_hitID            = hit.GetHitID();
-  *m_particleEncoding = hit.GetParticleEncoding();
-  *m_kineticEnergy    = hit.GetKineticEnergy();
-  *m_energyDeposit    = hit.GetEnergyDeposit();
-  *m_preStepX         = hit.GetPreStepX();
-  *m_preStepY         = hit.GetPreStepY();
-  *m_preStepZ         = hit.GetPreStepZ();
-  *m_postStepX        = hit.GetPostStepX();
-  *m_postStepY        = hit.GetPostStepY();
-  *m_postStepZ        = hit.GetPostStepZ();
-  *m_globalTime       = hit.GetGlobalTime();
-
-  // resolve global position
-  GeoTRTUncompressedHit ghit(hit);
-  const HepGeom::Point3D<double>& globalPos = ghit.getGlobalPosition();
-  *m_globalPosX = globalPos.x();
-  *m_globalPosY = globalPos.y();
-  *m_globalPosZ = globalPos.z();
-  *m_globalPosR = globalPos.perp();
-
-  // particle barcode2 directly from TRTUncompressedHit
-  const HepMcParticleLink& mcLink = hit.particleLink();
-  *m_truthbarcode2    = mcLink.barcode();
-
-  // particle barcode from associated GenParticle
-  const HepMC::GenParticle* genPart = mcLink.cptr();
-  *m_truthbarcode = genPart ? genPart->barcode() : -999;
-
-  return StatusCode::SUCCESS;
-}
-
-
-*/
-
-StatusCode D3PD::TRTUncompressedHitFillerTool::fill (const TRTUncompressedHit& /*hit*/)
-{
-
-  //REPORT_MESSAGE (MSG::DEBUG) << "got hit";
-
-  // read out the TRTUncompressedHit
-  *m_hitID            = 1;
-  *m_particleEncoding = 1;
-  *m_kineticEnergy    = 1.0;
-  *m_energyDeposit    = 1.0;
-  *m_preStepX         = 1.0;
-  *m_preStepY         = 1.0;
-  *m_preStepZ         = 1.0;
-  *m_postStepX        = 1.0;
-  *m_postStepY        = 1.0;
-  *m_postStepZ        = 1.0;
-  *m_globalTime       = 1.0;
-
-  // resolve global position
-  *m_globalPosX = 1.0;
-  *m_globalPosY = 1.0;
-  *m_globalPosZ = 1.0;
-  *m_globalPosR = 1.0;
-
-  // particle barcode2 directly from TRTUncompressedHit
-  *m_truthbarcode2    = -999;
-
-  // particle barcode from associated GenParticle
-  *m_truthbarcode = -999;
-
-  return StatusCode::SUCCESS;
-}
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.h
deleted file mode 100644
index e30f7d36a80..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_TRTUNCOMPRESSEDHITFILLERTOOL_H
-#define INDETD3PDMAKER_TRTUNCOMPRESSEDHITFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "InDetSimEvent/TRTUncompressedHit.h"
-#include "InDetSimEvent/TRTUncompressedHitCollection.h"
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-
-namespace D3PD {
-
-  class TRTUncompressedHitContainerGetterTool
-          : public D3PD::SGCollectionGetterTool<TRTUncompressedHitCollection> {
-
-   public:
-     TRTUncompressedHitContainerGetterTool (const std::string& type,
-                                            const std::string& name,
-                                            const IInterface* parent)
-       : SGCollectionGetterTool<TRTUncompressedHitCollection>(type, name, parent) { }
-  };
-   
-
-  class TRTUncompressedHitFillerTool
-          : public D3PD::BlockFillerTool<TRTUncompressedHit> {
-
-   public:
-    typedef D3PD::BlockFillerTool<TRTUncompressedHit> Base;
-
-    TRTUncompressedHitFillerTool (const std::string& type,
-                                  const std::string& name,
-                                  const IInterface* parent);
-
-    virtual StatusCode initialize();
-    virtual StatusCode book();
-
-    virtual StatusCode fill (const TRTUncompressedHit &hit);
-
-   private:
-
-    /** NTuple variables:
-        (partily copied from InDetSimEvent/TRTUncompressedHit.h ) */
-    int   *m_hitID;                 //<! To identify the hit
-    int   *m_particleEncoding;      //<! PDG id 
-    float *m_kineticEnergy;         //<! kin energy of the particle
-    float *m_energyDeposit;         //<! energy deposit by the hit
-    float *m_preStepX;
-    float *m_preStepY;
-    float *m_preStepZ;
-    float *m_postStepX;
-    float *m_postStepY;
-    float *m_postStepZ;
-    float *m_globalTime;
-
-    /** global hit position */
-    float *m_globalPosX;
-    float *m_globalPosY;
-    float *m_globalPosZ;
-    float *m_globalPosR;
-
-    /** associated particle barcode */
-    int   *m_truthbarcode;          //<! from HepMC::GenParticle
-    int   *m_truthbarcode2;         //<! from TRTUncompressedHit
-
-  }; // class TRTUncompressedHitFillerTool
-
-} // namespace D3PD
-
-#endif // INDETD3PDMAKER_TRTUNCOMPRESSEDHITFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.cxx
deleted file mode 100644
index cc4d218d167..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.cxx
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TSOFitQualityAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TSOS to its FitQualityOnSurface.
- */
-
-#include "TSOFitQualityAssociationTool.h"
-#include "TrkTrack/TrackStateOnSurface.h"
-
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TSOFitQualityAssociationTool::TSOFitQualityAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::FitQualityOnSurface *TSOFitQualityAssociationTool::get (const Trk::TrackStateOnSurface& tso)
-
-{
-  return tso.fitQualityOnSurface();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.h
deleted file mode 100644
index 5a1a8ad4603..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOFitQualityAssociationTool.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TSOFitQualityAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TSOS to its FitQualityOnSurface.
- */
-#ifndef INDETD3PDMAKER_TSOFITQUALITYASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TSOFITQUALITYASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "TrkEventPrimitives/FitQualityOnSurface.h"
-
-namespace Trk {
-  class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TSOS to its FitQualityOnSurface.
- */
-class TSOFitQualityAssociationTool
-  : public SingleAssociationTool<Trk::TrackStateOnSurface, Trk::FitQualityOnSurface>
-{
-public:
-  typedef SingleAssociationTool<Trk::TrackStateOnSurface, Trk::FitQualityOnSurface> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TSOFitQualityAssociationTool (const std::string& type,
-				 const std::string& name,
-				 const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::FitQualityOnSurface* get (const Trk::TrackStateOnSurface& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TSOFITQUALITYASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.cxx
deleted file mode 100644
index db9764fae9a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.cxx
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TSOSPixelClusterAssociationTool.cxx 569325 2013-11-08 11:27:17Z nstyles $
-/**
- * @file InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a pixel TrackStateOnSurface to a PixelCluster.
- */
-
-#include "TSOSPixelClusterAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "TrkCompetingRIOsOnTrack/CompetingRIOsOnTrack.h"
-#include "TrkRIO_OnTrack/RIO_OnTrack.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TSOSPixelClusterAssociationTool::TSOSPixelClusterAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_idHelper(0)
-{
-}
-
-StatusCode TSOSPixelClusterAssociationTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // need Atlas id-helpers to identify sub-detectors, take them from detStore
-  CHECK (detStore()->retrieve(m_idHelper, "AtlasID"));
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- * Return the target of the association, or 0.
- */
-  const InDet::PixelCluster *TSOSPixelClusterAssociationTool::get (const Trk::TrackStateOnSurface& tsos)
-{
-
-  /// check if the TSOS is a pixel hit
-  bool isPixelHit = false;
-  if( tsos.types()[Trk::TrackStateOnSurface::Measurement] ||
-      tsos.types()[Trk::TrackStateOnSurface::Outlier]){
-
-    const Trk::TrackParameters *tp = tsos.trackParameters();
-    if(tp){
-      const Trk::Surface& surface = tp->associatedSurface();
-      const Trk::TrkDetElementBase* detElement = surface.associatedDetectorElement();
-      if(detElement){
-        Identifier Id = detElement->identify();
-        if (m_idHelper->is_pixel(Id) ) {
-          isPixelHit = true;
-        }
-      }
-    }
-  }
-  if(!isPixelHit){
-    return 0;
-  }
-
-  const Trk::MeasurementBase *measurement = tsos.measurementOnTrack();
-  const Trk::RIO_OnTrack *rio = dynamic_cast<const Trk::RIO_OnTrack*>(measurement);
-  if(!rio){
-    const Trk::CompetingRIOsOnTrack *crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(measurement);
-    if(crot){
-      rio = &crot->rioOnTrack( crot->indexOfMaxAssignProb() );
-    }
-  }
-  const InDet::PixelCluster *clus = 0;
-  if(rio){
-    clus = dynamic_cast<const InDet::PixelCluster*>(rio->prepRawData());
-  }
-  
-  return clus;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.h
deleted file mode 100644
index 8469b629d6e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TSOSPixelClusterAssociationTool.h 349056 2011-03-03 13:36:07Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TSOSPixelClusterAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Mar, 2011
- * @brief Associate from a TrackParticle to its default Perigee.
- */
-#ifndef INDETD3PDMAKER_TSOSPIXELCLUSTERASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TSOSPIXELCLUSTERASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-  class TrackStateOnSurface;
-}
-namespace InDet {
-  class PixelCluster;
-}
-class AtlasDetectorID;
-
-namespace D3PD {
-
-/**
- * @brief Associate from a pixel TrackStateOnSurface to a PixelCluster.
- */
-class TSOSPixelClusterAssociationTool
-  : public SingleAssociationTool<Trk::TrackStateOnSurface, InDet::PixelCluster>
-{
-public:
-  typedef SingleAssociationTool<Trk::TrackStateOnSurface, InDet::PixelCluster> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TSOSPixelClusterAssociationTool (const std::string& type,
-				   const std::string& name,
-				   const IInterface* parent);
-
-  virtual StatusCode initialize();
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   * Return the target of the association, or 0.
-   */
-  virtual const InDet::PixelCluster* get (const Trk::TrackStateOnSurface& p);
-
-private:
-
-  const AtlasDetectorID* m_idHelper;
-
-}; // class TSOSPixelClusterAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TSOSPIXELCLUSTERASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.cxx
deleted file mode 100644
index b687b91343e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.cxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/TrackParametersBeamlineParametersAssociationTool.cxx
- * @author scott snyder <snyder@bnl.gov>
- * @date Jun, 2012
- * @brief Associate from a track to the corresponding parameters
- *        evaluated at the beamline.
- */
-
-
-#include "TrackBeamlineParametersAssociationTool.h"
-#include "Particle/TrackParticle.h"
-#include "TrkTrack/Track.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackBeamlineParametersAssociationTool::TrackBeamlineParametersAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_trackToVertexTool( "Reco::TrackToVertex")
-{
-  declareProperty ("TrackToVertexTool", m_trackToVertexTool,
-                   "TrackToVertexTool instance.");
-}
-
-
-/**
- * @brief Standard Gaudi initialize method.
- */
-StatusCode TrackBeamlineParametersAssociationTool::initialize()
-{
-  CHECK( m_trackToVertexTool.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackParameters*
-TrackBeamlineParametersAssociationTool::get (const Trk::Track& p)
-{
-  const InDet::BeamSpotData* bsd = m_trackToVertexTool->GetBeamSpotData (Gaudi::Hive::currentContext());
-  std::unique_ptr<Trk::StraightLineSurface> bl =
-    m_trackToVertexTool->GetBeamLine (bsd);
-  return m_trackToVertexTool->trackAtBeamline (p, bl.get());
-}
-
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackParameters*
-TrackBeamlineParametersAssociationTool::get (const Rec::TrackParticle& p)
-{
-  return m_trackToVertexTool->trackAtBeamline (p);
-}
-
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackParameters*
-TrackBeamlineParametersAssociationTool::get (const Trk::TrackParameters& p)
-{
-  const InDet::BeamSpotData* bsd = m_trackToVertexTool->GetBeamSpotData (Gaudi::Hive::currentContext());
-  std::unique_ptr<Trk::StraightLineSurface> bl =
-    m_trackToVertexTool->GetBeamLine (bsd);
-  return m_trackToVertexTool->trackAtBeamline (p, bl.get());
-}
-
-
-/**
- * @brief Release an object retrieved from the association.
- * @param p The object to release.
- *
- * Call this when you are done with the object returned by
- * @c get().  The default implementation is a no-op,
- * but if the association dynamically allocated the object which
- * it returned, this gives it a chance to free it.
- */
-void
-TrackBeamlineParametersAssociationTool::releaseObject
-  (const Trk::TrackParameters* p)
-{
-  delete p;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.h
deleted file mode 100644
index 35b5b05ab7b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackBeamlineParametersAssociationTool.h
+++ /dev/null
@@ -1,122 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/TrackBeamlineParametersAssociationTool.h
- * @author scott snyder <snyder@bnl.gov>
- * @date Jun, 2012
- * @brief Associate from a track to the corresponding parameters
- *        evaluated at the beamline.
- *
- * The input object can be any of @c Track, @c TrackParameters,
- * or @c TrackParticle.
- */
-
-
-#ifndef INDETD3PDMAKER_TRACKBEAMLINEPARAMETERSASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKBEAMLINEPARAMETERSASSOCIATIONTOOL_H
-
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "TrkParameters/TrackParameters.h"
-#include "ITrackToVertex/ITrackToVertex.h"
-#include "GaudiKernel/ToolHandle.h"
-namespace Trk {
-  class Track;
-}
-namespace Rec {
-  class TrackParticle;
-}
-
-
-namespace D3PD {
-
-
-/**
- * @brief Associate from a track to the corresponding parameters
- *        evaluated at the beamline.
- *
- * The input object can be any of @c Track, @c TrackParameters,
- * or @c TrackParticle.
- */
-class TrackBeamlineParametersAssociationTool
-  : public SingleAssociationTool<Types<Trk::Track,
-                                       Trk::TrackParameters,
-                                       Rec::TrackParticle>,
-                                       Trk::TrackParameters>
-{
-public:
-  typedef SingleAssociationTool<Types<Trk::Track,
-                                      Trk::TrackParameters,
-                                      Rec::TrackParticle>,
-                                      Trk::TrackParameters> Base;
-
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackBeamlineParametersAssociationTool (const std::string& type,
-                                          const std::string& name,
-                                          const IInterface* parent);
-
-
-  /// Standard Gaudi initialize method.
-  virtual StatusCode initialize();
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackParameters* get (const Trk::Track& p);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackParameters* get (const Rec::TrackParticle& p);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackParameters* get (const Trk::TrackParameters& p);
-
-
-  /**
-   * @brief Release an object retrieved from the association.
-   * @param p The object to release.
-   *
-   * Call this when you are done with the object returned by
-   * @c get().  The default implementation is a no-op,
-   * but if the association dynamically allocated the object which
-   * it returned, this gives it a chance to free it.
-   */
-  virtual void releaseObject (const Trk::TrackParameters* p);
-
-
-private:
-  /// Vertex extrapolator.
-  ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_TRACKBEAMLINEPARAMETERSASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.cxx
deleted file mode 100644
index d0ec2dd15f4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.cxx
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackFitQualityFillerTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Block filler tool for generic fit quality.
- */
-#include "TrackFitQualityFillerTool.h"
-#include "TrkEventPrimitives/ParamDefs.h"
-#include "TrkEventPrimitives/FitQuality.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackFitQualityFillerTool::TrackFitQualityFillerTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : BlockFillerTool<Trk::FitQuality> (type, name, parent)
-{
-  book().ignore();  // Avoid coverity warnings.
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode TrackFitQualityFillerTool::book()
-{
-  CHECK( addVariable ("chi2",   m_chi2)   );
-  CHECK( addVariable ("ndof",   m_ndof)   );
- 
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param fq The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-StatusCode TrackFitQualityFillerTool::fill (const Trk::FitQuality& fq) {
-  this->clearData();
-
-  *m_chi2  = fq.chiSquared();
-  *m_ndof  = fq.numberDoF();
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief initialize the variables to default values
- */
-void TrackFitQualityFillerTool::clearData(){
-
-  *m_chi2  = 0;
-  *m_ndof  = 0;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.h
deleted file mode 100644
index 946328c3b54..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackFitQualityFillerTool.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackFitQualityFillerTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Block filler tool for generic fit quality.
- */
-#ifndef INDETD3PDMAKER_TRACKFITQUALITYFILLERTOOL_H
-#define INDETD3PDMAKER_TRACKFITQUALITYFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-namespace Trk {
-  class FitQuality;
-}
-
-
-namespace D3PD {
-
-
-/**
- * @brief Block filler tool for vertex position.
- */
-class TrackFitQualityFillerTool
-  : public BlockFillerTool<Trk::FitQuality>
-{
-public:
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackFitQualityFillerTool (const std::string& type,
-			     const std::string& name,
-			     const IInterface* parent);
-  
-
-  /// Book variables for this block.
-  virtual StatusCode book();
-  
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const Trk::FitQuality& p);
-
-
-private:
-
-  void clearData();
-
-  /// Variables:
-  float* m_chi2;
-  int*   m_ndof;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_TRACKFITQUALITYFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.cxx
deleted file mode 100644
index ccd6d0cb582..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.cxx
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TrackInfoFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/TrackInfo.h"
-
-#include <bitset>
-
-namespace D3PD {
-
-
-TrackInfoFillerTool::TrackInfoFillerTool (const std::string& type,
-					  const std::string& name,
-					  const IInterface* parent)
-  : Base (type, name, parent)
-{
-  book().ignore();  // Avoid coverity warnings.
-}
-
-StatusCode TrackInfoFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-  
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackInfoFillerTool::book()
-{
-
-  // author information
-  CHECK( addVariable ("fitter", m_fitter) );
-  CHECK( addVariable ("patternReco1", m_patternReco1) );
-  CHECK( addVariable ("patternReco2", m_patternReco2) );
-  //   CHECK( addVariable ("patternReco", m_patternReco) );
-  CHECK( addVariable ("trackProperties", m_trackProperties) );
-  CHECK( addVariable ("particleHypothesis", m_particleHypothesis) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackInfoFillerTool::fill (const Trk::TrackInfo& info)
-{
-
-  // track fitter
-  *m_fitter = info.trackFitter() ;
-
-  // pattern reco info
-  int pattern = 0;
-  for(unsigned int i=0; i<32; i++){
-    const Trk::TrackInfo::TrackPatternRecoInfo preco = (Trk::TrackInfo::TrackPatternRecoInfo)i;
-    if(info.patternRecoInfo(preco)) pattern = (pattern | (1 << i));
-  }
-  *m_patternReco1 = pattern;
-  pattern = 0;
-  for(unsigned int i=32; i<Trk::TrackInfo::NumberOfTrackRecoInfo; i++){
-    const Trk::TrackInfo::TrackPatternRecoInfo preco = (Trk::TrackInfo::TrackPatternRecoInfo)i;
-    if(info.patternRecoInfo(preco)) pattern = (pattern | (1 << (i-32)));
-  }
-  *m_patternReco2 = pattern;
-
-  //   *m_patternReco = 0;
-  //   for(unsigned long i=0; i<Trk::TrackInfo::NumberOfTrackRecoInfo; i++){
-  //     long long int one = 1;
-  //     const Trk::TrackInfo::TrackPatternRecoInfo preco = (Trk::TrackInfo::TrackPatternRecoInfo)i;
-  //     if(info.patternReco(preco)) *m_patternReco = (*m_patternReco | (one << i));
-  //   }
-
-  // track properties
-  *m_trackProperties = 0;
-  for(unsigned long i=0; i<Trk::TrackInfo::NumberOfTrackProperties; i++){
-    int one = 1;
-    const Trk::TrackInfo::TrackProperties tprop = (Trk::TrackInfo::TrackProperties)i;
-    if(info.trackProperties(tprop)) *m_trackProperties = (*m_trackProperties | (one << i));
-  }
-
-  // particle hypothesis
-  *m_particleHypothesis = info.particleHypothesis();
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.h
deleted file mode 100644
index 9461c4dd82d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackInfoFillerTool.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRACKINFOFILLERTOOL_H
-#define INDETD3PDMAKER_TRACKINFOFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#include <vector>
-
-namespace Trk{
-class TrackInfo;
-}
-
-namespace D3PD {
-
-
-class TrackInfoFillerTool
-  : public BlockFillerTool<Trk::TrackInfo>
-{
-public:
-  typedef BlockFillerTool<Trk::TrackInfo> Base; 
-
-  TrackInfoFillerTool (const std::string& type,
-			   const std::string& name,
-			   const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::TrackInfo& info);
-
-private:
-
-  /* NTuple variables: **/
-  // author information
-  int *m_fitter;
-  int *m_patternReco1;
-  int *m_patternReco2;
-  int *m_trackProperties;
-  int *m_particleHypothesis;
-
-}; // class TrackInfoFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRACKINFOFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.cxx
deleted file mode 100644
index 79ec627bb1e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.cxx
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/TrackParametersErrorMatrixAssociationTool.cxx
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Associate from TrackParameters to its associated ErrorMatrix, if any.
- */
-
-
-#include "TrackParametersErrorMatrixAssociationTool.h"
-#include "TrkParameters/TrackParameters.h" // typedef; can't be fwd declared
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParametersErrorMatrixAssociationTool::TrackParametersErrorMatrixAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-  const AmgSymMatrix(5)*
-TrackParametersErrorMatrixAssociationTool::get (const Trk::TrackParameters& p)
-{
-  return p.covariance();
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.h
deleted file mode 100644
index 69c7cb8fb7d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersErrorMatrixAssociationTool.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/TrackParametersErrorMatrixAssociationTool.h
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Associate from TrackParameters to its associated ErrorMatrix, if any.
- */
-
-
-#ifndef INDETD3PDMAKER_TRACKPARAMETERSERRORMATRIXASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARAMETERSERRORMATRIXASSOCIATIONTOOL_H
-
-
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "TrkParameters/TrackParameters.h" // typedef; can't be fwd declared
-
-
-
-namespace D3PD {
-
-
-/**
- * @brief Associate from TrackParameters to its associated ErrorMatrix, if any.
- */
-class TrackParametersErrorMatrixAssociationTool
-  : public SingleAssociationTool<Trk::TrackParameters, AmgSymMatrix(5)>
-{
-public:
-  typedef SingleAssociationTool<Trk::TrackParameters, AmgSymMatrix(5)> Base;
-
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParametersErrorMatrixAssociationTool (const std::string& type,
-                                             const std::string& name,
-                                             const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const AmgSymMatrix(5)* get (const Trk::TrackParameters& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TRACKPARAMETERSERRORMATRIXASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.cxx
deleted file mode 100644
index 73b4f3f0797..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.cxx
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/TrackParametersFillerTool.cxx
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Fill variables from track parameters.
- */
-
-
-#include "TrackParametersFillerTool.h"
-#include "TrkParameters/TrackParameters.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParametersFillerTool::TrackParametersFillerTool (const std::string& type,
-                                                      const std::string& name,
-                                                      const IInterface* parent)
-  : D3PD::BlockFillerTool<Trk::TrackParameters> (type, name, parent)
-{
-  declareProperty ("LocalType", m_localType = "CYLINDRICAL",
-                   "Type of local variables: "
-                   "CYLINDRICAL -- d0/z0; CARTESIAN -- locX/loxY; "
-                   "NONE -- not written.");
-  declareProperty ("FillThetaAndQoverP", m_fillThetaAndQoverP = true,
-                   "Should theta and qoverp be filled?");
-  declareProperty ("FillPhi", m_fillPhi=true,
-                   "Should the phi variable be filled?");
-  declareProperty ("DefaultValue", m_defaultValue = 0,
-                   "Default value to which to set unfilled variables.");
-
-  book().ignore();  // Silence coverity warnings
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode TrackParametersFillerTool::book()
-{
-  if (m_localType == "CYLINDRICAL") {
-    CHECK( addVariable ("d0", m_loc1,
-                        "Local transverse impact", m_defaultValue) );
-    CHECK( addVariable ("z0", m_loc2, 
-                        "Local longitudinal impact", m_defaultValue) );
-  }
-  else if (m_localType == "CARTESIAN") {
-    CHECK( addVariable ("locX", m_loc1, "Local x coordinate", m_defaultValue) );
-    CHECK( addVariable ("locY", m_loc2, "Local y coordinate", m_defaultValue) );
-  }
-  else {
-    m_loc1 = 0;
-    m_loc2 = 0;
-  }
-
-  if (m_fillPhi)
-    CHECK( addVariable ("phi", m_phi, "Azimuthal angle", m_defaultValue) );
-
-  if(m_fillThetaAndQoverP){
-    CHECK( addVariable ("theta", m_theta, "Polar angle", m_defaultValue) );
-    CHECK( addVariable ("qoverp", m_qoverp,
-                        "Charge over momentum", m_defaultValue) );
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-StatusCode TrackParametersFillerTool::fill (const Trk::TrackParameters& p)
-{
-  // Either d0/z0 or locX/locY
-  if (m_loc1) {
-    *m_loc1 = p.parameters()[Trk::loc1];
-    *m_loc2 = p.parameters()[Trk::loc2];
-  }
-
-  if (m_fillPhi)
-    *m_phi = p.parameters()[Trk::phi0];
-
-  if(m_fillThetaAndQoverP){
-    *m_theta = p.parameters()[Trk::theta];
-    *m_qoverp = p.parameters()[Trk::qOverP];
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.h
deleted file mode 100644
index f6e4f792861..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParametersFillerTool.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/TrackParametersFillerTool.h
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Fill variables from track parameters.
- */
-
-
-#ifndef INDETD3PDMAKER_TRACKPARAMETERSFILLERTOOL_H
-#define INDETD3PDMAKER_TRACKPARAMETERSFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "TrkParameters/TrackParameters.h" // typedef; can't be fwd declared
-
-
-namespace D3PD {
-
-
-/**
- * @brief Fill variables from track parameters.
- */
-class TrackParametersFillerTool
-  : public D3PD::BlockFillerTool<Trk::TrackParameters>
-{
-public:
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParametersFillerTool (const std::string& type,
-                             const std::string& name,
-                             const IInterface* parent);
-
-  /**
-   * @brief Book variables for this block.
-   */
-  virtual StatusCode book();
-
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const Trk::TrackParameters &p);
-
-
-private:
-  /// Parameter: Type of local variables: 
-  /// CYLINDRICAL -- d0/z0; CARTESIAN -- locX/loxY; NONE -- not written.
-  std::string m_localType;
-
-  /// Parameter: Should theta and qoverp be filled?
-  bool m_fillThetaAndQoverP;
-
-  /// Parameter: Should the phi variable be filled?
-  bool m_fillPhi;
-
-  /// Parameter: Default value to which to set unfilled variables.
-  float m_defaultValue;
-
-
-  /// Variable: First local variable.
-  float* m_loc1;
-
-  /// Variable: Second local variable.
-  float* m_loc2;
-
-  /// Variable: aximuthal angle.
-  float* m_phi;
-
-  /// Variable: polar angle.
-  float* m_theta;
-
-  /// Variable: Charge over momentum.
-  float* m_qoverp;
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TRACKPARAMETERSFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx
deleted file mode 100644
index a4b8ec29d70..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TrackParticleDetailedTruthAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasHepMC/GenParticle.h"
-#include "AtlasHepMC/GenVertex.h"
-#include "Particle/TrackParticle.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "TrkTruthData/DetailedTrackTruthCollection.h"
-#include <map>
-
-namespace D3PD {
-
-TrackParticleDetailedTruthAssociationTool::TrackParticleDetailedTruthAssociationTool (const std::string& type,
-									  const std::string& name,
-									  const IInterface* parent)
-  : Base (type, name, parent)
-{
-  declareProperty ("MapKey", m_TruthMap = "TrackParticleTruthMap");
-  declareProperty ("SGKey", m_TrkContainer = "TrackParticleCandidate");
-
-  book().ignore();  // Avoid coverity warnings.
-}
-
-
-StatusCode TrackParticleDetailedTruthAssociationTool::initialize()
-{
-  CHECK( Base::initialize() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode TrackParticleDetailedTruthAssociationTool::book ()
-{
-
-  CHECK( Base::book() );
-
-  CHECK( addVariable ("nCommonPixHits", m_npixhits_common) );
-  CHECK( addVariable ("nCommonSCTHits", m_nscthits_common) );
-  CHECK( addVariable ("nCommonTRTHits", m_ntrthits_common) );
-
-  CHECK( addVariable ("nRecoPixHits", m_npixhits_reco) );
-  CHECK( addVariable ("nRecoSCTHits", m_nscthits_reco) );
-  CHECK( addVariable ("nRecoTRTHits", m_ntrthits_reco) );
-
-  CHECK( addVariable ("nTruthPixHits", m_npixhits_truth) );
-  CHECK( addVariable ("nTruthSCTHits", m_nscthits_truth) );
-  CHECK( addVariable ("nTruthTRTHits", m_ntrthits_truth) );
-
-  CHECK( addVariable ("begVtx_barcode", m_begVtx_barcode) );
-  CHECK( addVariable ("endVtx_barcode", m_endVtx_barcode) );
-
-  CHECK( addVariable ("barcode", m_barcode) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackParticleDetailedTruthAssociationTool::invalidate(StatusCode sc){
-
-  m_itr = m_end;
-  return sc;
-}
-
-StatusCode TrackParticleDetailedTruthAssociationTool::reset(const Rec::TrackParticle& track){
-
-  /// Get Track and TrackTruth Collections
-
-  // -- TrackParticles:
-  const TrackCollection* tc;
-  StatusCode sc = evtStore()->retrieve(tc, m_TrkContainer);  
-  if(sc.isFailure() || !tc) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve: " << m_TrkContainer;
-    return invalidate(StatusCode::SUCCESS);
-  }
-  // -- TrackParticleDetailedTruth:
-  const DetailedTrackTruthCollection* tm = nullptr;
-  sc = evtStore()->retrieve(tm, m_TruthMap);
-  if(sc.isFailure() || !tm) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve: " << m_TruthMap;
-    return invalidate(StatusCode::SUCCESS);
-  }
-
-  const Trk::Track *originalTrack = track.originalTrack();
-
-  ElementLink<TrackCollection> tlink;
-  tlink.setElement(originalTrack);
-  tlink.setStorableObject(*tc);
-  DetailedTrackTruthCollection::const_iterator found = tm->find(tlink);
-
-  if(found==tm->end()){
-    return invalidate(StatusCode::SUCCESS);
-  }
-
-  Range range = tm->equal_range(found->first);
-
-  m_itr = range.first;
-  m_end = range.second;
-
-  return StatusCode::SUCCESS;
-}
-
-const HepMC::GenParticle *TrackParticleDetailedTruthAssociationTool::next (){
-
-  if(m_itr==m_end) return 0;
-
-  const DetailedTrackTruth dtt = m_itr->second;
-  m_itr++;
-
-  *m_npixhits_common = dtt.statsCommon()[SubDetHitStatistics::Pixel];
-  *m_nscthits_common = dtt.statsCommon()[SubDetHitStatistics::SCT];
-  *m_ntrthits_common = dtt.statsCommon()[SubDetHitStatistics::TRT];
-  
-  *m_npixhits_reco = dtt.statsTrack()[SubDetHitStatistics::Pixel];
-  *m_nscthits_reco = dtt.statsTrack()[SubDetHitStatistics::SCT];
-  *m_ntrthits_reco = dtt.statsTrack()[SubDetHitStatistics::TRT];
-  
-  *m_npixhits_truth = dtt.statsTruth()[SubDetHitStatistics::Pixel];
-  *m_nscthits_truth = dtt.statsTruth()[SubDetHitStatistics::SCT];
-  *m_ntrthits_truth = dtt.statsTruth()[SubDetHitStatistics::TRT];
-  
-  const HepMcParticleLink& blink = *(dtt.trajectory().rbegin());
-  const HepMcParticleLink& elink = *(dtt.trajectory().begin());
-
-  const HepMC::GenParticle* particle;
-  if(!blink.isValid()){
-    particle = &m_dummy;
-  }else{
-    particle = blink.cptr();
-    *m_barcode = particle->barcode();
-    HepMC::GenVertex *pv = particle->production_vertex();
-    if(pv){
-      *m_begVtx_barcode = pv->barcode();
-    }
-    if(elink.isValid()){
-      HepMC::GenVertex *epv = particle->end_vertex();
-      if(epv){
-	*m_endVtx_barcode = epv->barcode();
-      }
-    }
-  }
-
-  if(!particle){
-    REPORT_MESSAGE (MSG::WARNING) << "Pointer to particle is not valid";
-  }
-
-  return particle;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h
deleted file mode 100644
index 1e59e60a1aa..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRACKPARTICLEDETAILEDTRUTHASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLEDETAILEDTRUTHASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "StoreGate/StoreGateSvc.h"
-#include "TrkTruthData/DetailedTrackTruthCollection.h"
-#include "AtlasHepMC/GenParticle.h"
-#include <vector>
-
-namespace Rec {
-class TrackParticle;
-}
-
-namespace D3PD {
-
-class TrackParticleDetailedTruthAssociationTool
-  : public MultiAssociationTool<Rec::TrackParticle, HepMC::GenParticle>
-{
-public:
-  typedef MultiAssociationTool<Rec::TrackParticle, HepMC::GenParticle> Base;
-  typedef std::pair<DetailedTrackTruthCollection::const_iterator,DetailedTrackTruthCollection::const_iterator> Range;
-
-  TrackParticleDetailedTruthAssociationTool (const std::string& type,
-					     const std::string& name,
-					     const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode reset (const Rec::TrackParticle& p);
-  virtual const HepMC::GenParticle* next();
-
-private:
-
-  StatusCode invalidate(StatusCode);
-
-  DetailedTrackTruthCollection::const_iterator m_itr;
-  DetailedTrackTruthCollection::const_iterator m_end;
-
-  /* StoreGate keys **/
-  std::string m_TruthMap;
-  std::string m_TrkContainer;
-
-  /* NTuple variables **/
-  int* m_npixhits_common;
-  int* m_nscthits_common;
-  int* m_ntrthits_common;
-  
-  int* m_npixhits_reco;
-  int* m_nscthits_reco;
-  int* m_ntrthits_reco;
-  
-  int* m_npixhits_truth;
-  int* m_nscthits_truth;
-  int* m_ntrthits_truth;
-  
-  int* m_begVtx_barcode;
-  int* m_endVtx_barcode;
-
-  int* m_barcode;
-
-  HepMC::GenParticle m_dummy;
-
-}; // class TrackParticleDetailedTruthAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLEDETAILEDTRUTHASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.cxx
deleted file mode 100644
index 019ad7d12c8..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.cxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrackParticle to its FitQuality.
- */
-
-#include "TrackParticleFitQualityAssociationTool.h"
-
-#include "Particle/TrackParticle.h"
-#include "TrkEventPrimitives/FitQuality.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParticleFitQualityAssociationTool::TrackParticleFitQualityAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::FitQuality *TrackParticleFitQualityAssociationTool::get (const Rec::TrackParticle& track)
-{
-  return track.fitQuality();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.h
deleted file mode 100644
index 9ad9bbf604a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackParticleFitQualityAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrackParticle to its FitQuality.
- */
-#ifndef INDETD3PDMAKER_TRACKPARTICLEFITQUALITYATOOASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLEFITQUALITYATOOASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-  class FitQuality;
-}
-
-namespace Rec {
-  class TrackParticle;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrackParticle to its FitQuality.
- */
-class TrackParticleFitQualityAssociationTool
-  : public SingleAssociationTool<Rec::TrackParticle, Trk::FitQuality>
-{
-public:
-  typedef SingleAssociationTool<Rec::TrackParticle, Trk::FitQuality> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParticleFitQualityAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::FitQuality* get (const Rec::TrackParticle& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLEFITQUALITYATOOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.cxx
deleted file mode 100644
index 5487f7ab50c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.cxx
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TrackParticleGetterTool.h"
-
-#include "VxVertex/VxContainer.h"
-#include "VxVertex/VxCandidate.h"
-#include "VxVertex/PrimaryVertexSelector.h"
-
-namespace D3PD {
-
-TrackParticleGetterTool::TrackParticleGetterTool
-(const std::string& type,
- const std::string& name,
- const IInterface* parent)
-  : Base (type, name, parent),
-    m_vertex(0),
-    m_hasVertex(0),
-    m_trackSelector("")
-{
-  declareProperty ("VertexSGKey", m_vxCandidateSGKey = "VxPrimaryCandidate");
-  declareProperty("TrackSelector", m_trackSelector);
-}
-
-StatusCode TrackParticleGetterTool::initialize()
-{
-  CHECK( Base::initialize() );
-  CHECK( m_trackSelector.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackParticleGetterTool::reset(bool allowMissing)
-{
-
-  // tracks
-  const Rec::TrackParticleContainer* tracks = get(allowMissing);
-
-  if (!tracks) {
-    m_trkItr = m_trkEnd;
-    if(allowMissing){
-      return StatusCode::SUCCESS;
-    }else{
-      return StatusCode::FAILURE;
-    }
-  }
-
-  m_trkItr = tracks->begin();
-  m_trkEnd = tracks->end();
-
-  // primary vertex
-  const VxContainer* vxContainer = 0;
-  StatusCode sc = evtStore()->retrieve(vxContainer, m_vxCandidateSGKey);
-  if (sc.isFailure() || !vxContainer) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve primary vertex container: " << m_vxCandidateSGKey;
-    m_hasVertex = false;
-  } else {
-    // use the primary vertex selector function  
-    m_vertex = PrimaryVertexSelector(*vxContainer);
-    if (! m_vertex){
-        //REPORT_MESSAGE (MSG::DEBUG) << "No primary vertices reconstructed";
-        m_hasVertex = false;
-    } else 
-        m_hasVertex = true;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-template<>
-const void* CollectionGetterTool<Rec::TrackParticleContainer>::nextUntyped(){
-  return 0;
-}
-
-const void* TrackParticleGetterTool::nextUntyped()
-{
-
-  const Rec::TrackParticle* track = 0;
-
-  do{
-
-    if(m_trkItr == m_trkEnd){
-      return 0;
-    }
-
-    track = *(m_trkItr);
-    m_trkItr++;
-
-  } while(!track || !selectTrack(track));
-
-  return track;
-}
-
-bool TrackParticleGetterTool::selectTrack(const  Rec::TrackParticle *track)
-{
-
-  if(!m_hasVertex) return false;
-
-  return m_trackSelector->decision(*track, &(m_vertex->recVertex()));
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.h
deleted file mode 100644
index 1f6abec02c4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleGetterTool.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRACKPARTICLEGETTERTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLEGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-#include "Particle/TrackParticle.h"
-#include "Particle/TrackParticleContainer.h"
-#include "TrkToolInterfaces/ITrackSelectorTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-namespace Trk {
-  class VxCandidate;
-}
-
-namespace D3PD {
-
-class TrackParticleGetterTool
-  : public D3PD::SGCollectionGetterTool<Rec::TrackParticleContainer>
-{
-public:
-  typedef D3PD::SGCollectionGetterTool<Rec::TrackParticleContainer> Base;
-
-  TrackParticleGetterTool (const std::string& type,
-			   const std::string& name,
-			   const IInterface* parent);
-
-  StatusCode initialize();
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-
-private:
-
-  /* apply track selection */
-  bool selectTrack(const Rec::TrackParticle *track);
-
-  /* iterators **/
-  Rec::TrackParticleContainer::const_iterator m_trkItr;
-  Rec::TrackParticleContainer::const_iterator m_trkEnd;
-
-  /* for primary vertex **/
-  std::string m_vxCandidateSGKey;
-  const Trk::VxCandidate *m_vertex;
-  bool m_hasVertex;
-
-  /* track selector **/
-  ToolHandle< Trk::ITrackSelectorTool > m_trackSelector;
-
-}; // class TrackParticleGetterTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLEGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.cxx
deleted file mode 100644
index 8e28b1d5d94..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.cxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackParticleInfoAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrackParticle to its Info.
- */
-
-#include "TrackParticleInfoAssociationTool.h"
-
-#include "Particle/TrackParticle.h"
-#include "TrkTrack/TrackInfo.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParticleInfoAssociationTool::TrackParticleInfoAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackInfo *TrackParticleInfoAssociationTool::get (const Rec::TrackParticle& track)
-{
-  return &track.info();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.h
deleted file mode 100644
index d737ce282eb..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleInfoAssociationTool.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackParticleInfoAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrackParticle to its TrackInfo.
- */
-#ifndef INDETD3PDMAKER_TRACKPARTICLEINFOASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLEINFOASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-  class TrackInfo;
-}
-
-namespace Rec {
-  class TrackParticle;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrackParticle to its TrackInfo.
- */
-class TrackParticleInfoAssociationTool
-  : public SingleAssociationTool<Rec::TrackParticle, Trk::TrackInfo>
-{
-public:
-  typedef SingleAssociationTool<Rec::TrackParticle, Trk::TrackInfo> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParticleInfoAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackInfo* get (const Rec::TrackParticle& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLEINFOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.cxx
deleted file mode 100644
index fe80c0e0606..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/TrackParticleLastParametersAssociationTool.cxx
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Associate from a track particle to the last set of parameters.
- */
-
-
-#include "TrackParticleLastParametersAssociationTool.h"
-#include "Particle/TrackParticle.h"
-#include "TrkParameters/TrackParameters.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParticleLastParametersAssociationTool::TrackParticleLastParametersAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackParameters*
-TrackParticleLastParametersAssociationTool::get (const Rec::TrackParticle& p)
-{
-  const Trk::TrackParameters* lastValidTrkParametersBase = 0;
-  double radius = 0;
-
-  for (const Trk::TrackParameters* base : p.trackParameters()) {
-    double tempR =  base->position().perp();
-    if( tempR > radius  ) {
-      lastValidTrkParametersBase = base;
-      radius = tempR;
-    }
-  }
-
-  return lastValidTrkParametersBase;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.h
deleted file mode 100644
index f41f1190f44..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleLastParametersAssociationTool.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/TrackParticleLastParametersAssociationTool.h
- * @author scott snyder <snyder@bnl.gov>
- * @date May, 2012
- * @brief Associate from a track particle to the last set of parameters.
- */
-
-
-#ifndef INDETD3PDMAKER_TRACKPARTICLELASTPARAMETERSASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLELASTPARAMETERSASSOCIATIONTOOL_H
-
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "TrkParameters/TrackParameters.h" // typedef; can't be fwd declared
-namespace Rec {
-  class TrackParticle;
-}
-
-
-namespace D3PD {
-
-
-/**
- * @brief Associate from a track particle to the last set of parameters.
- */
-class TrackParticleLastParametersAssociationTool
-  : public SingleAssociationTool<Rec::TrackParticle, Trk::TrackParameters>
-{
-public:
-  typedef SingleAssociationTool<Rec::TrackParticle, Trk::TrackParameters> Base;
-
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParticleLastParametersAssociationTool (const std::string& type,
-                                              const std::string& name,
-                                              const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackParameters* get (const Rec::TrackParticle& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLELASTPARAMETERSASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.cxx
deleted file mode 100644
index 8ba616ea3e8..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.cxx
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.cxx
- * @author scott snyder
- * @date Oct 2011
- * @brief Fill in MCTruthClassifier results for TrackParticle.
- */
-
-
-#include "TrackParticleMCClassifierFillerTool.h"
-#include "MCTruthClassifier/IMCTruthClassifier.h"
-#include "xAODTracking/TrackParticle.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParticleMCClassifierFillerTool::TrackParticleMCClassifierFillerTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_classifier ("MCTruthClassifier")
-{
-  declareProperty ("Classifier", m_classifier, "Classifier tool instance.");
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-/**
- * @brief Standard Gaudi initialize method.
- */
-StatusCode TrackParticleMCClassifierFillerTool::initialize()
-{
-  CHECK( Base::initialize() );
-  CHECK( m_classifier.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode TrackParticleMCClassifierFillerTool::book()
-{
-  CHECK( addVariable ("type",  m_type,
-                      "MC particle type, from classifier tool.")  );
-  CHECK( addVariable ("origin",  m_origin,
-                      "MC particle origin, from classifier tool.")  );
-
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-StatusCode
-TrackParticleMCClassifierFillerTool::fill (const xAOD::TrackParticle& p)
-{
-  std::pair<unsigned int, unsigned int> cl =
-    m_classifier->particleTruthClassifier (&p);
-  *m_type = cl.first;
-  *m_origin = cl.second;
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.h
deleted file mode 100644
index af78c9ee52c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-/**
- * @file InDetD3PDMaker/src/TrackParticleMCClassifierFillerTool.h
- * @author scott snyder
- * @date Oct 2011
- * @brief Fill in MCTruthClassifier results for TrackParticle.
- */
-
-
-#ifndef INDETD3PDMAKER_TRACKPARTICLEMCCLASSIFIERFILLERTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLEMCCLASSIFIERFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "xAODTracking/TrackParticle.h"
-#include "GaudiKernel/ToolHandle.h"
-
-
-class IMCTruthClassifier;
-
-
-namespace D3PD {
-
-
-/**
- * @brief Fill in MCTruthClassifier results for TrackParticle.
- */
-class TrackParticleMCClassifierFillerTool
-  : public BlockFillerTool<xAOD::TrackParticle>
-{
-public:
-  typedef BlockFillerTool<xAOD::TrackParticle> Base;
-
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParticleMCClassifierFillerTool (const std::string& type,
-                                       const std::string& name,
-                                       const IInterface* parent);
-
-
-  /// Standard Gaudi initialize method.
-  virtual StatusCode initialize();
-
-
-  /// Book variables for this block.
-  virtual StatusCode book();
-
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const xAOD::TrackParticle& p);
-
-
-private:
-  /// Property: Classifier tool.
-  ToolHandle<IMCTruthClassifier> m_classifier;
-
-
-  /// Variable: Particle type.
-  int* m_type;
-
-  /// Variable: Particle origin.
-  int* m_origin;
-};
-
-
-} // namespace D3PD
-
-
-#endif // INDETD3PDMAKER_TRACKPARTICLEMCCLASSIFIERFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.cxx
deleted file mode 100644
index 343b3539f00..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.cxx
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrackParticleParametersAtBLFillerTool.h"
-#include "EventPrimitives/EventPrimitivesHelpers.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkParameters/TrackParameters.h"
-#include "Particle/TrackParticle.h"
-
-namespace D3PD {
-
-
-TrackParticleParametersAtBLFillerTool::TrackParticleParametersAtBLFillerTool (const std::string& type,
-              const std::string& name,
-              const IInterface* parent)
-  : D3PD::BlockFillerTool<Rec::TrackParticle> (type, name, parent),
-    m_trackToVertexTool("Reco::TrackToVertex")
-{
-  // Avoid coverity warnings.
-  m_levelOfDetails = 10;
-  m_fillThetaAndQoverP = true;
-  book().ignore();
-
-  declareProperty ("FillThetaAndQoverP", m_fillThetaAndQoverP=true);
-  declareProperty ("DefaultValue", m_defaultValue=0,
-                   "Default value to which to set unfilled variables.");
-  declareProperty ("TrackToVertexTool", m_trackToVertexTool);
-  declareProperty ("levelOfDetails", m_levelOfDetails);
-}
-
-StatusCode TrackParticleParametersAtBLFillerTool::initialize(){
-
-  CHECK( D3PD::BlockFillerTool<Rec::TrackParticle>::initialize() );
-
-  StatusCode sc = m_trackToVertexTool.retrieve();
-  if(sc.isFailure()){
-    REPORT_MESSAGE (MSG::ERROR) << "Could not retrieve TrackToVertexTool";
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackParticleParametersAtBLFillerTool::book()
-{
-  // track parameters at perigee
-  if(m_levelOfDetails > 0) {
-    CHECK( addVariable ("d0_wrtBL", m_d0, "", m_defaultValue) );
-    CHECK( addVariable ("z0_wrtBL", m_z0, "", m_defaultValue) );
-    CHECK( addVariable ("phi_wrtBL", m_phi, "", m_defaultValue) );
-    if(m_fillThetaAndQoverP) {
-      CHECK( addVariable ("theta_wrtBL", m_theta, "", m_defaultValue) );
-      CHECK( addVariable ("qoverp_wrtBL", m_qoverp, "", m_defaultValue) );
-    }
-
-    if(m_levelOfDetails > 1) {
-
-      CHECK( addVariable ("d0_err_wrtBL", m_d0_err, "", m_defaultValue) );
-      CHECK( addVariable ("z0_err_wrtBL", m_z0_err, "", m_defaultValue) );
-      CHECK( addVariable ("phi_err_wrtBL", m_phi_err, "", m_defaultValue) );
-      CHECK( addVariable ("theta_err_wrtBL", m_theta_err, "", m_defaultValue) );
-      CHECK( addVariable ("qoverp_err_wrtBL", m_qoverp_err, "", m_defaultValue) );
-
-      if(m_levelOfDetails > 2) {
-
-        CHECK( addVariable ("d0_z0_err_wrtBL", m_d0_z0_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("d0_phi_err_wrtBL", m_d0_phi_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("d0_theta_err_wrtBL", m_d0_theta_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("d0_qoverp_err_wrtBL", m_d0_qoverp_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("z0_phi_err_wrtBL", m_z0_phi_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("z0_theta_err_wrtBL", m_z0_theta_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("z0_qoverp_err_wrtBL", m_z0_qoverp_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("phi_theta_err_wrtBL", m_phi_theta_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("phi_qoverp_err_wrtBL", m_phi_qoverp_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("theta_qoverp_err_wrtBL", m_theta_qoverp_err_wrtBL, "", m_defaultValue) );
-      }
-    }
-  }
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackParticleParametersAtBLFillerTool::fill (const Rec::TrackParticle& track)
-{
-
-  // track parameters at ataline
-  if(m_levelOfDetails > 0) {
-
-    // call the TrackToVertex Tool
-    const Trk::AtaStraightLine* ataline = 
-      dynamic_cast<const Trk::AtaStraightLine*>(m_trackToVertexTool->trackAtBeamline(track));
-
-    if(!ataline) {
-#if 0
-      if(track.perigee()) {
-  REPORT_MESSAGE (MSG::DEBUG) << "Failed to extrapolate to beam line track of: "
-            << "pt = " << track.perigee()->pT() << " - "
-            << "eta = " << track.perigee()->eta() << " - "
-            << "phi = " << track.perigee()->parameters()[Trk::phi0];
-      }else{
-  REPORT_MESSAGE (MSG::DEBUG) << "Failed to extrapolate to beam line track with no valid perigee";
-      }
-#endif
-      return StatusCode::SUCCESS;
-    }
-
-    *m_d0 = ataline->parameters()[Trk::d0];
-    *m_z0 = ataline->parameters()[Trk::z0];
-    *m_phi = ataline->parameters()[Trk::phi0];
-    if(m_fillThetaAndQoverP){
-      *m_theta = ataline->parameters()[Trk::theta];
-      *m_qoverp = ataline->parameters()[Trk::qOverP];
-    }
-
-    if(m_levelOfDetails > 1) {
-
-      const AmgSymMatrix(5)* err = ataline->covariance();
-      if(!err) return StatusCode::SUCCESS;
-         
-      *m_d0_err = Amg::error( *err,Trk::d0);
-      *m_z0_err = Amg::error( *err,Trk::z0);
-      *m_phi_err = Amg::error( *err,Trk::phi0);
-      *m_theta_err = Amg::error( *err,Trk::theta);
-      *m_qoverp_err = Amg::error( *err,Trk::qOverP);
-  
-      if(m_levelOfDetails > 2) {
-
-        *m_d0_z0_err_wrtBL = (*err)(Trk::d0, Trk::z0);
-        *m_d0_phi_err_wrtBL = (*err)(Trk::d0, Trk::phi0);
-        *m_d0_theta_err_wrtBL = (*err)(Trk::d0, Trk::theta);
-        *m_d0_qoverp_err_wrtBL = (*err)(Trk::d0, Trk::qOverP);
-        *m_z0_phi_err_wrtBL = (*err)(Trk::z0, Trk::phi0);
-        *m_z0_theta_err_wrtBL = (*err)(Trk::z0, Trk::theta);
-        *m_z0_qoverp_err_wrtBL = (*err)(Trk::z0, Trk::qOverP);
-        *m_phi_theta_err_wrtBL = (*err)(Trk::phi0, Trk::theta);
-        *m_phi_qoverp_err_wrtBL = (*err)(Trk::phi0, Trk::qOverP);
-        *m_theta_qoverp_err_wrtBL = (*err)(Trk::theta, Trk::qOverP);
-      }
-    }
-
-    delete ataline;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.h
deleted file mode 100644
index 3f129ea0e2f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleParametersAtBLFillerTool.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMaker_TRACKPARTICLEPARAMETERSATBLFILLERTOOL_H
-#define INDETD3PDMaker_TRACKPARTICLEPARAMETERSATBLFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "ITrackToVertex/ITrackToVertex.h"
-
-namespace Rec{
-class TrackParticle;
-}
-
-namespace D3PD {
-
-class TrackParticleParametersAtBLFillerTool
-  : public D3PD::BlockFillerTool<Rec::TrackParticle>
-{
-public:
-  TrackParticleParametersAtBLFillerTool (const std::string& type,
-				    const std::string& name,
-				    const IInterface* parent);
-  virtual StatusCode initialize();
-
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Rec::TrackParticle &p);
-
-private:
-
-  bool m_fillThetaAndQoverP;
-  int m_levelOfDetails;
-
-  /// Parameter: Value to which to set variables if they don't get filled.
-  float m_defaultValue;
-
-  /* NTuple variables: **/
-  // track parameters at perigee
-  float *m_d0;
-  float *m_z0;
-  float *m_phi;
-  float *m_theta;
-  float *m_qoverp;
-
-  float *m_d0_err;
-  float *m_z0_err;
-  float *m_phi_err;
-  float *m_theta_err;
-  float *m_qoverp_err;
-  
-  float *m_d0_z0_err_wrtBL;
-  float *m_d0_phi_err_wrtBL;
-  float *m_d0_theta_err_wrtBL;
-  float *m_d0_qoverp_err_wrtBL;
-  float *m_z0_phi_err_wrtBL;
-  float *m_z0_theta_err_wrtBL;
-  float *m_z0_qoverp_err_wrtBL;
-  float *m_phi_theta_err_wrtBL;
-  float *m_phi_qoverp_err_wrtBL;
-  float *m_theta_qoverp_err_wrtBL;
-
-  /* Track to vertex extrapolator **/
-  ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool;
-
-}; // class TrackParticleParametersAtBLFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMaker_TRKTRACKPARAMETERSATBLFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.cxx
deleted file mode 100644
index 9cf1412dfbc..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.cxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrackParticleTSOAssociationTool.h"
-
-#include <Particle/TrackParticle.h>
-#include <TrkTrack/TrackStateOnSurface.h>
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "InDetIdentifier/PixelID.h"
-
-namespace D3PD {
-
-
-TrackParticleTSOAssociationTool::TrackParticleTSOAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      InDetTSOSAssociationHelper()
-{
-//   declareProperty("InDetHoleSearchTool", m_idHoleSearch);
-  for(std::map<std::string, bool>::iterator itr=m_getTypes.begin(); 
-      itr!=m_getTypes.end(); itr++){
-    declareProperty(itr->first, itr->second);
-  }
-}
-
-StatusCode TrackParticleTSOAssociationTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-//   if ( !m_idHoleSearch.empty() ) {
-//     if (m_idHoleSearch.retrieve().isFailure() ) {
-//       REPORT_MESSAGE (MSG::ERROR) << "Failed to retrieve InDet hole search tool " << m_idHoleSearch;
-//       return StatusCode::FAILURE;
-//     } else {
-//       REPORT_MESSAGE (MSG::INFO) << "Retrieved tool " << m_idHoleSearch;
-//       m_doHolesInDet = true;
-//     }
-//   }
-
-  // need Atlas id-helper to identify sub-detectors, take it from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasID helper";
-    return StatusCode::FAILURE;
-  }
-  
-  // need Pixel helper to identify b-layer TSOS, take it from detStore
-  if (detStore()->retrieve(m_pixelId, "PixelID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get PixelID helper";
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Start the iteration for a new association.
- * @param p The object from which to associate.
- */
-StatusCode TrackParticleTSOAssociationTool::reset (const Rec::TrackParticle& p)
-{
-
-  return doReset(p);
-}
-
-/**
- * @brief Return a pointer to the next element in the association.
- *
- * Return 0 when the association has been exhausted.
- */
-const Trk::TrackStateOnSurface* TrackParticleTSOAssociationTool::next()
-{
-
-  return getNext();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.h
deleted file mode 100644
index c89f3f252dc..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTSOAssociationTool.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PD_TRACKPARTICLETSOASSOCIATIONTOOL_H
-#define INDETD3PD_TRACKPARTICLETSOASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "InDetTSOSAssociationHelper.h"
-
-namespace Rec{
-class TrackParticle;
-}
-
-namespace Trk{
-  class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-class TrackParticleTSOAssociationTool
-  : public MultiAssociationTool<Rec::TrackParticle, Trk::TrackStateOnSurface>,
-    InDetTSOSAssociationHelper
-{
-public:
-
-  typedef MultiAssociationTool<Rec::TrackParticle, Trk::TrackStateOnSurface> Base;
-
-  TrackParticleTSOAssociationTool (const std::string& type,
-				   const std::string& name,
-				   const IInterface* parent);
-
-  virtual StatusCode initialize();
-
-  /**
-   * @brief Start the iteration for a new association.
-   * @param p The object from which to associate.
-   */
-  virtual StatusCode reset (const Rec::TrackParticle& p);
-
-  /**
-   * @brief Return a pointer to the next element in the association.
-   *
-   * Return 0 when the association has been exhausted.
-   */
-  virtual const Trk::TrackStateOnSurface* next();
-
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PD_TRACKPARTICLETSOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.cxx
deleted file mode 100644
index b7ca8e01308..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.cxx
+++ /dev/null
@@ -1,492 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-//********************************************************/
-// @author <yuriy.pylypchenko@cern.ch>                    /
-// @date Oct, 2010                                        /
-// @brief setting up an association of clusters to tracks /
-//       represented by indices.                          /
-//********************************************************/
- 
- 
-#include "TrackParticleToPixelClusterAssociationTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include "Particle/TrackParticle.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include <map>
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-#include "TrkCompetingRIOsOnTrack/CompetingRIOsOnTrack.h"
-#include "TrkParameters/TrackParameters.h"
-
-
-
-#include "InDetIdentifier/PixelID.h"
-
-namespace D3PD {
-
-
-TrackParticleToPixelClusterAssociationTool::TrackParticleToPixelClusterAssociationTool (const std::string& type,
-								const std::string& name,
-								const IInterface* parent)
-  : TrackParticleToPixelClusterToTrackBase(type, name, parent),
-    m_idHelper(0),
-    m_pixelId(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
- 
-
-/// initialize method.
-StatusCode TrackParticleToPixelClusterAssociationTool::initialize()
-{
- 
-
-  // need Atlas id-helpers to identify sub-detectors, take them from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasDetectorID helper";
-    return StatusCode::FAILURE;
-  }
-
-  if(detStore()->retrieve(m_pixelId,"PixelID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve Pixel helper";
-    return StatusCode::FAILURE;
-  }
-
-
-  return  TrackParticleToPixelClusterToTrackBase::initialize();
-}
-/// booking btuple variables
-StatusCode TrackParticleToPixelClusterAssociationTool::book()
-{
- 
-  CHECK( TrackParticleToPixelClusterToTrackBase::book() );
-  
-  CHECK( addVariable( "clX" , m_clGlobX) );
-  CHECK( addVariable( "clY" , m_clGlobY) );
-  CHECK( addVariable( "clZ" , m_clGlobZ) );
-  CHECK( addVariable( "clLocX" , m_clLocX) );
-  CHECK( addVariable( "clLocY" , m_clLocY) );
-  CHECK( addVariable( "clId" , m_id) );
-  CHECK( addVariable( "clDetElementId" , m_detElementId) );
-  CHECK( addVariable( "clDetType" , m_detType) );
-  CHECK( addVariable( "clBEC" , m_bec) );
-  CHECK( addVariable( "clLayer" , m_layer) );
-  CHECK( addVariable( "locX" , m_locX) );
-  CHECK( addVariable( "locY" , m_locY) );
-  CHECK( addVariable( "errLocX" , m_err_locX) );
-  CHECK( addVariable( "errLocY" , m_err_locY) );
-  CHECK( addVariable( "covLocXY" , m_cov_locXY) );
-  CHECK( addVariable( "x" , m_x) );
-  CHECK( addVariable( "y" , m_y) );
-  CHECK( addVariable( "z" , m_z) );
-  CHECK( addVariable( "trkLocX" , m_trkLocX) );
-  CHECK( addVariable( "trkLocY" , m_trkLocY) );
-  CHECK( addVariable( "errTrkLocX" , m_err_trkLocX) );
-  CHECK( addVariable( "errTrkLocY" , m_err_trkLocY) );
-  CHECK( addVariable( "covTrkLocXY" , m_cov_trkLocXY) );
-  CHECK( addVariable( "isCompetingRIO" , m_isCompetingRIO) );
-  CHECK( addVariable( "size" , m_sizePhi) );
-  CHECK( addVariable( "ToT" , m_ToT) );
-  CHECK( addVariable( "locPhi" , m_locPhi) );
-  CHECK( addVariable( "locTheta" , m_locTheta) );
-  CHECK( addVariable( "tsosType" , m_tsosType) );
-  
-
-  return StatusCode::SUCCESS;
-}
-
-///
-/// @brief Start the iteration for a new association.
-/// @param p The object from which to associate.
-///
-StatusCode TrackParticleToPixelClusterAssociationTool::reset (const  Rec::TrackParticle& p)
-{
-
-  const Trk::Track *track = p.originalTrack();
-  if(!track){
-    m_clusItr = m_clusEnd;
-    REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-    return StatusCode::SUCCESS;
-  }
-  
-  /// extra ntuple variable 
-  
-  m_clGlobX= 0;
-  m_clGlobY= 0;
-  m_clGlobZ= 0;
-  m_clLocX= 0;
-  m_clLocY= 0;
-  m_locX= 0;
-  m_locY= 0;
-  m_err_locX= 0;
-  m_err_locY= 0;
-  m_cov_locXY= 0;
-  m_x= 0;
-  m_y= 0;
-  m_z= 0;
-  m_trkLocX= 0;
-  m_trkLocY= 0;
-  m_err_trkLocX= 0;
-  m_err_trkLocY= 0;
-  m_cov_trkLocXY= 0;
-  m_isCompetingRIO= 0;
-  m_sizePhi= 0;
-  m_ToT = 0; 
-  //m_sideModule = 0;
-  m_locPhi= 0;
-  m_locTheta= 0;
-  m_Pt= 0;
-  m_tsosType= 0;
-  m_id= 0; // unique identifier for a cluster
-  m_detElementId= 0; // unique identifier for a detector element
-  m_detType= 0;
-  m_bec= 0;
-  m_layer= 0;
-
-  /*
-  m_locPhiOld = 0;
-  m_locThetaOld = 0;
-  m_locPhiOldNotCor = 0; 
-  m_locThetaOldNotCor = 0;
-  */
-
-  m_pixelClusterForAssociation.clear();
-
-  const InDet::PixelClusterContainer* riocont; 
-  if(!evtStore()->contains<InDet::PixelClusterContainer>("PixelClusters")){ 
-
-	REPORT_MESSAGE (MSG::WARNING) << "No pixel clusters....";
-
-  } 
-  else {
-    StatusCode sc = evtStore()->retrieve(riocont, "PixelClusters");
-    if(sc.isFailure()) {
-      	REPORT_MESSAGE (MSG::WARNING) << "Could not get clusters....";
-    }
-  }
-
-
-  std::vector< Identifier> pixelClusterIdentifier;  
-
-  const DataVector<const Trk::TrackStateOnSurface>* trackHits = track->trackStateOnSurfaces();
-  
-  if (!trackHits){
-    m_clusItr = m_clusEnd;
-    REPORT_MESSAGE (MSG::WARNING) << "TESTASSOC for current track measurementsOntrack == Null, no clusters will be associated with this track";
-    return StatusCode::SUCCESS;
-  }
-
-  DataVector<const Trk::TrackStateOnSurface>::const_iterator it = trackHits->begin();
-
-  for ( ; it != trackHits->end(); it++){
-
-    const InDet::SiClusterOnTrack *clus = dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack());
-
-    if (clus){
-
-      //const Trk::TrkDetElementBase* detectorElement = clus->detectorElement();
-      // Dynamic cast to Silicon element and do Pixel / SCT element test
-      //const InDetDD::SiDetectorElement* siliconDetectorElement = dynamic_cast< const InDetDD::SiDetectorElement* >(detectorElement);   
-
-      // Get Pointer to prepRawDataObject	
-      const InDet::PixelCluster *RawDataClus = dynamic_cast<const InDet::PixelCluster*>(clus->prepRawData());
-
-      if (RawDataClus==0){
-        REPORT_MESSAGE (MSG::DEBUG) << "TESTASSOC SiCluster WITHOUT prepRawData!!!!";
-      }
-
-      // check if Cluster is in Pixel ...
-      if (RawDataClus!=0){
-        if (RawDataClus->detectorElement()->isPixel()){
-
-          REPORT_MESSAGE (MSG::DEBUG) << "TESTASSOC SiHIT via prepRawData";
-       
-          Identifier pixelClusterID = RawDataClus->identify();
-
-          pixelClusterIdentifier.push_back(pixelClusterID);
-
-          m_pixelClusterForAssociation.push_back(*it);
-
-          REPORT_MESSAGE (MSG::DEBUG) << "(2)TESTASSOC TSoS-Type is: "<<   (*it)->types().to_ulong();
-
-        }
-      }
-    }
-  }
-
-  m_clusItr = m_pixelClusterForAssociation.begin(); //pixel::vector<cont InDet::PixelCluster>::const_iterator 
-  m_clusEnd = m_pixelClusterForAssociation.end(); 
-
-  return StatusCode::SUCCESS;
-}
-
-/**
-* @brief Return a pointer to the next element in the association.
-*
-* Return 0 when the association has been exhausted.
-*/
-const InDet::PixelCluster* TrackParticleToPixelClusterAssociationTool::next()
-  {
-
-    const InDet::PixelCluster* RawDataClus = 0;
-
-    // reached the end
-    if(m_clusItr==m_clusEnd){
-      return 0;
-    }
-    else{
-    }
-    
-    *m_clGlobX= -9999.;
-    *m_clGlobY= -9999.;
-    *m_clGlobZ= -9999.;
-    *m_clLocX= -9999.;
-    *m_clLocY= -9999.;
-    *m_locX= -9999.;
-    *m_locY= -9999.;
-    *m_err_locX= -9999.;
-    *m_err_locY= -9999.;
-    *m_cov_locXY= -9999.;
-    *m_x= -9999.;
-    *m_y= -9999.;
-    *m_z= -9999.;
-    *m_trkLocX= -9999.;
-    *m_trkLocY= -9999.;
-    *m_err_trkLocX= -9999.;
-    *m_err_trkLocY= -9999.;
-    *m_cov_trkLocXY= -9999.;
-    *m_isCompetingRIO= 0;
-    *m_sizePhi= 0.;
-    *m_ToT = -99999;
-    //*m_sideModule = -9999;
-    *m_locPhi= -9999.;
-    *m_locTheta= -9999.;
-    *m_Pt= -9999.;
-    *m_tsosType= (int)Trk::TrackStateOnSurface::Unknown;
-
-    *m_id= 0; // unique identifier for a cluster
-    *m_detElementId= 0; // unique identifier for a detector element
-    *m_detType= Trk::TrackState::unidentified;
-    *m_bec= -9999.;
-    *m_layer= -1;
-
-    /*
-    *m_locPhiOld = -9999.;
-    *m_locThetaOld = -9999.;
-    *m_locPhiOldNotCor = -9999.; 
-    *m_locThetaOldNotCor = -9999.;
-    */
-
-    const Trk::TrackStateOnSurface* pTSoS = *m_clusItr;
-    long bitsetValue = (long)pTSoS->types().to_ulong();
-    *m_tsosType = (int)bitsetValue;
-
-    // TrackStateOnSurface part 
-
-    // measured hit/outlier
-    const Trk::MeasurementBase *measurement = pTSoS->measurementOnTrack();
-
-    // track parameters at wafer
-    const Trk::TrackParameters *tp = pTSoS->trackParameters();
-    
-    // Fill the hit/oultier local/global position variables
-    if(measurement){
-      
-      // local position
-      //for SCT only locX, locY ether not defined at all, i.e.-9999.
-      // or 0, when the second parameter defined
-
-      //local parameters
-      const Trk::LocalParameters pars = measurement->localParameters();
-      //local error matrix
-      const Amg::MatrixX& err = measurement->localCovariance();
- 
-      //>fix1.. this produced FPE OVERFLOW last time 
-      // *m_locX = (float)pars[Trk::locX];
-      // *m_locY = (float)pars[Trk::locY];
-      if ( pars.contains(Trk::locX) ){
-        double locX = pars[Trk::locX];
-        if ( !(std::isinf(locX) || std::isnan(locX)) ){
-          *m_locX = (float)locX;
-          *m_err_locX = (float)sqrt( err(Trk::locX,Trk::locX) );
-        }
-      }
-      if ( pars.contains(Trk::locY) ){
-        double locY = pars.get(Trk::locY);
-        if ( !(std::isinf(locY) || std::isnan(locY)) ){
-          if ( locY<1e-07 ) locY=0.;
-          *m_locY = (float)locY;
-          *m_err_locY = (float)sqrt( err(Trk::locY,Trk::locY) );
-        }
-      }
-      if ( *m_locX > -9900 && *m_locY > -9900 ){
-        double locXY = err(Trk::locX,Trk::locY);
-        if (  !(std::isinf(locXY) || std::isnan(locXY)) )
-          *m_cov_locXY = (float)locXY;
-      }
-      //<fix1
-   
-      // global position
-      Amg::Vector3D pos = measurement->globalPosition();
-      *m_x = (float)pos.x();
-      *m_y = (float)pos.y();
-      *m_z = (float)pos.z();
-    }
-
-    // Fill the track local position at wafer
-    if(tp){
-     
-      //const HepVector lp0 = tp->parameters();
-      if ( tp->parameters().rows() > 1 ){
-        *m_trkLocX=(float)tp->parameters()[Trk::locX]; //lp[Trk::locX];
-        *m_trkLocY=(float)tp->parameters()[Trk::locY]; //lp[Trk::locY];
-  
-        const AmgSymMatrix(5)* err = tp->covariance();
-       
-        if(err){
-          *m_err_trkLocX=(float)sqrt((*err)(Trk::locX,Trk::locX));
-          *m_err_trkLocY=(float)sqrt((*err)(Trk::locY,Trk::locY));
-          *m_cov_trkLocXY=(float)(*err)(Trk::locX, Trk::locY);
-        }
-      }
-
-    } // if(tp)
-
-    //*m_isCompetingRIO = 0;
-    const Trk::RIO_OnTrack *rio = dynamic_cast<const Trk::RIO_OnTrack*>(measurement);
-    if(!rio){
-      const Trk::CompetingRIOsOnTrack *crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(measurement);
-      if(crot){
-        rio = &crot->rioOnTrack( crot->indexOfMaxAssignProb() );
-        *m_isCompetingRIO = 1;
-      }
-    }
- 
-
-    // Fill varaibles representing Pixel Cluster local and global coordinates
-    if(rio){
-
-      Identifier id = rio->identify();
-   
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-      if(de){
-        Identifier detId = de->identify();
-
-        if ( detId.is_valid() ) {
-          *m_detElementId = detId.get_compact();
-  
-          if (m_idHelper->is_pixel(detId)) {
-            *m_detType = (int)Trk::TrackState::Pixel;
-            *m_bec = (int)m_pixelId->barrel_ec(id);
-            *m_layer = (int)m_pixelId->layer_disk(id);
-            //*m_sideModule = (int)m_pixelId->side(id);
-            const InDet::PixelCluster *clus = dynamic_cast<const InDet::PixelCluster*>(rio->prepRawData());
-            if(clus){
-              const InDet::SiWidth cw = clus->width();
-              *m_sizePhi = (int)cw.colRow().x(); //cw.colRow()[0]; 
-              //Xiaoxiao
-              *m_ToT = (int)clus->totalToT();
-              RawDataClus = clus;
-              *m_clGlobX = (float)RawDataClus->globalPosition().x();
-              *m_clGlobY = (float)RawDataClus->globalPosition().y();
-              *m_clGlobZ = (float)RawDataClus->globalPosition().z();
-              const Amg::VectorX& locpos = RawDataClus->localPosition();
-      
-              if ( !(std::isinf(locpos[Trk::locX]) || std::isnan(locpos[Trk::locX])) )
-                *m_clLocX = (float)locpos[Trk::locX];
-
-              if ( !(std::isinf(locpos[Trk::locY]) || std::isnan(locpos[Trk::locY])) ){
-                *m_clLocY = (float)locpos[Trk::locY];
-              }
-    
-            }
-          }
-        }
-        else {
-          REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-        }
-      }
-    } // if rio
-
-
-    // Fill local incidence angles
-    if ( measurement && rio && tp ) {
-
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-
-      if(de){
-        Identifier detId = de->identify();
-
-        if ( detId.is_valid() ) {
-          if ( m_idHelper->is_pixel(detId)) {
-
-            const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de);
-            if ( side ){
-
-              //fix 2 is the modification of loc inc. angles
-              //const InDet::PixelCluster *clus = dynamic_cast<const InDet::PixelCluster*>(rio->prepRawData());
-              double sinAlpha = 0.;
-              if(RawDataClus){
-                // local Stereo anlge of strip with respect to locY axis
-                // always 0. for Barrel modules
-                sinAlpha = side->sinStereoLocal(RawDataClus->localPosition());
-              }
-
-              // normal component of the wafer's local coordinate system
-              // (along global R for Barrel and global Z for Endcaps)
-              //HepVector3D mynormal = side->normal(); 
-              Amg::Vector3D mynormal = side->normal(); 
-
-              // side->phiAxis() is the X component of wafer's local coordinates 
-              //(goes across the strips in increasing global Phi direction)
-              // side->etaAxis() is the Y component of wafer's local coordinates
-              //(goes along the strips in increasing global Eta direction)
-
-              // Here we rotate around local Z axis to account for strip local stereo angle if any (EC)
-              // "-" is because rotation is defined in the counter-clockwise sense,
-              // and we need to go back (clockwise) to align the local axes with the
-              //HepVector3D myphiax = rotationZOf(side->phiAxis(),asin(-sinAlpha));
-              //HepVector3D myetaax = rotationZOf(side->etaAxis(),asin(-sinAlpha));
-
-              //HepVector3D mytrack = tp->momentum();
-              Amg::Translation3D translation(0.,0.,0.);
-              Amg::Transform3D   transform1 = translation * Amg::AngleAxis3D( asin(-sinAlpha), Amg::Vector3D(0.,0.,1.));        
-
-              Amg::Vector3D myphiax = transform1.linear() * side->phiAxis();
-              Amg::Vector3D myetaax = transform1.linear() * side->etaAxis();
-
-              Amg::Vector3D mytrack = tp->momentum();
-
-              float trketacomp = (float)mytrack.dot(myetaax);
-              float trkphicomp = (float)mytrack.dot(myphiax);
-              float trknormcomp = (float)mytrack.dot(mynormal);
-              if (fabs(trknormcomp*1e07)>0 ){
-                const double inv_trknormcomp = 1. / trknormcomp;
-                *m_locPhi = (float)atan(trkphicomp * inv_trknormcomp); 
-                *m_locTheta = (float)atan(trketacomp * inv_trknormcomp); 
-              }
-            }
-          }
-        }else{
-          REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-        }
-      }
-    } // if measurement && rio && tp
-       
-    m_clusItr++; // to go throuhg all the HitsOnTrack
-
-    return RawDataClus;
-
-  }
- 
- } // namespace D3PD
-  
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.h
deleted file mode 100644
index 9d6dee82226..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-* @file InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationTool.cxx
-* @author <yuriy.pylypchenko@cern.ch>
-* @date Oct, 2010
-* @brief setting up an association of tracks to clusters
-*        represented by indices. 
-*/
-#ifndef TRACKPARTICLETOPIXELCLUSTERASSOCIATIONTOOL_H
-#define TRACKPARTICLETOPIXELCLUSTERASSOCIATIONTOOL_H
- 
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-
-#include "InDetPrepRawData/PixelClusterContainer.h"
-#include "InDetPrepRawData/PixelClusterCollection.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-class AtlasDetectorID;
-class PixelID;
-
-
-namespace Rec{
-  class TrackParticle;
-}
-
-
-namespace Trk{
-  class Track;
-  class TrackStateOnSurface;
-}
-
-namespace InDet {
-  class PixelCluster;
-  class SiCluster;
-}
-
- 
-namespace D3PD {
- 
- 
-
-  ///
-  ///@brief Associate all clusters which belong to given track.
-  ///
-  /// This is a multiple association tool.
-  /// Given an @c InDet::PixelCluster object and a container of such objects,
-  /// return the all objects in the container wich identified with TrackStateOnSurface 
-  /// (Measurements) of the input track.
-  ///
-
-
-typedef D3PD::MultiAssociationTool<Rec::TrackParticle, InDet::PixelCluster> TrackParticleToPixelClusterToTrackBase;
-  
-class TrackParticleToPixelClusterAssociationTool
-   : public TrackParticleToPixelClusterToTrackBase 
-{
-public:
- 
-  ///
-  /// @brief Standard Gaudi tool constructor.
-  /// @param type The name of the tool type.
-  /// @param name The tool name.
-  /// @param parent The tool's Gaudi parent.
-  ///
-  TrackParticleToPixelClusterAssociationTool (const std::string& type,
-				  const std::string& name,
-				  const IInterface* parent);
- 
-
- 
-  /// Standard initialize method.
-  virtual StatusCode initialize();
-  ///
-  /// @brief Create any needed tuple variables.
-  /// In principle we do not intend to get anything else then index 
-  ///(=we don't create) variables
-  /// but for debugging and validation puproses it is nice to have this.
-  /// This is called at the start of the first event.
-  ///
-  virtual StatusCode book();
- 
-  ///
-  /// @brief Start the iteration for a new association.
-  /// @param p The object from which to associate.
-  ///
-  virtual StatusCode reset (const Rec::TrackParticle& p);
- 
- 
-  ///
-  /// @brief Return a pointer to the next element in the association.
-  ///
-  /// Return 0 when the association has been exhausted.
-  ///
-  virtual const InDet::PixelCluster* next();
- 
-
-
- 
-private:
-
-  const AtlasDetectorID* m_idHelper;
-  const PixelID* m_pixelId;
-
-  std::vector<const Trk::TrackStateOnSurface*> m_pixelClusterForAssociation; 
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusItr;
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusEnd;
-
-  /// extra ntuple variable 
-  float                 *m_clGlobX;
-  float                 *m_clGlobY;
-  float                 *m_clGlobZ;
-  float                 *m_clLocX;
-  float                 *m_clLocY;
-  float                 *m_locX;
-  float                 *m_locY;
-  float                 *m_err_locX;
-  float                 *m_err_locY;
-  float                 *m_cov_locXY;
-  float                 *m_x;
-  float                 *m_y;
-  float                 *m_z;
-  float                 *m_trkLocX;
-  float                 *m_trkLocY;
-  float                 *m_err_trkLocX;
-  float                 *m_err_trkLocY;
-  float                 *m_cov_trkLocXY;
-  int                   *m_isCompetingRIO;
-  int                   *m_sizePhi;
-  int			*m_ToT;
-  //int                   *m_sideModule;
-  float                 *m_locPhi;
-  float                 *m_locTheta;
-  float 		*m_Pt;
-  int                   *m_tsosType;
- 
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId; // unique identifier for a detector element
-  int *m_detType;
-  int *m_bec;
-  int *m_layer;
-
-  /*
-  float                 *m_locPhiOld;
-  float                 *m_locThetaOld;
-  float                 *m_locPhiOldNotCor;
-  float                 *m_locThetaOldNotCor;
-  */
-
-
-
-}; // class TrackParticleToPixelClusterAssociationTool
-
- 
-} // namespace D3PD
- 
-#endif // not TRACKPARTICLETOPIXELCLUSTERASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.cxx
deleted file mode 100644
index 5c253e5c1a6..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.cxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrackParticleToPixelClusterAssociationToolLight.h"
-
-#include <Particle/TrackParticle.h>
-#include "TrkTrack/Track.h"
-#include <TrkTrack/TrackStateOnSurface.h>
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-
-namespace D3PD {
-
-
-TrackParticleToPixelClusterAssociationToolLight::TrackParticleToPixelClusterAssociationToolLight
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_idHelper(0)
-{
-}
-
-StatusCode TrackParticleToPixelClusterAssociationToolLight::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // need Atlas id-helper to identify sub-detectors, take it from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasID helper";
-    return StatusCode::FAILURE;
-  }   
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Start the iteration for a new association.
- * @param p The object from which to associate.
- */
-StatusCode TrackParticleToPixelClusterAssociationToolLight::reset (const Rec::TrackParticle& p)
-{
-
-  m_pixelClusterForAssociation.clear();
-
-  const Trk::Track *track = p.originalTrack();
-  if(!track){
-    m_clusItr = m_clusEnd;
-    REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-    return StatusCode::SUCCESS;
-  }
-
-  const DataVector<const Trk::TrackStateOnSurface> *TSOs = 0;
-
-
-  TSOs = track->trackStateOnSurfaces();
-  
-
-  if(!TSOs){
-    m_clusItr = m_clusEnd;
-    REPORT_MESSAGE (MSG::WARNING) << "Could not access track state on surfaces";
-    return StatusCode::SUCCESS;
-  }
-
-  DataVector<const Trk::TrackStateOnSurface>::const_iterator it = TSOs->begin();
-  for( ; it!=TSOs->end(); it++){
-
-    const InDet::SiClusterOnTrack *clus = dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack());
-
-    if (clus){
-  
-      // Get Pointer to prepRawDataObject	
-      const InDet::PixelCluster *RawDataClus = dynamic_cast<const InDet::PixelCluster*>(clus->prepRawData());
-
-      if (RawDataClus!=0){
-        if (RawDataClus->detectorElement()->isPixel()){
-  
-          m_pixelClusterForAssociation.push_back(*it);
-
-        }
-      }
-    } // if (clus)
-  }
- 
-  m_clusItr = m_pixelClusterForAssociation.begin(); //pixel::vector<cont InDet::PixelCluster>::const_iterator 
-  m_clusEnd = m_pixelClusterForAssociation.end(); 
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Return a pointer to the next element in the association.
- *
- * Return 0 when the association has been exhausted.
- */
-const Trk::TrackStateOnSurface* TrackParticleToPixelClusterAssociationToolLight::next()
-{
-
-  // reached the end
-  if(m_clusItr == m_clusEnd) return 0;
-
-  const Trk::TrackStateOnSurface *TSO = (*m_clusItr);
-  m_clusItr++;
-
-  return TSO;
-}
-
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.h
deleted file mode 100644
index 41beeabb970..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToPixelClusterAssociationToolLight.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef TRACKD3PD_TRACKPARTICLETOPIXELCLUSTERASSOCIATIONTOOLLIGHT_H
-#define TRACKD3PD_TRACKPARTICLETOPIXELCLUSTERASSOCIATIONTOOLLIGHT_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "AthContainers/DataVector.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "TrkToolInterfaces/ITrackHoleSearchTool.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "InDetPrepRawData/PixelCluster.h"
-
-
-
-#include <vector>
-#include <map>
-
-class AtlasDetectorID;
-
-namespace Rec{
-class TrackParticle;
-}
-
-namespace Trk{
-  class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-class TrackParticleToPixelClusterAssociationToolLight
-  : public MultiAssociationTool<Rec::TrackParticle, Trk::TrackStateOnSurface>
-{
-public:
-
-  typedef MultiAssociationTool<Rec::TrackParticle, Trk::TrackStateOnSurface> Base;
-
-  TrackParticleToPixelClusterAssociationToolLight (const std::string& type,
-						 const std::string& name,
-						 const IInterface* parent);
-
-  virtual StatusCode initialize();
-
-  /**
-   * @brief Start the iteration for a new association.
-   * @param p The object from which to associate.
-   */
-  virtual StatusCode reset (const Rec::TrackParticle& p);
-
-  /**
-   * @brief Return a pointer to the next element in the association.
-   *
-   * Return 0 when the association has been exhausted.
-   */
-  virtual const Trk::TrackStateOnSurface* next();
-
-
-private:
-
-
-  const AtlasDetectorID* m_idHelper;
-
-  std::vector<const Trk::TrackStateOnSurface*> m_pixelClusterForAssociation;
-
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusItr;
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusEnd;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not TRACKD3PD_TRACKPARTICLETOPixelCLUSTERASSOCIATIONTOOLLIGHT_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.cxx
deleted file mode 100644
index fc00cef0dc3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.cxx
+++ /dev/null
@@ -1,492 +0,0 @@
-/*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-*/
-
-//********************************************************/
-// @author <yuriy.pylypchenko@cern.ch>                    /
-// @date Oct, 2010                                        /
-// @brief setting up an association of clusters to tracks /
-//       represented by indices.                          /
-//********************************************************/
- 
- 
-#include "TrackParticleToSCTClusterAssociationTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include "Particle/TrackParticle.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-#include "TrkCompetingRIOsOnTrack/CompetingRIOsOnTrack.h"
-#include "TrkParameters/TrackParameters.h"
-
-
-
-#include "InDetIdentifier/SCT_ID.h"
-
-#include <cmath>
-#include <map>
-
-namespace D3PD {
-
-
-TrackParticleToSCTClusterAssociationTool::TrackParticleToSCTClusterAssociationTool (const std::string& type,
-								const std::string& name,
-								const IInterface* parent)
-  : TrackParticleToSCTClusterToTrackBase(type, name, parent),
-    m_idHelper(0),
-    m_sctId(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
- 
-
-/// initialize method.
-StatusCode TrackParticleToSCTClusterAssociationTool::initialize()
-{
- 
-
-  // need Atlas id-helpers to identify sub-detectors, take them from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasDetectorID helper";
-    return StatusCode::FAILURE;
-  }
-
-  if(detStore()->retrieve(m_sctId,"SCT_ID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve SCT helper";
-    return StatusCode::FAILURE;
-  }
-
-  if (m_SCTDetEleCollKey.initialize().isFailure()) {
-    REPORT_MESSAGE (MSG::FATAL) << "Could not initialize " << m_SCTDetEleCollKey.fullKey();
-    return StatusCode::FAILURE;
-  }
-
-  return  TrackParticleToSCTClusterToTrackBase::initialize();
-}
-/// booking btuple variables
-StatusCode TrackParticleToSCTClusterAssociationTool::book()
-{
- 
-  CHECK( TrackParticleToSCTClusterToTrackBase::book() );
-  
-  CHECK( addVariable( "clX" , m_clGlobX) );
-  CHECK( addVariable( "clY" , m_clGlobY) );
-  CHECK( addVariable( "clZ" , m_clGlobZ) );
-  CHECK( addVariable( "clLocX" , m_clLocX) );
-  CHECK( addVariable( "clLocY" , m_clLocY) );
-  CHECK( addVariable( "clId" , m_id) );
-  CHECK( addVariable( "clDetElementId" , m_detElementId) );
-  CHECK( addVariable( "clDetType" , m_detType) );
-  CHECK( addVariable( "clBEC" , m_bec) );
-  CHECK( addVariable( "clLayer" , m_layer) );
-  CHECK( addVariable( "locX" , m_locX) );
-  CHECK( addVariable( "locY" , m_locY) );
-  CHECK( addVariable( "errLocX" , m_err_locX) );
-  CHECK( addVariable( "errLocY" , m_err_locY) );
-  CHECK( addVariable( "covLocXY" , m_cov_locXY) );
-  CHECK( addVariable( "x" , m_x) );
-  CHECK( addVariable( "y" , m_y) );
-  CHECK( addVariable( "z" , m_z) );
-  CHECK( addVariable( "trkLocX" , m_trkLocX) );
-  CHECK( addVariable( "trkLocY" , m_trkLocY) );
-  CHECK( addVariable( "errTrkLocX" , m_err_trkLocX) );
-  CHECK( addVariable( "errTrkLocY" , m_err_trkLocY) );
-  CHECK( addVariable( "covTrkLocXY" , m_cov_trkLocXY) );
-  CHECK( addVariable( "isCompetingRIO" , m_isCompetingRIO) );
-  CHECK( addVariable( "size" , m_sizePhi) );
-  CHECK( addVariable( "side" , m_sideModule) );
-  CHECK( addVariable( "locPhi" , m_locPhi) );
-  CHECK( addVariable( "locTheta" , m_locTheta) );
-  CHECK( addVariable( "tsosType" , m_tsosType) );
-  
-
-  return StatusCode::SUCCESS;
-}
-
-///
-/// @brief Start the iteration for a new association.
-/// @param p The object from which to associate.
-///
-StatusCode TrackParticleToSCTClusterAssociationTool::reset (const  Rec::TrackParticle& p)
-{
-
-  const Trk::Track *track = p.originalTrack();
-  if(!track){
-    m_clusItr = m_clusEnd;
-    //REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-    return StatusCode::SUCCESS;
-  }
-  
-  /// extra ntuple variable 
-  
-  m_clGlobX= 0;
-  m_clGlobY= 0;
-  m_clGlobZ= 0;
-  m_clLocX= 0;
-  m_clLocY= 0;
-  m_locX= 0;
-  m_locY= 0;
-  m_err_locX= 0;
-  m_err_locY= 0;
-  m_cov_locXY= 0;
-  m_x= 0;
-  m_y= 0;
-  m_z= 0;
-  m_trkLocX= 0;
-  m_trkLocY= 0;
-  m_err_trkLocX= 0;
-  m_err_trkLocY= 0;
-  m_cov_trkLocXY= 0;
-  m_isCompetingRIO= 0;
-  m_sizePhi= 0;
-  m_sideModule = 0;
-  m_locPhi= 0;
-  m_locTheta= 0;
-  m_tsosType= 0;
-  m_id= 0; // unique identifier for a cluster
-  m_detElementId= 0; // unique identifier for a detector element
-  m_detType= 0;
-  m_bec= 0;
-  m_layer= 0;
-
-  m_sctClusterForAssociation.clear();
-
-  const InDet::SCT_ClusterContainer* riocont; 
-  if(!evtStore()->contains<InDet::SCT_ClusterContainer>("SCT_Clusters")){ 
-
-	REPORT_MESSAGE (MSG::WARNING) << "No sct clusters....";
-
-  } 
-  else {
-    StatusCode sc = evtStore()->retrieve(riocont, "SCT_Clusters");
-    if(sc.isFailure()) {
-      	REPORT_MESSAGE (MSG::WARNING) << "Could not get clusters....";
-    }
-  }
-
-
-  std::vector< Identifier> sctClusterIdentifier;  
-
-  const DataVector<const Trk::TrackStateOnSurface>* trackHits = track->trackStateOnSurfaces();
-  
-  if (!trackHits){
-    m_clusItr = m_clusEnd;
-    REPORT_MESSAGE (MSG::WARNING) << "TESTASSOC for current track measurementsOntrack == Null, no clusters will be associated with this track";
-    return StatusCode::SUCCESS;
-  }
-
-  DataVector<const Trk::TrackStateOnSurface>::const_iterator it = trackHits->begin();
-
-  for ( ; it != trackHits->end(); it++){
-
-    const InDet::SiClusterOnTrack *clus = dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack());
-
-    if (clus){
-
-      //const Trk::TrkDetElementBase* detectorElement = clus->detectorElement();
-      // Dynamic cast to Silicon element and do Pixel / SCT element test
-      //const InDetDD::SiDetectorElement* siliconDetectorElement = dynamic_cast< const InDetDD::SiDetectorElement* >(detectorElement);   
-
-      // Get Pointer to prepRawDataObject	
-      const InDet::SCT_Cluster *RawDataClus = dynamic_cast<const InDet::SCT_Cluster*>(clus->prepRawData());
-
-      if (RawDataClus==0){
-        //REPORT_MESSAGE (MSG::DEBUG) << "TESTASSOC SiCluster WITHOUT prepRawData!!!!";
-      }
-
-      // check if Cluster is in SCT ...
-      if (RawDataClus!=0){
-        if (RawDataClus->detectorElement()->isSCT()){
-
-          //REPORT_MESSAGE (MSG::DEBUG) << "TESTASSOC SiHIT via prepRawData";
-       
-          Identifier sctClusterID = RawDataClus->identify();
-
-          sctClusterIdentifier.push_back(sctClusterID);
-
-          m_sctClusterForAssociation.push_back(*it);
-
-          //REPORT_MESSAGE (MSG::DEBUG) << "(2)TESTASSOC TSoS-Type is: "<<   (*it)->types().to_ulong();
-
-        }
-      }
-    }
-  }
-
-  m_clusItr = m_sctClusterForAssociation.begin(); //sct::vector<cont InDet::SCT_Cluster>::const_iterator 
-  m_clusEnd = m_sctClusterForAssociation.end(); 
-
-  return StatusCode::SUCCESS;
-}
-
-/**
-* @brief Return a pointer to the next element in the association.
-*
-* Return 0 when the association has been exhausted.
-*/
-const InDet::SCT_Cluster* TrackParticleToSCTClusterAssociationTool::next()
-  {
-
-    const InDet::SCT_Cluster* RawDataClus = 0;
-
-    // reached the end
-    if(m_clusItr==m_clusEnd){
-      return 0;
-    }
-    else{
-    }
-    
-    *m_clGlobX= -9999.;
-    *m_clGlobY= -9999.;
-    *m_clGlobZ= -9999.;
-    *m_clLocX= -9999.;
-    *m_clLocY= -9999.;
-    *m_locX= -9999.;
-    *m_locY= -9999.;
-    *m_err_locX= -9999.;
-    *m_err_locY= -9999.;
-    *m_cov_locXY= -9999.;
-    *m_x= -9999.;
-    *m_y= -9999.;
-    *m_z= -9999.;
-    *m_trkLocX= -9999.;
-    *m_trkLocY= -9999.;
-    *m_err_trkLocX= -9999.;
-    *m_err_trkLocY= -9999.;
-    *m_cov_trkLocXY= -9999.;
-    *m_isCompetingRIO= 0;
-    *m_sizePhi= 0.;
-    *m_sideModule = -9999;
-    *m_locPhi= -9999.;
-    *m_locTheta= -9999.;
-    *m_tsosType= (int)Trk::TrackStateOnSurface::Unknown;
-
-    *m_id= 0; // unique identifier for a cluster
-    *m_detElementId= 0; // unique identifier for a detector element
-    *m_detType= Trk::TrackState::unidentified;
-    *m_bec= -9999.;
-    *m_layer= -1;
-
-    /*
-    *m_locPhiOld = -9999.;
-    *m_locThetaOld = -9999.;
-    *m_locPhiOldNotCor = -9999.; 
-    *m_locThetaOldNotCor = -9999.;
-    */
-
-    const Trk::TrackStateOnSurface* pTSoS = *m_clusItr;
-    long bitsetValue = (long)pTSoS->types().to_ulong();
-    *m_tsosType = (int)bitsetValue;
-
-    // TrackStateOnSurface part 
-
-    // measured hit/outlier
-    const Trk::MeasurementBase *measurement = pTSoS->measurementOnTrack();
-
-    // track parameters at wafer
-    const Trk::TrackParameters *tp = pTSoS->trackParameters();
-    
-    // Fill the hit/oultier local/global position variables
-    if(measurement){
-      
-      // local position
-      //for SCT only locX, locY ether not defined at all, i.e.-9999.
-      // or 0, when the second parameter defined
-
-      //local parameters
-      const Trk::LocalParameters pars = measurement->localParameters();
-      //local error matrix
-      const Amg::MatrixX& err = measurement->localCovariance();
-
-      //>fix1.. this produced FPE OVERFLOW last time 
-      // *m_locX = (float)pars[Trk::locX];
-      // *m_locY = (float)pars[Trk::locY];
-      if ( pars.contains(Trk::locX) ){
-        double locX = pars[Trk::locX];
-        if ( !(std::isinf(locX) || std::isnan(locX)) ){
-          *m_locX = (float)locX;
-          *m_err_locX = (float)sqrt( err(Trk::locX,Trk::locX) );
-        }
-      }
-      if ( pars.contains(Trk::locY) ){
-        double locY = pars.get(Trk::locY);
-        if ( !(std::isinf(locY) || std::isnan(locY)) ){
-          if ( locY<1e-07 ) locY=0.;
-          *m_locY = (float)locY;
-          *m_err_locY = (float)sqrt( err(Trk::locY,Trk::locY) );
-        }
-      }
-      if ( *m_locX > -9900 && *m_locY > -9900 ){
-        double locXY = err(Trk::locX,Trk::locY);
-        if (  !(std::isinf(locXY) || std::isnan(locXY)) )
-          *m_cov_locXY = (float)locXY;
-      }
-      //<fix1
-      //<fix1
-   
-      // global position
-      const Amg::Vector3D& pos = measurement->globalPosition();
-      //*m_x = (float)pos[Trk::x];
-      //*m_y = (float)pos[Trk::y];
-      //*m_z = (float)pos[Trk::z];
-      *m_x = (float)pos.x();
-      *m_y = (float)pos.y();
-      *m_z = (float)pos.z();
-    }
-
-    // Fill the track local position at wafer
-    if(tp){
-
-      //const HepVector lp0 = tp->parameters();
-      if ( tp->parameters().rows() > 1 ){
-        *m_trkLocX=(float)tp->parameters()[Trk::locX]; //lp[Trk::locX];
-        *m_trkLocY=(float)tp->parameters()[Trk::locY]; //lp[Trk::locY];
-  
-        const AmgSymMatrix(5)* err = tp->covariance();
-       
-        if(err){
-          *m_err_trkLocX=(float)sqrt((*err)(Trk::locX,Trk::locX));
-          *m_err_trkLocY=(float)sqrt((*err)(Trk::locY,Trk::locY));
-          *m_cov_trkLocXY=(float)(*err)(Trk::locX, Trk::locY);
-        }
-      }
-    } // if(tp)
-
-    //*m_isCompetingRIO = 0;
-    const Trk::RIO_OnTrack *rio = dynamic_cast<const Trk::RIO_OnTrack*>(measurement);
-    if(!rio){
-      const Trk::CompetingRIOsOnTrack *crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(measurement);
-      if(crot){
-        rio = &crot->rioOnTrack( crot->indexOfMaxAssignProb() );
-        *m_isCompetingRIO = 1;
-      }
-    }
- 
-
-    // Fill varaibles representing SCT Cluster local and global coordinates
-    if(rio){
-
-      Identifier id = rio->identify();
-   
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-      if(de){
-        Identifier detId = de->identify();
-
-        if ( detId.is_valid() ) {
-          *m_detElementId = detId.get_compact();
-  
-          if (m_idHelper->is_sct(detId)) {
-            *m_detType = (int)Trk::TrackState::SCT;
-            *m_bec = (int)m_sctId->barrel_ec(id);
-            *m_layer = (int)m_sctId->layer_disk(id);
-            *m_sideModule = (int)m_sctId->side(id);
-            const InDet::SCT_Cluster *clus = dynamic_cast<const InDet::SCT_Cluster*>(rio->prepRawData());
-            if(clus){
-              const InDet::SiWidth cw = clus->width();
-              *m_sizePhi = (int)cw.colRow().x(); //cw.colRow()[0]; 
-              RawDataClus = clus;
-
-              *m_clGlobX = (float)RawDataClus->globalPosition().x();
-              *m_clGlobY = (float)RawDataClus->globalPosition().y();
-              *m_clGlobZ = (float)RawDataClus->globalPosition().z();
-
-              const Amg::VectorX& locpos = RawDataClus->localPosition();
-      
-              if ( !(std::isinf(locpos[Trk::locX]) || std::isnan(locpos[Trk::locX])) )
-                *m_clLocX = (float)locpos[Trk::locX];
-
-              if ( !(std::isinf(locpos[Trk::locY]) || std::isnan(locpos[Trk::locY])) ){
-                if (locpos[Trk::locY]<1e-07) 
-                  *m_clLocY=0.;
-                else
-                  *m_clLocY = (float)locpos[Trk::locY];
-              }    
-            }
-          }
-        }
-        else {
-          REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-        }
-      }
-    } // if rio
-
-
-    // Fill local incidence angles
-    if ( measurement && rio && tp ) {
-
-      const Trk::TrkDetElementBase *de = rio->detectorElement();
-
-      if(de){
-        Identifier detId = de->identify();
-
-        if ( detId.is_valid() ) {
-          if ( m_idHelper->is_sct(detId)) {
-
-            const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de);
-            if ( side ){
-
-              //fix 2 is the modification of loc inc. angles
-              //const InDet::SCT_Cluster *clus = dynamic_cast<const InDet::SCT_Cluster*>(rio->prepRawData());
-              double sinAlpha = 0.;
-              if(RawDataClus){
-                // local Stereo anlge of strip with respect to locY axis
-                // always 0. for Barrel modules
-                sinAlpha = side->sinStereoLocal(RawDataClus->localPosition());
-              }
-
-              // normal component of the wafer's local coordinate system
-              // (along global R for Barrel and global Z for Endcaps)
-              Amg::Vector3D mynormal = side->normal(); 
-
-              // side->phiAxis() is the X component of wafer's local coordinates 
-              //(goes across the strips in increasing global Phi direction)
-              // side->etaAxis() is the Y component of wafer's local coordinates
-              //(goes along the strips in increasing global Eta direction)
-
-              // Here we rotate around local Z axis to account for strip local stereo angle if any (EC)
-              // "-" is because rotation is defined in the counter-clockwise sense,
-              // and we need to go back (clockwise) to align the local axes with the
-              //HepVector3D myphiax = rotationZOf(side->phiAxis(),asin(-sinAlpha));
-              //HepVector3D myetaax = rotationZOf(side->etaAxis(),asin(-sinAlpha));
-
-              //HepVector3D mytrack = tp->momentum();
-              Amg::Translation3D translation(0.,0.,0.);
-              Amg::Transform3D   transform1 = translation * Amg::AngleAxis3D( asin(-sinAlpha), Amg::Vector3D(0.,0.,1.));        
-
-              Amg::Vector3D myphiax = transform1.linear() * side->phiAxis();
-              Amg::Vector3D myetaax = transform1.linear() * side->etaAxis();
-
-              Amg::Vector3D mytrack = tp->momentum();
-
-              float trketacomp = (float)mytrack.dot(myetaax);
-              float trkphicomp = (float)mytrack.dot(myphiax);
-              float trknormcomp = (float)mytrack.dot(mynormal);
-              if (std::abs(trknormcomp*1e07)>0. ){
-                const double inv_trknormcomp = 1. / trknormcomp;
-                *m_locPhi = (float)atan(trkphicomp * inv_trknormcomp); 
-                *m_locTheta = (float)atan(trketacomp * inv_trknormcomp); 
-              }
-            }
-          }
-        }
-        else{
-          REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-        }
-      }
-    } // if measurement && rio && tp
-       
-    m_clusItr++; // to go throuhg all the HitsOnTrack
-
-    return RawDataClus;
-
-  }
- 
- } // namespace D3PD
-  
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.h
deleted file mode 100644
index f89f6b23603..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-* @file InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationTool.cxx
-* @author <yuriy.pylypchenko@cern.ch>
-* @date Oct, 2010
-* @brief setting up an association of tracks to clusters
-*        represented by indices. 
-*/
-#ifndef TRACKPARTICLETOSCTCLUSTERASSOCIATIONTOOL_H
-#define TRACKPARTICLETOSCTCLUSTERASSOCIATIONTOOL_H
- 
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "StoreGate/ReadCondHandleKey.h"
-#include "StoreGate/StoreGateSvc.h"
-#include <vector>
-
-#include "InDetPrepRawData/SCT_ClusterContainer.h"
-#include "InDetPrepRawData/SCT_ClusterCollection.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "InDetReadoutGeometry/SiDetectorElementCollection.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "Identifier/Identifier.h"
-#include "AthContainers/DataVector.h"
-
-class AtlasDetectorID;
-class SCT_ID;
-
-
-namespace Rec{
-  class TrackParticle;
-}
-
-
-namespace Trk{
-  class Track;
-  class TrackStateOnSurface;
-}
-
-namespace InDet {
-  class SCT_Cluster;
-  class SiCluster;
-}
-
- 
-namespace D3PD {
- 
- 
-
-  ///
-  ///@brief Associate all clusters which belong to given track.
-  ///
-  /// This is a multiple association tool.
-  /// Given an @c InDet::SCT_Cluster object and a container of such objects,
-  /// return the all objects in the container wich identified with TrackStateOnSurface 
-  /// (Measurements) of the input track.
-  ///
-
-
-typedef D3PD::MultiAssociationTool<Rec::TrackParticle, InDet::SCT_Cluster> TrackParticleToSCTClusterToTrackBase;
-  
-class TrackParticleToSCTClusterAssociationTool
-   : public TrackParticleToSCTClusterToTrackBase 
-{
-public:
- 
-  ///
-  /// @brief Standard Gaudi tool constructor.
-  /// @param type The name of the tool type.
-  /// @param name The tool name.
-  /// @param parent The tool's Gaudi parent.
-  ///
-  TrackParticleToSCTClusterAssociationTool (const std::string& type,
-				  const std::string& name,
-				  const IInterface* parent);
- 
-
- 
-  /// Standard initialize method.
-  virtual StatusCode initialize();
-  ///
-  /// @brief Create any needed tuple variables.
-  /// In principle we do not intend to get anything else then index 
-  ///(=we don't create) variables
-  /// but for debugging and validation puproses it is nice to have this.
-  /// This is called at the start of the first event.
-  ///
-  virtual StatusCode book();
- 
-  ///
-  /// @brief Start the iteration for a new association.
-  /// @param p The object from which to associate.
-  ///
-  virtual StatusCode reset (const Rec::TrackParticle& p);
- 
- 
-  ///
-  /// @brief Return a pointer to the next element in the association.
-  ///
-  /// Return 0 when the association has been exhausted.
-  ///
-  virtual const InDet::SCT_Cluster* next();
- 
-
-
- 
-private:
-
-  const AtlasDetectorID* m_idHelper;
-  const SCT_ID* m_sctId;
-
-  // For P->T converter of SCT_Clusters
-  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
-
-  std::vector<const Trk::TrackStateOnSurface*> m_sctClusterForAssociation; 
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusItr;
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusEnd;
-
-  /// extra ntuple variable 
-  float                 *m_clGlobX;
-  float                 *m_clGlobY;
-  float                 *m_clGlobZ;
-  float                 *m_clLocX;
-  float                 *m_clLocY;
-  float                 *m_locX;
-  float                 *m_locY;
-  float                 *m_err_locX;
-  float                 *m_err_locY;
-  float                 *m_cov_locXY;
-  float                 *m_x;
-  float                 *m_y;
-  float                 *m_z;
-  float                 *m_trkLocX;
-  float                 *m_trkLocY;
-  float                 *m_err_trkLocX;
-  float                 *m_err_trkLocY;
-  float                 *m_cov_trkLocXY;
-  int                   *m_isCompetingRIO;
-  int                   *m_sizePhi;
-  int                   *m_sideModule;
-  float                 *m_locPhi;
-  float                 *m_locTheta;
-  int                   *m_tsosType;
- 
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId; // unique identifier for a detector element
-  int *m_detType;
-  int *m_bec;
-  int *m_layer;
-
-  /*
-  float                 *m_locPhiOld;
-  float                 *m_locThetaOld;
-  float                 *m_locPhiOldNotCor;
-  float                 *m_locThetaOldNotCor;
-  */
-
-
-
-}; // class TrackParticleToSCTClusterAssociationTool
-
- 
-} // namespace D3PD
- 
-#endif // not TRACKPARTICLETOSCTCLUSTERASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.cxx
deleted file mode 100644
index 8ee43f88841..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.cxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrackParticleToSCTClusterAssociationToolLight.h"
-
-#include <Particle/TrackParticle.h>
-#include "TrkTrack/Track.h"
-#include <TrkTrack/TrackStateOnSurface.h>
-#include "AthenaKernel/errorcheck.h"
-#include "Identifier/Identifier.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-
-
-namespace D3PD {
-
-
-TrackParticleToSCTClusterAssociationToolLight::TrackParticleToSCTClusterAssociationToolLight
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_idHelper(0)
-{
-}
-
-StatusCode TrackParticleToSCTClusterAssociationToolLight::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // need Atlas id-helper to identify sub-detectors, take it from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasID helper";
-    return StatusCode::FAILURE;
-  }   
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Start the iteration for a new association.
- * @param p The object from which to associate.
- */
-StatusCode TrackParticleToSCTClusterAssociationToolLight::reset (const Rec::TrackParticle& p)
-{
-
-  m_sctClusterForAssociation.clear();
-
-  const Trk::Track *track = p.originalTrack();
-  if(!track){
-    m_clusItr = m_clusEnd;
-    //REPORT_MESSAGE (MSG::DEBUG) << "Could not access original track";
-    return StatusCode::SUCCESS;
-  }
-
-  const DataVector<const Trk::TrackStateOnSurface> *TSOs = 0;
-
-
-  TSOs = track->trackStateOnSurfaces();
-  
-
-  if(!TSOs){
-    m_clusItr = m_clusEnd;
-    REPORT_MESSAGE (MSG::WARNING) << "Could not access track state on surfaces";
-    return StatusCode::SUCCESS;
-  }
-
-  DataVector<const Trk::TrackStateOnSurface>::const_iterator it = TSOs->begin();
-  for( ; it!=TSOs->end(); it++){
-
-    const InDet::SiClusterOnTrack *clus = dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack());
-
-    if (clus){
-  
-      // Get Pointer to prepRawDataObject	
-      const InDet::SCT_Cluster *RawDataClus = dynamic_cast<const InDet::SCT_Cluster*>(clus->prepRawData());
-
-      if (RawDataClus!=0){
-	if (RawDataClus->detectorElement()->isSCT()){
-	
-	  m_sctClusterForAssociation.push_back(*it);
-
-	}
-      }
-    } // if (clus)
-  }
- 
-  m_clusItr = m_sctClusterForAssociation.begin(); //sct::vector<cont InDet::SCT_Cluster>::const_iterator 
-  m_clusEnd = m_sctClusterForAssociation.end(); 
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Return a pointer to the next element in the association.
- *
- * Return 0 when the association has been exhausted.
- */
-const Trk::TrackStateOnSurface* TrackParticleToSCTClusterAssociationToolLight::next()
-{
-
-  // reached the end
-  if(m_clusItr == m_clusEnd) return 0;
-
-  const Trk::TrackStateOnSurface *TSO = (*m_clusItr);
-  m_clusItr++;
-
-  return TSO;
-}
-
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.h
deleted file mode 100644
index 5a053cea5dc..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleToSCTClusterAssociationToolLight.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef TRACKD3PD_TRACKPARTICLETOSCTCLUSTERASSOCIATIONTOOLLIGHT_H
-#define TRACKD3PD_TRACKPARTICLETOSCTCLUSTERASSOCIATIONTOOLLIGHT_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "AthContainers/DataVector.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "TrkToolInterfaces/ITrackHoleSearchTool.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetPrepRawData/SiCluster.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-
-
-
-#include <vector>
-#include <map>
-
-class AtlasDetectorID;
-
-namespace Rec{
-class TrackParticle;
-}
-
-namespace Trk{
-  class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-class TrackParticleToSCTClusterAssociationToolLight
-  : public MultiAssociationTool<Rec::TrackParticle, Trk::TrackStateOnSurface>
-{
-public:
-
-  typedef MultiAssociationTool<Rec::TrackParticle, Trk::TrackStateOnSurface> Base;
-
-  TrackParticleToSCTClusterAssociationToolLight (const std::string& type,
-						 const std::string& name,
-						 const IInterface* parent);
-
-  virtual StatusCode initialize();
-
-  /**
-   * @brief Start the iteration for a new association.
-   * @param p The object from which to associate.
-   */
-  virtual StatusCode reset (const Rec::TrackParticle& p);
-
-  /**
-   * @brief Return a pointer to the next element in the association.
-   *
-   * Return 0 when the association has been exhausted.
-   */
-  virtual const Trk::TrackStateOnSurface* next();
-
-
-private:
-
-
-  const AtlasDetectorID* m_idHelper;
-
-  std::vector<const Trk::TrackStateOnSurface*> m_sctClusterForAssociation;
-
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusItr;
-  std::vector<const Trk::TrackStateOnSurface*>::const_iterator m_clusEnd;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not TRACKD3PD_TRACKPARTICLETOSCTCLUSTERASSOCIATIONTOOLLIGHT_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.cxx
deleted file mode 100644
index ddce7ef041c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.cxx
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrackParticle to its default TrackSummary.
- */
-
-#include "TrackParticleTrackSummaryAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "Particle/TrackParticle.h"
-#include "TrkTrackSummary/TrackSummary.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrackParticleTrackSummaryAssociationTool::TrackParticleTrackSummaryAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackSummary *TrackParticleTrackSummaryAssociationTool::get (const Rec::TrackParticle& track)
-{
-  return track.trackSummary();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.h
deleted file mode 100644
index 99d5eab74c1..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/TrackParticleTrackSummaryAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrackParticle to its TrackSummary.
- */
-#ifndef INDETD3PDMAKER_TRACKPARTICLETRACKSUMMARYASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLETRACKSUMMARYASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-
-namespace Trk {
-  class TrackSummary;
-}
-
-namespace Rec {
-  class TrackParticle;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrackParticle to its TrackSummary.
- */
-class TrackParticleTrackSummaryAssociationTool
-  : public SingleAssociationTool<Rec::TrackParticle, Trk::TrackSummary>
-{
-public:
-  typedef SingleAssociationTool<Rec::TrackParticle, Trk::TrackSummary> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrackParticleTrackSummaryAssociationTool (const std::string& type,
-					    const std::string& name,
-					    const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackSummary* get (const Rec::TrackParticle& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLETRACKSUMMARYASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx
deleted file mode 100644
index a4e8e908802..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrackParticleTruthAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasHepMC/GenParticle.h"
-#include "Particle/TrackParticle.h"
-#include "Particle/TrackParticleContainer.h"
-#include "ParticleTruth/TrackParticleTruthCollection.h"
-#include <map>
-
-namespace D3PD {
-
-TrackParticleTruthAssociationTool::TrackParticleTruthAssociationTool (const std::string& type,
-									  const std::string& name,
-									  const IInterface* parent)
-  : Base (type, name, parent)
-{
-  declareProperty ("MapKey", m_TruthMap = "TrackParticleTruthMap");
-  declareProperty ("SGKey", m_TPContainer = "TrackParticleCandidate");
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-StatusCode TrackParticleTruthAssociationTool::initialize()
-{
-  CHECK( Base::initialize() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode TrackParticleTruthAssociationTool::book ()
-{
-  CHECK( addVariable ("probability", m_trueProb) );
-  CHECK( addVariable ("barcode", m_trueBarcode) );
-
-  return StatusCode::SUCCESS;
-}
-
-
-const HepMC::GenParticle* TrackParticleTruthAssociationTool::get (const Rec::TrackParticle& track)
-{
-
-   /// Get Track and TrackTruth Collections
-  /// Should be using Getter tools intead of StoreGate
-  // -- TrackParticles:
-  const Rec::TrackParticleContainer* tp;
-  StatusCode sc = evtStore()->retrieve(tp, m_TPContainer);  
-  if(sc.isFailure() || !tp) {
-    return 0;
-  }
-  // -- TrackParticleTruth:
-  const TrackParticleTruthCollection* tm = nullptr;
-  sc = evtStore()->retrieve(tm, m_TruthMap);
-  if(sc.isFailure() || !tm) {
-    return 0;
-  }
-
-  const HepMC::GenParticle *particle = 0;
-  *m_trueProb = 0;
-  *m_trueBarcode = -1;
-
-  ElementLink<Rec::TrackParticleContainer> tlink;
-  tlink.setElement(&track);
-  tlink.setStorableObject(*tp);
-  TrackParticleTruthCollection::const_iterator found = tm->find(tlink);
-  if(found != tm->end()) {
-    *m_trueProb = found->second.probability();
-    *m_trueBarcode = found->second.particleLink().barcode();
-    particle = found->second.particleLink().cptr();
-  }
-
-  return particle;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h
deleted file mode 100644
index 80a16397b68..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRACKPARTICLETRUTHASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRACKPARTICLETRUTHASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "StoreGate/StoreGateSvc.h"
-
-#include "AtlasHepMC/GenParticle_fwd.h"
-
-namespace Rec {
-class TrackParticle;
-}
-
-namespace D3PD {
-
-class TrackParticleTruthAssociationTool
-  : public SingleAssociationTool<Rec::TrackParticle, HepMC::GenParticle>
-{
-public:
-  typedef SingleAssociationTool<Rec::TrackParticle, HepMC::GenParticle> Base;
-
-  TrackParticleTruthAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual const HepMC::GenParticle* get (const Rec::TrackParticle& p);
-
-private:
-  /* StoreGate keys **/
-  std::string m_TruthMap;
-  std::string m_TPContainer;
-
-  /* NTuple variables **/
-  float* m_trueProb;
-  int* m_trueBarcode;
-
-}; // class TrackParticleTruthAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRACKPARTICLETRUTHASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.cxx
deleted file mode 100644
index 2dc1301de87..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.cxx
+++ /dev/null
@@ -1,691 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TrackStateOnSurfaceFillerTool.h"
- 
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "InDetRIO_OnTrack/SiClusterOnTrack.h"
-#include "InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h"
-#include "InDetReadoutGeometry/SiDetectorElement.h"
-#include "TrkEventPrimitives/LocalParameters.h"
-#include "TrkEventPrimitives/TrackStateDefs.h"
-#include "TrkParameters/TrackParameters.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "InDetIdentifier/PixelID.h"
-#include "InDetIdentifier/SCT_ID.h"
-#include "InDetIdentifier/TRT_ID.h"
-#include "MuonIdHelpers/MdtIdHelper.h"
-#include "MuonIdHelpers/CscIdHelper.h"
-#include "MuonIdHelpers/RpcIdHelper.h"
-#include "MuonIdHelpers/TgcIdHelper.h"
-#include "TRT_ConditionsServices/ITRT_CalDbTool.h"
-#include "TRT_ConditionsServices/ITRT_StrawNeighbourSvc.h"
-#include "TRT_DriftFunctionTool/ITRT_DriftFunctionTool.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "InDetPrepRawData/SCT_Cluster.h"
-#include "TrkCompetingRIOsOnTrack/CompetingRIOsOnTrack.h"
-#include "TrkEventPrimitives/ResidualPull.h"
-#include "TrkToolInterfaces/IResidualPullCalculator.h"
-
-
-
-namespace D3PD {
-
-
-TrackStateOnSurfaceFillerTool::TrackStateOnSurfaceFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<Trk::TrackStateOnSurface> (type, name, parent),
-    m_idHelper(0),
-    m_pixId(0),
-    m_sctId(0),
-    m_trtId(0),
-    m_trtcaldbTool("TRT_CalDbTool",this),
-    m_neighbourSvc("TRT_StrawNeighbourSvc",name), 
-    m_TRTStrawSummaryTool("TRT_StrawStatusSummaryTool",this),
-    m_driftFunctionTool("TRT_DriftFunctionTool")
-{
-  m_fillType["FillPixelHits"] = true;
-  m_fillType["FillSCTHits"] = true;
-  m_fillType["FillTRTHits"] = true;
-  m_fillType["FillMDTHits"] = true;
-  m_fillType["FillRPCHits"] = true;
-  m_fillType["FillTGCHits"] = true;
-  m_fillType["FillCSCHits"] = true;
-  m_fillType["FillPixelHoles"] = true;
-  m_fillType["FillSCTHoles"] = true;
-  m_fillType["FillTRTHoles"] = true;
-  m_fillType["FillMDTHoles"] = true;
-  m_fillType["FillCSCHoles"] = true;
-  m_fillType["FillTGCHoles"] = true;
-  m_fillType["FillRPCHoles"] = true;
-  m_fillType["FillPulls"] = true;
-  book().ignore(); // Avoid coverity warnings
-
-  for(std::map<std::string, bool>::iterator itr=m_fillType.begin();
-      itr!=m_fillType.end(); itr++)
-  {
-    itr->second = false;
-    declareProperty(itr->first, itr->second);
-  }
-  declareProperty("ITRT_CalDbTool",m_trtcaldbTool);
-  declareProperty("NeighbourSvc",m_neighbourSvc);
-  declareProperty("TRTStrawSummaryTool",  m_TRTStrawSummaryTool);
-  declareProperty("TRTDriftFunctionTool", m_driftFunctionTool);
-  declareProperty("ResidualPullCalculator", m_residualPullCalculator);
-}
-
-StatusCode TrackStateOnSurfaceFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // need Atlas id-helpers to identify sub-detectors, take them from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasDetectorID helper";
-    return StatusCode::FAILURE;
-  }   
-
-  if (detStore()->retrieve(m_pixId,"PixelID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Unable to retrieve pixel ID helper";
-    return StatusCode::FAILURE;
-  }
-
-  if(detStore()->retrieve(m_sctId,"SCT_ID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve SCT helper";
-    return StatusCode::FAILURE; 
-  } 
-
-  if(detStore()->retrieve(m_trtId,"TRT_ID").isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve TRT helper";
-    return StatusCode::FAILURE; 
-  } 
-
-  if(detStore()->retrieve(m_mdtId).isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve MDT helper";
-    return StatusCode::FAILURE; 
-  }
-  
-  if(detStore()->retrieve(m_cscId).isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve CSC helper";
-    return StatusCode::FAILURE; 
-  }
-  
-  if(detStore()->retrieve(m_rpcId).isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve RPC helper";
-    return StatusCode::FAILURE; 
-  }
-  
-  if(detStore()->retrieve(m_tgcId).isFailure() ){
-    REPORT_MESSAGE (MSG::FATAL) << "Could not retrieve TGC helper";
-    return StatusCode::FAILURE; 
-  }
-
-  if(m_fillType["FillPulls"]){
-    CHECK(m_residualPullCalculator.retrieve());
-  }
-
-  CHECK(m_trtcaldbTool.retrieve());
-
-  CHECK(m_neighbourSvc.retrieve());
-
-  CHECK(m_TRTStrawSummaryTool.retrieve());
-
-  CHECK(m_driftFunctionTool.retrieve());
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackStateOnSurfaceFillerTool::book(){
-
-  synchronizeFlags();
-
-  if(getFillVariable("type"))                  CHECK( addVariable("type", m_type) );
-  if(getFillVariable("id"))                    CHECK( addVariable("id", m_id) );
-  if(getFillVariable("detElementId"))          CHECK( addVariable("detElementId", m_detElementId) );
-  if(getFillVariable("detType"))               CHECK( addVariable("detType", m_detType) );
-  if(getFillVariable("bec"))                   CHECK( addVariable("bec", m_bec) );
-  if(getFillVariable("isArgonStraw"))          CHECK( addVariable("isArgonStraw", m_isArgonStraw) );
-  if(getFillVariable("chip"))                  CHECK( addVariable("chip", m_chip) );
-  if(getFillVariable("board"))                 CHECK( addVariable("board", m_board) );
-  if(getFillVariable("layer"))                 CHECK( addVariable("layer", m_layer) );
-  if(getFillVariable("straw_layer"))           CHECK( addVariable("straw_layer", m_straw_layer) );
-  if(getFillVariable("straw"))                 CHECK( addVariable("straw", m_straw) );
-  if(getFillVariable("charge"))                CHECK( addVariable("charge", m_charge) );
-  if(getFillVariable("sizePhi"))               CHECK( addVariable("sizePhi", m_sizePhi) );
-  if(getFillVariable("sizeZ"))                 CHECK( addVariable("sizeZ", m_sizeZ) );
-  if(getFillVariable("size"))                  CHECK( addVariable("size", m_size) );
-  if(getFillVariable("isFake"))                CHECK( addVariable ("isFake", m_isFake) );
-  if(getFillVariable("isGanged"))              CHECK( addVariable ("isGanged", m_isGanged) );
-  if(getFillVariable("isSplit"))               CHECK( addVariable ("isSplit", m_isSplit) );
-  if(getFillVariable("splitProb1"))            CHECK( addVariable ("splitProb1", m_splitProb1) );
-  if(getFillVariable("splitProb2"))            CHECK( addVariable ("splitProb2", m_splitProb2) );
-  if(getFillVariable("isCompetingRIO"))        CHECK( addVariable("isCompetingRIO", m_isCompetingRIO) );
-  if(getFillVariable("locX"))                  CHECK( addVariable("locX", m_locX) );
-  if(getFillVariable("locY"))                  CHECK( addVariable("locY", m_locY) );
-  if(getFillVariable("locR"))                  CHECK( addVariable("locR", m_locR) );
-  if(getFillVariable("incidencePhi"))          CHECK( addVariable("incidencePhi", m_incidencePhi) );
-  if(getFillVariable("incidenceTheta"))        CHECK( addVariable("incidenceTheta", m_incidenceTheta) );
-  if(getFillVariable("err_locX"))              CHECK( addVariable("err_locX", m_err_locX) );
-  if(getFillVariable("err_locY"))              CHECK( addVariable("err_locY", m_err_locY) );
-  if(getFillVariable("cov_locXY"))             CHECK( addVariable("cov_locXY", m_cov_locXY) );
-  if(getFillVariable("err_locR"))              CHECK( addVariable("err_locR", m_err_locR) );
-  if(getFillVariable("x"))                     CHECK( addVariable("x", m_x) );
-  if(getFillVariable("y"))                     CHECK( addVariable("y", m_y) );
-  if(getFillVariable("z"))                     CHECK( addVariable("z", m_z) );
-  if(getFillVariable("trkX"))                  CHECK( addVariable("trkX", m_trkX) );
-  if(getFillVariable("trkY"))                  CHECK( addVariable("trkY", m_trkY) );
-  if(getFillVariable("trkZ"))                  CHECK( addVariable("trkZ", m_trkZ) );
-  if(getFillVariable("trkLocX"))               CHECK( addVariable("trkLocX", m_trkLocX) );
-  if(getFillVariable("trkLocY"))               CHECK( addVariable("trkLocY", m_trkLocY) );
-  if(getFillVariable("trkLocR"))               CHECK( addVariable("trkLocR", m_trkLocR) );
-  if(getFillVariable("trkLocPhi"))             CHECK( addVariable("trkLocPhi", m_trkLocPhi) );
-  if(getFillVariable("err_trkLocX"))           CHECK( addVariable("err_trkLocX", m_err_trkLocX) );
-  if(getFillVariable("err_trkLocY"))           CHECK( addVariable("err_trkLocY", m_err_trkLocY) );
-  if(getFillVariable("cov_trkLocXY"))          CHECK( addVariable("cov_trkLocXY", m_cov_trkLocXY) );
-  if(getFillVariable("err_trkLocR"))           CHECK( addVariable("err_trkLocR", m_err_trkLocR) );
-  if(getFillVariable("err_trkLocPhi"))         CHECK( addVariable("err_trkLocPhi", m_err_trkLocPhi) );
-  if(getFillVariable("cov_trkLocRPhi"))        CHECK( addVariable("cov_trkLocRPhi", m_cov_trkLocRPhi) );
-  if(getFillVariable("TOT"))                   CHECK( addVariable("TOT", m_TOT) );
-  if(getFillVariable("driftTimeToTCorrection"))CHECK( addVariable("driftTimeToTCorrection", m_driftTimeToTCorrection) );
-  if(getFillVariable("driftTimeHTCorrection")) CHECK( addVariable("driftTimeHTCorrection", m_driftTimeHTCorrection) );
-  if(getFillVariable("t0"))                    CHECK( addVariable("t0", m_t0) );
-  if(getFillVariable("bitPattern"))            CHECK( addVariable("bitPattern", m_bitPattern) );
-  if(getFillVariable("drifttime"))             CHECK( addVariable("drifttime", m_drifttime) );
-  if(getFillVariable("highThreshold"))         CHECK( addVariable("highThreshold", m_highThreshold) );
-  if(getFillVariable("trailingEdge"))          CHECK( addVariable("trailingEdge", m_trailingEdge) );
-  if(getFillVariable("leadingEdge"))           CHECK( addVariable("leadingEdge", m_leadingEdge) );
-  if(getFillVariable("phiModule"))             CHECK( addVariable("phiModule", m_phiModule) );
-  if(getFillVariable("highLevel"))             CHECK( addVariable("highLevel", m_highLevel) );
-  if(getFillVariable("locBiasedResidualX"))    CHECK( addVariable("locBiasedResidualX", m_locBiasedResidualX) );
-  if(getFillVariable("locBiasedResidualY"))    CHECK( addVariable("locBiasedResidualY", m_locBiasedResidualY) );
-  if(getFillVariable("locBiasedResidualR"))    CHECK( addVariable("locBiasedResidualR", m_locBiasedResidualR) );
-  if(getFillVariable("locBiasedPullX"))        CHECK( addVariable("locBiasedPullX", m_locBiasedPullX) );
-  if(getFillVariable("locBiasedPullY"))        CHECK( addVariable("locBiasedPullY", m_locBiasedPullY) );
-  if(getFillVariable("locBiasedPullR"))        CHECK( addVariable("locBiasedPullR", m_locBiasedPullR) );
-  if(getFillVariable("locUnbiasedResidualX"))  CHECK( addVariable("locUnbiasedResidualX", m_locUnbiasedResidualX) );
-  if(getFillVariable("locUnbiasedResidualY"))  CHECK( addVariable("locUnbiasedResidualY", m_locUnbiasedResidualY) );
-  if(getFillVariable("locUnbiasedResidualR"))  CHECK( addVariable("locUnbiasedResidualR", m_locUnbiasedResidualR) );
-  if(getFillVariable("locUnbiasedPullX"))      CHECK( addVariable("locUnbiasedPullX", m_locUnbiasedPullX) );
-  if(getFillVariable("locUnbiasedPullY"))      CHECK( addVariable("locUnbiasedPullY", m_locUnbiasedPullY) );
-  if(getFillVariable("locUnbiasedPullR"))      CHECK( addVariable("locUnbiasedPullR", m_locUnbiasedPullR) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackStateOnSurfaceFillerTool::fill (const Trk::TrackStateOnSurface& tso)
-{
-  this->clearData();
-
-  if(getFillVariable("type")) *m_type = (int)tso.types().to_ulong();
-
-  const Trk::MeasurementBase *measurement = tso.measurementOnTrack();
-  const Trk::TrackParameters *tp = tso.trackParameters();
-
-  if(measurement){
-    // local position
-    const Trk::LocalParameters pars = measurement->localParameters();
-    if(getFillVariable("locX")) *m_locX = pars[Trk::locX];
-    if(getFillVariable("locY")) *m_locY = pars.contains(Trk::locY)?pars[Trk::locY]:-99999.;
-    if(getFillVariable("locR")) *m_locR = pars.contains(Trk::locR)?pars[Trk::locR]:-99999.;
-     
-    //local error matrix
-    const Amg::MatrixX& err = measurement->localCovariance();
-    if(getFillVariable("err_locX")) *m_err_locX =sqrt( err(Trk::locX,Trk::locX) );
-    if(getFillVariable("err_locY")) *m_err_locY = pars.contains(Trk::locY)?sqrt( err(Trk::locY,Trk::locY) ):-99999.;
-    if(getFillVariable("cov_locXY")) *m_cov_locXY = pars.contains(Trk::locY)?err(Trk::locX, Trk::locY):-99999.;
-    if(getFillVariable("err_locR")) *m_err_locR = sqrt( err(Trk::locR,Trk::locR) );
-
-    // global position
-    const Amg::Vector3D pos = measurement->globalPosition();
-    if(getFillVariable("x")) *m_x = pos[Trk::x];
-    if(getFillVariable("y")) *m_y = pos[Trk::y];
-    if(getFillVariable("z")) *m_z = pos[Trk::z];
-  }
-
-  if(tp){
-    Amg::VectorX lp = tp->parameters();
-    if(getFillVariable("trkLocX")) *m_trkLocX=lp[Trk::locX];
-    if(getFillVariable("trkLocY")) *m_trkLocY=lp[Trk::locY];
-    if(getFillVariable("trkLocR")) *m_trkLocR=lp[Trk::locR];
-    if(getFillVariable("trkLocPhi")) *m_trkLocPhi=lp[Trk::locPhi];
-
-    const AmgSymMatrix(5)* err = tp->covariance();
- 
-    if(err){
-      if(getFillVariable("err_trkLocX")) *m_err_trkLocX=sqrt((*err)(Trk::locX,Trk::locX));
-      if(getFillVariable("err_trkLocY")) *m_err_trkLocY=sqrt((*err)(Trk::locY,Trk::locY));
-      if(getFillVariable("cov_trkLocXY")) *m_cov_trkLocXY=(*err)(Trk::locX, Trk::locY);
-      if(getFillVariable("err_trkLocR")) *m_err_trkLocR=sqrt((*err)(Trk::locR,Trk::locR));
-      if(getFillVariable("err_trkLocPhi")) *m_err_trkLocPhi=sqrt((*err)(Trk::locPhi,Trk::locPhi));
-      if(getFillVariable("cov_trkLocRPhi")) *m_cov_trkLocRPhi=(*err)(Trk::locR,Trk::locPhi);
-    }
-  }
-
-  if(tp && measurement){
-    if(m_fillType["FillPulls"]){
-      const Trk::ResidualPull *biased = m_residualPullCalculator->residualPull(measurement, tp, Trk::ResidualPull::Biased);
-      const Trk::ResidualPull *unbiased = m_residualPullCalculator->residualPull(measurement, tp, Trk::ResidualPull::Unbiased);
-      if(getFillVariable("locBiasedResidualX") && biased) *m_locBiasedResidualX = (biased->dimension()>Trk::locX ? biased->residual()[Trk::locX] : -99999);
-      if(getFillVariable("locBiasedResidualY") && biased) *m_locBiasedResidualY = (biased->dimension()>Trk::locY ? biased->residual()[Trk::locY] : -99999);
-      if(getFillVariable("locBiasedResidualR") && biased) *m_locBiasedResidualR = (biased->dimension()>Trk::locR ? biased->residual()[Trk::locR] : -99999);
-      if(getFillVariable("locBiasedPullX") && biased) *m_locBiasedPullX = (biased->dimension()>Trk::locX ? biased->pull()[Trk::locX] : -99999);
-      if(getFillVariable("locBiasedPullY") && biased) *m_locBiasedPullY = (biased->dimension()>Trk::locY ? biased->pull()[Trk::locY] : -99999);
-      if(getFillVariable("locBiasedPullR") && biased) *m_locBiasedPullR = (biased->dimension()>Trk::locR ? biased->pull()[Trk::locR] : -99999);
-      if(getFillVariable("locUnbiasedResidualX") && unbiased) *m_locUnbiasedResidualX = (unbiased->dimension()>Trk::locX ? unbiased->residual()[Trk::locX] : -99999);
-      if(getFillVariable("locUnbiasedResidualY") && unbiased) *m_locUnbiasedResidualY = (unbiased->dimension()>Trk::locY ? unbiased->residual()[Trk::locY] : -99999);
-      if(getFillVariable("locUnbiasedResidualR") && unbiased) *m_locUnbiasedResidualR = (unbiased->dimension()>Trk::locR ? unbiased->residual()[Trk::locR] : -99999);
-      if(getFillVariable("locUnbiasedPullX") && unbiased) *m_locUnbiasedPullX = (unbiased->dimension()>Trk::locX ? unbiased->pull()[Trk::locX] : -99999);
-      if(getFillVariable("locUnbiasedPullY") && unbiased) *m_locUnbiasedPullY = (unbiased->dimension()>Trk::locY ? unbiased->pull()[Trk::locY] : -99999);
-      if(getFillVariable("locUnbiasedPullR") && unbiased) *m_locUnbiasedPullR = (unbiased->dimension()>Trk::locR ? unbiased->pull()[Trk::locR] : -99999);
-      delete biased;
-      delete unbiased;
-    }
-  }
-
-  if(getFillVariable("isCompetingRIO")) *m_isCompetingRIO = 0;
-  const Trk::RIO_OnTrack *rio = dynamic_cast<const Trk::RIO_OnTrack*>(measurement);
-  if(!rio){
-    const Trk::CompetingRIOsOnTrack *crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(measurement);
-    if(crot){
-      rio = &crot->rioOnTrack( crot->indexOfMaxAssignProb() );
-      if(getFillVariable("isCompetingRIO")) *m_isCompetingRIO = 1;
-    }
-  }
-
-  if(rio){
-  
-    Identifier id = rio->identify();
-    if(getFillVariable("id")) *m_id = id.get_compact();
-
-    const Trk::TrkDetElementBase *de = rio->detectorElement();
-    if(de){
-      Identifier detId = de->identify();
-
-      if ( detId.is_valid() ) {
-        if(getFillVariable("detElementId")) *m_detElementId = detId.get_compact();
-        if (m_idHelper->is_pixel(detId) ) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::Pixel;
-          if(getFillVariable("bec")) *m_bec = (int)m_pixId->barrel_ec(id);
-          if(getFillVariable("layer")) *m_layer = (int)m_pixId->layer_disk(id);
-          const InDet::PixelCluster *clus = dynamic_cast<const InDet::PixelCluster*>(rio->prepRawData());
-          if(clus){
-            const InDet::SiWidth cw = clus->width();
-            if(getFillVariable("sizePhi")) *m_sizePhi = (int)cw.colRow()[0];
-            if(getFillVariable("sizeZ")) *m_sizeZ = (int)cw.colRow()[1];
-            if(getFillVariable("size")) *m_size = (int)clus->rdoList().size();
-            if(getFillVariable("charge")) *m_charge = clus->totalCharge();
-            if(getFillVariable("isFake")) *m_isFake = (int)clus->isFake();
-            if(getFillVariable("isGanged")) *m_isGanged = (int)clus->gangedPixel();
-            if(getFillVariable("isSplit")) *m_isSplit = (int)clus->isSplit();
-            if(getFillVariable("splitProb1")) *m_splitProb1= clus->splitProbability1();
-            if(getFillVariable("splitProb2")) *m_splitProb2 = clus->splitProbability2();
-            if(getFillVariable("TOT")) *m_TOT = clus->totalToT();
-          }
-        } else if (m_idHelper->is_sct(detId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::SCT;
-          if(getFillVariable("bec")) *m_bec = (int)m_sctId->barrel_ec(id);
-          if(getFillVariable("layer")) *m_layer = (int)m_sctId->layer_disk(id);
-          const InDet::SCT_Cluster *clus = dynamic_cast<const InDet::SCT_Cluster*>(rio->prepRawData());
-          if(clus){
-            const InDet::SiWidth cw = clus->width();
-            if(getFillVariable("sizePhi")) *m_sizePhi = (int)cw.colRow()[0];
-          }
-        } else if (m_idHelper->is_trt(detId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::TRT;
-          if(getFillVariable("trkX")) *m_trkX = de->center(id).x();
-          if(getFillVariable("trkY")) *m_trkY = de->center(id).y();
-          if(getFillVariable("trkZ")) *m_trkZ = de->center(id).z();
-          if(getFillVariable("bec")) *m_bec = (int)m_trtId->barrel_ec(id);
-          if(getFillVariable("layer")) *m_layer = (int)m_trtId->layer_or_wheel(id);
-          if(getFillVariable("straw_layer")) *m_straw_layer = (int)m_trtId->straw_layer(id);
-          if(getFillVariable("straw")) *m_straw = (int)m_trtId->straw(id);
-          int chip=0;
-          int board=-1;
-          m_neighbourSvc->getChip(id,chip);
-          if(abs((int)m_trtId->barrel_ec(id))<2){
-            board=m_neighbourSvc->chipToBoardBarrel(chip,m_trtId->layer_or_wheel(id));
-          }
-          else {
-            if (chip<12)
-              board=0;
-            else {
-              chip=chip-20;
-              board=1;
-            }
-          }
-          if(getFillVariable("board")) *m_board = board;
-          if(getFillVariable("chip")) *m_chip = chip;
-          if(getFillVariable("isArgonStraw")) {
-            if (!m_TRTStrawSummaryTool.empty()) {
-              if (m_TRTStrawSummaryTool->getStatusHT(id) != TRTCond::StrawStatus::Good) {
-                *m_isArgonStraw = true;
-              }
-            }
-          }
-          if(getFillVariable("phiModule")) *m_phiModule = (int)m_trtId->phi_module(id);
-          const InDet::TRT_DriftCircle *driftCircle = dynamic_cast<const InDet::TRT_DriftCircle *>(rio->prepRawData());
-
-          if(driftCircle){
-            unsigned int word = driftCircle->getWord();
-            Identifier surfaceID = rio->identify();
-            TRTCond::RtRelation const *rtr = m_trtcaldbTool->getRtRelation(surfaceID);
-            double tot = driftCircle->timeOverThreshold();
-            if(getFillVariable("TOT")) *m_TOT = tot;
-            if(getFillVariable("driftTimeToTCorrection")) *m_driftTimeToTCorrection = m_driftFunctionTool->driftTimeToTCorrection(tot,surfaceID);
-            if(getFillVariable("driftTimeHTCorrection")){ 
-              if(driftCircle->highLevel()) *m_driftTimeHTCorrection = m_driftFunctionTool->driftTimeHTCorrection(surfaceID);
-              else *m_driftTimeHTCorrection = 0;
-            }
-            if(getFillVariable("highLevel")) *m_highLevel = driftCircle->highLevel();
-            if(getFillVariable("highThreshold")) {
-              unsigned int theWord = word & 0x04020100; //HT bits mask
-              *m_highThreshold = 0;
-              //this is the agreed-upon binning for HT bit patterns...
-              if (theWord == 0x04000000) //pattern 1
-                *m_highThreshold = 1;
-              else if (theWord == 0x00020000) //pattern 2
-                *m_highThreshold = 2;
-              else if (theWord == 0x00000100) //pattern 3
-                *m_highThreshold = 3;
-              else if (theWord == 0x04020000) //pattern 4
-                *m_highThreshold = 4;
-              else if (theWord == 0x00020100) //pattern 5
-                *m_highThreshold = 5;
-              else if (theWord == 0x04000100) //pattern 6
-                *m_highThreshold = 6;
-              else if (theWord == 0x04020100) //pattern 7
-                *m_highThreshold = 7;
-            }
-            if(getFillVariable("bitPattern")) *m_bitPattern = word;
-            if(getFillVariable("leadingEdge")) *m_leadingEdge = driftCircle->rawDriftTime();
-            if(getFillVariable("trailingEdge")) *m_trailingEdge = driftCircle->rawDriftTime()+tot;
-            if(getFillVariable("t0")) {
-              if(tp){                
-                Identifier surfaceID = rio->identify();
-                *m_t0 = m_trtcaldbTool->getT0(surfaceID);
-              }
-            }
-            if(getFillVariable("drifttime")){
-              if(tp){
-                *m_drifttime = rtr->drifttime(fabs(*m_locR));
-              }
-            }
-          }
-        } else if (m_idHelper->is_mdt(detId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::MDT;
-        } else if (m_idHelper->is_csc(detId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::CSC;
-        } else if (m_idHelper->is_rpc(detId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::RPC;
-        } else if (m_idHelper->is_tgc(detId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::TGC;
-        }
-      }
-    }else{
-      REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-    }
-  }
-
-  if(tp){
-    if(tso.types()[Trk::TrackStateOnSurface::Hole]){
-      const Trk::Surface& surface = tp->associatedSurface();
-      const Trk::TrkDetElementBase* detElement = surface.associatedDetectorElement();
-      if(detElement){
-        Identifier holeId = detElement->identify();
-        if (m_idHelper->is_pixel(holeId) ) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::Pixel;
-          if(getFillVariable("bec")) *m_bec = (int)m_pixId->barrel_ec(holeId);
-          if(getFillVariable("layer")) *m_layer = (int)m_pixId->layer_disk(holeId);
-        }else if (m_idHelper->is_sct(holeId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::SCT;
-          if(getFillVariable("bec")) *m_bec = (int)m_sctId->barrel_ec(holeId);
-          if(getFillVariable("layer")) *m_layer = (int)m_sctId->layer_disk(holeId);
-        }else if (m_idHelper->is_trt(holeId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::TRT;
-          if(getFillVariable("bec")) *m_bec = (int)m_trtId->barrel_ec(holeId);
-          if(getFillVariable("layer")) *m_layer = (int)m_trtId->layer_or_wheel(holeId);
-          if(getFillVariable("straw_layer")) *m_straw_layer = (int)m_trtId->straw_layer(holeId);
-          if(getFillVariable("straw")) *m_straw = (int)m_trtId->straw(holeId);
-          if(getFillVariable("phiModule")) *m_phiModule = (int)m_trtId->phi_module(holeId);
-        } else if (m_idHelper->is_mdt(holeId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::MDT;
-        } else if (m_idHelper->is_csc(holeId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::CSC;
-        } else if (m_idHelper->is_rpc(holeId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::RPC;
-        } else if (m_idHelper->is_tgc(holeId)) {
-          if(getFillVariable("detType")) *m_detType = Trk::TrackState::TGC;
-        }
-      }
-    }
-  }
-
-  if(measurement && tp && rio){
-    const Trk::TrkDetElementBase *de = rio->detectorElement();
-    if(de){
-      Identifier detId = de->identify();
-      if ( detId.is_valid() ) {
-        if (m_idHelper->is_pixel(detId) || m_idHelper->is_sct(detId)) {
-          const InDetDD::SiDetectorElement *side = dynamic_cast<const InDetDD::SiDetectorElement *>(de);
-          if(side){
-            Amg::Vector3D mytrack = tp->momentum();
-            Amg::Vector3D mynormal = side->normal();
-            Amg::Vector3D myphiax = side->phiAxis();
-            Amg::Vector3D myetaax = side->etaAxis();
-            float trketacomp = mytrack.dot(myetaax);
-            float trkphicomp = mytrack.dot(myphiax);
-            float trknormcomp = mytrack.dot(mynormal);  
-            if(getFillVariable("incidencePhi")) *m_incidencePhi = atan2(trkphicomp,trknormcomp);
-            if(getFillVariable("incidenceTheta")) *m_incidenceTheta = atan2(trketacomp,trknormcomp);
-          }
-        }
-      }
-    }else{
-      REPORT_MESSAGE (MSG::WARNING) << "Pointer to detector element is not valid";
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-void TrackStateOnSurfaceFillerTool::clearData(){
-
-  if(getFillVariable("type"))                  *m_type = 0;
-  if(getFillVariable("id"))                    *m_id = 0;
-  if(getFillVariable("detElementId"))          *m_detElementId = 0;
-  if(getFillVariable("detType"))               *m_detType = Trk::TrackState::unidentified;
-  if(getFillVariable("bec"))                   *m_bec = -999;
-  if(getFillVariable("board"))                 *m_board = 0;
-  if(getFillVariable("chip"))                  *m_chip = 0;
-  if(getFillVariable("isArgonStraw"))          *m_isArgonStraw = 0;
-  if(getFillVariable("layer"))                 *m_layer = -1;
-  if(getFillVariable("charge"))                *m_charge = 0;
-  if(getFillVariable("sizePhi"))               *m_sizePhi = 0;
-  if(getFillVariable("sizeZ"))                 *m_sizeZ = 0;
-  if(getFillVariable("size"))                  *m_size = 0;
-  if(getFillVariable("isFake"))                *m_isFake = 0;
-  if(getFillVariable("isGanged"))              *m_isGanged = 0;
-  if(getFillVariable("isSplit"))               *m_isSplit = 0;
-  if(getFillVariable("splitProb1"))            *m_splitProb1 = 0;
-  if(getFillVariable("splitProb2"))            *m_splitProb2 = 0;
-  if(getFillVariable("isCompetingRIO"))        *m_isCompetingRIO = 0;
-  if(getFillVariable("locX"))                  *m_locX = -99999.;
-  if(getFillVariable("locY"))                  *m_locY = -99999.; 
-  if(getFillVariable("locR"))                  *m_locR = -99999.; 
-  if(getFillVariable("incidencePhi"))          *m_incidencePhi = -999.;
-  if(getFillVariable("incidenceTheta"))        *m_incidenceTheta = -999.;
-  if(getFillVariable("err_locX"))              *m_err_locX = -999.;
-  if(getFillVariable("err_locY"))              *m_err_locY = -999.;
-  if(getFillVariable("cov_locXY"))             *m_cov_locXY = -999.;
-  if(getFillVariable("err_locR"))              *m_err_locR = -999.;
-  if(getFillVariable("x"))                     *m_x = -99999.;
-  if(getFillVariable("y"))                     *m_y = -99999.;
-  if(getFillVariable("z"))                     *m_z = -99999.;
-  if(getFillVariable("trkX"))                  *m_trkX = -99999.;
-  if(getFillVariable("trkY"))                  *m_trkY = -99999.;
-  if(getFillVariable("trkZ"))                  *m_trkZ = -99999.;
-  if(getFillVariable("trkLocX"))               *m_trkLocX = -99999.;
-  if(getFillVariable("trkLocY"))               *m_trkLocY = -99999.;
-  if(getFillVariable("trkLocR"))               *m_trkLocR = -99999.;
-  if(getFillVariable("trkLocPhi"))             *m_trkLocPhi = -99999.;
-  if(getFillVariable("err_trkLocX"))           *m_err_trkLocX = -999.;
-  if(getFillVariable("err_trkLocY"))           *m_err_trkLocY = -999.;
-  if(getFillVariable("cov_trkLocXY"))          *m_cov_trkLocXY = -999.;
-  if(getFillVariable("err_trkLocR"))           *m_err_trkLocR = -999.;
-  if(getFillVariable("err_trkLocPhi"))         *m_err_trkLocPhi = -999.;
-  if(getFillVariable("cov_trkLocRPhi"))        *m_cov_trkLocRPhi = -999.;
-  if(getFillVariable("TOT"))                   *m_TOT = 0;
-  if(getFillVariable("driftTimeToTCorrection"))*m_driftTimeToTCorrection = 0;
-  if(getFillVariable("driftTimeHTCorrection")) *m_driftTimeHTCorrection = 0;
-  if(getFillVariable("t0"))                    *m_t0 = 0;
-  if(getFillVariable("bitPattern"))            *m_bitPattern = 0;
-  if(getFillVariable("drifttime"))             *m_drifttime = 0;
-  if(getFillVariable("highThreshold"))         *m_highThreshold = 0;
-  if(getFillVariable("trailingEdge"))          *m_trailingEdge = 0;
-  if(getFillVariable("leadingEdge"))           *m_leadingEdge = 0;
-  if(getFillVariable("phiModule"))             *m_phiModule = 0;
-  if(getFillVariable("highLevel"))             *m_highLevel = 0;
-  if(getFillVariable("locBiasedResidualX"))    *m_locBiasedResidualX = -99999;
-  if(getFillVariable("locBiasedResidualY"))    *m_locBiasedResidualY = -99999;
-  if(getFillVariable("locBiasedResidualR"))    *m_locBiasedResidualR = -99999;
-  if(getFillVariable("locBiasedPullX"))        *m_locBiasedPullX = -99999;
-  if(getFillVariable("locBiasedPullY"))        *m_locBiasedPullY = -99999;
-  if(getFillVariable("locBiasedPullR"))        *m_locBiasedPullR = -99999;
-  if(getFillVariable("locUnbiasedResidualX"))  *m_locUnbiasedResidualX = -99999;
-  if(getFillVariable("locUnbiasedResidualY"))  *m_locUnbiasedResidualY = -99999;
-  if(getFillVariable("locUnbiasedResidualR"))  *m_locUnbiasedResidualR = -99999;
-  if(getFillVariable("locUnbiasedPullX"))      *m_locUnbiasedPullX = -99999;
-  if(getFillVariable("locUnbiasedPullY"))      *m_locUnbiasedPullY = -99999;
-  if(getFillVariable("locUnbiasedPullR"))      *m_locUnbiasedPullR = -99999;
-}
-
-void TrackStateOnSurfaceFillerTool::synchronizeFlags(){
-
-  unsigned int numHitTypesFilled=0;
-  bool fillPixelHits = m_fillType["FillPixelHits"]; if (fillPixelHits) numHitTypesFilled++; 
-  bool fillSCTHits = m_fillType["FillSCTHits"]; if (fillSCTHits) numHitTypesFilled++; 
-  bool fillTRTHits = m_fillType["FillTRTHits"]; if (fillTRTHits) numHitTypesFilled++; 
-  bool fillMDTHits = m_fillType["FillMDTHits"]; if (fillMDTHits) numHitTypesFilled++; 
-  bool fillCSCHits = m_fillType["FillCSCHits"]; if (fillCSCHits) numHitTypesFilled++; 
-  bool fillRPCHits = m_fillType["FillRPCHits"]; if (fillRPCHits) numHitTypesFilled++; 
-  bool fillTGCHits = m_fillType["FillTGCHits"]; if (fillTGCHits) numHitTypesFilled++; 
-  bool fillPixelHoles = m_fillType["FillPixelHoles"];
-  bool fillSCTHoles = m_fillType["FillSCTHoles"];
-  bool fillTRTHoles = m_fillType["FillTRTHoles"];
-  bool fillMDTHoles = m_fillType["FillMDTHoles"];
-  bool fillCSCHoles = m_fillType["FillCSCHoles"];
-  bool fillRPCHoles = m_fillType["FillRPCHoles"];
-  bool fillTGCHoles = m_fillType["FillTGCHoles"];
-
-  bool fillPulls = m_fillType["FillPulls"];
-
-  bool fillHits = numHitTypesFilled>0;
-  //fillPixelHits || fillSCTHits || fillTRTHits || fillMDTHits || fillCSCHits || fillRPCHits || fillTGCHits;
-  bool fillHoles = fillPixelHoles || fillSCTHoles || fillTRTHoles || fillMDTHoles || fillCSCHoles || fillRPCHoles || fillTGCHoles;
-
-  bool fillPixel = fillPixelHits || fillPixelHoles;
-  bool fillSCT = fillSCTHits || fillSCTHoles;
-  bool fillTRT = fillTRTHits || fillTRTHoles;
-  bool fillMDT = fillMDTHits || fillMDTHoles;
-  bool fillCSC = fillCSCHits || fillCSCHoles;
-  bool fillRPC = fillRPCHits || fillRPCHoles;
-  bool fillTGC = fillTGCHits || fillTGCHoles;
-
-  bool fillSilicon = fillPixel || fillSCT;
-  bool fillMuonStrips = fillCSC || fillRPC || fillTGC;
-
-  setFillVariable("type", fillHits && fillHoles);
-  setFillVariable("id", fillHits);
-  setFillVariable("detElementId", fillHoles || fillHits);
-  setFillVariable("detType", numHitTypesFilled>0);
-  setFillVariable("bec", fillHoles || fillHits);  
-  setFillVariable("board", fillHoles || fillHits);
-  setFillVariable("chip", fillHoles || fillHits);
-  setFillVariable("isArgonStraw", fillHoles || fillHits);
-  setFillVariable("straw_layer", fillHoles || fillHits);
-  setFillVariable("straw", fillHoles || fillHits);
-  setFillVariable("layer", fillHoles || fillHits);
-  setFillVariable("charge", fillPixel && fillHits);
-  setFillVariable("sizePhi", fillSilicon && fillHits);
-  setFillVariable("sizeZ", fillPixel && fillHits);
-  setFillVariable("size", fillPixel && fillHits);
-  setFillVariable("isFake", fillPixel && fillHits);
-  setFillVariable("isGanged", fillPixel && fillHits);
-  setFillVariable("isSplit", fillPixel && fillHits);
-  setFillVariable("splitProb1", fillPixel && fillHits);
-  setFillVariable("splitProb2", fillPixel && fillHits);
-  setFillVariable("isCompetingRIO", fillHits);
-  setFillVariable("locX", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("locY", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("locR", (fillTRT || fillMDT) && fillHits);
-  setFillVariable("incidencePhi", fillSilicon && fillHits);
-  setFillVariable("incidenceTheta", fillSilicon && fillHits);
-  setFillVariable("err_locX", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("err_locY", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("cov_locXY", (fillSilicon || fillMuonStrips) && fillHits);
-  setFillVariable("err_locR", (fillTRT || fillMDT) && fillHits);
-  setFillVariable("TOT", fillTRT && fillHits);
-  setFillVariable("driftTimeToTCorrection", fillTRT && fillHits);
-  setFillVariable("driftTimeHTCorrection", fillTRT && fillHits);
-  setFillVariable("t0", fillTRT && fillHits);
-  setFillVariable("bitPattern", fillTRT && fillHits);
-  setFillVariable("drifttime", fillTRT && fillHits);
-  setFillVariable("highThreshold", fillTRT && fillHits);
-  setFillVariable("trailingEdge", fillTRT && fillHits);
-  setFillVariable("leadingEdge", fillTRT && fillHits);
-  setFillVariable("phiModule", fillTRT && fillHits);
-  setFillVariable("highLevel", fillTRT && fillHits);
-  setFillVariable("x", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("y", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("z", (fillSilicon || fillMuonStrips || fillTRT) && fillHits);
-  setFillVariable("trkX", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("trkY", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("trkZ", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("trkLocX", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("trkLocY", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("trkLocR", (fillTRT || fillMDT) && (fillHoles || fillHits));
-  setFillVariable("trkLocPhi", fillTRT && (fillHoles || fillHits));
-  setFillVariable("err_trkLocX", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("err_trkLocY", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("cov_trkLocXY", (fillSilicon || fillMuonStrips || fillTRT) && (fillHoles || fillHits));
-  setFillVariable("err_trkLocR", (fillTRT || fillMDT) && (fillHoles || fillHits));
-  setFillVariable("err_trkLocPhi", (fillTRT || fillMDT) && (fillHoles || fillHits));
-  setFillVariable("cov_trkLocRPhi", (fillTRT || fillMDT) && (fillHoles || fillHits));
-  setFillVariable("locBiasedResidualX", (fillSilicon) && fillHits && fillPulls);
-  setFillVariable("locBiasedResidualY", fillSilicon && fillHits && fillPulls);
-  setFillVariable("locBiasedResidualR", (fillTRT||fillMDT) && fillHits && fillPulls);
-  setFillVariable("locBiasedPullX", (fillSilicon) && fillHits && fillPulls);
-  setFillVariable("locBiasedPullY", fillSilicon && fillHits && fillPulls);
-  setFillVariable("locBiasedPullR", (fillTRT||fillMDT) && fillHits && fillPulls);
-  setFillVariable("locUnbiasedResidualX", (fillSilicon) && fillHits && fillPulls);
-  setFillVariable("locUnbiasedResidualY", fillSilicon && fillHits && fillPulls);
-  setFillVariable("locUnbiasedResidualR", (fillTRT||fillMDT) && fillHits && fillPulls);
-  setFillVariable("locUnbiasedPullX", (fillSilicon) && fillHits && fillPulls);
-  setFillVariable("locUnbiasedPullY", fillSilicon && fillHits && fillPulls);
-  setFillVariable("locUnbiasedPullR", (fillTRT||fillMDT) && fillHits && fillPulls);
-}
-
-void TrackStateOnSurfaceFillerTool::setFillVariable(std::string varname, bool dofill){
-
-  std::map<std::string, bool>::iterator itr = m_variables.find(varname);
-  if(itr!=m_variables.end()){
-    itr->second = dofill;
-  }else{
-    m_variables.insert(std::make_pair(varname, dofill));
-  }
-}
-
-bool TrackStateOnSurfaceFillerTool::getFillVariable(std::string varname){
-
-  std::map<std::string, bool>::iterator itr = m_variables.find(varname);
-  if(itr!=m_variables.end()){
-    return itr->second;
-  }
-  return false;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.h
deleted file mode 100644
index bb934f7be04..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackStateOnSurfaceFillerTool.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRACKSTATEONSURFACEFILLERTOOL_H
-#define INDETD3PDMAKER_TRACKSTATEONSURFACEFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "TRT_ConditionsServices/ITRT_StrawNeighbourSvc.h"
-#include "TRT_ConditionsServices/ITRT_StrawStatusSummaryTool.h"
-#include "Identifier/Identifier.h"
-#include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "TrkToolInterfaces/IResidualPullCalculator.h"
-#include "TRT_ConditionsServices/ITRT_CalDbTool.h"
-#include "TRT_DriftFunctionTool/ITRT_DriftFunctionTool.h"
-
-class AtlasDetectorID;
-class PixelID;
-class SCT_ID;
-class TRT_ID;
-class MdtIdHelper;
-class CscIdHelper;
-class RpcIdHelper;
-class TgcIdHelper;
-
-namespace Trk {
-  class TrackStateOnSurface;
-}
-
-
-namespace D3PD {
-
-class TrackStateOnSurfaceFillerTool
-  : public D3PD::BlockFillerTool<Trk::TrackStateOnSurface>
-{
-public:
-  typedef D3PD::BlockFillerTool<Trk::TrackStateOnSurface> Base;
-
-  TrackStateOnSurfaceFillerTool (const std::string& type,
-				 const std::string& name,
-				 const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::TrackStateOnSurface &p);
-
-private:
-
-  void clearData();
-
-  void synchronizeFlags();
-
-  void setFillVariable(std::string varname, bool dofill);
-  bool getFillVariable(std::string varname);
-
-  std::map<std::string, bool> m_variables;
-
-  const AtlasDetectorID* m_idHelper;
-  const PixelID* m_pixId; 
-  const SCT_ID* m_sctId;
-  const TRT_ID* m_trtId;
-  const MdtIdHelper* m_mdtId;
-  const CscIdHelper* m_cscId;
-  const RpcIdHelper* m_rpcId;
-  const TgcIdHelper* m_tgcId;
-
-  ToolHandle<ITRT_CalDbTool> m_trtcaldbTool;
-  ServiceHandle<ITRT_StrawNeighbourSvc> m_neighbourSvc ;
-  ToolHandle<ITRT_StrawStatusSummaryTool> m_TRTStrawSummaryTool; 
-  ToolHandle < Trk::IResidualPullCalculator > m_residualPullCalculator;
-  ToolHandle < ITRT_DriftFunctionTool > 	m_driftFunctionTool; 
-
-  /* steering **/
-  std::map<std::string, bool> m_fillType;
-
-  /* NTuple variables: **/
-  int *m_type; // Measurement: 0, Outlier: 5, Hole: 6.
-  Identifier::value_type *m_id; // unique identifier for a cluster
-  Identifier::value_type *m_detElementId; // unique identifier for a detector element
-  int *m_detType;
-  int *m_bec;
-  int *m_board;
-  int *m_chip;
-  bool *m_isArgonStraw;
-  int *m_straw_layer;
-  int *m_straw;
-  int *m_phiModule;
-  int *m_layer;
-  float *m_charge; // defined for Pixel only
-  int *m_sizePhi; // defined for Si only
-  int *m_sizeZ; // defined for Si only
-  int *m_size; // defined for Si only
-  int *m_isFake; // defined for Pixel only
-  int *m_isGanged; // defined for Pixel only
-  int *m_isSplit; // defined for Pixel only
-  float *m_splitProb1; // defined for Pixel only
-  float *m_splitProb2; // defined for Pixel only
-  int *m_isCompetingRIO;
-  float *m_locX;
-  float *m_locY;
-  float *m_locR;
-  float *m_incidencePhi;
-  float *m_incidenceTheta;
-  float *m_err_locX;
-  float *m_err_locY;
-  float *m_cov_locXY;
-  float *m_err_locR;
-  float *m_x;
-  float *m_y;
-  float *m_z;
-  float *m_trkX;
-  float *m_trkY;
-  float *m_trkZ;
-  float *m_trkLocX;
-  float *m_trkLocY;
-  float *m_trkLocR;
-  float *m_trkLocPhi;
-  float *m_err_trkLocX;
-  float *m_err_trkLocY;
-  float *m_cov_trkLocXY;
-  float *m_err_trkLocR;
-  float *m_err_trkLocPhi;
-  float *m_cov_trkLocRPhi;
-  float *m_TOT;
-  float *m_driftTimeToTCorrection;
-  float *m_driftTimeHTCorrection;
-  float *m_t0;
-  int   *m_highThreshold;
-  int   *m_bitPattern;
-  float *m_drifttime;
-  float *m_trailingEdge;
-  float *m_leadingEdge;
-  int   *m_highLevel;
-  float *m_locBiasedResidualX;
-  float *m_locBiasedResidualY;
-  float *m_locBiasedResidualR;
-  float *m_locBiasedPullX;
-  float *m_locBiasedPullY;
-  float *m_locBiasedPullR;
-  float *m_locUnbiasedResidualX;
-  float *m_locUnbiasedResidualY;
-  float *m_locUnbiasedResidualR;
-  float *m_locUnbiasedPullX;
-  float *m_locUnbiasedPullY;
-  float *m_locUnbiasedPullR;
-  
-
-  
-
-}; // class TrackTrackStateOnSurfaceFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRACKSTATEONSURFACEFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.cxx
deleted file mode 100644
index fb4f729ebfa..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.cxx
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TrackTrackSummaryFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrackSummary/TrackSummary.h"
-#include "TrkTrackSummary/InDetTrackSummary.h"
-#include <bitset>
-
-
-namespace D3PD {
-
-
-namespace TrackSum {
-
-
-enum SumType {
-  HitSum,
-  HoleSum,
-  IDHits,   
-  IDHoles,
-  IDSharedHits,
-  IDOutliers,
-  PixelInfoPlus,   
-  SCTInfoPlus, 
-  TRTInfoPlus, 
-  InfoPlus,
-  ExpectBLayer,
-  MuonHits,
-  MuonHoles
-};
-
-const unsigned int   HitSumMask        = (1<<HitSum);
-const unsigned int   HoleSumMask       = (1<<HoleSum);
-const unsigned int   IDHitsMask        = (1<<IDHits);   
-const unsigned int   IDHolesMask       = (1<<IDHoles);
-const unsigned int   IDSharedHitsMask  = (1<<IDSharedHits);
-const unsigned int   IDOutliersMask    = (1<<IDOutliers);
-const unsigned int   PixelInfoPlusMask = (1<<PixelInfoPlus);   
-const unsigned int   SCTInfoPlusMask   = (1<<SCTInfoPlus); 
-const unsigned int   TRTInfoPlusMask   = (1<<TRTInfoPlus); 
-const unsigned int   InfoPlusMask      = (1<<InfoPlus);
-const unsigned int   ExpectBLayerMask  = (1<<ExpectBLayer);
-const unsigned int   MuonHitsMask      = (1<<MuonHits);
-const unsigned int   MuonHolesMask     = (1<<MuonHoles);
-
-struct Var {
-  unsigned int type;
-  std::string name;
-  Trk::SummaryType key;
-};
-
-
-Var vars[] = {
-  // ID hits
-  { IDHitsMask,                  "nBLHits",                   Trk::numberOfInnermostPixelLayerHits },
-  { IDHitsMask   | HitSumMask,   "nPixHits",                  Trk::numberOfPixelHits },
-  { IDHitsMask   | HitSumMask,   "nSCTHits",                  Trk::numberOfSCTHits },
-  { IDHitsMask   | HitSumMask,   "nTRTHits",                  Trk::numberOfTRTHits },
-  { IDHitsMask,                  "nTRTHighTHits",             Trk::numberOfTRTHighThresholdHits },
-  { IDHitsMask,                  "nTRTXenonHits",             Trk::numberOfTRTXenonHits },
-  // ID holes + dead sensors - needed for appropriate cutting
-  { IDHolesMask  | HoleSumMask,  "nPixHoles",                 Trk::numberOfPixelHoles },
-  { IDHolesMask  | HoleSumMask,  "nSCTHoles",                 Trk::numberOfSCTHoles },
-  { IDHolesMask  | HoleSumMask,  "nTRTHoles",                 Trk::numberOfTRTHoles },
-  { IDHolesMask,                 "nPixelDeadSensors",         Trk::numberOfPixelDeadSensors },
-  { IDHolesMask,                 "nSCTDeadSensors",           Trk::numberOfSCTDeadSensors },
-  // ID shared & Split hits
-  { IDSharedHitsMask,           "nBLSharedHits",              Trk::numberOfInnermostPixelLayerSharedHits},
-  { IDSharedHitsMask,           "nPixSharedHits",             Trk::numberOfPixelSharedHits},
-  { IDSharedHitsMask,           "nSCTSharedHits",             Trk::numberOfSCTSharedHits },
-  { IDSharedHitsMask,           "nBLayerSplitHits",           Trk::numberOfInnermostLayerSplitHits},
-  { IDSharedHitsMask,           "nPixSplitHits",              Trk::numberOfPixelSplitHits},
-  // ID outliers                                              
-  { IDOutliersMask,             "nBLayerOutliers",            Trk::numberOfInnermostPixelLayerOutliers },
-  { IDOutliersMask,             "nPixelOutliers",             Trk::numberOfPixelOutliers },
-  { IDOutliersMask,             "nSCTOutliers",               Trk::numberOfSCTOutliers },
-  { IDOutliersMask,             "nTRTOutliers",               Trk::numberOfTRTOutliers},
-  { IDOutliersMask,             "nTRTHighTOutliers",          Trk::numberOfTRTHighThresholdOutliers},
-  // Pixel info plus                                          
-  { PixelInfoPlusMask,          "nContribPixelLayers",        Trk::numberOfContribPixelLayers },
-  { PixelInfoPlusMask,          "nGangedPixels",              Trk::numberOfGangedPixels },
-  { PixelInfoPlusMask,          "nGangedFlaggedFakes",        Trk::numberOfGangedFlaggedFakes },
-  { PixelInfoPlusMask,          "nPixelSpoiltHits",           Trk::numberOfPixelSpoiltHits },
-  // SCT info plus                                            
-  { SCTInfoPlusMask,            "nSCTDoubleHoles",            Trk::numberOfSCTDoubleHoles },
-  { SCTInfoPlusMask,            "nSCTSpoiltHits",             Trk::numberOfSCTSpoiltHits },
-  // TRT info plus                                            
-  { TRTInfoPlusMask,            "nTRTDeadStraws",             Trk::numberOfTRTDeadStraws },
-  { TRTInfoPlusMask,            "nTRTTubeHits",               Trk::numberOfTRTTubeHits },
-  // Info plus                                                
-  { InfoPlusMask,               "nOutliersOnTrack",           Trk::numberOfOutliersOnTrack },
-  { InfoPlusMask,               "standardDeviationOfChi2OS",  Trk::standardDeviationOfChi2OS },
-  // Expect BLayer hit                                        
-  { ExpectBLayerMask,           "expectInnermostPixelLayerHit",            Trk::expectInnermostPixelLayerHit },
-  // Muon hits                                                
-  { MuonHitsMask | HitSumMask,  "nMDTHits",                   Trk::numberOfMdtHits },
-  { MuonHitsMask | HitSumMask,  "nCSCEtaHits",                Trk::numberOfCscEtaHits },
-  { MuonHitsMask | HitSumMask,  "nCSCPhiHits",                Trk::numberOfCscPhiHits },
-  { MuonHitsMask | HitSumMask,  "nRPCEtaHits",                Trk::numberOfRpcEtaHits },
-  { MuonHitsMask | HitSumMask,  "nRPCPhiHits",                Trk::numberOfRpcPhiHits },
-  { MuonHitsMask | HitSumMask,  "nTGCEtaHits",                Trk::numberOfTgcEtaHits },
-  { MuonHitsMask | HitSumMask,  "nTGCPhiHits",                Trk::numberOfTgcPhiHits },
-  // Muon holes                                               
-  { MuonHolesMask | HoleSumMask, "nMdtHoles",                 Trk::numberOfMdtHoles },
-  { MuonHolesMask | HoleSumMask, "nCscEtaHoles",              Trk::numberOfCscEtaHoles },
-  { MuonHolesMask | HoleSumMask, "nCscPhiHoles",              Trk::numberOfCscPhiHoles },
-  { MuonHolesMask | HoleSumMask, "nRpcEtaHoles",              Trk::numberOfRpcEtaHoles },
-  { MuonHolesMask | HoleSumMask, "nRpcPhiHoles",              Trk::numberOfRpcPhiHoles },
-  { MuonHolesMask | HoleSumMask, "nTgcEtaHoles",              Trk::numberOfTgcEtaHoles },
-  { MuonHolesMask | HoleSumMask, "nTgcPhiHoles",              Trk::numberOfTgcPhiHoles }
-};
-
-const size_t nvars = sizeof(vars) / sizeof(vars[0]);
-
-
-} // namespace TrackSum
-
-
-TrackTrackSummaryFillerTool::TrackTrackSummaryFillerTool (const std::string& type,
-							  const std::string& name,
-							  const IInterface* parent)
-  : Base (type, name, parent),
-    m_typeMask (0)
-{
-  // summaries
-  declareProperty ("IDHits",        m_doIDHits        = true);
-  declareProperty ("IDHoles",       m_doIDHoles       = true);
-  declareProperty ("IDSharedHits",  m_doIDSharedHits  = true);
-  declareProperty ("IDOutliers",    m_doIDOutliers    = false);
-  declareProperty ("PixelInfoPlus", m_doPixelInfoPlus = false);
-  declareProperty ("SCTInfoPlus",   m_doSCTInfoPlus   = false);
-  declareProperty ("TRTInfoPlus",   m_doTRTInfoPlus   = false);
-  declareProperty ("InfoPlus",      m_doInfoPlus      = false);
-  declareProperty ("MuonHits",      m_doMuonHits      = true);
-  declareProperty ("MuonHoles",     m_doMuonHoles     = false);
-  declareProperty ("ExpectBLayer",  m_doExpectBLayer  = true);
-
-  // extras
-  declareProperty ("HitSum",       m_doHitSum       = true);
-  declareProperty ("HoleSum",      m_doHoleSum      = true);
-  declareProperty ("HitPattern",   m_doHitPattern   = true);
-  declareProperty ("SiHits",       m_doSiHits       = false);
-  declareProperty ("TRTRatio",     m_doTRTRatio     = true);
-  declareProperty ("PixeldEdx",    m_doPixeldEdx    = true);
-  declareProperty ("ElectronPID",  m_doElectronPID  = false);
-
-  // Avoid coverity warnings.
-  m_storeFullSummary = true;
-  book().ignore();
-
-  // full summary
-  declareProperty ("FullInfo",      m_storeFullSummary = false);
-}
-
-StatusCode TrackTrackSummaryFillerTool::initialize()
-{
-  m_typeMask = 0;
-  if (m_doIDHits)        m_typeMask |= TrackSum::IDHitsMask;
-  if (m_doIDHoles)       m_typeMask |= TrackSum::IDHolesMask;
-  if (m_doIDSharedHits)  m_typeMask |= TrackSum::IDSharedHitsMask;
-  if (m_doIDOutliers)    m_typeMask |= TrackSum::IDOutliersMask;
-  if (m_doPixelInfoPlus) m_typeMask |= TrackSum::PixelInfoPlusMask;
-  if (m_doSCTInfoPlus)   m_typeMask |= TrackSum::SCTInfoPlusMask;
-  if (m_doTRTInfoPlus)   m_typeMask |= TrackSum::TRTInfoPlusMask;
-  if (m_doInfoPlus)      m_typeMask |= TrackSum::InfoPlusMask;
-  if (m_doExpectBLayer)  m_typeMask |= TrackSum::ExpectBLayerMask;
-  if (m_doMuonHits)      m_typeMask |= TrackSum::MuonHitsMask;
-  if (m_doMuonHoles)     m_typeMask |= TrackSum::MuonHolesMask;
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode TrackTrackSummaryFillerTool::book()
-{
-  // track summaries
-  size_t ivar = 0;
-  for (size_t i = 0; i < TrackSum::nvars; i++)
-    if ( (m_typeMask & TrackSum::vars[i].type) ||
-	 m_storeFullSummary ) ++ivar;
-  m_vars.resize (ivar);
-
-  ivar = 0;
-  for (size_t i = 0; i < TrackSum::nvars; i++) {
-    if ( (m_typeMask & TrackSum::vars[i].type) || 
-	 m_storeFullSummary)
-      CHECK( addVariable (TrackSum::vars[i].name, m_vars[ivar++]) );
-  }
-  assert (ivar == m_vars.size());
-
-  // extra information
-  if (m_doHitSum || m_storeFullSummary)     CHECK( addVariable ("nHits",        m_nHits) );
-  if (m_doHoleSum || m_storeFullSummary)    CHECK( addVariable ("nHoles",       m_nHoles) );
-  if (m_doHitPattern || m_storeFullSummary) CHECK( addVariable ("hitPattern",   m_hitPattern) );
-  if (m_doSiHits || m_storeFullSummary)     CHECK (addVariable ("nSiHits",      m_nSiHits) );
-  if (m_doTRTRatio || m_storeFullSummary) {
-    CHECK (addVariable ("TRTHighTHitsRatio", m_TRTHighTHitsRatio) );
-    CHECK (addVariable ("TRTHighTOutliersRatio", m_TRTHighTOutliersRatio) );
-  }
-  if (m_doPixeldEdx || m_storeFullSummary){
-    CHECK (addVariable ("pixeldEdx", m_pixeldEdx) );
-    CHECK (addVariable ("nGoodHitsPixeldEdx", m_nGoodHitsPixeldEdx) );
-    CHECK (addVariable ("massPixeldEdx", m_massPixeldEdx) );
-    CHECK (addVariable ("likelihoodsPixeldEdx", m_likelihoodsPixeldEdx) );
-  }
-
-  if (m_doElectronPID || m_storeFullSummary) {
-    CHECK (addVariable ("eProbabilityComb", m_eProbabilityComb) );
-    CHECK (addVariable ("eProbabilityHT",   m_eProbabilityHT) );
-    CHECK (addVariable ("eProbabilityToT",  m_eProbabilityToT) );
-    CHECK (addVariable ("eProbabilityBrem", m_eProbabilityBrem) );
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrackTrackSummaryFillerTool::fill (const Trk::TrackSummary& ts)
-{
-
-  this->clearData();
-
-  // track summaries
-  size_t ivar = 0;
-  for (size_t i = 0; i < TrackSum::nvars; i++) {
-    const TrackSum::Var& v = TrackSum::vars[i];
-    int count = ts.get (v.key);
-    if ( (m_typeMask & v.type) || m_storeFullSummary) {
-      *m_vars[ivar++] = count;
-    }
-    if (count < 0) count = 0;
-    if ((m_doHitSum  && (v.type & TrackSum::HitSumMask)) || m_storeFullSummary)  *m_nHits  += count;
-    if ((m_doHoleSum && (v.type & TrackSum::HoleSumMask)) || m_storeFullSummary) *m_nHoles += count;
-  }
-  assert (ivar == m_vars.size());
-
-  // extras:
-
-  // hit pattern
-  if (m_doHitPattern || m_storeFullSummary) {
-    std::bitset<Trk::numberOfDetectorTypes> pattern;
-    for(unsigned int i=0; i<pattern.size(); i++){
-      const Trk::DetectorType detType = (Trk::DetectorType)i;
-      pattern.set(i, ts.isHit(detType));
-    }
-    *m_hitPattern = (int)pattern.to_ulong();
-  }
-  // Si hits
-  if (m_doSiHits || m_storeFullSummary)
-    *m_nSiHits = ts.get(Trk::numberOfPixelHits) + ts.get(Trk::numberOfSCTHits);
-  // TRT ratios
-  if (m_doTRTRatio || m_storeFullSummary) {
-    int nhightrt = ts.get (Trk::numberOfTRTHighThresholdHits);
-    int ntrt = ts.get (Trk::numberOfTRTHits);
-    int ntrtxenon = ts.get(Trk::numberOfTRTXenonHits);
-    if (ntrt > 0)
-      *m_TRTHighTHitsRatio = (float)nhightrt / (float)ntrt;
-
-    int nhightrt_outl = ts.get (Trk::numberOfTRTHighThresholdOutliers);
-    int ntrt_outl = ts.get (Trk::numberOfTRTOutliers);
-
-    // since we only save one value for number of xenon straws crossed, this is the correct one
-    // above variable (without outliers) shouldn't be used, anyway
-    if (ntrtxenon > 0) 
-       *m_TRTHighTOutliersRatio = (float)(nhightrt + nhightrt_outl) / (float)(ntrtxenon);
-    else if (ntrtxenon < 0 && (ntrt + ntrt_outl) > 0) {
-      // Backwards compatibility if xenon information isn't present.
-      *m_TRTHighTOutliersRatio =
-        (float)(nhightrt + nhightrt_outl) / (float)(ntrt + ntrt_outl);
-    }
-  }
-  // Pixel dEdX  
-  if (m_doPixeldEdx || m_storeFullSummary){
-    *m_pixeldEdx = ts.getPixeldEdx();
-    *m_nGoodHitsPixeldEdx = ts.numberOfUsedHitsdEdx();
-    const Trk::InDetTrackSummary* inDetTS = ts.indetTrackSummary();
-    if (inDetTS){
-      *m_massPixeldEdx = inDetTS->massPixeldEdx();
-      std::vector<float> likelihoods = inDetTS->likelihoodsPixeldEdx();
-      m_likelihoodsPixeldEdx->assign(likelihoods.begin(),likelihoods.end());
-    }
-  }
-  // electron PID
-  if(m_doElectronPID || m_storeFullSummary) {
-    *m_eProbabilityComb = ts.getPID(Trk::eProbabilityComb);
-    *m_eProbabilityHT = ts.getPID(Trk::eProbabilityHT);
-    *m_eProbabilityToT = ts.getPID(Trk::eProbabilityToT);
-    *m_eProbabilityBrem = ts.getPID(Trk::eProbabilityBrem);
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-void TrackTrackSummaryFillerTool::clearData(){
-
-  size_t ivar = 0;
-  for (size_t i = 0; i < TrackSum::nvars; i++) {
-    const TrackSum::Var& v = TrackSum::vars[i];
-    if ((m_typeMask & v.type) || m_storeFullSummary ) {
-      *m_vars[ivar++] = 0;
-    }
-  }
-  if (m_doHitSum || m_storeFullSummary)      *m_nHits = 0;
-  if (m_doHoleSum || m_storeFullSummary)     *m_nHoles = 0;
-  if (m_doHitPattern || m_storeFullSummary)  *m_hitPattern = 0;
-  if (m_doSiHits || m_storeFullSummary)      *m_nSiHits = 0;
-  if (m_doTRTRatio || m_storeFullSummary)    *m_TRTHighTHitsRatio = 0;
-  if (m_doPixeldEdx || m_storeFullSummary){
-    *m_pixeldEdx = 0;
-    *m_nGoodHitsPixeldEdx = 0;
-    *m_massPixeldEdx = -1;
-    m_likelihoodsPixeldEdx->clear();
-  }
-  if (m_doElectronPID || m_storeFullSummary) *m_eProbabilityComb = 0;
-  if (m_doElectronPID || m_storeFullSummary) *m_eProbabilityHT = 0;
-  if (m_doElectronPID || m_storeFullSummary) *m_eProbabilityToT = 0;
-  if (m_doElectronPID || m_storeFullSummary) *m_eProbabilityBrem = 0;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.h
deleted file mode 100644
index 08c3109e597..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackTrackSummaryFillerTool.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRACKTRACKSUMMARYFILLERTOOL_H
-#define INDETD3PDMAKER_TRACKTRACKSUMMARYFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include <vector>
-
-namespace Trk{
-class TrackSummary;
-}
-
-namespace D3PD {
-
-class TrackTrackSummaryFillerTool
-  : public D3PD::BlockFillerTool<Trk::TrackSummary>
-{
-public:
-  typedef D3PD::BlockFillerTool<Trk::TrackSummary> Base;
-
-  TrackTrackSummaryFillerTool (const std::string& type,
-			       const std::string& name,
-			       const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::TrackSummary& p);
-
-private:
-
-  void clearData();
-
-  // flag to store full info
-  bool m_storeFullSummary;
-
-  // track summary flags
-  bool m_doIDHits;
-  bool m_doIDHoles;
-  bool m_doIDSharedHits;
-  bool m_doIDOutliers;
-  bool m_doPixelInfoPlus;
-  bool m_doSCTInfoPlus;
-  bool m_doTRTInfoPlus;
-  bool m_doInfoPlus;
-  bool m_doMuonHits;
-  bool m_doMuonHoles;
-  bool m_doExpectBLayer;
-  // extra info flags
-  bool m_doHitSum;
-  bool m_doHoleSum;
-  bool m_doHitPattern;
-  bool m_doSiHits;
-  bool m_doTRTRatio;
-  bool m_doPixeldEdx;
-  bool m_doElectronPID;
-
-  unsigned int m_typeMask;
-
-  /* NTuple variables: **/
-  // hits on track information
-  int   *m_nHits;
-  int   *m_nHoles;
-  int   *m_hitPattern;
-  int   *m_nSiHits;
-  float *m_TRTHighTHitsRatio;
-  float *m_TRTHighTOutliersRatio;
-  float *m_pixeldEdx;
-  int   *m_nGoodHitsPixeldEdx;
-  float *m_massPixeldEdx;
-  std::vector<float> *m_likelihoodsPixeldEdx;
-  float *m_eProbabilityComb;
-  float *m_eProbabilityHT;
-  float *m_eProbabilityToT;
-  float *m_eProbabilityBrem;
-
-  std::vector<int*> m_vars;
-
-}; // class TrackSummaryFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRACKTRACKSUMMARYFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.cxx
deleted file mode 100644
index 7a6f6d647a0..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.cxx
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrkPrepRawDataGenParticleAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-TrkPrepRawDataGenParticleAssociationTool::TrkPrepRawDataGenParticleAssociationTool (const std::string& type,
-										const std::string& name,
-										const IInterface* parent)
-  : Base (type, name, parent)
-{
-  declareProperty ("MapKey", m_mapKey = "PRD_MultiTruthPixel");
-  declareProperty ("StoreBarcode", m_storeBarcode = false);
-
-  book().ignore();  // Avoid coverity warnings.
-}
-
-StatusCode TrkPrepRawDataGenParticleAssociationTool::initialize()
-{
-  CHECK( Base::initialize() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode TrkPrepRawDataGenParticleAssociationTool::book ()
-{
-
-  CHECK( Base::book() );
-  if(m_storeBarcode) CHECK( addVariable ("barcode", m_barcode) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrkPrepRawDataGenParticleAssociationTool::reset(const Trk::PrepRawData& prd){
-
-  if(m_storeBarcode) m_barcode->clear();
-
-  const PRD_MultiTruthCollection* prdmap=0;
-
-  if( evtStore()->retrieve(prdmap, m_mapKey).isFailure() ){
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve " << m_mapKey;
-    m_itr = m_end;
-    return StatusCode::SUCCESS;
-  }
-
-  Identifier id = prd.identify();
-
-  std::pair<PRDTruthLink, PRDTruthLink> links = prdmap->equal_range(id);
-  m_itr = links.first;
-  m_end = links.second;
-
-  return StatusCode::SUCCESS;
-}
-
-const HepMC::GenParticle *TrkPrepRawDataGenParticleAssociationTool::next (){
-
-  if(m_itr == m_end) return 0;
-
-  int barcode = 0;
-
-  const HepMC::GenParticle *particle = 0;
-
-  if(m_itr->second.isValid()){
-    particle = &(*(m_itr->second));
-    barcode = particle->barcode();
-  }else{
-    particle = &m_dummy;
-  }
-
-  if(m_storeBarcode) m_barcode->push_back(barcode);
-
-  m_itr++;
-
-  return particle;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h
deleted file mode 100644
index 98505283c77..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_TRKPREPRAWDATAGENPARTICLEASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRKPREPRAWDATAGENPARTICLEASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-
-#include "GaudiKernel/ToolHandle.h"
-#include "AtlasHepMC/GenParticle.h"
-#include "Identifier/Identifier.h"
-#include "TrkTruthData/PRD_MultiTruthCollection.h"
-#include "TrkPrepRawData/PrepRawData.h"
-#include "InDetPrepRawData/PixelCluster.h"
-#include "AthenaKernel/BaseInfo.h"
-#include <map>
-
-SG_BASE(InDet::PixelCluster, Trk::PrepRawData);
-
-namespace D3PD {
-
-class TrkPrepRawDataGenParticleAssociationTool 
-  : public MultiAssociationTool<Trk::PrepRawData, HepMC::GenParticle>
-{
-public:
-  typedef MultiAssociationTool<Trk::PrepRawData, HepMC::GenParticle> Base;
-  typedef std::multimap<Identifier, HepMcParticleLink>::const_iterator PRDTruthLink;
-
-  TrkPrepRawDataGenParticleAssociationTool (const std::string& type,
-					  const std::string& name,
-					  const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode reset (const Trk::PrepRawData& p); 
-  virtual const HepMC::GenParticle* next();
-
-private:
-
-  /* Iterators **/
-  PRDTruthLink m_itr;
-  PRDTruthLink m_end;
-
-  /* StoreGate keys **/
-  std::string m_mapKey;
-
-  /* Flags **/
-  bool m_storeBarcode;
-
-  /* NTuple variables **/
-  std::vector<int> *m_barcode;
-
-  /* Need this in case we match to a null particle before reaching the end **/
-  HepMC::GenParticle m_dummy;
-
-}; // class TrkPrepRawDataGenParticleAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRKPREPRAWDATAGENPARTICLEASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx
deleted file mode 100644
index 5fccc41bd2d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrkTrackDetailedTruthAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasHepMC/GenParticle.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "TrkTruthData/DetailedTrackTruthCollection.h"
-#include <map>
-
-namespace D3PD {
-
-TrkTrackDetailedTruthAssociationTool::TrkTrackDetailedTruthAssociationTool (const std::string& type,
-									  const std::string& name,
-									  const IInterface* parent)
-  : Base (type, name, parent)
-{
-  declareProperty ("MapKey", m_TruthMap = "DetailedTrackTruthMap");
-  declareProperty ("SGKey", m_TrkContainer = "Tracks");
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-StatusCode TrkTrackDetailedTruthAssociationTool::initialize()
-{
-  CHECK( Base::initialize() );
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode TrkTrackDetailedTruthAssociationTool::book ()
-{
-
-  CHECK( Base::book() );
-
-  CHECK( addVariable ("nCommonPixHits", m_npixhits_common) );
-  CHECK( addVariable ("nCommonSCTHits", m_nscthits_common) );
-  CHECK( addVariable ("nCommonTRTHits", m_ntrthits_common) );
-
-  CHECK( addVariable ("nRecoPixHits", m_npixhits_reco) );
-  CHECK( addVariable ("nRecoSCTHits", m_nscthits_reco) );
-  CHECK( addVariable ("nRecoTRTHits", m_ntrthits_reco) );
-
-  CHECK( addVariable ("nTruthPixHits", m_npixhits_truth) );
-  CHECK( addVariable ("nTruthSCTHits", m_nscthits_truth) );
-  CHECK( addVariable ("nTruthTRTHits", m_ntrthits_truth) );
-
-  CHECK( addVariable ("barcode", m_barcode) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrkTrackDetailedTruthAssociationTool::invalidate(StatusCode sc){
-
-  m_itr = m_end;
-  return sc;
-}
-
-StatusCode TrkTrackDetailedTruthAssociationTool::reset(const Trk::Track& track){
-
-  /// Get Track and TrackTruth Collections
-
-  // -- TrkTracks:
-  const TrackCollection* tc;
-  StatusCode sc = evtStore()->retrieve(tc, m_TrkContainer);  
-  if(sc.isFailure() || !tc) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve: " << m_TrkContainer;
-    return invalidate(StatusCode::SUCCESS);
-  }
-  // -- TrkTrackDetailedTruth:
-  const DetailedTrackTruthCollection* tm = nullptr;
-  sc = evtStore()->retrieve(tm, m_TruthMap);
-  if(sc.isFailure() || !tm) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve: " << m_TruthMap;
-    return invalidate(StatusCode::SUCCESS);
-  }
-
-  ElementLink<TrackCollection> tlink;
-  tlink.setElement(&track);
-  tlink.setStorableObject(*tc);
-  DetailedTrackTruthCollection::const_iterator found = tm->find(tlink);
-
-  if(found==tm->end()){
-    return invalidate(StatusCode::SUCCESS);
-  }
-
-  Range range = tm->equal_range(found->first);
-
-  m_itr = range.first;
-  m_end = range.second;
-
-  return StatusCode::SUCCESS;
-}
-
-const HepMC::GenParticle *TrkTrackDetailedTruthAssociationTool::next ()
-{
-
-  if(m_itr==m_end) return 0;
-
-  const DetailedTrackTruth dtt = m_itr->second;
-  m_itr++;
-
-  *m_npixhits_common = dtt.statsCommon()[SubDetHitStatistics::Pixel];
-  *m_nscthits_common = dtt.statsCommon()[SubDetHitStatistics::SCT];
-  *m_ntrthits_common = dtt.statsCommon()[SubDetHitStatistics::TRT];
-  
-  *m_npixhits_reco = dtt.statsTrack()[SubDetHitStatistics::Pixel];
-  *m_nscthits_reco = dtt.statsTrack()[SubDetHitStatistics::SCT];
-  *m_ntrthits_reco = dtt.statsTrack()[SubDetHitStatistics::TRT];
-  
-  *m_npixhits_truth = dtt.statsTruth()[SubDetHitStatistics::Pixel];
-  *m_nscthits_truth = dtt.statsTruth()[SubDetHitStatistics::SCT];
-  *m_ntrthits_truth = dtt.statsTruth()[SubDetHitStatistics::TRT];
-  
-  const HepMcParticleLink& link = *(dtt.trajectory().rbegin());
-
-  const HepMC::GenParticle* particle;
-  if(!link.isValid()){
-    particle = &m_dummy;
-    *m_barcode = -1;
-  }else{
-    *m_barcode = link.barcode();
-    particle = link.cptr();
-  }
-
-  if(!particle){
-    REPORT_MESSAGE (MSG::WARNING) << "Pointer to particle is not valid";
-  }
-
-  return particle;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h
deleted file mode 100644
index ca8b925d382..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMaker_TRKTRACKDETAILEDTRUTHASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKDETAILEDTRUTHASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-
-#include "GaudiKernel/AlgTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-#include "StoreGate/StoreGateSvc.h"
-#include "TrkTruthData/DetailedTrackTruthCollection.h"
-#include "AtlasHepMC/GenParticle.h"
-#include <vector>
-
-namespace Trk {
-class Track;
-}
-
-namespace D3PD {
-
-class TrkTrackDetailedTruthAssociationTool
-  : public MultiAssociationTool<Trk::Track, HepMC::GenParticle>
-{
-public:
-  typedef MultiAssociationTool<Trk::Track, HepMC::GenParticle> Base;
-  typedef std::pair<DetailedTrackTruthCollection::const_iterator,DetailedTrackTruthCollection::const_iterator> Range;
-
-  TrkTrackDetailedTruthAssociationTool (const std::string& type,
-					     const std::string& name,
-					     const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode reset (const Trk::Track& p);
-  virtual const HepMC::GenParticle* next();
-
-private:
-
-  StatusCode invalidate(StatusCode);
-
-  DetailedTrackTruthCollection::const_iterator m_itr;
-  DetailedTrackTruthCollection::const_iterator m_end;
-
-  /* StoreGate keys **/
-  std::string m_TruthMap;
-  std::string m_TrkContainer;
-
-  /* NTuple variables **/
-  int* m_npixhits_common;
-  int* m_nscthits_common;
-  int* m_ntrthits_common;
-  
-  int* m_npixhits_reco;
-  int* m_nscthits_reco;
-  int *m_ntrthits_reco;
-  
-  int *m_npixhits_truth;
-  int *m_nscthits_truth;
-  int *m_ntrthits_truth;
-  
-  int *m_barcode;
-
-  HepMC::GenParticle m_dummy;
-
-}; // class TrkTrackDetailedTruthAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMaker_TRKTRACKDETAILEDTRUTHASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.cxx
deleted file mode 100644
index 67d0d4f6ca5..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.cxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackFitQualityAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its FitQuality.
- */
-
-#include "TrkTrackFitQualityAssociationTool.h"
-
-#include "TrkTrack/Track.h"
-#include "TrkEventPrimitives/FitQuality.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackFitQualityAssociationTool::TrkTrackFitQualityAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::FitQuality *TrkTrackFitQualityAssociationTool::get (const Trk::Track& track)
-{
-  return track.fitQuality();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.h
deleted file mode 100644
index d2e2c507ce8..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackFitQualityAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackFitQualityAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its FitQuality.
- */
-#ifndef INDETD3PDMaker_TRKTRACKFITQUALITYASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKFITQUALITYASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-  class Track;
-  class FitQuality;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a Trk::Track to its FitQuality.
- */
-class TrkTrackFitQualityAssociationTool
-  : public SingleAssociationTool<Trk::Track, Trk::FitQuality>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, Trk::FitQuality> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackFitQualityAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::FitQuality* get (const Trk::Track& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMaker_TRKTRACKFITQUALITYASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.cxx
deleted file mode 100644
index da0f03bdfb1..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.cxx
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrkTrackGetterTool.h"
-#include "VxVertex/VxContainer.h"
-#include "VxVertex/VxCandidate.h"
-#include "VxVertex/PrimaryVertexSelector.h"
-
-
-namespace D3PD {
-
-TrkTrackGetterTool::TrkTrackGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_vertex(0),
-      m_hasVertex(0),
-      m_trackSelector("")
-{
-  declareProperty ("VertexSGKey", m_vxCandidateSGKey = "VxPrimaryCandidate");
-  declareProperty("TrackSelector", m_trackSelector);
-}
-
-StatusCode TrkTrackGetterTool::initialize()
-{
-
-  CHECK( Base::initialize() );
-
-  CHECK( m_trackSelector.retrieve() );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrkTrackGetterTool::reset(bool allowMissing)
-{
-
-  // tracks
-  const TrackCollection* tracks = get(allowMissing);
-
-  if (!tracks) {
-    m_trkItr = m_trkEnd;
-    if(allowMissing){
-      return StatusCode::SUCCESS;
-    }else{
-      return StatusCode::FAILURE;
-    }
-  }
-
-  m_trkItr = tracks->begin();
-  m_trkEnd = tracks->end();
-
-  // primary vertex
-  const VxContainer* vxContainer = 0;
-  StatusCode sc = evtStore()->retrieve(vxContainer, m_vxCandidateSGKey);
-  if (sc.isFailure() || !vxContainer) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve primary vertex container: " << m_vxCandidateSGKey;
-    m_hasVertex = false;
-  }else{
-    // use the primary vertex selector function  
-       m_vertex = PrimaryVertexSelector(*vxContainer);
-       if (! m_vertex){
-           REPORT_MESSAGE (MSG::WARNING) << "No primary vertices reconstructed";
-           m_hasVertex = false;
-       } else 
-           m_hasVertex = true;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-const void* TrkTrackGetterTool::nextUntyped()
-{
-
-  const Trk::Track* track = 0;
-
-  do{
-
-    if(m_trkItr == m_trkEnd){
-      return 0;
-    }
-
-    track = *(m_trkItr);
-    m_trkItr++;
-
-  } while(!track || !selectTrack(track));
-
-  return track;
-}
-
-bool TrkTrackGetterTool::selectTrack(const  Trk::Track *track)
-{
-
-  if(!m_hasVertex) return false;
-
-  return m_trackSelector->decision(*track, &(m_vertex->recVertex()));
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.h
deleted file mode 100644
index 538c70f67ec..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackGetterTool.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_TRKTRACKGETTERTOOL_H
-#define INDETD3PDMAKER_TRKTRACKGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackCollection.h"
-#include "TrkToolInterfaces/ITrackSelectorTool.h"
-#include "GaudiKernel/ToolHandle.h"
-
-namespace Trk {
-  class VxCandidate;
-}
-
-namespace D3PD {
-
-class TrkTrackGetterTool
-  : public D3PD::SGCollectionGetterTool<TrackCollection>
-{
-public:
-  typedef D3PD::SGCollectionGetterTool<TrackCollection> Base;
-
-  TrkTrackGetterTool (const std::string& type,
-		      const std::string& name,
-		      const IInterface* parent);
-
-  StatusCode initialize();
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-
-private:
-
-  /* apply track selection */
-  bool selectTrack(const Trk::Track *track);
-
-  /* iterators **/
-  TrackCollection::const_iterator m_trkItr;
-  TrackCollection::const_iterator m_trkEnd;
-
-  /* for primary vertex **/
-  std::string m_vxCandidateSGKey;
-  const Trk::VxCandidate *m_vertex;
-  bool m_hasVertex;
-
-  /* track selector **/
-  ToolHandle< Trk::ITrackSelectorTool > m_trackSelector;
-
-}; // class TrkTrackGetterTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRKTRACKGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.cxx
deleted file mode 100644
index d4697390b4a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.cxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackInfoAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackInfoAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its Info.
- */
-
-#include "TrkTrackInfoAssociationTool.h"
-
-#include "TrkTrack/TrackInfo.h"
-#include "TrkTrack/Track.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackInfoAssociationTool::TrkTrackInfoAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackInfo *TrkTrackInfoAssociationTool::get (const Trk::Track& track)
-{
-  return &track.info();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.h
deleted file mode 100644
index 13ef718d2e2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackInfoAssociationTool.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackInfoAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackInfoAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its TrackInfo.
- */
-#ifndef INDETD3PDMaker_TRKTRACKINFOASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKINFOASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-  class Track;
-  class TrackInfo;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrkTrack to its TrackInfo.
- */
-class TrkTrackInfoAssociationTool
-  : public SingleAssociationTool<Trk::Track, Trk::TrackInfo>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, Trk::TrackInfo> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackInfoAssociationTool (const std::string& type,
-			       const std::string& name,
-			       const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackInfo* get (const Trk::Track& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMaker_TRKTRACKINFOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.cxx
deleted file mode 100644
index 266c60d8670..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.cxx
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrkTrackParametersAtBLFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkParameters/TrackParameters.h"
-#include "TrkTrack/Track.h"
-
-namespace D3PD {
-
-
-TrkTrackParametersAtBLFillerTool::TrkTrackParametersAtBLFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : D3PD::BlockFillerTool<Trk::Track> (type, name, parent),
-    m_trackToVertexTool("Reco::TrackToVertex")
-{
-  m_levelOfDetails = 10;
-  m_fillThetaAndQoverP = true;
-  book().ignore(); // Avoid coverity warnings.
-
-  declareProperty ("FillThetaAndQoverP", m_fillThetaAndQoverP=true);
-  declareProperty ("DefaultValue", m_defaultValue=0,
-                   "Default value to which to set unfilled variables.");
-  declareProperty ("TrackToVertexTool", m_trackToVertexTool);
-  declareProperty ("levelOfDetails", m_levelOfDetails);
-}
-
-StatusCode TrkTrackParametersAtBLFillerTool::initialize()
-{
-  CHECK( D3PD::BlockFillerTool<Trk::Track>::initialize() );
-  CHECK( m_trackToVertexTool.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrkTrackParametersAtBLFillerTool::book()
-{
-  // track parameters at perigee
-  if(m_levelOfDetails > 0) {
-    CHECK( addVariable ("d0_wrtBL", m_d0, "", m_defaultValue) );
-    CHECK( addVariable ("z0_wrtBL", m_z0, "", m_defaultValue) );
-    CHECK( addVariable ("phi_wrtBL", m_phi, "", m_defaultValue) );
-    if(m_fillThetaAndQoverP) {
-      CHECK( addVariable ("theta_wrtBL", m_theta, "", m_defaultValue) );
-      CHECK( addVariable ("qoverp_wrtBL", m_qoverp, "", m_defaultValue) );
-    }
-
-    if(m_levelOfDetails > 1) {
-
-      CHECK( addVariable ("d0_err_wrtBL", m_d0_err, "", m_defaultValue) );
-      CHECK( addVariable ("z0_err_wrtBL", m_z0_err, "", m_defaultValue) );
-      CHECK( addVariable ("phi_err_wrtBL", m_phi_err, "", m_defaultValue) );
-      CHECK( addVariable ("theta_err_wrtBL", m_theta_err, "", m_defaultValue) );
-      CHECK( addVariable ("qoverp_err_wrtBL", m_qoverp_err, "", m_defaultValue) );
-
-      if(m_levelOfDetails > 2) {
-
-        CHECK( addVariable ("d0_z0_err_wrtBL", m_d0_z0_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("d0_phi_err_wrtBL", m_d0_phi_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("d0_theta_err_wrtBL", m_d0_theta_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("d0_qoverp_err_wrtBL", m_d0_qoverp_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("z0_phi_err_wrtBL", m_z0_phi_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("z0_theta_err_wrtBL", m_z0_theta_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("z0_qoverp_err_wrtBL", m_z0_qoverp_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("phi_theta_err_wrtBL", m_phi_theta_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("phi_qoverp_err_wrtBL", m_phi_qoverp_err_wrtBL, "", m_defaultValue) );
-        CHECK( addVariable ("theta_qoverp_err_wrtBL", m_theta_qoverp_err_wrtBL, "", m_defaultValue) );
-      }
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TrkTrackParametersAtBLFillerTool::fill (const Trk::Track& track)
-{
-
-  if(m_levelOfDetails > 0) {
-
-    // call the TrackToVertex Tool
-    const InDet::BeamSpotData* bsd = m_trackToVertexTool->GetBeamSpotData (Gaudi::Hive::currentContext());
-    std::unique_ptr<Trk::StraightLineSurface> bl =
-      m_trackToVertexTool->GetBeamLine (bsd);
-    const Trk::TrackParameters* ataline =  m_trackToVertexTool->trackAtBeamline (track, bl.get());
-
-    if(!ataline) {
-#if 0
-      if(track.perigeeParameters()) {
-	REPORT_MESSAGE (MSG::DEBUG) << "Failed to extrapolate to beam line track of: "
-				    << "pt = " << track.perigeeParameters()->pT() << " - "
-				    << "eta = " << track.perigeeParameters()->eta() << " - "
-				    << "phi = " << track.perigeeParameters()->parameters()[Trk::phi0];
-      }else{
-	REPORT_MESSAGE (MSG::DEBUG) << "Failed to extrapolate to beam line track with no valid perigee";
-      }
-#endif
-      return StatusCode::SUCCESS;
-    }
-
-    *m_d0 = ataline->parameters()[Trk::d0];
-    *m_z0 = ataline->parameters()[Trk::z0];
-    *m_phi = ataline->parameters()[Trk::phi0];
-    if(m_fillThetaAndQoverP){
-      *m_theta = ataline->parameters()[Trk::theta];
-      *m_qoverp = ataline->parameters()[Trk::qOverP];
-    }
-
-    const AmgSymMatrix(5)* err = ataline->covariance();
-
-    if(m_levelOfDetails > 1 && err) {
-
-       
-      *m_d0_err = sqrt((*err)(Trk::d0,Trk::d0));
-      *m_z0_err = sqrt((*err)(Trk::z0,Trk::z0));
-      *m_phi_err = sqrt((*err)(Trk::phi0,Trk::phi0));
-      *m_theta_err = sqrt((*err)(Trk::theta,Trk::theta));
-      *m_qoverp_err = sqrt((*err)(Trk::qOverP,Trk::qOverP));
-  
-      if(m_levelOfDetails > 2) {
-
-        *m_d0_z0_err_wrtBL =(*err)(Trk::d0, Trk::z0);
-        *m_d0_phi_err_wrtBL =(*err)(Trk::d0, Trk::phi0);
-        *m_d0_theta_err_wrtBL =(*err)(Trk::d0, Trk::theta);
-        *m_d0_qoverp_err_wrtBL =(*err)(Trk::d0, Trk::qOverP);
-        *m_z0_phi_err_wrtBL =(*err)(Trk::z0, Trk::phi0);
-        *m_z0_theta_err_wrtBL =(*err)(Trk::z0, Trk::theta);
-        *m_z0_qoverp_err_wrtBL =(*err)(Trk::z0, Trk::qOverP);
-        *m_phi_theta_err_wrtBL =(*err)(Trk::phi0, Trk::theta);
-        *m_phi_qoverp_err_wrtBL =(*err)(Trk::phi0, Trk::qOverP);
-        *m_theta_qoverp_err_wrtBL =(*err)(Trk::theta, Trk::qOverP);
-      }
-    }
-
-    delete ataline;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.h
deleted file mode 100644
index f770aff43af..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackParametersAtBLFillerTool.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMaker_TRKTRACKPARAMETERSATBLFILLERTOOL_H
-#define INDETD3PDMaker_TRKTRACKPARAMETERSATBLFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "ITrackToVertex/ITrackToVertex.h"
-
-namespace Trk{
-class Track;
-}
-
-namespace D3PD {
-
-class TrkTrackParametersAtBLFillerTool
-  : public D3PD::BlockFillerTool<Trk::Track>
-{
-public:
-  TrkTrackParametersAtBLFillerTool (const std::string& type,
-				    const std::string& name,
-				    const IInterface* parent);
-  virtual StatusCode initialize();
-
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::Track &p);
-
-private:
-
-  bool m_fillThetaAndQoverP;
-  int m_levelOfDetails;
-
-  /// Parameter: Value to which to set variables if they don't get filled.
-  float m_defaultValue;
-
-  /* NTuple variables: **/
-  // track parameters at perigee
-  float *m_d0;
-  float *m_z0;
-  float *m_phi;
-  float *m_theta;
-  float *m_qoverp;
-
-  float *m_d0_err;
-  float *m_z0_err;
-  float *m_phi_err;
-  float *m_theta_err;
-  float *m_qoverp_err;
-  
-  float *m_d0_z0_err_wrtBL;
-  float *m_d0_phi_err_wrtBL;
-  float *m_d0_theta_err_wrtBL;
-  float *m_d0_qoverp_err_wrtBL;
-  float *m_z0_phi_err_wrtBL;
-  float *m_z0_theta_err_wrtBL;
-  float *m_z0_qoverp_err_wrtBL;
-  float *m_phi_theta_err_wrtBL;
-  float *m_phi_qoverp_err_wrtBL;
-  float *m_theta_qoverp_err_wrtBL;
-
-  /* Track to vertex extrapolator **/
-  ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool;
-
-}; // class TrkTrackParametersAtBLFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMaker_TRKTRACKPARAMETERSATBLFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.cxx
deleted file mode 100644
index 175154a92d1..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.cxx
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackPerigeeAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its default Perigee.
- */
-
-#include "TrkTrackPerigeeAssociationTool.h"
-
-#include "TrkTrack/Track.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackPerigeeAssociationTool::TrkTrackPerigeeAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::Perigee *TrkTrackPerigeeAssociationTool::get (const Trk::Track& track)
-{
-  return track.perigeeParameters();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.h
deleted file mode 100644
index dcd65d3cce9..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackPerigeeAtOOAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackPerigeeAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its default Perigee.
- */
-#ifndef INDETD3PDMaker_TRKTRACKPERIGEEASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKPERIGEEASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "TrkParameters/TrackParameters.h"
-
-
-namespace Trk {
-  class Track;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrkTrack to its default Perigee.
- */
-class TrkTrackPerigeeAssociationTool
-  : public SingleAssociationTool<Trk::Track, Trk::Perigee>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, Trk::Perigee> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackPerigeeAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::Perigee* get (const Trk::Track& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMaker_TRKTRACKPERIGEEASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.cxx
deleted file mode 100644
index 5a476235364..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.cxx
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackPerigeeAtBSAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its perigee at the beam spot.
- */
-
-#include "TrkTrackPerigeeAtBSAssociationTool.h"
-
-#include "TrkTrack/Track.h"
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackPerigeeAtBSAssociationTool::TrkTrackPerigeeAtBSAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_iBeamCondSvc(0),
-      m_trackToVertexTool("Reco::TrackToVertex")
-{
-  declareProperty ("TrackToVertexTool", m_trackToVertexTool);
-  declareProperty("BeamCondSvcName", m_beamCondSvcName = "BeamCondSvc");
-}
-
-StatusCode TrkTrackPerigeeAtBSAssociationTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // Pick up the BeamConditionService
-  StatusCode sc = service(m_beamCondSvcName, m_iBeamCondSvc);
-  if (sc.isFailure() || m_iBeamCondSvc == 0) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not find BeamCondSvc: " <<  m_beamCondSvcName;
-    REPORT_MESSAGE (MSG::WARNING) << "Will use nominal beamspot at (0,0,0)";
-  }
-
-  // Pick up the TrackToVertex tool
-  sc = m_trackToVertexTool.retrieve();
-  if(sc.isFailure()){
-    REPORT_MESSAGE (MSG::ERROR) << "Could not retrieve TrackToVertexTool";
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackParameters *TrkTrackPerigeeAtBSAssociationTool::get (const Trk::Track& track)
-{
-
-  /// Pick up the beamspot
-  Amg::Vector3D beamSpot(0,0,0);
-  if (m_iBeamCondSvc) {
-    beamSpot = m_iBeamCondSvc->beamVtx().position();
-  }
-  const Trk::TrackParameters *perigee = m_trackToVertexTool->perigeeAtVertex(track, beamSpot);
-
-  return perigee;
-}
-
-/**
- * @brief Release an object retrieved from the association.
- * @param p The object to release.
- *
- * Call this when you are done with the object returned by
- * @c get().  The default implementation is a no-op,
- * but if the association dynamically allocates the object which
- * it returned, this gives it a chance to free it.
- */
-void TrkTrackPerigeeAtBSAssociationTool::releaseObject (const Trk::TrackParameters* p)
-{
-  if(p) delete p;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.h
deleted file mode 100644
index 72c2ec12018..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackPerigeeAtBSAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackPerigeeAtBSAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its perigee at the beam spot.
- */
-#ifndef INDETD3PDMaker_TRKTRACKPERIGEEATBSASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKPERIGEEATBSASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "ITrackToVertex/ITrackToVertex.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "InDetBeamSpotService/IBeamCondSvc.h"
-#include "TrkParameters/TrackParameters.h"
-#include <vector>
-
-namespace Trk {
-  class Track;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a VxCandidate to its perigee at the beam spot.
- */
-class TrkTrackPerigeeAtBSAssociationTool
-  : public SingleAssociationTool<Trk::Track, Trk::TrackParameters>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, Trk::TrackParameters> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackPerigeeAtBSAssociationTool (const std::string& type,
-					   const std::string& name,
-					   const IInterface* parent);
-
-
-  StatusCode initialize();
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackParameters* get (const Trk::Track& p);
-  virtual void releaseObject (const Trk::TrackParameters* p);
-
- private:
-
-  /* the beam condition service **/
-  IBeamCondSvc* m_iBeamCondSvc;
-  std::string   m_beamCondSvcName;
-
-  /* Track to vertex extrapolator **/
-  ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool;
-
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMaker_TRKTRACKPERIGEEATBSASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.cxx
deleted file mode 100644
index 066d1a107be..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.cxx
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackPerigeeAtPVAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its perigee at PV.
- */
-
-#include "TrkTrackPerigeeAtPVAssociationTool.h"
-
-#include "TrkTrack/Track.h"
-#include "AthenaKernel/errorcheck.h"
-#include "VxVertex/VxCandidate.h"
-#include "VxVertex/VxContainer.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackPerigeeAtPVAssociationTool::TrkTrackPerigeeAtPVAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_trackToVertexTool("Reco::TrackToVertex")
-{
-  declareProperty ("SGKey", m_vxCandidate = "VxPrimaryCandidate");
-  declareProperty ("TrackToVertexTool", m_trackToVertexTool);
-}
-
-StatusCode TrkTrackPerigeeAtPVAssociationTool::initialize()
-{
-  CHECK( Base::initialize() );
-  CHECK( m_trackToVertexTool.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackParameters *TrkTrackPerigeeAtPVAssociationTool::get (const Trk::Track& track)
-{
-
-  const VxContainer* vxContainer = 0;
-  StatusCode sc = evtStore()->retrieve(vxContainer, m_vxCandidate);
-  if (sc.isFailure() || !vxContainer) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve primary vertex container: " << m_vxCandidate;
-    return 0;
-  }
-
-  if(vxContainer->size()<1){
-    REPORT_MESSAGE (MSG::WARNING) << "No primary vertices reconstructed";
-    return 0;
-  }
-
-  VxContainer::const_iterator vxI = vxContainer->begin();
-  const Trk::TrackParameters* perigee = m_trackToVertexTool->perigeeAtVertex(track, (*vxI)->recVertex().position());
-
-  return perigee;
-}
-
-/**
- * @brief Release an object retrieved from the association.
- * @param p The object to release.
- *
- * Call this when you are done with the object returned by
- * @c get().  The default implementation is a no-op,
- * but since the association dynamically allocates the object which
- * it returned, this gives it a chance to free it.
- */
-void TrkTrackPerigeeAtPVAssociationTool::releaseObject (const Trk::TrackParameters* p)
-{
-  if(p) delete p;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.h
deleted file mode 100644
index d01ea53640d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackPerigeeAtPVAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackPerigeeAtPVAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its perigee at PV.
- */
-#ifndef INDETD3PDMaker_TRKTRACKPERIGEEATPVASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKPERIGEEATPVASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "ITrackToVertex/ITrackToVertex.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "TrkParameters/TrackParameters.h"
-#include <vector>
-
-namespace Trk {
-  class Track;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrkTrack to its perigee at PV.
- */
-class TrkTrackPerigeeAtPVAssociationTool
-  : public SingleAssociationTool<Trk::Track, Trk::TrackParameters>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, Trk::TrackParameters> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackPerigeeAtPVAssociationTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent);
-
-
-  StatusCode initialize();
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackParameters* get (const Trk::Track& p);
-  virtual void releaseObject (const Trk::TrackParameters* p);
-
- private:
-
-  /* StoreGate keys **/
-  std::string m_vxCandidate;
-
-  /* Track to vertex extrapolator **/
-  ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool;
-
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMaker_TRKTRACKPERIGEEATPVASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.cxx
deleted file mode 100644
index 9365b1b9f0e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.cxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "TrkTrackTSOAssociationTool.h"
-
-#include "TrkTrack/Track.h"
-#include "TrkTrack/TrackStateOnSurface.h"
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasDetDescr/AtlasDetectorID.h"
-#include "InDetIdentifier/PixelID.h"
-
-
-namespace D3PD {
-
-TrkTrackTSOAssociationTool::TrkTrackTSOAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      InDetTSOSAssociationHelper()
-{
-//   declareProperty("InDetHoleSearchTool", m_idHoleSearch);
-  for(std::map<std::string, bool>::iterator itr=m_getTypes.begin(); 
-      itr!=m_getTypes.end(); itr++){
-    declareProperty(itr->first, itr->second);
-  }
-}
-
-StatusCode TrkTrackTSOAssociationTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  //   if ( !m_idHoleSearch.empty() ) {
-  //     if (m_idHoleSearch.retrieve().isFailure() ) {
-  //       REPORT_MESSAGE (MSG::ERROR) << "Failed to retrieve InDet hole search tool " << m_idHoleSearch;
-  //       return StatusCode::FAILURE;
-  //     } else {
-  //       REPORT_MESSAGE (MSG::INFO) << "Retrieved tool " << m_idHoleSearch;
-  //       m_doHolesInDet = true;
-  //     }
-  //   }
-
-  // need Atlas id-helper to identify sub-detectors, take it from detStore
-  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get AtlasID helper";
-    return StatusCode::FAILURE;
-  }   
-
-  // need Pixel helper to identify b-layer TSOS, take it from detStore
-  if (detStore()->retrieve(m_pixelId, "PixelID").isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not get PixelID helper";
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Start the iteration for a new association.
- * @param p The object from which to associate.
- */
-StatusCode TrkTrackTSOAssociationTool::reset (const Trk::Track& p)
-{
-
-  return doReset(p);
-}
-
-/**
- * @brief Return a pointer to the next element in the association.
- *
- * Return 0 when the association has been exhausted.
- */
-const Trk::TrackStateOnSurface* TrkTrackTSOAssociationTool::next()
-{
-
-  return getNext();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.h
deleted file mode 100644
index 81758568a13..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTSOAssociationTool.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_TRKTRACKTSOASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_TRKTRACKTSOASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "InDetTSOSAssociationHelper.h"
-
-namespace Trk{
-  class Track;
-  class TrackStateOnSurface;
-}
-
-namespace D3PD {
-
-class TrkTrackTSOAssociationTool
-  : public MultiAssociationTool<Trk::Track, Trk::TrackStateOnSurface>,
-    InDetTSOSAssociationHelper
-{
-public:
-
-  typedef MultiAssociationTool<Trk::Track, Trk::TrackStateOnSurface> Base;
-
-  TrkTrackTSOAssociationTool (const std::string& type,
-			      const std::string& name,
-			      const IInterface* parent);
-
-  virtual StatusCode initialize();
-
-  /**
-   * @brief Start the iteration for a new association.
-   * @param p The object from which to associate.
-   */
-  virtual StatusCode reset (const Trk::Track& p);
-
-  /**
-   * @brief Return a pointer to the next element in the association.
-   *
-   * Return 0 when the association has been exhausted.
-   */
-  virtual const Trk::TrackStateOnSurface* next();
-
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_TRKTRACKTSOASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.cxx
deleted file mode 100644
index 0d63a5628be..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.cxx
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackTrackSummaryAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its default TrackSummary.
- */
-
-#include "TrkTrackTrackSummaryAssociationTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrack/Track.h"
-#include "TrkTrackSummary/TrackSummary.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackTrackSummaryAssociationTool::TrkTrackTrackSummaryAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param track The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::TrackSummary *TrkTrackTrackSummaryAssociationTool::get (const Trk::Track& track)
-{
-  return track.trackSummary();
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.h
deleted file mode 100644
index c10c43154b5..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackTrackSummaryAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/TrkTrackTrackSummaryAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a TrkTrack to its TrackSummary.
- */
-#ifndef INDETD3PDMaker_TRACKTRACKTRACKSUMMARYASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRACKTRACKTRACKSUMMARYASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-  class TrackSummary;
-}
-
-namespace Trk {
-  class Track;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrkTrack to its TrackSummary.
- */
-class TrkTrackTrackSummaryAssociationTool
-  : public SingleAssociationTool<Trk::Track, Trk::TrackSummary>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, Trk::TrackSummary> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackTrackSummaryAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::TrackSummary* get (const Trk::Track& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMaker_TRACKTRACKTRACKSUMMARYASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.cxx
deleted file mode 100644
index f3591a13281..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.cxx
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-
-// Gaudi/Athena include(s):
-#include "AthenaKernel/errorcheck.h"
-
-// EDM include(s):
-#include "TrkTrack/TrackCollection.h"
-#include "TrkTruthData/TrackTruthCollection.h"
-
-// Local include(s):
-#include "TrkTrackTruthAssociationTool.h"
-
-namespace D3PD {
-
-TrkTrackTruthAssociationTool::TrkTrackTruthAssociationTool (const std::string& type,
-							    const std::string& name,
-							    const IInterface* parent)
-  : Base (type, name, parent)
-{
-  declareProperty ("MapKey", m_TruthMap = "TrackTruthMap");
-  declareProperty ("SGKey", m_TrkContainer = "Tracks");
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-StatusCode TrkTrackTruthAssociationTool::initialize()
-{
-
-  CHECK( Base::initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-
-StatusCode TrkTrackTruthAssociationTool::book ()
-{
-  CHECK( addVariable ("probability", m_trueProb) );
-  CHECK( addVariable ("barcode", m_trueBarcode) );
-
-  return StatusCode::SUCCESS;
-}
-
-
-const HepMC::GenParticle* TrkTrackTruthAssociationTool::get (const Trk::Track& track)
-{
-
-   // Check if the track collection is available:
-   if( ! evtStore()->contains< TrackCollection >( m_TrkContainer ) ) {
-      return 0;
-   }
-
-   // Check if the truth collection is available:
-   if( ! evtStore()->contains< TrackTruthCollection >(  m_TruthMap ) ) {
-      return 0;
-   }
-
-   /// Get Track and TrackTruth Collections
-   /// Should be using Getter tools intead of StoreGate
-   // -- TrackParticles:
-   const TrackCollection* tc = 0;
-   if( evtStore()->retrieve( tc, m_TrkContainer ).isFailure() ) {
-      REPORT_MESSAGE( MSG::WARNING )
-         << "No TrackCollection with SG key \"" << m_TrkContainer
-         << "\" found, even though StoreGateSvc::contains said it should be there!";
-      return 0;
-   }
-   // -- TrackTruth:
-   const TrackTruthCollection* tm = 0;
-   if( evtStore()->retrieve( tm, m_TruthMap ).isFailure() ) {
-      REPORT_MESSAGE( MSG::WARNING )
-         << "No TrackTruthCollection with SG key \"" << m_TruthMap
-         << "\" found, even though StoreGateSvc::contains said it should be there!";
-      return 0;
-   }
-
-  const HepMC::GenParticle *particle = 0;
-  *m_trueProb = 0;
-  *m_trueBarcode = -1;
-
-  ElementLink<TrackCollection> tlink;
-  tlink.setElement(&track);
-  tlink.setStorableObject(*tc);
-  TrackTruthCollection::const_iterator found = tm->find(tlink);
-  if(found != tm->end()) {
-    *m_trueProb = found->second.probability();
-    *m_trueBarcode = found->second.particleLink().barcode();
-    particle = found->second.particleLink().cptr();
-  }
-
-  return particle;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h
deleted file mode 100644
index bf81fb87d9a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Dear emacs, this is -*- c++ -*-
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id$
-#ifndef INDETD3PDMaker_TRKTRACKTRUTHASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKTRUTHASSOCIATIONTOOL_H
-
-// EDM include(s):
-#include "TrkTrack/Track.h"
-#include "AtlasHepMC/GenParticle.h"
-
-// D3PDMaker include(s):
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace D3PD {
-
-class TrkTrackTruthAssociationTool
-  : public SingleAssociationTool<Trk::Track, HepMC::GenParticle>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track, HepMC::GenParticle> Base;
-
-  TrkTrackTruthAssociationTool (const std::string& type,
-				       const std::string& name,
-				       const IInterface* parent);
-
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual const HepMC::GenParticle* get (const Trk::Track& p);
-
-private:
-  /* StoreGate keys **/
-  std::string m_TruthMap;
-  std::string m_TrkContainer;
-
-  /* NTuple variables **/
-  float* m_trueProb;
-  int* m_trueBarcode;
-
-}; // class TrkTrackTruthAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMaker_TRKTRACKTRUTHASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.cxx
deleted file mode 100644
index 6ccd90fe99f..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.cxx
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackVertexAssociationTool.cxx 502118 2012-05-23 19:10:19Z ssnyder $
-/**
- * @file InDetD3PDMaker/src/TrkTrackVertexAssociationTool.cxx
- * @author Remi Zaidan <zaidan@cern.ch>
- * @date Mar, 2011
- * @brief Associate from a TrkTrack to its reconstructed vertex.
- */
-
-#include "AthenaKernel/errorcheck.h"
-#include "TrkTrackVertexAssociationTool.h"
-#include "TrkTrack/Track.h"
-#include "VxVertex/VxCandidate.h"
-#include "Particle/TrackParticle.h"
-#include <TrkParticleBase/LinkToTrackParticleBase.h>
-#include <VxVertex/VxTrackAtVertex.h>
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-TrkTrackVertexAssociationTool::TrkTrackVertexAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-  declareProperty ("VxSGKey", m_targetSGKey="VxPrimaryCandidate");
-  declareProperty ("Fast", m_fast = false);
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-/**
-  * @brief Standard Gaudi initialize method.
-  */
-StatusCode TrkTrackVertexAssociationTool::initialize()
-{
-  return Base::initialize();
-}
-
-/**
-  * @brief book ntuple variables
-  */
-StatusCode TrkTrackVertexAssociationTool::book(){
-
-  CHECK( addVariable("weight", m_weight) );
-
-  return Base::book();
-}
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::VxCandidate *TrkTrackVertexAssociationTool::get (const Trk::Track& p)
-{
-
-  *m_weight = 0;
-
-  const VxContainer* vxContainer = 0;
-  StatusCode sc = evtStore()->retrieve(vxContainer, m_targetSGKey);
-  if (sc.isFailure() || !vxContainer) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not retrieve primary vertex container: " << m_targetSGKey;
-    return 0;
-  }
-
-  int nVx = vxContainer->size();
-  if(nVx < 1){
-    return 0;
-  }
-
-  for(int v=0; v<nVx-1; v++){
-    const Trk::VxCandidate* vx = vxContainer->at(v);
-    const std::vector<Trk::VxTrackAtVertex*>* tracks = vx->vxTrackAtVertex();
-    int nTracks = 0;
-    if(tracks) nTracks = tracks->size();
-    for(int t=0; t<nTracks; t++) {
-      Trk::VxTrackAtVertex* track = tracks->at(t);
-      if(track){
-	Trk::ITrackLink* link = track->trackOrParticleLink();
-	if (link) {
-	  Trk::LinkToTrackParticleBase* linkToTrackParticle = dynamic_cast<Trk::LinkToTrackParticleBase*>(link);
-	  if(linkToTrackParticle){
-	    const Trk::TrackParticleBase *particleBase = **linkToTrackParticle;
-	    if(particleBase){
-	      const Trk::Track *originalTtrack = particleBase->originalTrack();
-	      if(originalTtrack == &p){
-		*m_weight = track->weight();
-		return vx;
-	      }
-	    }
-	  }
-	}
-      }
-    }
-  }
-
-  return vxContainer->at(nVx-1);
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.h
deleted file mode 100644
index 25a71f4479a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackVertexAssociationTool.h
+++ /dev/null
@@ -1,73 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: TrkTrackVertexAssociationTool.h 502118 2012-05-23 19:10:19Z ssnyder $
-/**
- * @file InDetD3PDMaker/src/TrkTrackVertexAssociationTool.h
- * @author Remi Zaidan <zaidan@cern.ch>
- * @date Mar, 2011
- * @brief Associate from a Trk::Track to its reconstructed vertex.
- */
-#ifndef INDETD3PDMaker_TRKTRACKVERTEXASSOCIATIONTOOL_H
-#define INDETD3PDMaker_TRKTRACKVERTEXASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "StoreGate/StoreGateSvc.h"
-
-namespace Trk {
-  class VxCandidate;
-  class Track;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrkTrack to its reconstructed vertex.
- */
-class TrkTrackVertexAssociationTool
-  : public SingleAssociationTool<Trk::Track,Trk::VxCandidate>
-{
-public:
-  typedef SingleAssociationTool<Trk::Track,Trk::VxCandidate> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  TrkTrackVertexAssociationTool (const std::string& type,
-				 const std::string& name,
-				 const IInterface* parent);
-
-  /// Standard Gaudi initialize method.
-  virtual StatusCode initialize();
-  virtual StatusCode book();
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::VxCandidate* get (const Trk::Track& p);
-
-private:
-
-  /** SG key for target collection. */
-  std::string m_targetSGKey;
-
-  /** needed for common python interface with TrackParticleVertexAssociationTool */
-  bool m_fast;
-
-  /** weight of the track at the associated vertex */
-  float *m_weight;
-
-}; // class TrkTrackVertexAssociationTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMaker_TRKTRACKVERTEXASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx
deleted file mode 100644
index 2c3a5484fcd..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TruthTrackFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "AtlasHepMC/GenParticle.h"
-#include "AtlasHepMC/GenVertex.h"
-
-namespace D3PD {
-
-TruthTrackFillerTool::TruthTrackFillerTool (const std::string& type,
-					    const std::string& name,
-					    const IInterface* parent)
-  : Base (type, name, parent),
-    m_particleDataTable(0)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode TruthTrackFillerTool::initialize(){
-
-  CHECK( Base::initialize() );
-
-  // Get Particle Data Table
-  IPartPropSvc* partPropSvc;
-  StatusCode sc = service("PartPropSvc", partPropSvc, true);
-  if(sc.isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not initialize Particle Properties Service";
-    return StatusCode::FAILURE;
-  }
-  m_particleDataTable = partPropSvc->PDT();
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TruthTrackFillerTool::book()
-{
-  // truth id
-  CHECK( addVariable ("charge", m_charge) );
-  CHECK( addVariable ("child_n", m_child_n) );
-  CHECK( addVariable ("child_barcode", m_child_barcode) );
-  CHECK( addVariable ("child_pdg", m_child_pdg) );
-  // origin vertex
-  CHECK( addVariable ("begVtx_x", m_begVtx_x) );
-  CHECK( addVariable ("begVtx_y", m_begVtx_y) );
-  CHECK( addVariable ("begVtx_z", m_begVtx_z) );
-  CHECK( addVariable ("begVtx_barcode", m_begVtx_barcode) );
-  // end vertex
-  CHECK( addVariable ("endVtx_x", m_endVtx_x) );
-  CHECK( addVariable ("endVtx_y", m_endVtx_y) );
-  CHECK( addVariable ("endVtx_z", m_endVtx_z) );
-  CHECK( addVariable ("endVtx_barcode", m_endVtx_barcode) );
-
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TruthTrackFillerTool::fill (const HepMC::GenParticle& particle)
-{
-
-  this->clearData();
-
-  // origin
-  HepMC::GenVertex *pv = particle.production_vertex();
-  if(!pv){
-    //REPORT_MESSAGE (MSG::DEBUG) << "Pointer to production vertex is NULL";
-  }else{
-    *m_begVtx_x = pv->position().x();
-    *m_begVtx_y = pv->position().y();
-    *m_begVtx_z = pv->position().z();
-    *m_begVtx_barcode = pv->barcode();
-  }
-
-  int pdg = particle.pdg_id();
-  const HepPDT::ParticleData* pdata = m_particleDataTable->particle(HepPDT::ParticleID(abs(pdg)));
-  if(pdata) {
-    int sign = pdg/abs(pdg);
-    *m_charge = sign*pdata->charge();
-  } else {
-    //REPORT_MESSAGE (MSG::DEBUG) << "Pointer to particle data is NULL";
-  }
-
-  // end
-  HepMC::GenVertex *epv = particle.end_vertex();
-  if(!epv){
-    //REPORT_MESSAGE (MSG::DEBUG) << "Pointer to end vertex is NULL";
-  }else{
-    *m_endVtx_x = epv->position().x();
-    *m_endVtx_y = epv->position().y();
-    *m_endVtx_z = epv->position().z();
-    *m_endVtx_barcode = epv->barcode();
-    *m_child_n = epv->particles_out_size();
-    HepMC::GenVertex::particles_out_const_iterator itr = epv->particles_out_const_begin();
-    HepMC::GenVertex::particles_out_const_iterator end = epv->particles_out_const_end();
-    for(; itr!=end; itr++){
-      m_child_barcode->push_back((*itr)->barcode());
-      m_child_pdg->push_back((*itr)->pdg_id());
-    }
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-void TruthTrackFillerTool::clearData(){
-
-  *m_charge = 1;
-  *m_child_n = 0;
-  m_child_barcode->clear();
-  m_child_pdg->clear();
-  *m_begVtx_x = 0;
-  *m_begVtx_y = 0;
-  *m_begVtx_z = 0;
-  *m_endVtx_x = 0;
-  *m_endVtx_y = 0;
-  *m_endVtx_z = 0;
-}
-
-} // namespace MinBiasD3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h
deleted file mode 100644
index 47031a8c33e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRUTHTRACKFILLERTOOL_H
-#define INDETD3PDMAKER_TRUTHTRACKFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "GaudiKernel/IPartPropSvc.h"
-#include "HepPDT/ParticleDataTable.hh"
-
-#include "AtlasHepMC/GenParticle_fwd.h"
-
-namespace D3PD {
-
-class TruthTrackFillerTool
-  : public D3PD::BlockFillerTool<HepMC::GenParticle>
-{
-public:
-  typedef D3PD::BlockFillerTool<HepMC::GenParticle> Base;
-
-  TruthTrackFillerTool (const std::string& type,
-			const std::string& name,
-			const IInterface* parent);
-
-  StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const HepMC::GenParticle& p);
-
-private:
-
-  void clearData();
-
-  /* Helper used to get the charge of a particle from it's pdgId **/
-  const HepPDT::ParticleDataTable*  m_particleDataTable;
-
-  /* NTuple variables: **/
-  // truth id
-  float *m_charge;
-  int *m_child_n;
-  std::vector<int> *m_child_barcode;
-  std::vector<int> *m_child_pdg;
-  // origin vertex
-  float *m_begVtx_x;
-  float *m_begVtx_y;
-  float *m_begVtx_z;
-  float *m_begVtx_barcode;
-  // end vertex
-  float *m_endVtx_x;
-  float *m_endVtx_y;
-  float *m_endVtx_z;
-  float *m_endVtx_barcode;
-
-}; // class TruthTrackFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRUTHTRACKFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.cxx
deleted file mode 100644
index 2b68d1d0201..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.cxx
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TruthTrackGetterTool.h"
-
-#include "GaudiKernel/IPartPropSvc.h"
-
-namespace D3PD {
-
-TruthTrackGetterTool::TruthTrackGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent),
-      m_particleDataTable(0)
-{
-  declareProperty("KeepOnlyPrimaryParticles", m_keepOnlyPrimaryParticles = false);
-  declareProperty("KeepOnlyChargedParticles", m_keepOnlyChargedParticles = true);
-  declareProperty("KeepV0", m_keepV0 = true);
-  declareProperty("TrueTrackPtCut", m_trueTrackPtCut = 1000.);
-  declareProperty("TrueTrackEtaCut", m_trueTrackEtaCut = 3.);
-  declareProperty("MaxRAll", m_maxRAll = 360);
-  declareProperty("MaxZAll", m_maxZAll = 2000);
-  declareProperty("MaxRPrimary", m_maxRPrimary = 25);
-  declareProperty("MaxZPrimary", m_maxZPrimary = 200);
-}
-
-StatusCode TruthTrackGetterTool::initialize()
-{
-  CHECK( Base::initialize() );
-
-  // Get Particle Data Table
-  IPartPropSvc* partPropSvc;
-  StatusCode sc = service("PartPropSvc", partPropSvc, true);
-  if(sc.isFailure()) {
-    REPORT_MESSAGE (MSG::ERROR) << "Could not initialize Particle Properties Service";
-    return StatusCode::FAILURE;
-  }
-  m_particleDataTable = partPropSvc->PDT();
-
-  return StatusCode::SUCCESS;
-}
-
-const std::type_info& TruthTrackGetterTool::typeinfo() const
-{
-  return typeid(McEventCollection);
-}
-
-
-const std::type_info& TruthTrackGetterTool::elementTypeinfo() const
-{
-  return typeid(HepMC::GenParticle);
-}
-
-
-size_t TruthTrackGetterTool::sizeHint(bool allowMissing)
-{
-  // fix me...
-  const McEventCollection* mcTracks = get(allowMissing);
-
-  if (!mcTracks) {
-    return 0;
-  }
-
-  const HepMC::GenEvent* genEvent = *(mcTracks->begin());
-
-  return genEvent->particles_size();
-}
-
-
-StatusCode TruthTrackGetterTool::reset(bool allowMissing)
-{
-
-  const McEventCollection* mcEvent = get(allowMissing);
-
-  if (!mcEvent) {
-    m_evtItr = m_evtEnd;
-    m_partItr = m_partEnd;
-    return StatusCode::FAILURE;
-  }
-
-  m_evtItr = mcEvent->begin();
-  m_evtEnd = mcEvent->end();
-
-  if(m_evtItr == m_evtEnd){
-    m_partItr = m_partEnd;
-    return StatusCode::SUCCESS;
-  }
-
-  m_partItr = (*m_evtItr)->particles_begin();
-  m_partEnd = (*m_evtItr)->particles_end();
-
-  return StatusCode::SUCCESS;
-}
-
-const void* TruthTrackGetterTool::nextUntyped()
-{
-
-  const HepMC::GenParticle* particle = 0;
-
-  do{
-
-    if(m_evtItr == m_evtEnd){
-      return 0;
-    }
-
-    if (m_partItr == m_partEnd)
-      particle = 0;
-    else {
-      particle = *m_partItr;
-      m_partItr++;
-    }
-
-    if(m_partItr == m_partEnd){
-      m_evtItr++;
-      if(m_evtItr != m_evtEnd){
-	m_partItr = (*m_evtItr)->particles_begin();
-	m_partEnd = (*m_evtItr)->particles_end();
-      }
-    }
-
-  } while(!particle || !selectParticle(particle));
-
-  return particle;
-
-}
-
-bool TruthTrackGetterTool::selectParticle(const  HepMC::GenParticle* particle)
-{
-
-  // stables only
-  if(1!=particle->status()%1000){
-    return false;
-  }
-
-  // must have a valid production vertex
-  if(particle->production_vertex() == NULL){
-    return false;
-  }
-
-  // require track origin inside ID: relaxed
-  if ( fabs(particle->production_vertex()->position().perp()) > m_maxRAll ||
-       fabs(particle->production_vertex()->position().z())    > m_maxZAll ){
-    return false;
-  }
-
-  // require track origin inside beam pipe (primary): optional
-  if ( m_keepOnlyPrimaryParticles &&
-       ( fabs(particle->production_vertex()->position().perp()) > m_maxRPrimary ||
-	 fabs(particle->production_vertex()->position().z())    > m_maxZPrimary ) ){
-    return false;
-  }
-
-  int pdg = particle->pdg_id();
-
-  // ignore nuclei from hadronic interactions
-  if (abs(pdg) > 1000000000 ){
-    return false;
-  }
-
-  const HepPDT::ParticleData* pd = m_particleDataTable->particle(abs(pdg));
-
-  if (!pd) {
-    //REPORT_MESSAGE (MSG::DEBUG) << "Could not get particle data for pdg = " << pdg;
-    return false;
-  }
-  float charge = pd->charge();
-
-  // require charge: optional
-  if(fabs(charge)<0.5 && m_keepOnlyChargedParticles){
-    // keep V0: optional
-    if(m_keepV0){
-      HepMC::GenVertex *epv = particle->end_vertex();
-      if( !epv || epv->particles_out_size() != 2 ) {
-	return false;
-      }
-    }else{
-      return false;
-    }
-  }
-
-  ////// particle properties
-  double pt = particle->momentum().perp();
-  double eta = particle->momentum().pseudoRapidity();
-
-  // pt cut
-  if(fabs(pt)<m_trueTrackPtCut){
-    return false;
-  }
-    
-  // eta cut
-  if(fabs(eta)>m_trueTrackEtaCut){
-    return false;
-  }
-
-  return true;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h
deleted file mode 100644
index 85792a23d7b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRUTHTRACKGETTERTOOL_H
-#define INDETD3PDMAKER_TRUTHTRACKGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-#include "GeneratorObjects/McEventCollection.h"
-#include "HepPDT/ParticleDataTable.hh"
-#include "AtlasHepMC/GenEvent.h"
-#include "AtlasHepMC/GenParticle.h"
-
-namespace D3PD {
-
-class TruthTrackGetterTool
-  : public D3PD::SGCollectionGetterTool<McEventCollection>
-{
-public:
-  typedef D3PD::SGCollectionGetterTool<McEventCollection> Base;
-
-  TruthTrackGetterTool (const std::string& type,
-			const std::string& name,
-			const IInterface* parent);
-
-  StatusCode initialize();
-  size_t sizeHint(bool=false);
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-
-  const std::type_info& typeinfo() const;
-  const std::type_info& elementTypeinfo() const;
-
-private:
-
-  bool selectParticle(const  HepMC::GenParticle* particle);
-
-  /* Event iterators **/
-  McEventCollection::const_iterator m_evtItr;
-  McEventCollection::const_iterator m_evtEnd;
-
-  /* Particle iterators **/
-  HepMC::GenEvent::particle_const_iterator m_partItr;
-  HepMC::GenEvent::particle_const_iterator m_partEnd;
- 
-  /* Helper used to get the charge of a particle from it's pdgId **/
-  const HepPDT::ParticleDataTable*  m_particleDataTable;
-
-  /* selection settings **/
-  bool m_keepOnlyChargedParticles;
-  bool m_keepOnlyPrimaryParticles;
-  bool m_keepV0;
-  float m_trueTrackPtCut;
-  float m_trueTrackEtaCut;
-  float m_maxRAll;
-  float m_maxZAll;
-  float m_maxRPrimary;
-  float m_maxZPrimary;
-
-}; // class TruthTrackGetterTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRUTHTRACKGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.cxx
deleted file mode 100644
index 341f146db25..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.cxx
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TruthVertexFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-
-TruthVertexFillerTool::TruthVertexFillerTool (const std::string& type,
-				    const std::string& name,
-				    const IInterface* parent)
-  : TruthVertexFillerBase (type, name, parent)
-{
-  book().ignore();  // Avoid coverity warnings.
-}
-
-StatusCode TruthVertexFillerTool::initialize(){
-
-  CHECK( TruthVertexFillerBase::initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TruthVertexFillerTool::book()
-{
-  // position
-  CHECK( addVariable ("x", m_x) );
-  CHECK( addVariable ("y", m_y) );
-  CHECK( addVariable ("z", m_z) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TruthVertexFillerTool::fill (const TruthVertexFillerObjectType& vertex)
-{
-
-  this->clearData();
-
-  // position
-  *m_x = vertex.position().x();
-  *m_y = vertex.position().y();
-  *m_z = vertex.position().z();
-
-  REPORT_MESSAGE (MSG::VERBOSE) << "Filling simulated vertex branches: "
-				<< "x = " << *m_x << " "
-				<< "y = " << *m_y << " "
-				<< "z = " << *m_z;
-
-  return StatusCode::SUCCESS;
-}
-
-void TruthVertexFillerTool::clearData(){
-
-  *m_x = 0;
-  *m_y = 0;
-  *m_z = 0;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h
deleted file mode 100644
index 8e63da443a3..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRUTHVERTEXFILLERTOOL_H
-#define INDETD3PDMAKER_TRUTHVERTEXFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "AtlasHepMC/GenVertex.h"
-
-namespace D3PD {
-
-typedef HepMC::GenVertex TruthVertexFillerObjectType;
-typedef D3PD::BlockFillerTool<TruthVertexFillerObjectType> TruthVertexFillerBase;
-
-class TruthVertexFillerTool
-  : public TruthVertexFillerBase
-{
-public:
-  TruthVertexFillerTool (const std::string& type,
-			 const std::string& name,
-			 const IInterface* parent);
-
-  StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const TruthVertexFillerObjectType& p);
-
-private:
-
-  void clearData();
-
-  /* NTuple variables **/
-  // position
-  float *m_x;
-  float *m_y;
-  float *m_z;
-
-}; // class TruthVertexFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRUTHVERTEXFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.cxx
deleted file mode 100644
index 25d2a0ad98e..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.cxx
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#include "TruthVertexGetterTool.h"
-
-namespace D3PD {
-
-TruthVertexGetterTool::TruthVertexGetterTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : TruthVertexGetterBase
-         (type, name, parent)
-{
-  declareProperty("KeepOnlyPrimaryVertices", m_keepOnlyPrimaryVertices = true);
-  declareProperty("KeepPileUpVertices", m_keepPileUpVertices = true);
-}
-
-StatusCode TruthVertexGetterTool::initialize()
-{
-  CHECK( TruthVertexGetterBase::initialize() );
-
-  return StatusCode::SUCCESS;
-}
-
-const std::type_info& TruthVertexGetterTool::typeinfo() const
-{
-  return typeid(TruthVertexGetterCollectionType);
-}
-
-
-const std::type_info& TruthVertexGetterTool::elementTypeinfo() const
-{
-  return typeid(TruthVertexGetterElementType);
-}
-
-
-size_t TruthVertexGetterTool::sizeHint(bool allowMissing)
-{
-  const McEventCollection* mcEvent = get(allowMissing);
-
-  if (!mcEvent) {
-    return 0;
-  }
-
-  int size_hint = 0;
-  McEventCollection::const_iterator evt_itr = mcEvent->begin();
-  McEventCollection::const_iterator evt_end = mcEvent->end();
-  for(; evt_itr!=evt_end; evt_itr++){
-
-    const HepMC::GenEvent* genEvent = (*evt_itr);
-    if(!genEvent) break;
-
-    HepMC::GenEvent::vertex_const_iterator vx_itr = genEvent->vertices_begin();
-    HepMC::GenEvent::vertex_const_iterator vx_end = genEvent->vertices_end();
-    for(; vx_itr!=vx_end;vx_itr++){
-      size_hint++;
-    }
-  }
-
-  return size_hint;
-}
-
-
-StatusCode TruthVertexGetterTool::reset(bool allowMissing)
-{
-
-  const McEventCollection* mcEvent = get(allowMissing);
-
-  if (!mcEvent) {
-    m_evtItr = m_evtEnd;
-    m_vxItr = m_vxEnd;
-    return StatusCode::FAILURE;
-  }
-
-  m_evtItr = mcEvent->begin();
-  m_evtEnd = mcEvent->end();
-
-  if(m_evtItr == m_evtEnd){
-    m_vxItr = m_vxEnd;
-    return StatusCode::SUCCESS;
-  }
-
-  m_vxItr = (*m_evtItr)->vertices_begin();
-  m_vxEnd = (*m_evtItr)->vertices_end();
-
-  if(m_vxItr==m_vxEnd){
-    REPORT_MESSAGE (MSG::VERBOSE) << "====> First generated event seems to be empty...";
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-const void* TruthVertexGetterTool::nextUntyped()
-{
-  if(m_evtItr == m_evtEnd) return 0;
-
-  // if the event is a separator then we quit (signal and intime pile up will be BEFORE any separator)
-  if ((*m_evtItr)->event_number() < 0) return 0;
-
-  const HepMC::GenVertex* vertex = 0;
-
-  if (m_keepOnlyPrimaryVertices && !m_keepPileUpVertices)
-  {
-    vertex = *m_vxItr;
-    m_evtItr = m_evtEnd;
-  }
-  else if (m_keepOnlyPrimaryVertices && m_keepPileUpVertices)
-  {
-    while (m_evtItr != m_evtEnd && (*m_evtItr)->vertices_size() <= 0)
-    {
-      m_evtItr++;
-      // we need to check and exit if next event is a separator ...
-      if ((*m_evtItr)->event_number() < 0) return 0;
-    }
-
-    if(m_evtItr != m_evtEnd){
-      m_vxItr = (*m_evtItr)->vertices_begin();
-      vertex = (*m_vxItr);
-    }
-
-    m_evtItr++;
-  }
-  else if (!m_keepOnlyPrimaryVertices && !m_keepPileUpVertices)
-  {
-    if (m_vxItr != m_vxEnd) {
-      vertex = *m_vxItr;
-      m_vxItr++;
-    } // if m_vxItr == m_vxEnd then vertex stays 0 and it will stop by itself
-  }
-  else if (!m_keepOnlyPrimaryVertices && m_keepPileUpVertices)
-  {
-    while (m_evtItr != m_evtEnd && (*m_evtItr)->vertices_size() <= 0)
-    {
-      m_evtItr++;
-      // we need to check and exit if next event is a separator ...
-      if ((*m_evtItr)->event_number() < 0) return 0;
-    }
-
-    if(m_evtItr != m_evtEnd) {
-      if (m_vxItr != m_vxEnd)
-      {
-        vertex = (*m_vxItr);
-        m_vxItr++;
-      }
-    }
-
-    if (m_vxItr == m_vxEnd)
-    {
-      m_evtItr++;
-      if (m_evtItr != m_evtEnd)
-      {
-        m_vxItr = (*m_evtItr)->vertices_begin();
-        m_vxEnd = (*m_evtItr)->vertices_end();
-      }
-    }
-  }
-  return vertex;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h
deleted file mode 100644
index 83c3f3287c4..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-
-#ifndef INDETD3PDMAKER_TRUTHVERTEXGETTERTOOL_H
-#define INDETD3PDMAKER_TRUTHVERTEXGETTERTOOL_H
-
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-#include "AtlasHepMC/GenEvent.h"
-#include "AtlasHepMC/GenVertex.h"
-#include "GeneratorObjects/McEventCollection.h"
-
-namespace D3PD {
-
-typedef McEventCollection TruthVertexGetterCollectionType;
-typedef HepMC::GenVertex TruthVertexGetterElementType;
-typedef D3PD::SGCollectionGetterTool<TruthVertexGetterCollectionType> TruthVertexGetterBase;
-
-class TruthVertexGetterTool
-  : public TruthVertexGetterBase
-{
-public:
-  TruthVertexGetterTool (const std::string& type,
-			 const std::string& name,
-			 const IInterface* parent);
-
-  StatusCode initialize();
-  size_t sizeHint(bool=false);
-  StatusCode reset(bool=false);
-  const void* nextUntyped();
-
-  const std::type_info& typeinfo() const;
-  const std::type_info& elementTypeinfo() const;
-
-private:
-
-  /* Event iterators **/
-  McEventCollection::const_iterator m_evtItr;
-  McEventCollection::const_iterator m_evtEnd;
-
-  /* Vertex iterators **/
-  HepMC::GenEvent::vertex_const_iterator m_vxItr;
-  HepMC::GenEvent::vertex_const_iterator m_vxEnd;
-
-  /* Settings **/
-  bool m_keepOnlyPrimaryVertices;
-  bool m_keepPileUpVertices;
-
-}; // class TruthVertexGetterTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_TRUTHVERTEXGETTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.cxx
deleted file mode 100644
index ad9a364f71c..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.cxx
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// **********************************************************************
-// V0CandidateFillerTool.cxx
-// AUTHORS: Till Eifert, Roberto Di Nardo
-// **********************************************************************
-
-#include "V0CandidateFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include "TrkV0Vertex/V0Hypothesis.h"
-#include "TrkV0Vertex/V0Candidate.h"
-#include "TrkParticleBase/TrackParticleBase.h"
-#include "TrkParameters/TrackParameters.h"
-#include "Particle/TrackParticle.h"
-
-
-using CLHEP::Hep3Vector;
-
-
-namespace D3PD {
-
-V0CandidateFillerTool::V0CandidateFillerTool (const std::string& type,
-					const std::string& name,
-					const IInterface* parent)
-  : BlockFillerTool<Trk::V0Candidate> (type, name, parent),
-    m_iBeamCondSvc(0)
-{
-  declareProperty("BeamCondSvcName", m_beamCondSvcName = "BeamCondSvc");
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode V0CandidateFillerTool::initialize()
-{
-  // m_v0Tools = ToolHandle<Trk::V0Tools>("Trk::V0Tools");
-  // Pick up the BeamConditionService
-  StatusCode sc = service(m_beamCondSvcName, m_iBeamCondSvc);
-  if (sc.isFailure() || m_iBeamCondSvc == 0) {
-    REPORT_MESSAGE (MSG::WARNING) << "Could not find BeamCondSvc: " <<  m_beamCondSvcName;
-    REPORT_MESSAGE (MSG::WARNING) << "Will use nominal beamspot at (0,0,0)";
-  }
-  return sc;
-}
-
-StatusCode V0CandidateFillerTool::book()
-{
- 
-  CHECK( addVariable  ("ksMass", m_ksMass) );
-  CHECK( addVariable  ("lambda1Mass", m_lambda1Mass) );
-  CHECK( addVariable  ("lambda2Mass", m_lambda2Mass) );
-  CHECK( addVariable  ("vertexProb", m_vertexProb) );
-  CHECK( addVariable  ("vertexChi2", m_vertexChi2) );
-  CHECK( addVariable  ("ksPt", m_ksPt) );
-  CHECK( addVariable  ("ksPx", m_ksPx) );
-  CHECK( addVariable  ("ksPy", m_ksPy) );
-  CHECK( addVariable  ("ksEta", m_ksEta) );
-  CHECK( addVariable  ("ksPhi", m_ksPhi) );
-  CHECK( addVariable  ("ksMomentum", m_ksMomentum) );
-
-  CHECK( addVariable ("flightX", m_flightX) );
-  CHECK( addVariable ("flightY", m_flightY) );
-  CHECK( addVariable ("cosThetaPointing" , m_cosThetaPointing) );
-  CHECK( addVariable ("totalFlightDistance" , m_totalFlightDistance) );
-  CHECK( addVariable ("properDecayTime" ,  m_properDecayTime) );
-  CHECK( addVariable ("properFlightDist" ,  m_properFlightDist) );
-
-  CHECK( addVariable ("flightX_BS", m_flightX_BS) );
-  CHECK( addVariable ("flightY_BS", m_flightY_BS) );
-  CHECK( addVariable ("cosThetaPointing_BS" , m_cosThetaPointing_BS) );
-  CHECK( addVariable ("totalFlightDistance_BS" , m_totalFlightDistance_BS) );
-  CHECK( addVariable ("properDecayTime_BS" ,  m_properDecayTime_BS) );
-  CHECK( addVariable ("properFlightDist_BS" ,  m_properFlightDist_BS) );
-
-  CHECK( addVariable ("radius" , m_radius) );
-
-  CHECK( addVariable  ("thetaPiPlus" , m_thetaPiPlus) );         
-  CHECK( addVariable  ("thetaPiMinus", m_thetaPiMinus) );          
-  CHECK( addVariable  ("trk_L" , m_trk_L) );     
-  CHECK( addVariable  ("trk_T",  m_trk_T) );  
-
-  CHECK( addVariable  ("thetaStarPiPlus",  m_thetaStarPiPlus) );
-  CHECK( addVariable  ("thetaStarPiMinus", m_thetaStarPiMinus) );
-
-  CHECK( addVariable  ("trkPt_SV" , m_trkPt_SV) );
-  CHECK( addVariable  ("trkEta_SV" , m_trkEta_SV) );
-  CHECK( addVariable  ("trkPhi_SV" , m_trkPhi_SV) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode V0CandidateFillerTool::fill (const Trk::V0Candidate& /*theV0Candidate*/ )
-{
-
-  this->clearData();
-
-  //const double piMass        = 139.57018;   // MeV
-  const double ksMassPDG     = 497.648;     // MeV
-  //const double protonMassPDG = 938.272013;  // MeV
-  const double c_speed       = 299792458.0; // meters per sec
-
-  //const Trk::V0Hypothesis* myV0Hypothesis =  0; //m_v0Tools->v0Unconstr( &theV0Candidate );
- 
-  CLHEP::Hep3Vector ksMomentumVector ;//= m_v0Tools->V04Momentum( (const Trk::ExtendedVxCandidate*)myV0Hypothesis, ksMassPDG ).vect();
-
-  //K and lambda masses
-  *m_ksMass = 0;//m_v0Tools->invariantMass( (const Trk::ExtendedVxCandidate*)myV0Hypothesis, piMass, piMass );
-  *m_lambda1Mass= 0;//m_v0Tools->invariantMass( (const Trk::ExtendedVxCandidate*)myV0Hypothesis, protonMassPDG, piMass ) ;
-  *m_lambda2Mass= 0;//m_v0Tools->invariantMass( (const Trk::ExtendedVxCandidate*)myV0Hypothesis, piMass, protonMassPDG ) ;
-  *m_vertexProb=  0;//m_v0Tools->vertexProbability( (const Trk::ExtendedVxCandidate*)myV0Hypothesis ) ;
-  *m_vertexChi2=  0;//m_v0Tools->chisq( (const Trk::ExtendedVxCandidate*)myV0Hypothesis ) ;
-
-  //K prop
-  *m_ksPt       =  ksMomentumVector.perp() ;
-  *m_ksMomentum =  ksMomentumVector.mag()  ;
-  *m_ksPx       =  ksMomentumVector.x() ;
-  *m_ksPy       =  ksMomentumVector.y() ;
-  *m_ksEta      =  0;//m_v0Tools->V04Momentum((const Trk::ExtendedVxCandidate*)myV0Hypothesis,ksMassPDG).pseudoRapidity() ;
-  *m_ksPhi      =  0;//m_v0Tools->V04Momentum((const Trk::ExtendedVxCandidate*)myV0Hypothesis,ksMassPDG).phi() ;
-
-  const VxContainer* vertices = 0;
-  StatusCode scv = evtStore()->retrieve(vertices,"VxPrimaryCandidate");
-  if (scv.isFailure()) {
-    ATH_MSG_DEBUG( "No VxPrimaryCandidate Collection found in StoreGate"  );
-    return StatusCode::SUCCESS;
-  } else {
-    ATH_MSG_DEBUG( "Collection with name VxPrimaryCandidate found in StoreGate"  );
-  }
- 
-  const Trk::RecVertex *primaryVertex=&((*(vertices->begin()))->recVertex());
- 
-  //double transverseFlightDistance;
-  CLHEP::Hep3Vector flightVector;
-  if(primaryVertex!=NULL) {
-    //m_v0Tools->lxy((const Trk::ExtendedVxCandidate*)myV0Hypothesis,*primaryVertex);
-    flightVector = CLHEP::Hep3Vector(); //m_v0Tools->vtx((const Trk::ExtendedVxCandidate*)myV0Hypothesis)-primaryVertex->position();
-  }
-  else {
-    //m_v0Tools->rxy((const Trk::ExtendedVxCandidate*)myV0Hypothesis);
-    flightVector = CLHEP::Hep3Vector(); //m_v0Tools->vtx((const Trk::ExtendedVxCandidate*)myV0Hypothesis);
-  }
-  float tp = ( ( ksMomentumVector.x()*flightVector.x()+
-		 ksMomentumVector.y()*flightVector.y() )/
-	       sqrt( ksMomentumVector.x()*ksMomentumVector.x()+
-		     ksMomentumVector.y()*ksMomentumVector.y() )/
-	       sqrt( flightVector.x()*flightVector.x()+
-		     flightVector.y()*flightVector.y() ) );
-
-  *m_cosThetaPointing = tp;
-  *m_flightX= flightVector.x() ;
-  *m_flightY= flightVector.y() ;
- 
-  if (tp > 0.) {         // put sign on flight distance
-    *m_totalFlightDistance = flightVector.mag() ;
-  }else{
-    *m_totalFlightDistance =( -1.*flightVector.mag() );
-  }
-
-  *m_properDecayTime      = ( (1.0e12 / (1000 * c_speed)) * ksMassPDG / ksMomentumVector.mag() * (*m_totalFlightDistance));
-  *m_properFlightDist     = ( ksMassPDG /  ksMomentumVector.mag() * (*m_totalFlightDistance) ); // mm
-
-
-  //Flight Dist, decay Time costhetapoint wrt BS
-
-  /// Pick up the beamspot
-  Amg::Vector3D beamSpot(0,0,0);
-  //Trk::RecVertex* bsVertex;
-  if (m_iBeamCondSvc) {
-    //bsVertex=new Trk::RecVertex(m_iBeamCondSvc->beamVtx());
-    beamSpot = m_iBeamCondSvc->beamVtx().position();
-  }else{
-    ATH_MSG_WARNING( " Cannot get beamSpot center from iBeamCondSvc. Using (0,0,0)... " );
-    //bsVertex=new Trk::RecVertex(Amg::Vector3D(0,0,0));
-  }
-  
-  
-
-  // *primaryVertex=&((m_iBeamCondSvc->beamVtx()));
- 
-  
-  
-  if(primaryVertex!=NULL) {
-    //m_v0Tools->lxy((const Trk::ExtendedVxCandidate*)myV0Hypothesis,*bsVertex);
-    flightVector = CLHEP::Hep3Vector();//m_v0Tools->vtx((const Trk::ExtendedVxCandidate*)myV0Hypothesis)-beamSpot;
-  }
-  else {
-    //m_v0Tools->rxy((const Trk::ExtendedVxCandidate*)myV0Hypothesis);
-    flightVector = CLHEP::Hep3Vector();//m_v0Tools->vtx((const Trk::ExtendedVxCandidate*)myV0Hypothesis);
-  }
-  tp = ( ( ksMomentumVector.x()*flightVector.x()+
-	   ksMomentumVector.y()*flightVector.y() )/
-         sqrt( ksMomentumVector.x()*ksMomentumVector.x()+
-               ksMomentumVector.y()*ksMomentumVector.y() )/
-         sqrt( flightVector.x()*flightVector.x()+
-               flightVector.y()*flightVector.y() ) );
-
-  *m_cosThetaPointing_BS= tp;
-  *m_flightX_BS= flightVector.x() ;
-  *m_flightY_BS= flightVector.y() ;
- 
-  if (tp > 0.) {         // put sign on flight distance
-    *m_totalFlightDistance_BS = flightVector.mag() ;
-  }else{
-    *m_totalFlightDistance_BS =( -1.*flightVector.mag() );
-  }
-
-  *m_properDecayTime_BS      = ( (1.0e12 / 1000 / c_speed) * ksMassPDG / ksMomentumVector.mag() * (*m_totalFlightDistance_BS) );
-  *m_properFlightDist_BS     = ( ksMassPDG /  ksMomentumVector.mag() * (*m_totalFlightDistance_BS) ); // mm
-
-
-
-
-  // V0 position
-  *m_radius = 0;//m_v0Tools->rxy((const Trk::ExtendedVxCandidate*)myV0Hypothesis);
-
-
-  // V0 kinematics - pi ipot
-
-  CLHEP::HepLorentzVector v1 ;//= m_v0Tools->positiveTrack4Momentum((const Trk::ExtendedVxCandidate*)myV0Hypothesis,piMass);
-  CLHEP::HepLorentzVector v2 ;//= m_v0Tools->negativeTrack4Momentum((const Trk::ExtendedVxCandidate*)myV0Hypothesis,piMass);
-  CLHEP::HepLorentzVector v0 = v1 + v2;
-
-  *m_thetaPiPlus  = ( v0.angle( v1.vect() ));
-  *m_thetaPiMinus = ( v0.angle( v2.vect() ));
-
-  // get longitudinal and transverse components of both track 3D-vectors wrt V0 3D-vector
-  CLHEP::Hep3Vector  trk1vec3   =  v1.vect();
-  CLHEP::Hep3Vector  trk2vec3   =  v2.vect();
-  CLHEP::Hep3Vector  v0UnitVec3 =  (v0.vect()).unit();
-  float trkPos_L = ( trk1vec3.dot( v0UnitVec3 ) );
-  float trkPos_T = ( trk1vec3.perp( v0UnitVec3 ) );
-  float trkNeg_L = ( trk2vec3.dot( v0UnitVec3 ) );
-  float trkNeg_T = ( trk2vec3.perp( v0UnitVec3 ) );
-
-  CLHEP::Hep3Vector  boost =  v0.boostVector(); //v0.boostVector();
-  boost *= -1.0; // change direction of boost (to get into rest-frame)
-  v1.boost( boost );
-  v2.boost( boost );
- 
-  *m_thetaStarPiPlus =  ( v0.angle( v1.vect() ));
-  *m_thetaStarPiMinus = ( v0.angle( v2.vect() ));
-
-  float posTrkPt_SV = ( v1.perp() );
-  float posTrkEta_SV = ( v1.pseudoRapidity() );
-  float posTrkPhi_SV = ( v1.phi() );
- 
-  float negTrkPt_SV = ( v2.perp() );
-  float negTrkEta_SV = ( v2.pseudoRapidity() );
-  float negTrkPhi_SV = ( v2.phi() );
-
-  int pos_idx = 0;
-  int neg_idx = 1;
-
-  m_trk_L->at(pos_idx) = trkPos_L;
-  m_trk_T->at(pos_idx) = trkPos_T;
-
-  m_trk_L->at(neg_idx) = trkNeg_L;
-  m_trk_T->at(neg_idx) = trkNeg_T;
-
-  m_trkPt_SV->at(pos_idx) = posTrkPt_SV;
-  m_trkEta_SV->at(pos_idx) = posTrkEta_SV;
-  m_trkPhi_SV->at(pos_idx) = posTrkPhi_SV;
-
-  m_trkPt_SV->at(neg_idx) = negTrkPt_SV;
-  m_trkEta_SV->at(neg_idx) = negTrkEta_SV;
-  m_trkPhi_SV->at(neg_idx) = negTrkPhi_SV;
-
-  return StatusCode::SUCCESS;
-}
-
-void V0CandidateFillerTool::clearData(){
-
-  *m_ksMass = 0;
-  *m_lambda1Mass = 0;
-  *m_lambda2Mass = 0;
-  *m_vertexProb = 0;
-  *m_vertexChi2 = 0;
-  *m_ksPt = 0;
-  *m_ksPx = 0;
-  *m_ksPy = 0;
-  *m_ksEta = 0;
-  *m_ksPhi = 0;
-  *m_ksMomentum = 0;
-
-  *m_flightX = 0;
-  *m_flightY = 0;
-  *m_cosThetaPointing = 0;
-  *m_totalFlightDistance = 0;
-  *m_properDecayTime = 0;
-  *m_properFlightDist = 0;
-
-  *m_flightX_BS = 0;
-  *m_flightY_BS = 0;
-  *m_cosThetaPointing_BS = 0;
-  *m_totalFlightDistance_BS = 0;
-  *m_properDecayTime_BS = 0;
-  *m_properFlightDist_BS = 0;
-
-  *m_radius = 0;
-
-  *m_thetaPiPlus = 0;
-  *m_thetaPiMinus = 0;
-  
-  *m_thetaStarPiPlus = 0;
-  *m_thetaStarPiMinus = 0;
-  
-  m_trk_L->clear();
-  m_trk_T->clear();
-  m_trkEta_SV->clear();
-  m_trkPhi_SV->clear();
-
-  m_trk_L->push_back(0);
-  m_trk_L->push_back(0);
-  m_trk_T->push_back(0);
-  m_trk_T->push_back(0);
-  m_trkPt_SV->push_back(0);
-  m_trkPt_SV->push_back(0);
-  m_trkEta_SV->push_back(0);
-  m_trkEta_SV->push_back(0);
-  m_trkPhi_SV->push_back(0);
-  m_trkPhi_SV->push_back(0);
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.h
deleted file mode 100644
index a9029a11313..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateFillerTool.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_V0CANDIDATEFILLERTOOL_H
-#define INDETD3PDMAKER_V0CANDIDATEFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "D3PDMakerUtils/SGCollectionGetterTool.h"
-#include "TrkV0Vertex/V0Container.h"
-//#include "TrkVertexAnalysisUtils/V0Tools.h"
-#include "InDetBeamSpotService/IBeamCondSvc.h"
-
-namespace Trk{
-  class V0Candidate;
-}
-
-namespace D3PD {
-
-/* *************************
- * Getter class            *
- * Not needed in principle * 
- ***************************/
-class V0ContainerGetterTool
-  : public SGCollectionGetterTool<V0Container>
-{
-public:
-  V0ContainerGetterTool (const std::string& type,
-			 const std::string& name,
-			 const IInterface* parent)
-    : SGCollectionGetterTool<V0Container> 
-    (type, name, parent){}
-};
-/***************************/
-
-class V0CandidateFillerTool : public BlockFillerTool<Trk::V0Candidate>
-{
- public:
-  typedef BlockFillerTool<Trk::V0Candidate> Base;
-  V0CandidateFillerTool (const std::string& type,
-			 const std::string& name,
-			 const IInterface* parent);
-  
-  StatusCode initialize();
-  virtual StatusCode book();
-  
-  virtual StatusCode fill (const Trk::V0Candidate& p);
-
- private:
-  
-  void clearData();
-
-  //ToolHandle<Trk::V0Tools> m_v0Tools;
-  IBeamCondSvc* m_iBeamCondSvc;
-  std::string   m_beamCondSvcName;
-
-  float *m_ksMass;
-  float *m_lambda1Mass;
-  float *m_lambda2Mass;
-  float *m_vertexProb;
-  float *m_vertexChi2;
-  float *m_ksPt;
-  float *m_ksPx;
-  float *m_ksPy;
-  float *m_ksEta;
-  float *m_ksPhi;
-  float *m_ksMomentum;
-
-  float *m_flightX;
-  float *m_flightY;
-  float *m_cosThetaPointing;
-  float *m_totalFlightDistance;
-  float *m_properDecayTime;
-  float *m_properFlightDist;
-
-  float *m_flightX_BS;
-  float *m_flightY_BS;
-  float *m_cosThetaPointing_BS;
-  float *m_totalFlightDistance_BS;
-  float *m_properDecayTime_BS;
-  float *m_properFlightDist_BS;
-
-  float *m_radius;
-
-  float *m_thetaPiPlus;
-  float *m_thetaPiMinus;
-    
-  std::vector<float> *m_trk_L;
-  std::vector<float> *m_trk_T;
-
-  float *m_thetaStarPiPlus;
-  float *m_thetaStarPiMinus;
-
-  std::vector<float> *m_trkPt_SV;
-  std::vector<float> *m_trkEta_SV;
-  std::vector<float> *m_trkPhi_SV;
-
-}; // class V0CandidateFillerTool
-
-} // namespace D3PD
-
-#endif 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.cxx
deleted file mode 100644
index ffd04b8fcf2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.cxx
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: V0CandidateVxCandidateAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a V0Candidate to a VxCandidate.
- */
-
-#include "V0CandidateVxCandidateAssociationTool.h"
-#include "AthenaKernel/errorcheck.h"
-
-#include <VxVertex/VxCandidate.h>
-#include <TrkV0Vertex/V0Candidate.h>
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-V0CandidateVxCandidateAssociationTool::V0CandidateVxCandidateAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-
-StatusCode V0CandidateVxCandidateAssociationTool::initialize(){
-
-  CHECK ( Base::initialize() );
-
-  //m_v0Tools = ToolHandle<Trk::V0Tools> ("Trk::V0Tools");
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::VxCandidate *V0CandidateVxCandidateAssociationTool::get (const Trk::V0Candidate& /*v0*/)
-{
-
-  return 0;//(const Trk::VxCandidate *)  m_v0Tools->v0Unconstr( &v0 );
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.h
deleted file mode 100644
index 1e04c360a57..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/V0CandidateVxCandidateAssociationTool.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: V0CandidateVxCandidateAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file EventCommonD3PDMaker/src/V0CandidateVxCandidateAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxCandidate to its FitQuality.
- */
-#ifndef INDETD3PDMAKER_V0CANDIDATEVXCANDIDATEASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_V0CANDIDATEVXCANDIDATEASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-#include "GaudiKernel/ToolHandle.h"
-//#include "TrkVertexAnalysisUtils/V0Tools.h"
-
-namespace Trk {
-class V0Candidate;
-class VxCandidate;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a V0Candidate to a VxCandidate.
- */
-class V0CandidateVxCandidateAssociationTool
-  : public SingleAssociationTool<Trk::V0Candidate, Trk::VxCandidate>
-{
-public:
-  typedef SingleAssociationTool<Trk::V0Candidate, Trk::VxCandidate> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  V0CandidateVxCandidateAssociationTool (const std::string& type,
-					 const std::string& name,
-					 const IInterface* parent);
-
-
-  virtual StatusCode initialize();
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::VxCandidate* get (const Trk::V0Candidate& v0);
-
- private:
-
-  //ToolHandle<Trk::V0Tools> m_v0Tools;
-
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_V0CANDIDATEVXCANDIDATEASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.cxx
deleted file mode 100644
index f159b44e28a..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.cxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VertexFitQualityAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VertexFitQualityAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxCandidate to its FitQuality.
- */
-
-#include "VertexFitQualityAssociationTool.h"
-
-#include <VxVertex/VxCandidate.h>
-#include <TrkEventPrimitives/FitQuality.h>
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-VertexFitQualityAssociationTool::VertexFitQualityAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::FitQuality *VertexFitQualityAssociationTool::get (const Trk::VxCandidate& p)
-{
-  return &(p.recVertex().fitQuality());
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.h
deleted file mode 100644
index 32450c750fc..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexFitQualityAssociationTool.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VertexFitQualityAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VertexFitQualityAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxCandidate to its FitQuality.
- */
-#ifndef INDETD3PDMAKER_VERTEXFITQUALITYASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_VERTEXFITQUALITYASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Trk {
-class VxCandidate;
-class FitQuality;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrackParticle to its MeasuredPerigee.
- */
-class VertexFitQualityAssociationTool
-  : public SingleAssociationTool<Trk::VxCandidate, Trk::FitQuality>
-{
-public:
-  typedef SingleAssociationTool<Trk::VxCandidate, Trk::FitQuality> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  VertexFitQualityAssociationTool (const std::string& type,
-				   const std::string& name,
-				   const IInterface* parent);
-
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::FitQuality* get (const Trk::VxCandidate& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_VERTEXFITQUALITYASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.cxx
deleted file mode 100644
index c6067cac37d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.cxx
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VertexPositionFillerTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VertexPositionFillerTool.cxx
- * @author maarten boonekamp <maarten.boonekamp@cea.fr>
- * @date Sep, 2009
- * @brief Block filler tool for vertex position.
- */
-
-
-#include "VertexPositionFillerTool.h"
-#include "VxVertex/VxCandidate.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-VertexPositionFillerTool::VertexPositionFillerTool
-    (const std::string& type,
-     const std::string& name,
-     const IInterface* parent)
-  : BlockFillerTool<Trk::VxCandidate> (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode VertexPositionFillerTool::book()
-{
-  CHECK( addVariable ("x",  m_x)  );
-  CHECK( addVariable ("y",  m_y)  );
-  CHECK( addVariable ("z",  m_z)  );
- 
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-StatusCode VertexPositionFillerTool::fill (const Trk::VxCandidate& p)
-{
-  const Amg::Vector3D& pos = p.recVertex().position();
-  *m_x = pos.x();
-  *m_y = pos.y();
-  *m_z = pos.z();
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.h
deleted file mode 100644
index 89a1ccd7d7d..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPositionFillerTool.h
+++ /dev/null
@@ -1,73 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VertexPositionFillerTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VertexPositionFillerTool.h
- * @author maarten boonekamp <maarten.boonekamp@cea.fr>
- * @date Sep, 2009
- * @brief Block filler tool for vertex position.
- */
-
-#ifndef INDETD3PDMAKER_VERTEXPOSITIONFILLERTOOL_H
-#define INDETD3PDMAKER_VERTEXPOSITIONFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-namespace Trk {
-  class VxCandidate;
-}
-
-
-namespace D3PD {
-
-
-/**
- * @brief Block filler tool for vertex position.
- */
-class VertexPositionFillerTool
-  : public BlockFillerTool<Trk::VxCandidate>
-{
-public:
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  VertexPositionFillerTool (const std::string& type,
-		    const std::string& name,
-		    const IInterface* parent);
-  
-
-  /// Book variables for this block.
-  virtual StatusCode book();
-  
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const Trk::VxCandidate& p);
-
-
-private:
-  /// Variables: Vertex position.
-  float* m_x;
-  float* m_y;
-  float* m_z;
-  
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_VERTEXPOSITIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.cxx
deleted file mode 100644
index fbc6e9200c0..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.cxx
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "VertexPurityFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
-#include "VxVertex/VxContainer.h"
-#include "VxVertex/VxCandidate.h"
-
-#include "TrkVertexFitterValidationUtils/TrkPriVxPurityTool.h"
-#include "TrkVertexFitterValidationUtils/TrkPriVxPurity.h"
-	
-namespace D3PD {
-
-VertexPurityFillerTool::VertexPurityFillerTool (const std::string& type,
-				    const std::string& name,
-				    const IInterface* parent)
-  : VertexPurityFillerBase (type, name, parent),
-    m_purityTool("Trk::TrkPriVxPurityTool")
-{
-  declareProperty("PurityTool", m_purityTool);
-
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode VertexPurityFillerTool::initialize()
-{
-  CHECK( VertexPurityFillerBase::initialize() );
-  CHECK( m_purityTool.retrieve() );
-  return StatusCode::SUCCESS;
-}
-
-StatusCode VertexPurityFillerTool::book()
-{
-  // purity
-  CHECK( addVariable ("sumWeightInliers", m_sum_in) );
-  CHECK( addVariable ("sumWeightOutliers", m_sum_out) );
-  CHECK( addVariable ("sumWeightPileup", m_sum_pu) );
-  CHECK( addVariable ("sumWeightFakes", m_sum_nt) );
-  CHECK( addVariable ("nInliers", m_n_in) );
-  CHECK( addVariable ("nOutliers", m_n_out) );
-  CHECK( addVariable ("nPileUp", m_n_pu) );
-  CHECK( addVariable ("nFakes", m_n_nt) );
-  CHECK( addVariable ("purity", m_purity) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode VertexPurityFillerTool::fill (const VertexPurityFillerObjectType& vertex)
-{
-
-  this->clearData();
-
-  //vertex purity     
-  const Trk::TrkPriVxPurity * pv_purity = m_purityTool->purity(&vertex);
-	   
-  if(pv_purity !=0){
-    const std::vector<double> inl = pv_purity->inlierWeights();
-    const std::vector<double> outl = pv_purity->outlierWeights();
-    const std::vector<double> puv = pv_purity->pileUpWeights();
-    const std::vector<double> nt = pv_purity->noTruthFound();
-      
-    *m_n_in = inl.size(); 
-    *m_n_out = outl.size();
-    *m_n_pu = puv.size();
-    *m_n_nt = nt.size();   
-
-    for(std::vector<double>::const_iterator i = inl.begin(); i != inl.end(); ++i) *m_sum_in  += *i;
-    for(std::vector<double>::const_iterator i = outl.begin();i !=outl.end(); ++i) *m_sum_out += *i;
-    for(std::vector<double>::const_iterator i = puv.begin(); i !=puv.end();  ++i) *m_sum_pu  += *i;
-    for(std::vector<double>::const_iterator i = nt.begin();  i !=nt.end();   ++i) *m_sum_nt  += *i;
-
-    int den = *m_sum_in + *m_sum_out + *m_sum_pu + *m_sum_nt;
-    if (den > 0)
-      *m_purity = (*m_sum_in - *m_sum_out - *m_sum_pu - *m_sum_nt) / den;
-
-    delete pv_purity; 
-
-  }//end of non-zero purity check
-
-  return StatusCode::SUCCESS;
-}
-
-void VertexPurityFillerTool::clearData(){
-
-  *m_sum_in = 0;
-  *m_sum_out = 0;
-  *m_sum_pu = 0;
-  *m_sum_nt = 0;
-  *m_n_in = 0;
-  *m_n_out = 0;
-  *m_n_pu = 0;
-  *m_n_nt = 0;
-  *m_purity = 0;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.h
deleted file mode 100644
index 42df35de883..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexPurityFillerTool.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_VERTEXPURITYFILLERTOOL_H
-#define INDETD3PDMAKER_VERTEXPURITYFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-#include "GaudiKernel/ToolHandle.h"
-#include "TrkVertexFitterValidationUtils/TrkPriVxPurityTool.h"
-
-namespace Trk{
-class VxCandidate;
-}
-
-namespace D3PD {
-
-typedef Trk::VxCandidate VertexPurityFillerObjectType;
-typedef D3PD::BlockFillerTool<VertexPurityFillerObjectType> VertexPurityFillerBase;
-
-class VertexPurityFillerTool
-  : public VertexPurityFillerBase
-{
-public:
-  VertexPurityFillerTool (const std::string& type,
-			  const std::string& name,
-			  const IInterface* parent);
-
-  StatusCode initialize();
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const VertexPurityFillerObjectType& p);
-
-private:
-
-  void clearData();
-
-  //purity tool
-  ToolHandle < Trk::TrkPriVxPurityTool > m_purityTool;
-
-  /* NTuple variables **/
-  // vertex purity
-  float *m_sum_in;
-  float *m_sum_out;
-  float *m_sum_pu;
-  float *m_sum_nt;
-  int *m_n_in;
-  int *m_n_out;
-  int *m_n_pu;
-  int *m_n_nt;
-  float *m_purity;
-
-}; // class VertexPurityFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_VERTEXPURITYFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.cxx
deleted file mode 100644
index def4ea753f2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.cxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include "VertexTrackAssociationFillerTool.h"
-
-#include "AthenaKernel/errorcheck.h"
-#include "VxVertex/VxTrackAtVertex.h"
-#include "TrkEventPrimitives/FitQuality.h"
-#include "TrkEventPrimitives/ParamDefs.h"
-#include "TrkParameters/TrackParameters.h"
-#include <cassert>
-
-namespace D3PD {
-
-
-VertexTrackAssociationFillerTool::VertexTrackAssociationFillerTool (const std::string& type,
-				      const std::string& name,
-				      const IInterface* parent)
-  : Base (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-StatusCode VertexTrackAssociationFillerTool::book()
-{
-
-  CHECK ( addVariable ("chi2", m_chi2) );
-
-  CHECK ( addVariable ("d0", m_d0) );
-  CHECK ( addVariable ("z0", m_z0) );
-  CHECK ( addVariable ("phi", m_phi) );
-  CHECK ( addVariable ("theta", m_theta) );
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode VertexTrackAssociationFillerTool::fill (const Trk::VxTrackAtVertex& track)
-{
-
-  this->clearData();
-
-  const Trk::FitQuality fq = track.trackQuality();
-  *m_chi2 = fq.chiSquared();
-
-  const Trk::TrackParameters *parameters = track.perigeeAtVertex();
-  if(!parameters){
-    REPORT_MESSAGE (MSG::WARNING) << "Perigee at vertex not filled";
-  }else{
-    assert (parameters->parameters().rows() >= (int)Trk::theta);
-    *m_d0 = parameters->parameters()[Trk::d0];
-    *m_z0 = parameters->parameters()[Trk::z0];
-    *m_phi = parameters->parameters()[Trk::phi0];
-    *m_theta = parameters->parameters()[Trk::theta];
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-void VertexTrackAssociationFillerTool::clearData(){
-
-  *m_chi2 = 0;
-
-  *m_d0 = 0;
-  *m_z0 = 0;
-  *m_phi = 0;
-  *m_theta = 0;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.h
deleted file mode 100644
index 566733a05f2..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTrackAssociationFillerTool.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef INDETD3PDMAKER_VERTEXTRACKASSOCIATIONFILLERTOOL_H
-#define INDETD3PDMAKER_VERTEXTRACKASSOCIATIONFILLERTOOL_H
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-namespace Trk{
-class VxTrackAtVertex;
-}
-
-namespace D3PD {
-
-class VertexTrackAssociationFillerTool
-  : public BlockFillerTool<Trk::VxTrackAtVertex>
-{
-public:
-  typedef BlockFillerTool<Trk::VxTrackAtVertex> Base;
-
-  VertexTrackAssociationFillerTool (const std::string& type,
-				    const std::string& name,
-				    const IInterface* parent);
-
-  virtual StatusCode book();
-
-  virtual StatusCode fill (const Trk::VxTrackAtVertex &track);
-
-private:
-
-  void clearData();
-
-  /* NTuple variables: **/
-  float *m_chi2;
-
-  float *m_d0;
-  float *m_z0;
-  float *m_phi;
-  float *m_theta;
-
-}; // class VertexTrackAssociationFillerTool
-
-} // namespace D3PD
-
-#endif // not INDETD3PDMAKER_VERTEXTRACKASSOCIATIONFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.cxx
deleted file mode 100644
index 909c0e4d452..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VertexTypeFillerTool.cxx 502118 2012-05-23 19:10:19Z ssnyder $
-/**
- * @file InDetD3PDMaker/src/VertexTypeFillerTool.cxx
- * @author Andreas Wildauer
- * @date Aug, 2011
- * @brief Block filler tool for vertex type. The vertex type does not fit into any other filler tool. Hence it gets its own.
- */
-
-
-#include "VertexTypeFillerTool.h"
-#include "AthenaKernel/errorcheck.h"
-
-
-namespace D3PD {
-
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-VertexTypeFillerTool::VertexTypeFillerTool
-    (const std::string& type,
-     const std::string& name,
-     const IInterface* parent)
-  : BlockFillerTool<Trk::VxCandidate> (type, name, parent)
-{
-  book().ignore(); // Avoid coverity warnings.
-}
-
-
-/**
- * @brief Book variables for this block.
- */
-StatusCode VertexTypeFillerTool::book()
-{
-  CHECK( addVariable ("type",    m_type) );
-  return StatusCode::SUCCESS;
-}
-
-
-/**
- * @brief Fill one block --- type-safe version.
- * @param p The input object.
- *
- * This is called once per object.  The caller
- * is responsible for arranging that all the pointers for booked variables
- * are set appropriately upon entry.
- */
-StatusCode VertexTypeFillerTool::fill (const Trk::VxCandidate& p)
-{
-  *m_type    = (int)p.vertexType();
-  return StatusCode::SUCCESS;
-}
-
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.h
deleted file mode 100644
index 37749d5945b..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VertexTypeFillerTool.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VertexTypeFillerTool.h 456341 2011-08-31 11:33:30Z wildauer $
-/**
- * @file InDetD3PDMaker/src/VertexTypeFillerTool.h
- * @author Andreas Wildauer
- * @date Aug, 2011
- * @brief Block filler tool for vertex type. The vertex type does not fit into any other filler tool. Hence it gets its own.
- */
-
-#ifndef INDETD3PDMAKER_VERTEXTYPEFILLERTOOL_H
-#define INDETD3PDMAKER_VERTEXTYPEFILLERTOOL_H
-
-
-#include "D3PDMakerUtils/BlockFillerTool.h"
-
-#include "VxVertex/VxCandidate.h"
-
-namespace D3PD {
-
-
-/**
- * @brief Block filler tool for vertex type. The vertex type does not fit into any other filler tool. Hence it gets its own.
- */
-class VertexTypeFillerTool
-  : public BlockFillerTool<Trk::VxCandidate>
-{
-public:
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  VertexTypeFillerTool (const std::string& type,
-			const std::string& name,
-			const IInterface* parent);
-  
-
-  /// Book variables for this block.
-  virtual StatusCode book();
-  
-
-  /**
-   * @brief Fill one block --- type-safe version.
-   * @param p The input object.
-   *
-   * This is called once per object.  The caller
-   * is responsible for arranging that all the pointers for booked variables
-   * are set appropriately upon entry.
-   */
-  virtual StatusCode fill (const Trk::VxCandidate& p);
-
-
-private:
-
-  int*   m_type;
-};
-
-
-} // namespace D3PD
-
-
-#endif // not INDETD3PDMAKER_VERTEXTYPEFILLERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.cxx
deleted file mode 100644
index 2d91469b762..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.cxx
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VxTrackAtVertexTrackParticleAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxTrackAtVertex to a TrackParticle.
- */
-
-#include "VxTrackAtVertexTrackParticleAssociationTool.h"
-
-#include <VxVertex/VxTrackAtVertex.h>
-#include <Particle/TrackParticle.h>
-#include <TrkParticleBase/LinkToTrackParticleBase.h>
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-VxTrackAtVertexTrackParticleAssociationTool::VxTrackAtVertexTrackParticleAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Rec::TrackParticle *VxTrackAtVertexTrackParticleAssociationTool::get (const Trk::VxTrackAtVertex& track)
-{
-
-  const Trk::LinkToTrackParticleBase *link = dynamic_cast<const Trk::LinkToTrackParticleBase *>(track.trackOrParticleLink());
-  if(0 == link){  // it's not a link to TrackParticle
-    REPORT_MESSAGE (MSG::WARNING) << "Trying to associate a TrackParticle to a vertex"
-				  << " while the vertex was not fitted using TrackParticles";
-    return 0;
-  }
-
-  const Trk::TrackParticleBase *particle_base = **link;
-  if(0 == particle_base){
-    REPORT_MESSAGE (MSG::WARNING) << "link from VxCandidate to TrackParticle is broken";
-    return 0;
-  }
-
-  const Rec::TrackParticle* particle = dynamic_cast<const Rec::TrackParticle*>(particle_base);
-
-  if(0 == particle){
-    REPORT_MESSAGE (MSG::WARNING) << "dynamic cast from Trk::TrackParticleBase to Rec::TrackParticle failed";
-    return 0;
-  }
-
-  return particle;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.h
deleted file mode 100644
index 22f92ebb2d6..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VxTrackAtVertexTrackParticleAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VxTrackAtVertexTrackParticleAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxTrackAtVertex to a TrackParticle.
- */
-#ifndef INDETD3PDMAKER_VXTRACKATVERTEXTRACKPARTICLEASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_VXTRACKATVERTEXTRACKPARTICLEASSOCIATIONTOOL_H
-
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-namespace Rec {
-  class TrackParticle;
-}
-
-namespace Trk {
-  class VxTrackAtVertex;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a VxTrackAtVertex to a TrackParticle.
- */
-class VxTrackAtVertexTrackParticleAssociationTool
-  : public SingleAssociationTool<Trk::VxTrackAtVertex, Rec::TrackParticle>
-{
-public:
-  typedef SingleAssociationTool<Trk::VxTrackAtVertex, Rec::TrackParticle> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  VxTrackAtVertexTrackParticleAssociationTool (const std::string& type,
-					       const std::string& name,
-					       const IInterface* parent);
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Rec::TrackParticle* get (const Trk::VxTrackAtVertex& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_VXTRACKATVERTEXTRACKPARTICLEASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.cxx
deleted file mode 100644
index bd9208f8818..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.cxx
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VxTrackAtVertexTrkTrackAssociationTool.cxx 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.cxx
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxTrackAtVertex to a TrkTrack.
- */
-
-#include "VxTrackAtVertexTrkTrackAssociationTool.h"
-
-#include <VxVertex/VxTrackAtVertex.h>
-#include <TrkTrack/Track.h>
-#include <TrkTrack/LinkToTrack.h>
-#include "AthenaKernel/errorcheck.h"
-
-namespace D3PD {
-
-/**
- * @brief Standard Gaudi tool constructor.
- * @param type The name of the tool type.
- * @param name The tool name.
- * @param parent The tool's Gaudi parent.
- */
-VxTrackAtVertexTrkTrackAssociationTool::VxTrackAtVertexTrkTrackAssociationTool
-  (const std::string& type,
-   const std::string& name,
-   const IInterface* parent)
-    : Base (type, name, parent)
-{
-}
-
-/**
- * @brief Return the target object.
- * @param p The source object for the association.
- *
- * Return the target of the association, or 0.
- */
-const Trk::Track *VxTrackAtVertexTrkTrackAssociationTool::get (const Trk::VxTrackAtVertex& track)
-{
-
-  const Trk::LinkToTrack *link = dynamic_cast<const Trk::LinkToTrack*>(track.trackOrParticleLink());
-  if(0 == link){  // it's not a link to TrkTrack
-    REPORT_MESSAGE (MSG::WARNING) << "Trying to associate a Trk::Track to a vertex"
-				  << " while the vertex was not fitted using Trk::Track";
-    return 0;
-  }
-
-  const Trk::Track *trktrack = **link;
-  if(0 == trktrack){
-    REPORT_MESSAGE (MSG::WARNING) << "link from VxCandidate to TrkTrack is broken";
-    return 0;
-  }
-
-  return trktrack;
-}
-
-} // namespace D3PD
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.h
deleted file mode 100644
index a430acfd9ac..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file's extension implies that it's C, but it's really -*- C++ -*-.
-
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-
-// $Id: VxTrackAtVertexTrkTrackAssociationTool.h 281348 2010-02-24 23:15:11Z zaidan $
-/**
- * @file InDetD3PDMaker/src/VxTrackAtVertexTrkTrackAssociationTool.h
- * @author remi zaidan <remi.zaidan@cern.ch>
- * @date Feb, 2010
- * @brief Associate from a VxTrackAtVertex to a TrkTrack.
- */
-#ifndef INDETD3PDMAKER_VXTRACKATVERTEXTRKTRACKASSOCIATIONTOOL_H
-#define INDETD3PDMAKER_VXTRACKATVERTEXTRKTRACKASSOCIATIONTOOL_H
-
-#include "VxVertex/VxTrackAtVertex.h"
-#include "D3PDMakerUtils/SingleAssociationTool.h"
-
-
-namespace Trk {
-  class Track;
-  class VxTrackAtVertex;
-}
-
-namespace D3PD {
-
-/**
- * @brief Associate from a TrkTrack to its MeasuredPerigee.
- */
-class VxTrackAtVertexTrkTrackAssociationTool
-  : public SingleAssociationTool<Trk::VxTrackAtVertex, Trk::Track>
-{
-public:
-  typedef SingleAssociationTool<Trk::VxTrackAtVertex, Trk::Track> Base;
-
-  /**
-   * @brief Standard Gaudi tool constructor.
-   * @param type The name of the tool type.
-   * @param name The tool name.
-   * @param parent The tool's Gaudi parent.
-   */
-  VxTrackAtVertexTrkTrackAssociationTool (const std::string& type,
-					  const std::string& name,
-					  const IInterface* parent);
-
-  /**
-   * @brief Return the target object.
-   * @param p The source object for the association.
-   *
-   * Return the target of the association, or 0.
-   */
-  virtual const Trk::Track* get (const Trk::VxTrackAtVertex& p);
-};
-
-
-} // namespace D3PD
-
-
-
-#endif // not INDETD3PDMAKER_VXTRACKATVERTEXTRKTRACKASSOCIATIONTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/components/InDetD3PDMaker_entries.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/components/InDetD3PDMaker_entries.cxx
deleted file mode 100644
index 62fca558fe7..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/components/InDetD3PDMaker_entries.cxx
+++ /dev/null
@@ -1,149 +0,0 @@
-#include "../ClusterAssocFillerTool.h"
-#include "../ClusterAssocPixelFillerTool.h"
-#include "../PixelClusterPixelRDOAssociationTool.h"
-#include "../PixelClusterToTrackParticleAssociationTool.h"
-#include "../PixelRDOClusterAssociationTool.h"
-#include "../PixelRDOCollectionGetterTool.h"
-#include "../PixelRDOFillerTool.h"
-#include "../SCTByteStreamErrorFillerTool.h"
-#include "../SCTClusterCollectionGetterTool.h"
-#include "../SCTClusterFillerTool.h"
-#include "../SCTClusterSCTRDOAssociationTool.h"
-#include "../SCTClusterToTrackParticleAssociationTool.h"
-#include "../SCTRDOClusterAssociationTool.h"
-#include "../SCTRDOCollectionGetterTool.h"
-#include "../SCTRDOFillerTool.h"
-#include "../SCTTrackParticleToMuonAssociationTool.h"
-#include "../SiHitFillerTool.h"
-#include "../SiHitTruthAssociationTool.h"
-#include "../TRTPhaseFillerTool.h"
-#include "../TRTUncompressedHitFillerTool.h"
-#include "../TSOSPixelClusterAssociationTool.h"
-#include "../TrackParticleToPixelClusterAssociationTool.h"
-#include "../TrackParticleToPixelClusterAssociationToolLight.h"
-#include "../TrackParticleToSCTClusterAssociationTool.h"
-#include "../TrackParticleToSCTClusterAssociationToolLight.h"
-#include "../TrkPrepRawDataGenParticleAssociationTool.h"
-#include "../TrkTrackGetterTool.h"
-#include "../PixelClusterCollectionGetterTool.h"
-#include "../PixelClusterFillerTool.h"
-#include "../TrackBeamlineParametersAssociationTool.h"
-#include "../TrackParticleLastParametersAssociationTool.h"
-#include "../ErrorMatrixCovarianceFillerTool.h"
-#include "../ErrorMatrixErrorFillerTool.h"
-#include "../TrackParametersFillerTool.h"
-#include "../TrkTrackPerigeeAssociationTool.h"
-#include "../TrkTrackPerigeeAtPVAssociationTool.h"
-#include "../TrkTrackPerigeeAtBSAssociationTool.h"
-#include "../TrkTrackFitQualityAssociationTool.h"
-#include "../TrkTrackTrackSummaryAssociationTool.h"
-#include "../TrkTrackInfoAssociationTool.h"
-#include "../TrkTrackTSOAssociationTool.h"
-#include "../TrkTrackVertexAssociationTool.h"
-#include "../TrkTrackTruthAssociationTool.h"
-#include "../TrkTrackDetailedTruthAssociationTool.h"
-#include "../TrkTrackParametersAtBLFillerTool.h"
-#include "../TrackParticleParametersAtBLFillerTool.h"
-#include "../V0CandidateFillerTool.h"
-#include "../V0CandidateVxCandidateAssociationTool.h"
-#include "../VertexFitQualityAssociationTool.h"
-#include "../VxTrackAtVertexTrkTrackAssociationTool.h"
-#include "../VertexTrackAssociationFillerTool.h"
-#include "../VertexPurityFillerTool.h"
-#include "../VxTrackAtVertexTrackParticleAssociationTool.h"
-#include "../VertexPositionFillerTool.h"
-#include "../VertexTypeFillerTool.h"
-#include "../TrackParticleDetailedTruthAssociationTool.h"
-#include "../TrackParticleTruthAssociationTool.h"
-#include "../TrackParticleTSOAssociationTool.h"
-#include "../TrackParametersErrorMatrixAssociationTool.h"
-#include "../TrackParticleInfoAssociationTool.h"
-#include "../TrackParticleTrackSummaryAssociationTool.h"
-#include "../TrackTrackSummaryFillerTool.h"
-#include "../TrackParticleFitQualityAssociationTool.h"
-#include "../TrackFitQualityFillerTool.h"
-#include "../TrackInfoFillerTool.h"
-#include "../TSOFitQualityAssociationTool.h"
-#include "../TrackStateOnSurfaceFillerTool.h"
-#include "../TrackParticleGetterTool.h"
-#include "../BeamSpotGetterTool.h"
-#include "../BeamSpotFillerTool.h"
-#include "../TruthTrackFillerTool.h"
-#include "../TruthVertexFillerTool.h"
-#include "../TruthTrackGetterTool.h"
-#include "../TruthVertexGetterTool.h"
-
-
-DECLARE_COMPONENT( D3PD::ClusterAssocFillerTool )
-DECLARE_COMPONENT( D3PD::ClusterAssocPixelFillerTool )
-DECLARE_COMPONENT( D3PD::PixelClusterPixelRDOAssociationTool )
-DECLARE_COMPONENT( D3PD::PixelClusterToTrackParticleAssociationTool )
-DECLARE_COMPONENT( D3PD::PixelRDOClusterAssociationTool )
-DECLARE_COMPONENT( D3PD::PixelRDOCollectionGetterTool )
-DECLARE_COMPONENT( D3PD::PixelRDOFillerTool )
-DECLARE_COMPONENT( D3PD::SCTByteStreamErrorFillerTool )
-DECLARE_COMPONENT( D3PD::SCTClusterCollectionGetterTool )
-DECLARE_COMPONENT( D3PD::SCTClusterFillerTool )
-DECLARE_COMPONENT( D3PD::SCTClusterSCTRDOAssociationTool )
-DECLARE_COMPONENT( D3PD::SCTClusterToTrackParticleAssociationTool )
-DECLARE_COMPONENT( D3PD::SCTRDOClusterAssociationTool )
-DECLARE_COMPONENT( D3PD::SiHitFillerTool )
-DECLARE_COMPONENT( D3PD::SiHitTruthAssociationTool )
-DECLARE_COMPONENT( D3PD::TRTPhaseFillerTool )
-DECLARE_COMPONENT( D3PD::TRTUncompressedHitContainerGetterTool )
-DECLARE_COMPONENT( D3PD::TRTUncompressedHitFillerTool )
-DECLARE_COMPONENT( D3PD::TSOSPixelClusterAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleToPixelClusterAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleToPixelClusterAssociationToolLight )
-DECLARE_COMPONENT( D3PD::TrackParticleToSCTClusterAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleToSCTClusterAssociationToolLight )
-DECLARE_COMPONENT( D3PD::TrkPrepRawDataGenParticleAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackGetterTool )
-DECLARE_COMPONENT( D3PD::PixelClusterCollectionGetterTool )
-DECLARE_COMPONENT( D3PD::PixelClusterFillerTool )
-DECLARE_COMPONENT( D3PD::TrackBeamlineParametersAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleLastParametersAssociationTool )
-DECLARE_COMPONENT( D3PD::ErrorMatrixCovarianceFillerTool )
-DECLARE_COMPONENT( D3PD::ErrorMatrixErrorFillerTool )
-DECLARE_COMPONENT( D3PD::TrackParametersFillerTool )
-DECLARE_COMPONENT( D3PD::TrkTrackPerigeeAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackPerigeeAtPVAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackPerigeeAtBSAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackFitQualityAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackTrackSummaryAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackInfoAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackTSOAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackTruthAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackVertexAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackDetailedTruthAssociationTool )
-DECLARE_COMPONENT( D3PD::TrkTrackParametersAtBLFillerTool )
-DECLARE_COMPONENT( D3PD::TrackParticleParametersAtBLFillerTool )
-DECLARE_COMPONENT( D3PD::V0CandidateVxCandidateAssociationTool )
-DECLARE_COMPONENT( D3PD::V0CandidateFillerTool )
-DECLARE_COMPONENT( D3PD::V0ContainerGetterTool )
-DECLARE_COMPONENT( D3PD::VertexFitQualityAssociationTool )
-DECLARE_COMPONENT( D3PD::VxTrackAtVertexTrkTrackAssociationTool )
-DECLARE_COMPONENT( D3PD::VertexTrackAssociationFillerTool )
-DECLARE_COMPONENT( D3PD::VertexPurityFillerTool )
-DECLARE_COMPONENT( D3PD::VxTrackAtVertexTrackParticleAssociationTool )
-DECLARE_COMPONENT( D3PD::VertexPositionFillerTool )
-DECLARE_COMPONENT( D3PD::VertexTypeFillerTool )
-DECLARE_COMPONENT( D3PD::TrackParametersErrorMatrixAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleTSOAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleDetailedTruthAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleTruthAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleInfoAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackParticleTrackSummaryAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackTrackSummaryFillerTool )
-DECLARE_COMPONENT( D3PD::TrackParticleFitQualityAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackFitQualityFillerTool )
-DECLARE_COMPONENT( D3PD::TrackInfoFillerTool )
-DECLARE_COMPONENT( D3PD::TSOFitQualityAssociationTool )
-DECLARE_COMPONENT( D3PD::TrackStateOnSurfaceFillerTool )
-DECLARE_COMPONENT( D3PD::TrackParticleGetterTool )
-DECLARE_COMPONENT( D3PD::BeamSpotGetterTool )
-DECLARE_COMPONENT( D3PD::BeamSpotFillerTool )
-DECLARE_COMPONENT( D3PD::TruthTrackGetterTool )
-DECLARE_COMPONENT( D3PD::TruthTrackFillerTool )
-DECLARE_COMPONENT( D3PD::TruthVertexGetterTool )
-DECLARE_COMPONENT( D3PD::TruthVertexFillerTool )
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/indetInheritance.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/indetInheritance.cxx
deleted file mode 100644
index 5f725520d16..00000000000
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/indetInheritance.cxx
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
-/*
- */
-/**
- * @file InDetD3PDMaker/src/indetInheritance.cxx
- * @author Serhan Mete, scott snyder <snyder@bnl.gov>
- * @date Aug, 2009
- * @brief Declare inheritance relationships for tracking classes.
- *
- * Eventually, these should be moved to the EDM classes.
- */
-
-#include "TrkV0Vertex/V0Container.h"
-#include "AthenaKernel/BaseInfo.h"
-
-
-SG_ADD_BASE (V0Container, DataVector<Trk::V0Candidate>);
-
diff --git a/Projects/Athena/package_filters.txt b/Projects/Athena/package_filters.txt
index c8378cf2bc8..a193110e30b 100644
--- a/Projects/Athena/package_filters.txt
+++ b/Projects/Athena/package_filters.txt
@@ -52,9 +52,6 @@
 #- DataQuality/DataQualityConfigurations
 #- DataQuality/DCSCalculator2
 
-# Huge D3PD librarys not really useful any more
-- PhysicsAnalysis/D3PDMaker/InDetD3PDMaker
-
 # Don't build PerfMonVTune which has external Intel tool dependency
 - Control/PerformanceMonitoring/PerfMonVTune
 
-- 
GitLab