From 1b15a68ae43136e74083442981fc1027e5b30ecd Mon Sep 17 00:00:00 2001
From: Andrii Verbytskyi <andrii.verbytskyi@cern.ch>
Date: Wed, 29 Apr 2020 18:38:12 +0000
Subject: [PATCH] Migrate everything to AtlasHepMC

---
 Calorimeter/CaloExample/CaloTests/CMakeLists.txt    |  6 +++---
 .../CaloExample/CaloTests/src/MyAnalysis.cxx        |  4 ++--
 .../CaloExample/CaloTests/src/MyAnalysisCal.cxx     |  4 ++--
 .../AFP_LocReco/AFP_LocReco/AFP_SIDLocReco.h        |  6 +++---
 .../AFP_LocReco/AFP_LocReco/AFP_TDLocReco.h         |  6 +++---
 .../AFP_Reconstruction/AFP_LocReco/CMakeLists.txt   |  6 +++---
 .../ALFA_BeamTransport/ALFA_BeamTransport.h         |  2 +-
 .../ALFA/ALFA_BeamTransport/CMakeLists.txt          |  9 +++++----
 .../ALFA_BeamTransport/src/ALFA_BeamTransport.cxx   |  6 +++---
 .../ALFA/ALFA_Digitization/CMakeLists.txt           |  6 +++---
 .../ALFA/ALFA_Digitization/src/ALFA_PileUpTool.cxx  |  8 ++++----
 .../ALFA_LocRec/ALFA_LocRec/ALFA_LocRec.h           |  6 +++---
 .../ALFA_Reconstruction/ALFA_LocRec/CMakeLists.txt  |  9 +++++----
 ForwardDetectors/ForwardTransport/CMakeLists.txt    |  9 +++++----
 .../ForwardTransport/src/ForwardTransportModel.cxx  |  2 +-
 .../ForwardTransportFast/CMakeLists.txt             |  8 ++++----
 .../src/ForwardTransportFast.cxx                    |  2 +-
 ForwardDetectors/ForwardTransportSvc/CMakeLists.txt |  8 ++++----
 .../ForwardTransportSvc/IForwardTransportSvc.h      |  2 +-
 .../test/LUCID_SimHitCnv_p1_test.cxx                |  4 ++--
 .../test/LUCID_SimHitCnv_p2_test.cxx                |  4 ++--
 Generators/AtlasHepMC/AtlasHepMC/IO_BaseClass_fwd.h |  7 +++++++
 Generators/AtlasHepMC/AtlasHepMC/IO_GenEvent_fwd.h  |  8 ++++++++
 .../GeneratorFilters/BoostedHadTopAndTopPair.h      |  4 +---
 .../GeneratorFilters/TTbarPlusHeavyFlavorFilter.h   |  4 +---
 .../InDetAlignGenTools/CMakeLists.txt               |  9 +++++----
 .../InDetAlignGenTools/src/InDetAlignFillTrack.cxx  |  4 ++--
 .../InDetAlignNtupleTools/CMakeLists.txt            |  6 +++---
 .../src/DetailedIDNtupleTool.cxx                    |  4 ++--
 .../FastSiDigitization/CMakeLists.txt               |  8 ++++----
 .../src/PixelFastDigitizationTool.cxx               |  2 +-
 .../src/SCT_FastDigitizationTool.cxx                |  2 +-
 .../PixelDigitization/CMakeLists.txt                |  6 +++---
 .../PixelDigitization/src/EnergyDepositionTool.cxx  |  6 +++---
 .../PixelDigitization/src/RadDamageUtil.cxx         |  6 +++---
 .../PixelDigitization/src/SensorSim3DTool.cxx       |  6 +++---
 .../PixelDigitization/src/SensorSimPlanarTool.cxx   |  6 +++---
 .../InDetPrepRawDataToxAOD/CMakeLists.txt           |  8 ++++----
 .../src/PixelPrepDataToxAOD.cxx                     |  4 ++--
 .../src/SCT_PrepDataToxAOD.cxx                      |  2 +-
 .../InDetSimEventTPCnv/test/SiHitCnv_p1_test.cxx    |  4 ++--
 .../test/SiHitCollectionCnv_p2_test.cxx             |  4 ++--
 .../test/SiHitCollectionCnv_p3_test.cxx             |  4 ++--
 .../InDetSimEventTPCnv/test/TRT_HitCnv_p1_test.cxx  |  4 ++--
 .../test/TRT_HitCollectionCnv_p2_test.cxx           |  4 ++--
 .../test/TRT_HitCollectionCnv_p3_test.cxx           |  4 ++--
 .../test/TRT_HitCollectionCnv_p4_test.cxx           |  4 ++--
 .../InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx    |  2 +-
 .../InDetAlignmentMonitoring/CMakeLists.txt         |  9 +++++----
 .../src/IDAlignMonNtuple.cxx                        |  4 ++--
 .../src/IDAlignMonTruthComparison.cxx               |  2 +-
 .../InDetPerformanceMonitoring/CMakeLists.txt       | 10 +++++-----
 .../src/IDPerfMonZmumu.cxx                          |  4 ++--
 .../InDetRawAlgs/InDetOverlay/src/TRTOverlay.cxx    |  2 +-
 .../InDetRecTools/InDetZVTOPVxFinder/CMakeLists.txt |  8 ++++----
 .../src/TruthClusterizationFactory.cxx              |  2 +-
 .../InDetTruth/InDetTruthTools/CMakeLists.txt       |  8 ++++----
 .../src/PRD_TruthTrajectoryManipulatorID.cxx        |  2 +-
 .../src/PRD_TruthTrajectorySelectorID.cxx           |  2 +-
 .../InDetPerformanceRTT/CMakeLists.txt              |  6 +++---
 .../src/IDStandardPerformance.cxx                   |  4 ++--
 .../InDetRecStatistics/CMakeLists.txt               |  6 +++---
 .../InDetRecStatistics/TrackStatHelper.h            |  2 +-
 .../src/InDetRecStatisticsAlg.cxx                   |  2 +-
 .../InDetRecStatistics/src/TrackStatHelper.cxx      |  2 +-
 .../CMakeLists.txt                                  |  8 ++++----
 .../SegmentDriftCircleAssValidation.h               |  2 +-
 .../src/SegmentDriftCircleAssValidation.cxx         |  2 +-
 .../InDetTrackClusterAssValidation/CMakeLists.txt   |  8 ++++----
 .../src/TrackClusterAssValidation.cxx               |  4 ++--
 .../InDetTrackValidation/CMakeLists.txt             |  6 +++---
 LArCalorimeter/LArCafJobs/CMakeLists.txt            | 12 ++++++------
 LArCalorimeter/LArCellRec/CMakeLists.txt            |  8 ++++----
 LArCalorimeter/LArDigitization/CMakeLists.txt       | 10 +++++-----
 LArCalorimeter/LArDigitization/src/LArHitEMap.cxx   |  4 ++--
 LArCalorimeter/LArG4/LArG4FastSimSvc/CMakeLists.txt |  8 ++++----
 .../LArG4FastSimSvc/ILArG4FastSimSvc.h              |  4 +---
 .../LArG4FastSimSvc/LArG4FastSimSvc.h               |  4 +---
 .../LArG4/LArG4FastSimSvc/src/LArG4FastSimSvc.cxx   |  4 ++--
 .../LArG4/LArG4FastSimulation/CMakeLists.txt        |  8 ++++----
 .../LArG4/LArG4FastSimulation/src/LArFastShower.cxx |  4 ++--
 .../LArG4/LArG4FastSimulation/src/LArFastShower.h   |  7 +++----
 .../LArG4GenShowerLib/LArG4GenShowerLib.h           |  4 +---
 .../LArG4GenShowerLib/TestActionShowerLib.h         |  4 +---
 LArCalorimeter/LArG4/LArG4H6SD/CMakeLists.txt       |  8 ++++----
 LArCalorimeter/LArG4/LArG4H6SD/src/RadLenNtuple.cc  |  2 +-
 LArCalorimeter/LArG4/LArG4ShowerLib/CMakeLists.txt  |  8 ++++----
 .../LArG4ShowerLib/LArG4ShowerLib/IShowerLib.h      |  4 +---
 .../LArG4ShowerLib/LArG4ShowerLib/TestShowerLib.h   |  4 +---
 .../LArGeoH62004Algs/src/Other/RadLenNtuple.cc      |  2 +-
 .../MuonCalib/MuonCalibAlgs/CMakeLists.txt          | 12 ++++++------
 .../MuonCalib/MuonCalibAlgs/src/MuonCalibAlg.cxx    |  2 +-
 .../MuonEventTPCnv/test/CscSimDataCnv_p1_test.cxx   |  4 ++--
 .../MuonEventTPCnv/test/CscSimDataCnv_p2_test.cxx   |  4 ++--
 .../test/CscSimDataCollectionCnv_p1_test.cxx        |  4 ++--
 .../test/CscSimDataCollectionCnv_p2_test.cxx        |  4 ++--
 .../MuonEventTPCnv/test/MuonSimDataCnv_p1_test.cxx  |  4 ++--
 .../MuonEventTPCnv/test/MuonSimDataCnv_p2_test.cxx  |  4 ++--
 .../test/MuonSimDataCollectionCnv_p1_test.cxx       |  4 ++--
 .../test/MuonSimDataCollectionCnv_p2_test.cxx       |  4 ++--
 .../MuonCnv/MuonPrepRawDataToxAOD/CMakeLists.txt    |  8 ++++----
 .../MuonPrepRawDataToxAOD/src/MuonPrepDataToxAOD.h  |  2 +-
 .../test/CSCSimHitCollectionCnv_p1_test.cxx         |  4 ++--
 .../test/CSCSimHitCollectionCnv_p2_test.cxx         |  4 ++--
 .../test/CSCSimHitCollectionCnv_p3_test.cxx         |  4 ++--
 .../test/GenericMuonSimHitCollectionCnv_p1_test.cxx |  4 ++--
 .../test/GenericMuonSimHitCollectionCnv_p2_test.cxx |  4 ++--
 .../test/MDTSimHitCollectionCnv_p1_test.cxx         |  4 ++--
 .../test/MDTSimHitCollectionCnv_p2_test.cxx         |  4 ++--
 .../test/MDTSimHitCollectionCnv_p3_test.cxx         |  4 ++--
 .../test/MMSimHitCollectionCnv_p1_test.cxx          |  4 ++--
 .../test/MMSimHitCollectionCnv_p2_test.cxx          |  4 ++--
 .../test/RPCSimHitCollectionCnv_p1_test.cxx         |  4 ++--
 .../test/RPCSimHitCollectionCnv_p2_test.cxx         |  4 ++--
 .../test/RPCSimHitCollectionCnv_p3_test.cxx         |  4 ++--
 .../test/TGCSimHitCollectionCnv_p1_test.cxx         |  4 ++--
 .../test/TGCSimHitCollectionCnv_p2_test.cxx         |  4 ++--
 .../test/TGCSimHitCollectionCnv_p3_test.cxx         |  4 ++--
 .../test/TGCSimHitCollectionCnv_p4_test.cxx         |  4 ++--
 .../test/sTGCSimHitCollectionCnv_p1_test.cxx        |  4 ++--
 .../test/sTGCSimHitCollectionCnv_p2_test.cxx        |  4 ++--
 .../CSC_Digitization/CMakeLists.txt                 |  8 ++++----
 .../CSC_Digitization/src/CSC_Digitizer.cxx          |  2 +-
 .../CSC_Digitization/src/CscDigitizationTool.cxx    |  2 +-
 .../MDT_Digitization/CMakeLists.txt                 |  6 +++---
 .../MDT_Digitization/chargeCalculator.h             |  2 +-
 .../MDT_Digitization/chargeCalculator_PileUp.h      |  2 +-
 .../MDT_Digitization/particleGamma.h                |  2 +-
 .../MDT_Digitization/particleGamma_PileUp.h         |  2 +-
 .../MDT_Digitization/src/MdtDigitizationTool.cxx    |  2 +-
 .../MuonDigitization/MM_Digitization/CMakeLists.txt | 10 +++++-----
 .../MM_Digitization/src/MM_DigitizationTool.cxx     |  2 +-
 .../RPC_Digitization/CMakeLists.txt                 |  6 +++---
 .../RPC_Digitization/src/RpcDigitizationTool.cxx    |  2 +-
 .../sTGC_Digitization/CMakeLists.txt                |  6 +++---
 .../sTGC_Digitization/src/sTgcDigitizationTool.cxx  |  2 +-
 .../MuonHoughPatternTools/CMakeLists.txt            | 12 ++++++------
 .../src/MuonLayerHoughTool.cxx                      |  2 +-
 .../MuonRecTools/MuonTruthTools/CMakeLists.txt      |  8 ++++----
 .../MuonTruthTools/src/MuonTruthSummaryTool.cxx     |  2 +-
 .../MuonTruthTools/src/MuonTruthTrackBuilder.cxx    |  2 +-
 .../MooSegmentCombinationFinder/CMakeLists.txt      |  8 ++++----
 .../MuonClusterSegmentMakerTools/CMakeLists.txt     |  8 ++++----
 .../src/MuonClusterSegmentFinder.cxx                |  2 +-
 MuonSpectrometer/MuonTruthAlgs/CMakeLists.txt       |  8 ++++----
 .../src/DetailedMuonPatternTruthBuilder.cxx         |  6 +++---
 .../src/MuonDecayTruthTrajectoryBuilder.cxx         |  4 ++--
 .../src/MuonDecayTruthTrajectoryBuilder.h           |  2 +-
 .../MuonTruthAlgs/src/MuonTrackTruthTool.cxx        |  4 ++--
 .../MuonTruthAlgs/src/TrackParticleTruthMaker.cxx   |  2 +-
 .../MuonValidation/MuonPRDTest/CMakeLists.txt       |  6 +++---
 .../MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx |  2 +-
 .../MuonPRDTest/src/MDTSimHitVariables.cxx          |  2 +-
 .../MuonPRDTest/src/RPCSimHitVariables.cxx          |  2 +-
 .../MuonPRDTest/src/TruthVariables.cxx              |  4 ++--
 .../MuonTrackPerformance/CMakeLists.txt             |  5 ++---
 .../MuonTrackPerformance/MuonTrackPerformanceAlg.h  |  4 +---
 .../src/MuonTrackPerformanceAlg.cxx                 |  4 ++--
 .../src/MuonTrackStatisticsTool.cxx                 |  2 +-
 .../AnalysisCommon/AnalysisExamples/CMakeLists.txt  |  6 +++---
 .../AnalysisExamples/src/JetTagAna.cxx              |  6 +++---
 .../AnalysisCommon/AnalysisExamples/src/JetTagAna.h |  2 +-
 .../AnalysisExamples/src/ReadTruthParticles.cxx     |  6 +++---
 .../AnalysisCommon/AnalysisTest/CMakeLists.txt      |  8 ++++----
 .../AnalysisTest/test/McVtxFilterTest_CppUnit.cxx   |  6 +++---
 .../AnalysisTest/test/PdgIdFilterTest_CppUnit.cxx   |  2 +-
 PhysicsAnalysis/D2PDMaker/CMakeLists.txt            |  6 +++---
 .../D2PDMaker/D2PDMaker/D2PDTruthParticleSelector.h |  2 +-
 .../D2PDMaker/src/D2PDParticleCombiner.cxx          |  4 ++--
 .../D2PDMaker/src/D2PDTruthParticleSelector.cxx     |  4 ++--
 .../D3PDMaker/InDetD3PDMaker/CMakeLists.txt         |  7 +++----
 .../InDetD3PDMaker/src/SiHitFillerTool.cxx          |  2 +-
 .../src/SiHitTruthAssociationTool.cxx               |  2 +-
 .../InDetD3PDMaker/src/SiHitTruthAssociationTool.h  |  2 +-
 .../src/TRTUncompressedHitFillerTool.cxx            |  2 +-
 .../TrackParticleDetailedTruthAssociationTool.cxx   |  4 ++--
 .../src/TrackParticleDetailedTruthAssociationTool.h |  2 +-
 .../src/TrackParticleTruthAssociationTool.cxx       |  2 +-
 .../src/TrackParticleTruthAssociationTool.h         |  4 +---
 .../src/TrkPrepRawDataGenParticleAssociationTool.h  |  2 +-
 .../src/TrkTrackDetailedTruthAssociationTool.cxx    |  2 +-
 .../src/TrkTrackDetailedTruthAssociationTool.h      |  2 +-
 .../src/TrkTrackTruthAssociationTool.h              |  2 +-
 .../InDetD3PDMaker/src/TruthTrackFillerTool.cxx     |  4 ++--
 .../InDetD3PDMaker/src/TruthTrackFillerTool.h       |  4 +---
 .../InDetD3PDMaker/src/TruthTrackGetterTool.h       |  4 ++--
 .../InDetD3PDMaker/src/TruthVertexFillerTool.h      |  2 +-
 .../InDetD3PDMaker/src/TruthVertexGetterTool.h      |  4 ++--
 .../D3PDMaker/JetTagD3PDMaker/CMakeLists.txt        |  6 +++---
 .../src/JetTagJetGenSoftLeptonAssociationTool.cxx   |  4 ++--
 .../src/JetTagJetGenSoftLeptonAssociationTool.h     |  6 ++----
 .../D3PDMaker/MuonD3PDMaker/CMakeLists.txt          |  8 ++++----
 .../src/MuonPatternCombinationFillerTool.cxx        |  2 +-
 .../MuonPatternCombinationMissedHitFillerTool.cxx   |  2 +-
 .../src/MuonSegmentTruthFillerTool.cxx              |  2 +-
 .../MuonD3PDMaker/src/MuonTruthHitsFillerTool.cxx   |  2 +-
 .../D3PDMaker/TileD3PDMaker/CMakeLists.txt          |  6 +++---
 .../TileD3PDMaker/src/TileClusterFillerTool.h       |  6 +++---
 .../TileD3PDMaker/src/TileMuonFillerTool.cxx        |  6 +++---
 .../TileD3PDMaker/src/TileTrackFillerTool.h         |  6 +++---
 .../D3PDMaker/TrackD3PDMaker/CMakeLists.txt         |  8 ++++----
 .../D3PDMaker/TruthD3PDAnalysis/CMakeLists.txt      | 10 +++++-----
 .../TruthD3PDAnalysis/IGenObjectsFilterTool.h       |  9 ++++-----
 .../TruthD3PDAnalysis/TruthParticleFilterBase.h     |  8 +++-----
 .../TruthD3PDAnalysis/src/GenObjectsFilterTool.cxx  |  6 +++---
 .../src/SimpleTruthParticleFilterTool.cxx           |  4 ++--
 .../src/SimpleTruthParticleFilterTool.h             |  4 +---
 .../src/TruthParticleFilterBase.cxx                 |  6 +++---
 .../src/TruthParticleFilterTool.cxx                 |  4 ++--
 .../TruthD3PDAnalysis/src/TruthParticleFilterTool.h |  4 +---
 .../D3PDMaker/TruthD3PDMaker/CMakeLists.txt         |  6 +++---
 .../TruthD3PDMaker/src/GenEventFillerTool.h         |  2 +-
 .../src/GenEventGenParticleAssociationTool.cxx      |  2 +-
 .../src/GenEventGenParticleAssociationTool.h        |  4 ++--
 .../TruthD3PDMaker/src/GenEventGetterFilterTool.cxx |  2 +-
 .../TruthD3PDMaker/src/GenEventGetterFilterTool.h   |  2 +-
 .../TruthD3PDMaker/src/GenEventGetterTool.cxx       |  2 +-
 .../TruthD3PDMaker/src/GenEventPileUpFillerTool.h   |  2 +-
 .../src/GenParticleEventAssociationTool.h           |  4 ++--
 .../TruthD3PDMaker/src/GenParticleFillerTool.cxx    |  6 +++---
 .../TruthD3PDMaker/src/GenParticleFillerTool.h      |  2 +-
 .../TruthD3PDMaker/src/GenParticleGetterTool.cxx    |  2 +-
 .../TruthD3PDMaker/src/GenParticleGetterTool.h      |  2 +-
 .../src/GenParticleParticleAssociationTool.h        |  2 +-
 .../src/GenParticlePerigeeFillerTool.cxx            |  2 +-
 .../src/GenParticlePerigeeFillerTool.h              |  2 +-
 .../src/GenParticleTruthParticleAssociationTool.cxx |  2 +-
 .../src/GenParticleTruthParticleAssociationTool.h   |  2 +-
 .../src/GenParticleVertexAssociationTool.h          |  4 ++--
 .../src/GenVertexEventAssociationTool.h             |  4 ++--
 .../TruthD3PDMaker/src/GenVertexFillerTool.cxx      |  2 +-
 .../TruthD3PDMaker/src/GenVertexFillerTool.h        |  2 +-
 .../TruthD3PDMaker/src/GenVertexGetterTool.cxx      |  2 +-
 .../TruthD3PDMaker/src/GenVertexGetterTool.h        |  2 +-
 .../src/GenVertexParticleAssociationTool.h          |  4 ++--
 .../D3PDMaker/TruthD3PDMaker/src/HforFillerTool.cxx |  2 +-
 .../TruthD3PDMaker/src/JetFullTruthTag.cxx          |  2 +-
 .../TruthD3PDMaker/src/TruthJetFilterTool.cxx       |  6 +++---
 .../TruthD3PDMaker/src/TruthJetFilterTool.h         |  8 +++-----
 .../src/TruthLeptonNearbyAssociationTool.cxx        |  2 +-
 .../src/TruthLeptonNearbyAssociationTool.h          |  4 +---
 .../src/TruthLeptonParentAssociationTool.cxx        |  4 ++--
 .../src/TruthLeptonParentAssociationTool.h          |  4 +---
 .../TruthD3PDMaker/src/TruthParticleFakerTool.cxx   |  4 ++--
 .../TruthD3PDMaker/src/TruthParticleFakerTool.h     |  2 +-
 .../src/TruthParticleGenParticleAssociationTool.h   |  2 +-
 .../src/TruthTauDecayAssociationTool.cxx            |  4 ++--
 .../src/TruthTauDecayAssociationTool.h              |  2 +-
 .../TruthD3PDMaker/src/hepMCInheritance.cxx         |  2 +-
 .../D3PDMaker/egammaD3PDMaker/CMakeLists.txt        |  8 ++++----
 .../src/egammaGenParticleAssociationTool.cxx        |  2 +-
 .../DerivationFrameworkMCTruth/CMakeLists.txt       | 10 +++++-----
 .../DerivationFrameworkMCTruth/CompactHardTruth.h   |  6 +++---
 .../src/CompactHardTruth.cxx                        |  8 ++++----
 PhysicsAnalysis/MCTruthClassifier/CMakeLists.txt    |  2 ++
 .../src/MCTruthClassifierAthena.cxx                 |  2 +-
 .../McParticleEvent/test/TruthParticle_test.cxx     |  6 +++---
 .../McParticleEventTPCnv/CMakeLists.txt             | 10 +++++-----
 .../src/TruthParticleContainerCnv_p5.cxx            |  2 +-
 .../src/TruthParticleContainerCnv_p6.cxx            |  2 +-
 .../TruthParticleID/McParticleKernel/CMakeLists.txt |  3 ++-
 .../McParticleKernel/IMcVtxFilterTool.h             |  2 +-
 .../TruthParticleID/McParticleTests/CMakeLists.txt  |  6 +++---
 .../McParticleTests/src/McAodMcTopAna_solution.cxx  |  6 +++---
 .../TruthParticleID/McParticleTools/CMakeLists.txt  |  6 +++---
 .../McParticleTools/src/GenAodValidationTool.cxx    |  6 +++---
 .../McParticleTools/src/GenAodValidationTool.h      |  6 +++---
 .../McParticleTools/src/HepMcFloatWriterTool.h      |  2 +-
 .../McParticleTools/src/HepMcReaderTool.cxx         |  2 +-
 .../McParticleTools/src/HepMcReaderTool.h           |  4 ++--
 .../McParticleTools/src/HepMcTupleWriterTool.h      |  2 +-
 .../McParticleTools/src/HepMcWriterTool.cxx         |  2 +-
 .../McParticleTools/src/HepMcWriterTool.h           |  4 ++--
 .../McParticleTools/src/McAodWriterTool.cxx         |  2 +-
 .../McParticleTools/src/McVtxFilterTool.cxx         |  6 +++---
 .../McParticleTools/src/McVtxFilterTool.h           |  2 +-
 .../McParticleTools/src/OldSpclMcFilterTool.cxx     |  6 +++---
 .../McParticleTools/src/OldSpclMcFilterTool.h       |  2 +-
 .../McParticleTools/src/PileupFilterTool.cxx        |  6 +++---
 .../McParticleTools/src/PileupFilterTool.h          |  2 +-
 .../McParticleTools/src/TruthIsolationTool.cxx      |  6 +++---
 .../McParticleTools/src/TruthIsolationTool.h        |  4 ++--
 .../McParticleTools/src/TruthParticleCnvTool.cxx    |  8 ++++----
 .../TruthParticleID/McParticleUtils/CMakeLists.txt  |  8 ++++----
 .../McParticleUtils/McParticleUtils/McVtxFilter.h   |  6 +++---
 .../McParticleUtils/src/McVtxFilter.cxx             |  4 ++--
 .../test/McVtxFilterTest_CppUnit.cxx                |  6 +++---
 Reconstruction/MissingETEvent/CMakeLists.txt        |  2 +-
 Reconstruction/MissingETPerformance/CMakeLists.txt  | 10 +++++-----
 .../MissingETPerformance/src/MissingETMuonData.cxx  |  4 ++--
 .../MissingETPerformance/src/MuonTool.cxx           |  6 +++---
 .../MuonCombinedBaseTools/CMakeLists.txt            |  8 ++++----
 .../MuonCombinedBaseTools/src/MuonCaloTagTool.cxx   |  4 ++--
 .../src/MuonTrackTagTestTool.cxx                    |  2 +-
 .../TrackParticleTruthCollectionCnv_p1_test.cxx     |  4 ++--
 .../TrackParticleTruthCollectionCnv_p2_test.cxx     |  4 ++--
 .../iPatInterfaces/iPatInterfaces/ITrajectoryTool.h |  5 +----
 .../iPatInterfaces/ITruthParameters.h               |  6 +-----
 .../iPat/iPatTruthTrajectory/CMakeLists.txt         |  6 +++---
 .../iPatTruthTrajectory/TruthParameters.h           |  2 +-
 Simulation/FastShower/FastCaloSim/CMakeLists.txt    |  4 ++--
 .../src/obsolete/CBNTAA_DetailedCellInfo.cxx        |  2 +-
 .../src/obsolete/FastCaloSimIsGenSimulStable.cxx    |  4 ++--
 Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt        |  4 ++--
 Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt      |  2 +-
 .../G4Extensions/G4ExternalDecay/CMakeLists.txt     |  4 ++--
 Simulation/G4Sim/MCTruth/CMakeLists.txt             |  2 +-
 Simulation/G4Sim/MCTruthBase/CMakeLists.txt         |  4 ++--
 Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt    |  4 ++--
 Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt |  4 ++--
 .../ISF_FastCaloSimParametrization/CMakeLists.txt   |  4 ++--
 .../ISF_FastCaloSimServices/CMakeLists.txt          |  2 +-
 .../ISF_PunchThroughTools/CMakeLists.txt            |  2 +-
 .../ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt   |  2 +-
 .../ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt |  2 +-
 .../ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt   |  4 ++--
 .../ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt   |  2 +-
 .../ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt    |  8 ++++----
 .../ISF/ISF_SimulationSelectors/CMakeLists.txt      |  2 +-
 .../CaloSamplingFractionAnalysis/CMakeLists.txt     |  2 +-
 Simulation/Tools/HitAnalysis/CMakeLists.txt         |  2 +-
 .../Tools/McEventCollectionFilter/CMakeLists.txt    |  4 ++--
 Simulation/TruthJiveXML/CMakeLists.txt              |  2 +-
 .../TrkEventUtils/TrkEventUtils/InverseTruthMap.h   |  2 +-
 .../test/PRD_MultiTruthCollectionCnv_p2_test.cxx    |  4 ++--
 .../test/PRD_MultiTruthCollectionCnv_p3_test.cxx    |  4 ++--
 .../test/TrackTruthCollectionCnv_p1_test.cxx        |  4 ++--
 .../test/TrackTruthCollectionCnv_p2_test.cxx        |  4 ++--
 .../test/TruthTrajectoryCnv_p1_test.cxx             |  4 ++--
 .../test/TruthTrajectoryCnv_p2_test.cxx             |  4 ++--
 .../src/SimpleAmbiguityProcessorToolDebug.cxx       |  6 +++---
 .../src/SimpleAmbiguityProcessorToolDebug.h         |  2 +-
 .../TrkToolInterfaces/ITruthToTrack.h               |  2 +-
 .../TrkToolInterfaces/ITruthTrajectoryBuilder.h     |  2 +-
 .../TrkTools/TrkTruthCreatorTools/CMakeLists.txt    |  6 +++---
 .../DecayInFlyTruthTrajectoryBuilder.h              |  2 +-
 .../ElasticTruthTrajectoryBuilder.h                 |  2 +-
 .../src/DecayInFlyTruthTrajectoryBuilder.cxx        |  4 ++--
 .../src/DetailedTrackTruthBuilder.cxx               |  4 ++--
 .../src/ElasticTruthTrajectoryBuilder.cxx           |  4 ++--
 Tracking/TrkTools/TrkTruthToTrack/CMakeLists.txt    |  8 ++++----
 .../TrkTruthToTrack/TruthTrackRecordToTrack.h       |  2 +-
 .../TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx   |  4 ++--
 .../TrkTruthToTrack/src/TruthTrackRecordToTrack.cxx |  4 ++--
 .../TrkTruthTracks/TrkTruthTrackAlgs/CMakeLists.txt |  8 ++++----
 .../TrkTruthTrackAlgs/src/TruthTrackCreation.cxx    |  4 ++--
 .../IPRD_TruthTrajectoryBuilder.h                   |  4 +---
 .../IPRD_TruthTrajectoryManipulator.h               |  4 +---
 .../TrkTruthTrackInterfaces/PRD_TruthTrajectory.h   |  4 +---
 .../TrkTruthTrackTools/CMakeLists.txt               |  8 ++++----
 .../src/PRD_TruthTrajectoryBuilder.cxx              |  4 ++--
 .../src/PRD_TruthTrajectoryBuilder.h                |  4 +---
 .../TrkTruthTrackTools/src/TruthTrackBuilder.cxx    |  4 ++--
 Tracking/TrkValidation/TrkValAlgs/CMakeLists.txt    |  6 +++---
 .../TrkValAlgs/TrackValidationNtupleWriter.h        |  6 +-----
 .../TrkValAlgs/src/RecMomentumQualityValidation.cxx |  2 +-
 .../TrkValAlgs/src/TrackValidationNtupleWriter.cxx  |  2 +-
 Tracking/TrkValidation/TrkValEvent/CMakeLists.txt   |  8 ++++----
 .../TrkValEvent/TrkValEvent/GenParticleJet.h        |  2 +-
 .../TrkValInterfaces/IGenParticleJetFinder.h        |  4 +---
 .../TrkValInterfaces/IGenParticleSelector.h         |  4 +---
 .../TrkValInterfaces/IJetTruthNtupleTool.h          |  6 +-----
 .../TrkValInterfaces/ITrackTruthClassifier.h        |  4 +---
 .../TrkValInterfaces/ITruthNtupleTool.h             |  6 +-----
 Tracking/TrkValidation/TrkValTools/CMakeLists.txt   |  6 +++---
 .../TrkValTools/PrimaryTruthClassifier.h            |  2 +-
 .../TrkValTools/src/InDetHaloSelector.cxx           |  4 ++--
 .../src/InDetPrimaryConversionSelector.cxx          |  4 ++--
 .../src/InDetReconstructableSelector.cxx            |  4 ++--
 .../TrkValTools/src/JetTruthNtupleTool.cxx          |  2 +-
 .../TrkValTools/src/PerigeeParametersNtupleTool.cxx |  2 +-
 .../TrkValTools/src/PrimaryTruthClassifier.cxx      |  2 +-
 .../TrkValTools/src/TrackSummaryNtupleTool.cxx      |  2 +-
 .../TrkValTools/src/TruthNtupleTool.cxx             |  4 ++--
 .../CMakeLists.txt                                  |  4 ++--
 .../IMcEventNtupleTool.h                            |  2 +-
 .../TrkVertexFitterValidationTools/CMakeLists.txt   |  6 +++---
 .../src/BasicVtxValidationNtupleTool.cxx            |  4 ++--
 .../src/McEventNtupleTool.cxx                       |  6 +++---
 .../src/TrueTracksNtupleTool.cxx                    |  6 +++---
 .../TrkVertexFitterValidationUtils/CMakeLists.txt   | 10 +++++-----
 .../src/TrkPriVxPurityTool.cxx                      |  6 +++---
 .../TrkVertexSeedFinderTools/CMakeLists.txt         |  6 +++---
 .../TrkVertexSeedFinderTools/MCTrueSeedFinder.h     |  6 ++----
 .../src/MCTrueSeedFinder.cxx                        |  6 +++---
 .../TrkVertexFitter/TrkVertexTools/CMakeLists.txt   |  6 +++---
 .../TrkVertexTools/src/TruthVertexSelectionTool.cxx |  2 +-
 .../TrigInDetAnalysisExample/CMakeLists.txt         | 13 +++++++------
 .../T_AnalysisConfigMT_Tier0.h                      |  6 +++---
 .../T_AnalysisConfig_Tier0.h                        |  6 +++---
 .../src/AnalysisConfig_Ntuple.cxx                   |  6 +++---
 .../TrigInDetAnalysisUtils/CMakeLists.txt           |  8 ++++----
 .../TrigInDetAnalysisUtils/TrigTrackSelector.h      |  6 +++---
 .../TrigInDetAnalysisUtils/TrigTrackSelector_old.h  |  6 +++---
 .../TrigAnalysis/TrigInDetTruthAlgs/CMakeLists.txt  |  6 +++---
 .../src/TrigInDetTrackTruthMaker.cxx                |  2 +-
 .../src/TrigL2SpacePointTruthTool.cxx               |  2 +-
 Trigger/TrigFake/CMakeLists.txt                     | 10 +++++-----
 Trigger/TrigFake/src/FakeLvl1RoIfromKine.cxx        |  4 ++--
 Trigger/TrigFake/src/ZVertexFromKine.cxx            |  4 ++--
 Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt     | 12 ++++++------
 .../TrigT1NSWSimTools/src/MMLoadVariables.cxx       |  2 +-
 Trigger/TrigT1/TrigT1RPCsteering/CMakeLists.txt     |  6 +++---
 Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx  |  2 +-
 Trigger/TrigT1/TrigT1ZDC/CMakeLists.txt             |  6 +++---
 Trigger/TrigT1/TrigT1ZDC/src/TrigT1ZDC.cxx          |  2 +-
 .../TrigInDetTruthEvent/CMakeLists.txt              | 10 +++++-----
 .../TrigInDetTruthEvent/TrigInDetTrackTruth.h       |  4 ++--
 .../TrigInDetTruthEvent/TrigInDetTrackTruthMap.h    |  2 +-
 .../test/TrigInDetTrackTruthCnv_p1_test.cxx         |  4 ++--
 .../test/TrigInDetTrackTruthMapCnv_p1_test.cxx      |  4 ++--
 graphics/VP1/VP1Systems/VP1MCSystems/CMakeLists.txt |  6 +++---
 .../VP1/VP1Systems/VP1MCSystems/src/VP1MCSystem.cxx |  4 ++--
 .../VP1/VP1Systems/VP1TrackSystems/CMakeLists.txt   |  9 +++++----
 .../VP1TrackSystems/AscObj_TruthPoint.h             |  3 ++-
 .../VP1TrackSystems/TrackHandle_TruthTrack.h        |  2 +-
 .../VP1TrackSystems/src/AscObj_TruthPoint.cxx       |  4 ++--
 .../src/TrackCollHandle_SimulationTracks.cxx        |  6 +++---
 .../src/TrackCollHandle_TruthTracks.cxx             |  6 +++---
 .../src/TrackHandle_FatrasTruthTrack.cxx            |  2 +-
 .../src/TrackHandle_SimulationTrack.cxx             |  6 +++---
 .../VP1TrackSystems/src/TrackHandle_TruthTrack.cxx  |  6 +++---
 .../VP1/VP1Systems/VP1VertexSystems/CMakeLists.txt  |  6 +++---
 .../src/VP1TruthVertexCollection.cxx                |  4 ++--
 424 files changed, 913 insertions(+), 962 deletions(-)
 create mode 100644 Generators/AtlasHepMC/AtlasHepMC/IO_BaseClass_fwd.h
 create mode 100644 Generators/AtlasHepMC/AtlasHepMC/IO_GenEvent_fwd.h

diff --git a/Calorimeter/CaloExample/CaloTests/CMakeLists.txt b/Calorimeter/CaloExample/CaloTests/CMakeLists.txt
index 56901b01727..a5f2473b823 100644
--- a/Calorimeter/CaloExample/CaloTests/CMakeLists.txt
+++ b/Calorimeter/CaloExample/CaloTests/CMakeLists.txt
@@ -20,6 +20,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Calorimeter/CaloSimEvent
                           Control/AthenaKernel
                           DetectorDescription/AtlasDetDescr
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           LArCalorimeter/LArIdentifier
                           LArCalorimeter/LArRawEvent
@@ -29,15 +30,14 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( AIDA )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( CaloTests
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} CaloDetDescrLib CaloIdentifier AthenaBaseComps StoreGateLib SGtests Identifier GaudiKernel CaloEvent CaloGeoHelpers CaloSimEvent AthenaKernel AtlasDetDescr GeneratorObjects LArIdentifier LArRawEvent LArRawUtilsLib LArSimEvent LArCablingLib )
+                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib CaloDetDescrLib CaloIdentifier AthenaBaseComps StoreGateLib SGtests Identifier GaudiKernel CaloEvent CaloGeoHelpers CaloSimEvent AthenaKernel AtlasDetDescr GeneratorObjects LArIdentifier LArRawEvent LArRawUtilsLib LArSimEvent LArCablingLib )
 
 # Install files from the package:
 atlas_install_headers( CaloTests )
diff --git a/Calorimeter/CaloExample/CaloTests/src/MyAnalysis.cxx b/Calorimeter/CaloExample/CaloTests/src/MyAnalysis.cxx
index c4bf2e213df..ed1ed34de97 100644
--- a/Calorimeter/CaloExample/CaloTests/src/MyAnalysis.cxx
+++ b/Calorimeter/CaloExample/CaloTests/src/MyAnalysis.cxx
@@ -28,8 +28,8 @@
 #include "LArIdentifier/LArOnlineID.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "StoreGate/ReadHandle.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "GaudiKernel/IToolSvc.h"
 #include "GaudiKernel/ListItem.h"
diff --git a/Calorimeter/CaloExample/CaloTests/src/MyAnalysisCal.cxx b/Calorimeter/CaloExample/CaloTests/src/MyAnalysisCal.cxx
index 8b6e2c5145c..c593491334e 100644
--- a/Calorimeter/CaloExample/CaloTests/src/MyAnalysisCal.cxx
+++ b/Calorimeter/CaloExample/CaloTests/src/MyAnalysisCal.cxx
@@ -13,8 +13,8 @@
 #include "CaloSimEvent/CaloCalibrationHitContainer.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "StoreGate/ReadHandle.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 
diff --git a/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_SIDLocReco.h b/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_SIDLocReco.h
index 726b223884d..b12b42b015b 100644
--- a/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_SIDLocReco.h
+++ b/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_SIDLocReco.h
@@ -54,9 +54,9 @@
 
 //for truth particles
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // xAOD 
 #include "xAODForward/AFPTrackContainer.h"
diff --git a/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_TDLocReco.h b/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_TDLocReco.h
index 17af9482b3f..77de8bd1380 100644
--- a/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_TDLocReco.h
+++ b/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/AFP_LocReco/AFP_TDLocReco.h
@@ -50,9 +50,9 @@
 
 //for truth particles
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 
diff --git a/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/CMakeLists.txt b/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/CMakeLists.txt
index c69b5d1eb63..425585ebbd3 100644
--- a/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/CMakeLists.txt
+++ b/ForwardDetectors/AFP/AFP_Reconstruction/AFP_LocReco/CMakeLists.txt
@@ -17,13 +17,13 @@ atlas_depends_on_subdirs( PUBLIC
                           ForwardDetectors/AFP/AFP_RecoEv/AFP_LocRecoEv
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
 			  Event/xAOD/xAODForward
 			  PRIVATE
 			  Control/AthLinks)
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 
 # tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
@@ -34,8 +34,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_component( AFP_LocReco
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests AthenaPoolUtilities EventInfo AFP_DigiEv AFP_Geometry AFP_LocRecoEv GaudiKernel GeneratorObjects xAODForward AthLinks)
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel StoreGateLib SGtests AthenaPoolUtilities EventInfo AFP_DigiEv AFP_Geometry AFP_LocRecoEv GaudiKernel GeneratorObjects xAODForward AthLinks)
 
 # Install files from the package:
 atlas_install_headers( AFP_LocReco )
diff --git a/ForwardDetectors/ALFA/ALFA_BeamTransport/ALFA_BeamTransport/ALFA_BeamTransport.h b/ForwardDetectors/ALFA/ALFA_BeamTransport/ALFA_BeamTransport/ALFA_BeamTransport.h
index 0db21d09ef3..f32bd43491a 100644
--- a/ForwardDetectors/ALFA/ALFA_BeamTransport/ALFA_BeamTransport/ALFA_BeamTransport.h
+++ b/ForwardDetectors/ALFA/ALFA_BeamTransport/ALFA_BeamTransport/ALFA_BeamTransport.h
@@ -19,7 +19,7 @@
 
 
 #include "TH1.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 //FPTracker
 #include "FPTracker/Particle.h"
diff --git a/ForwardDetectors/ALFA/ALFA_BeamTransport/CMakeLists.txt b/ForwardDetectors/ALFA/ALFA_BeamTransport/CMakeLists.txt
index 39b6bea40f8..7198470f305 100644
--- a/ForwardDetectors/ALFA/ALFA_BeamTransport/CMakeLists.txt
+++ b/ForwardDetectors/ALFA/ALFA_BeamTransport/CMakeLists.txt
@@ -13,19 +13,20 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Control/StoreGate
                           Event/EventInfo
-                          Generators/GeneratorObjects )
+                          Generators/GeneratorObjects 
+                          Generators/AtlasHepMC
+                          )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( ALFA_BeamTransport
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps FPTracker GaudiKernel StoreGateLib SGtests EventInfo GeneratorObjects FPTracker )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps FPTracker GaudiKernel StoreGateLib SGtests EventInfo GeneratorObjects FPTracker )
 
 # Install files from the package:
 atlas_install_headers( ALFA_BeamTransport )
diff --git a/ForwardDetectors/ALFA/ALFA_BeamTransport/src/ALFA_BeamTransport.cxx b/ForwardDetectors/ALFA/ALFA_BeamTransport/src/ALFA_BeamTransport.cxx
index d6f6ae92ed7..299c8768d16 100644
--- a/ForwardDetectors/ALFA/ALFA_BeamTransport/src/ALFA_BeamTransport.cxx
+++ b/ForwardDetectors/ALFA/ALFA_BeamTransport/src/ALFA_BeamTransport.cxx
@@ -29,9 +29,9 @@
 #include "EventInfo/EventID.h"
 #include "GeneratorObjects/McEventCollection.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/SimpleVector.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //ROOT headers
 #include "TFile.h"
diff --git a/ForwardDetectors/ALFA/ALFA_Digitization/CMakeLists.txt b/ForwardDetectors/ALFA/ALFA_Digitization/CMakeLists.txt
index d845ffc73b2..9fa388cfcef 100644
--- a/ForwardDetectors/ALFA/ALFA_Digitization/CMakeLists.txt
+++ b/ForwardDetectors/ALFA/ALFA_Digitization/CMakeLists.txt
@@ -17,19 +17,19 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           DetectorDescription/Identifier
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tools/PathResolver )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( ALFA_Digitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel PileUpToolsLib ALFA_RawEv ALFA_SimEv GaudiKernel HitManagement Identifier GeneratorObjects PathResolver )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel PileUpToolsLib ALFA_RawEv ALFA_SimEv GaudiKernel HitManagement Identifier GeneratorObjects PathResolver )
 
 # Install files from the package:
 atlas_install_headers( ALFA_Digitization )
diff --git a/ForwardDetectors/ALFA/ALFA_Digitization/src/ALFA_PileUpTool.cxx b/ForwardDetectors/ALFA/ALFA_Digitization/src/ALFA_PileUpTool.cxx
index 730b51b0e3b..c2931c4de78 100644
--- a/ForwardDetectors/ALFA/ALFA_Digitization/src/ALFA_PileUpTool.cxx
+++ b/ForwardDetectors/ALFA/ALFA_Digitization/src/ALFA_PileUpTool.cxx
@@ -30,12 +30,12 @@
 #include <functional>
 
 //for truth particles
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Vector/LorentzVector.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 #include "TTree.h"
 
diff --git a/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/ALFA_LocRec/ALFA_LocRec.h b/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/ALFA_LocRec/ALFA_LocRec.h
index de54c274970..8e1b02bf26d 100644
--- a/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/ALFA_LocRec/ALFA_LocRec.h
+++ b/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/ALFA_LocRec/ALFA_LocRec.h
@@ -56,9 +56,9 @@
 
 //for truth particles
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 typedef struct _USERTRANSFORM
 {
diff --git a/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/CMakeLists.txt b/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/CMakeLists.txt
index 74090af3b80..5b7f7e1e8bf 100644
--- a/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/CMakeLists.txt
+++ b/ForwardDetectors/ALFA/ALFA_Reconstruction/ALFA_LocRec/CMakeLists.txt
@@ -16,10 +16,11 @@ atlas_depends_on_subdirs( PUBLIC
                           ForwardDetectors/ALFA/ALFA_RawEv
                           ForwardDetectors/ALFA/ALFA_RecEv/ALFA_LocRecEv
                           GaudiKernel
-                          Generators/GeneratorObjects )
+                          Generators/GeneratorObjects
+                          Generators/AtlasHepMC
+                           )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 
 # tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
@@ -30,8 +31,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_component( ALFA_LocRec
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests AthenaPoolUtilities EventInfo ALFA_Geometry ALFA_RawEv ALFA_LocRecEv GaudiKernel GeneratorObjects )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel StoreGateLib SGtests AthenaPoolUtilities EventInfo ALFA_Geometry ALFA_RawEv ALFA_LocRecEv GaudiKernel GeneratorObjects )
 
 # Install files from the package:
 atlas_install_headers( ALFA_LocRec )
diff --git a/ForwardDetectors/ForwardTransport/CMakeLists.txt b/ForwardDetectors/ForwardTransport/CMakeLists.txt
index ab28fb3438a..1134d6d01d4 100644
--- a/ForwardDetectors/ForwardTransport/CMakeLists.txt
+++ b/ForwardDetectors/ForwardTransport/CMakeLists.txt
@@ -10,20 +10,21 @@ atlas_depends_on_subdirs( PRIVATE
                           ForwardDetectors/ForwardTracker
                           ForwardDetectors/ForwardTransportSvc
                           GaudiKernel
-                          Simulation/G4Atlas/G4AtlasTools )
+                          Simulation/G4Atlas/G4AtlasTools
+                          Generators/AtlasHepMC
+                           )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( XercesC )
 
 # Component(s) in the package:
 atlas_add_component( ForwardTransport
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ForwardTracker GaudiKernel G4AtlasToolsLib )
+                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ForwardTracker GaudiKernel G4AtlasToolsLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/ForwardDetectors/ForwardTransport/src/ForwardTransportModel.cxx b/ForwardDetectors/ForwardTransport/src/ForwardTransportModel.cxx
index ace2ee07dbc..1bbb8b5313e 100644
--- a/ForwardDetectors/ForwardTransport/src/ForwardTransportModel.cxx
+++ b/ForwardDetectors/ForwardTransport/src/ForwardTransportModel.cxx
@@ -14,7 +14,7 @@
 #include "G4Gamma.hh"
 #include "G4Lambda.hh"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 ForwardTransportModel::ForwardTransportModel(const std::string& name, const int verboseLevel, const std::string& FwdTrSvcName)
   : G4VFastSimulationModel(name)
diff --git a/ForwardDetectors/ForwardTransportFast/CMakeLists.txt b/ForwardDetectors/ForwardTransportFast/CMakeLists.txt
index d16e5bd24fc..44dd9e68313 100644
--- a/ForwardDetectors/ForwardTransportFast/CMakeLists.txt
+++ b/ForwardDetectors/ForwardTransportFast/CMakeLists.txt
@@ -12,20 +12,20 @@ atlas_depends_on_subdirs( PUBLIC
                           ForwardDetectors/ForwardTransportSvc
                           GaudiKernel
                           PRIVATE
-                          Generators/GeneratorObjects )
+                          Generators/GeneratorObjects
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( ForwardTransportFast
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEANT4_LIBRARIES} AthenaBaseComps ForwardTracker GaudiKernel GeneratorObjects ForwardTracker )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEANT4_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} AthenaBaseComps ForwardTracker GaudiKernel GeneratorObjects ForwardTracker )
 
 # Install files from the package:
 atlas_install_headers( ForwardTransportFast )
diff --git a/ForwardDetectors/ForwardTransportFast/src/ForwardTransportFast.cxx b/ForwardDetectors/ForwardTransportFast/src/ForwardTransportFast.cxx
index d7c7296bbb6..4a48377a50a 100644
--- a/ForwardDetectors/ForwardTransportFast/src/ForwardTransportFast.cxx
+++ b/ForwardDetectors/ForwardTransportFast/src/ForwardTransportFast.cxx
@@ -4,7 +4,7 @@
 
 #include "GeneratorObjects/McEventCollection.h"
 #include "CLHEP/Units/SystemOfUnits.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "ForwardTransportFast/ForwardTransportFast.h"
 #include "ForwardTracker/Particle.h"
diff --git a/ForwardDetectors/ForwardTransportSvc/CMakeLists.txt b/ForwardDetectors/ForwardTransportSvc/CMakeLists.txt
index a6398e229dc..ce54b142463 100644
--- a/ForwardDetectors/ForwardTransportSvc/CMakeLists.txt
+++ b/ForwardDetectors/ForwardTransportSvc/CMakeLists.txt
@@ -11,12 +11,12 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           PRIVATE
                           Control/AthenaBaseComps
-                          Generators/GeneratorObjects )
+                          Generators/GeneratorObjects 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( XercesC )
 
@@ -24,8 +24,8 @@ find_package( XercesC )
 atlas_add_component( ForwardTransportSvc
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ForwardTracker GaudiKernel AthenaBaseComps GeneratorObjects ForwardTracker )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ForwardTracker GaudiKernel AthenaBaseComps GeneratorObjects ForwardTracker )
 
 # Install files from the package:
 atlas_install_headers( ForwardTransportSvc )
diff --git a/ForwardDetectors/ForwardTransportSvc/ForwardTransportSvc/IForwardTransportSvc.h b/ForwardDetectors/ForwardTransportSvc/ForwardTransportSvc/IForwardTransportSvc.h
index ca8c00d0a88..1124fa1ba7b 100755
--- a/ForwardDetectors/ForwardTransportSvc/ForwardTransportSvc/IForwardTransportSvc.h
+++ b/ForwardDetectors/ForwardTransportSvc/ForwardTransportSvc/IForwardTransportSvc.h
@@ -8,7 +8,7 @@
 #include "GaudiKernel/IInterface.h"
 #include "GaudiKernel/StatusCode.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "ForwardTracker/ConfigData.h"
 
diff --git a/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p1_test.cxx b/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p1_test.cxx
index 51d5a2c4156..ae802360f50 100644
--- a/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p1_test.cxx
+++ b/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p2_test.cxx b/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p2_test.cxx
index df6b13213a2..66709d3eb89 100644
--- a/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p2_test.cxx
+++ b/ForwardDetectors/LUCID/LUCID_Cnv/LUCID_EventTPCnv/test/LUCID_SimHitCnv_p2_test.cxx
@@ -17,8 +17,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/Generators/AtlasHepMC/AtlasHepMC/IO_BaseClass_fwd.h b/Generators/AtlasHepMC/AtlasHepMC/IO_BaseClass_fwd.h
new file mode 100644
index 00000000000..fdff3e8119f
--- /dev/null
+++ b/Generators/AtlasHepMC/AtlasHepMC/IO_BaseClass_fwd.h
@@ -0,0 +1,7 @@
+/* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+   Author: Andrii Verbytskyi andrii.verbytskyi@mpp.mpg.de
+*/
+#ifndef ATLASHEPMC_IOBASECLASS_FWD_H
+#define ATLASHEPMC_IOBASECLASS_FWD_H
+namespace HepMC {class IO_BaseClass;}
+#endif
diff --git a/Generators/AtlasHepMC/AtlasHepMC/IO_GenEvent_fwd.h b/Generators/AtlasHepMC/AtlasHepMC/IO_GenEvent_fwd.h
new file mode 100644
index 00000000000..e95f174a3c3
--- /dev/null
+++ b/Generators/AtlasHepMC/AtlasHepMC/IO_GenEvent_fwd.h
@@ -0,0 +1,8 @@
+/* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+   Author: Andrii Verbytskyi andrii.verbytskyi@mpp.mpg.de
+*/
+#ifndef ATLASHEPMC_IOGENEVENT_FWD_H
+#define ATLASHEPMC_IOGENEVENT_FWD_H
+namespace HepMC { class IO_GenEvent; }
+#endif
+
diff --git a/Generators/GeneratorFilters/GeneratorFilters/BoostedHadTopAndTopPair.h b/Generators/GeneratorFilters/GeneratorFilters/BoostedHadTopAndTopPair.h
index 5c72d214bc5..94ab2767a65 100644
--- a/Generators/GeneratorFilters/GeneratorFilters/BoostedHadTopAndTopPair.h
+++ b/Generators/GeneratorFilters/GeneratorFilters/BoostedHadTopAndTopPair.h
@@ -17,9 +17,7 @@
 #include <iostream>
 #include "GeneratorModules/GenFilter.h"
 
-namespace HepMC{
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 
 /// Filter events based on presence of charged leptons
diff --git a/Generators/GeneratorFilters/GeneratorFilters/TTbarPlusHeavyFlavorFilter.h b/Generators/GeneratorFilters/GeneratorFilters/TTbarPlusHeavyFlavorFilter.h
index ceb763b930a..4802aabba2a 100644
--- a/Generators/GeneratorFilters/GeneratorFilters/TTbarPlusHeavyFlavorFilter.h
+++ b/Generators/GeneratorFilters/GeneratorFilters/TTbarPlusHeavyFlavorFilter.h
@@ -15,9 +15,7 @@
 
 #include "GeneratorModules/GenFilter.h"
 
-namespace HepMC{
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 class TTbarPlusHeavyFlavorFilter: public GenFilter {
 public:
diff --git a/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt b/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt
index 1bb5dcb381a..51b0adc9468 100644
--- a/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt
+++ b/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt
@@ -40,21 +40,22 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkRIO_OnTrack
                           Tracking/TrkEvent/TrkTrackSummary
                           Tracking/TrkEvent/TrkTruthData
-                          Tracking/TrkFitter/TrkFitterInterfaces )
+                          Tracking/TrkFitter/TrkFitterInterfaces 
+                          Generators/AtlasHepMC
+                          )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess )
 find_package( Eigen )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( InDetAlignGenTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CORAL_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaPoolUtilities GeoPrimitives Identifier EventPrimitives InDetAlignTrkInfo InDetPrepRawData TrkEventPrimitives TrkEventUtils TrkTrack TrkExInterfaces TrkToolInterfaces AthenaKernel AthContainers AtlasDetDescr DetDescrConditions GaudiKernel InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry TrkMeasurementBase TrkParameters TrkPrepRawData TrkRIO_OnTrack TrkTrackSummary TrkTruthData TrkFitterInterfaces EventContainers )
+                     INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${CORAL_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps AthenaPoolUtilities GeoPrimitives Identifier EventPrimitives InDetAlignTrkInfo InDetPrepRawData TrkEventPrimitives TrkEventUtils TrkTrack TrkExInterfaces TrkToolInterfaces AthenaKernel AthContainers AtlasDetDescr DetDescrConditions GaudiKernel InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry TrkMeasurementBase TrkParameters TrkPrepRawData TrkRIO_OnTrack TrkTrackSummary TrkTruthData TrkFitterInterfaces EventContainers )
 
 # Install files from the package:
 atlas_install_headers( InDetAlignGenTools )
diff --git a/InnerDetector/InDetAlignTools/InDetAlignGenTools/src/InDetAlignFillTrack.cxx b/InnerDetector/InDetAlignTools/InDetAlignGenTools/src/InDetAlignFillTrack.cxx
index 121aa2ed174..9148ea93b01 100644
--- a/InnerDetector/InDetAlignTools/InDetAlignGenTools/src/InDetAlignFillTrack.cxx
+++ b/InnerDetector/InDetAlignTools/InDetAlignGenTools/src/InDetAlignFillTrack.cxx
@@ -45,8 +45,8 @@
 
 #include "InDetAlignGenTools/InDetAlignFillTrack.h"
 #include "HepPDT/ParticleDataTable.hh"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include <string>
 
diff --git a/InnerDetector/InDetAlignment/InDetAlignNtupleTools/CMakeLists.txt b/InnerDetector/InDetAlignment/InDetAlignNtupleTools/CMakeLists.txt
index e3364b4a950..77b57a52115 100644
--- a/InnerDetector/InDetAlignment/InDetAlignNtupleTools/CMakeLists.txt
+++ b/InnerDetector/InDetAlignment/InDetAlignNtupleTools/CMakeLists.txt
@@ -14,6 +14,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/EventPrimitives
                           Event/xAOD/xAODEventInfo
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           InnerDetector/InDetDetDescr/InDetIdentifier
                           Tracking/TrkAlignment/TrkAlignEvent
                           Tracking/TrkEvent/TrkEventPrimitives
@@ -27,15 +28,14 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkTools/TrkToolInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( InDetAlignNtupleTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel EventPrimitives xAODEventInfo GeneratorObjects InDetIdentifier TrkAlignEvent TrkEventPrimitives TrkParameters TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkVertexOnTrack TrkExInterfaces TrkToolInterfaces )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel EventPrimitives xAODEventInfo GeneratorObjects InDetIdentifier TrkAlignEvent TrkEventPrimitives TrkParameters TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkVertexOnTrack TrkExInterfaces TrkToolInterfaces )
 
 # Install files from the package:
 atlas_install_headers( InDetAlignNtupleTools )
diff --git a/InnerDetector/InDetAlignment/InDetAlignNtupleTools/src/DetailedIDNtupleTool.cxx b/InnerDetector/InDetAlignment/InDetAlignNtupleTools/src/DetailedIDNtupleTool.cxx
index 2bfba3d0cc8..492211acc5c 100644
--- a/InnerDetector/InDetAlignment/InDetAlignNtupleTools/src/DetailedIDNtupleTool.cxx
+++ b/InnerDetector/InDetAlignment/InDetAlignNtupleTools/src/DetailedIDNtupleTool.cxx
@@ -21,8 +21,8 @@
 
 #include "TrkTruthData/TrackTruth.h"
 #include "TrkTruthData/TrackTruthCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "TrkAlignInterfaces/IAlignModuleTool.h"
 
diff --git a/InnerDetector/InDetDigitization/FastSiDigitization/CMakeLists.txt b/InnerDetector/InDetDigitization/FastSiDigitization/CMakeLists.txt
index 8b683fa51f9..4d0791002f9 100644
--- a/InnerDetector/InDetDigitization/FastSiDigitization/CMakeLists.txt
+++ b/InnerDetector/InDetDigitization/FastSiDigitization/CMakeLists.txt
@@ -38,20 +38,20 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkExtrapolation/TrkExUtils
                           Tracking/TrkDigitization/TrkDigEvent
                           Tracking/TrkDigitization/TrkDigInterfaces
-                          DetectorDescription/GeoPrimitives )
+                          DetectorDescription/GeoPrimitives 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( FastSiDigitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel PileUpToolsLib EventPrimitives xAODEventInfo GaudiKernel InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry InDetSimData InDetPrepRawData SiClusterizationToolLib InDetSimEvent HitManagement ISF_FatrasDetDescrModel ISF_FatrasEvent TrkTruthData StoreGateLib SGtests Identifier GeneratorObjects InDetIdentifier TrkDetDescrInterfaces TrkDigEvent TrkGeometry TrkSurfaces TrkExUtils )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel PileUpToolsLib EventPrimitives xAODEventInfo GaudiKernel InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry InDetSimData InDetPrepRawData SiClusterizationToolLib InDetSimEvent HitManagement ISF_FatrasDetDescrModel ISF_FatrasEvent TrkTruthData StoreGateLib SGtests Identifier GeneratorObjects InDetIdentifier TrkDetDescrInterfaces TrkDigEvent TrkGeometry TrkSurfaces TrkExUtils )
 
 # Install files from the package:
 atlas_install_headers( FastSiDigitization )
diff --git a/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx b/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx
index b7b0b87df9b..4a59f62aad3 100644
--- a/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx
@@ -45,7 +45,7 @@
 #include "AthenaKernel/IAtRndmGenSvc.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //Package For New Tracking:
 // Amg includes
diff --git a/InnerDetector/InDetDigitization/FastSiDigitization/src/SCT_FastDigitizationTool.cxx b/InnerDetector/InDetDigitization/FastSiDigitization/src/SCT_FastDigitizationTool.cxx
index 706125523db..aa8fd1750f7 100644
--- a/InnerDetector/InDetDigitization/FastSiDigitization/src/SCT_FastDigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/FastSiDigitization/src/SCT_FastDigitizationTool.cxx
@@ -36,7 +36,7 @@
 #include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // CLHEP
 #include "CLHEP/Random/RandomEngine.h"
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/CMakeLists.txt b/InnerDetector/InDetDigitization/PixelDigitization/CMakeLists.txt
index 08abafa1594..ffcbb486fee 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/CMakeLists.txt
+++ b/InnerDetector/InDetDigitization/PixelDigitization/CMakeLists.txt
@@ -16,6 +16,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           DetectorDescription/Identifier
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           InnerDetector/InDetConditions/InDetConditionsSummaryService
                           InnerDetector/InDetConditions/InDetCondTools
                           InnerDetector/InDetConditions/PixelConditionsTools
@@ -34,15 +35,14 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread Matrix TreePlayer )
 
 # Component(s) in the package:
 atlas_add_component( PixelDigitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel CommissionEvent AthenaKernel PileUpToolsLib StoreGateLib SGtests Identifier GeneratorObjects PixelConditionsData SiPropertiesToolLib InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SiDigitization InDetRawData InDetSimData InDetSimEvent HitManagement PathResolver )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel CommissionEvent AthenaKernel PileUpToolsLib StoreGateLib SGtests Identifier GeneratorObjects PixelConditionsData SiPropertiesToolLib InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SiDigitization InDetRawData InDetSimData InDetSimEvent HitManagement PathResolver )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.cxx
index 9cf0b01b2fe..97b5f36ee9b 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.cxx
+++ b/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.cxx
@@ -14,9 +14,9 @@
 #include "InDetIdentifier/PixelID.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "SiPropertiesTool/SiliconProperties.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "PathResolver/PathResolver.h"
 #include <fstream>
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/RadDamageUtil.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/RadDamageUtil.cxx
index 3f733170edd..440a2e9f552 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/src/RadDamageUtil.cxx
+++ b/InnerDetector/InDetDigitization/PixelDigitization/src/RadDamageUtil.cxx
@@ -15,9 +15,9 @@
 #include "InDetIdentifier/PixelID.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "SiPropertiesTool/SiliconProperties.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "PathResolver/PathResolver.h"
 #include <fstream>
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx
index f3a52c36b15..d7cef6302e5 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx
+++ b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSim3DTool.cxx
@@ -11,9 +11,9 @@
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "SiPropertiesTool/SiliconProperties.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "CLHEP/Random/RandFlat.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
 
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx
index 43c50767f4a..80a9937ae72 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx
+++ b/InnerDetector/InDetDigitization/PixelDigitization/src/SensorSimPlanarTool.cxx
@@ -10,9 +10,9 @@
 #include "InDetIdentifier/PixelID.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "SiPropertiesTool/SiliconProperties.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "CLHEP/Random/RandFlat.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
 
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/CMakeLists.txt b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/CMakeLists.txt
index d290955864c..fc0ecb7ee87 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/CMakeLists.txt
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/CMakeLists.txt
@@ -29,19 +29,19 @@ atlas_depends_on_subdirs( PUBLIC
                           InnerDetector/InDetRecTools/TRT_DriftFunctionTool
                           InnerDetector/InDetSimEvent
                           Tracking/TrkDetDescr/TrkSurfaces
-                          Tracking/TrkEvent/TrkTruthData )
+                          Tracking/TrkEvent/TrkTruthData 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( InDetPrepRawDataToxAOD
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel AthenaBaseComps StoreGateLib SGtests Identifier InDetByteStreamErrors PixelConditionsData xAODTracking TRT_ConditionsServicesLib InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry TRT_ReadoutGeometry InDetRawData InDetSimData InDetPrepRawData InDetSimEvent TrkSurfaces TrkTruthData )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel AthenaBaseComps StoreGateLib SGtests Identifier InDetByteStreamErrors PixelConditionsData xAODTracking TRT_ConditionsServicesLib InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry TRT_ReadoutGeometry InDetRawData InDetSimData InDetPrepRawData InDetSimEvent TrkSurfaces TrkTruthData )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx
index 5461e2e0d84..0b2e20a09ed 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx
@@ -21,8 +21,8 @@
 
 
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "InDetSimEvent/SiHit.h"
 #include "InDetSimData/InDetSimDataCollection.h"
 
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx
index 97dc81d6f99..23cb80d4d03 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx
@@ -17,7 +17,7 @@
 #include "StoreGate/WriteHandle.h"
 #include "xAODTracking/TrackMeasurementValidationAuxContainer.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "CLHEP/Geometry/Point3D.h"
 
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCnv_p1_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCnv_p1_test.cxx
index 3ba814891c5..ecc75766f73 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCnv_p1_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p2_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p2_test.cxx
index 2729c87fb73..4e6fa39f52f 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p2_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p3_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p3_test.cxx
index 597f9d21137..d66def373f6 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p3_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/SiHitCollectionCnv_p3_test.cxx
@@ -17,8 +17,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCnv_p1_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCnv_p1_test.cxx
index b0947c43205..172512e34d5 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCnv_p1_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 void compare (const HepMcParticleLink& p1,
               const HepMcParticleLink& p2)
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p2_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p2_test.cxx
index de1afb5f4ae..6eff0faf881 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p2_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 void compare (const HepMcParticleLink& p1,
               const HepMcParticleLink& p2)
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p3_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p3_test.cxx
index 19d3c099ede..4f9b1cdff52 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p3_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p3_test.cxx
@@ -20,8 +20,8 @@
 #include <cmath>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 using Athena_test::isEqual;
 using std::atan2;
diff --git a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p4_test.cxx b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p4_test.cxx
index d57eccd700d..7cd6335bba4 100644
--- a/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p4_test.cxx
+++ b/InnerDetector/InDetEventCnv/InDetSimEventTPCnv/test/TRT_HitCollectionCnv_p4_test.cxx
@@ -20,8 +20,8 @@
 #include <cmath>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 using Athena_test::isEqual;
 using std::atan2;
diff --git a/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx b/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx
index 5868544defe..3ea9496eee4 100644
--- a/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx
+++ b/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx
@@ -28,7 +28,7 @@
 #include "MCTruth/TrackHelper.h"
 #include "MCTruth/TrackInformation.h"
 #include "MCTruth/VTrackInformation.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 //set environment
 class GaudiEnvironment : public ::testing::Environment {
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/CMakeLists.txt b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/CMakeLists.txt
index f467b3ccdd9..a309f350ed1 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/CMakeLists.txt
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/CMakeLists.txt
@@ -45,18 +45,19 @@ atlas_depends_on_subdirs(
    Tracking/TrkEvent/VxVertex
    Tracking/TrkExtrapolation/TrkExInterfaces
    Tracking/TrkTools/TrkToolInterfaces
-   Tracking/TrkVertexFitter/TrkVertexFitterInterfaces )
+   Tracking/TrkVertexFitter/TrkVertexFitterInterfaces 
+   Generators/AtlasHepMC
+   )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO MathMore Gpad Matrix )
 
 # Component(s) in the package:
 atlas_add_component( InDetAlignmentMonitoring
    src/*.h src/*.cxx src/components/*.cxx
-   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES}
+   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+   LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib
    GaudiKernel CommissionEvent AthenaBaseComps AthenaMonitoringLib AthContainers
    AtlasDetDescr Identifier EventPrimitives xAODEventInfo xAODTracking
    TRT_ConditionsServicesLib InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonNtuple.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonNtuple.cxx
index fa5efd5ad36..17e12ba82be 100644
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonNtuple.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonNtuple.cxx
@@ -26,8 +26,8 @@
 #include "InDetRIO_OnTrack/SiClusterOnTrack.h"
 #include "InDetPrepRawData/SiCluster.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "TrkEventPrimitives/FitQuality.h"
 #include "TrkEventPrimitives/LocalParameters.h"
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTruthComparison.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTruthComparison.cxx
index fd1764f9a7b..f2552ab3d9a 100755
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTruthComparison.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonTruthComparison.cxx
@@ -18,7 +18,7 @@
 #include "GaudiKernel/IJobOptionsSvc.h"
 #include "GaudiKernel/MsgStream.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TrkTruthData/TrackTruth.h"
 #include "InDetRIO_OnTrack/SiClusterOnTrack.h"
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/CMakeLists.txt b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/CMakeLists.txt
index 4397b16852a..ea7d73ffbf3 100644
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/CMakeLists.txt
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/CMakeLists.txt
@@ -21,6 +21,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODTruth
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           InnerDetector/InDetDetDescr/InDetReadoutGeometry
 			  InnerDetector/InDetDetDescr/TRT_ReadoutGeometry
                           InnerDetector/InDetRecEvent/InDetRIO_OnTrack
@@ -47,7 +48,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 
 # Component(s) in the package:
@@ -55,15 +55,15 @@ atlas_add_library( InDetPerformanceMonitoringLib
                    src/*.cxx
                    PUBLIC_HEADERS InDetPerformanceMonitoring
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                   PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel xAODCaloEvent xAODEgamma xAODJet xAODMissingET xAODMuon xAODTracking xAODTruth GaudiKernel GeneratorObjects InDetReadoutGeometry TRT_ReadoutGeometry InDetRIO_OnTrack JetInterface ITrackToVertex egammaEvent LWHists TrkParameters TrkParticleBase TrkTrack AthenaMonitoringLib StoreGateLib SGtests ElectronPhotonSelectorToolsLib TrkVertexAnalysisUtilsLib TrigDecisionToolLib
-                   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} IdDictDetDescr xAODEventInfo EventPrimitives InDetIdentifier InDetPrepRawData TrkEventPrimitives TrkTrackSummary TrkTruthData TrkV0Vertex )
+                   PRIVATE_LINK_LIBRARIES AtlasHepMCLib IdDictDetDescr xAODEventInfo EventPrimitives InDetIdentifier InDetPrepRawData TrkEventPrimitives TrkTrackSummary TrkTruthData TrkV0Vertex )
 
 atlas_add_component( InDetPerformanceMonitoring
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel AthenaMonitoringLib StoreGateLib SGtests xAODCaloEvent xAODEgamma xAODJet xAODMissingET xAODMuon xAODTracking xAODTruth GaudiKernel GeneratorObjects InDetReadoutGeometry TRT_ReadoutGeometry InDetRIO_OnTrack ElectronPhotonSelectorToolsLib JetInterface ITrackToVertex egammaEvent LWHists TrkParameters TrkParticleBase TrkTrack IdDictDetDescr xAODEventInfo EventPrimitives InDetIdentifier InDetPrepRawData TrkEventPrimitives TrkTrackSummary TrkTruthData TrkV0Vertex TrkVertexAnalysisUtilsLib TrigDecisionToolLib InDetPerformanceMonitoringLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel AthenaMonitoringLib StoreGateLib SGtests xAODCaloEvent xAODEgamma xAODJet xAODMissingET xAODMuon xAODTracking xAODTruth GaudiKernel GeneratorObjects InDetReadoutGeometry TRT_ReadoutGeometry InDetRIO_OnTrack ElectronPhotonSelectorToolsLib JetInterface ITrackToVertex egammaEvent LWHists TrkParameters TrkParticleBase TrkTrack IdDictDetDescr xAODEventInfo EventPrimitives InDetIdentifier InDetPrepRawData TrkEventPrimitives TrkTrackSummary TrkTruthData TrkV0Vertex TrkVertexAnalysisUtilsLib TrigDecisionToolLib InDetPerformanceMonitoringLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx
index dbead826723..f8387747a3c 100755
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZmumu.cxx
@@ -29,8 +29,8 @@
 // ATLAS headers
 #include "GaudiKernel/IInterface.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "TrkTruthData/TrackTruthCollection.h"
 #include "TrkTruthData/TrackTruthKey.h"
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/src/TRTOverlay.cxx b/InnerDetector/InDetRawAlgs/InDetOverlay/src/TRTOverlay.cxx
index d338c953578..c7b73f5877a 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/src/TRTOverlay.cxx
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/src/TRTOverlay.cxx
@@ -5,7 +5,7 @@
 #include "AthenaKernel/RNGWrapper.h"
 #include "CLHEP/Random/RandomEngine.h"
 #include "CLHEP/Random/RandFlat.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "InDetIdentifier/TRT_ID.h"
 #include "InDetOverlay/TRTOverlay.h"
diff --git a/InnerDetector/InDetRecTools/InDetZVTOPVxFinder/CMakeLists.txt b/InnerDetector/InDetRecTools/InDetZVTOPVxFinder/CMakeLists.txt
index 57d941d8d2b..25ac53811b2 100644
--- a/InnerDetector/InDetRecTools/InDetZVTOPVxFinder/CMakeLists.txt
+++ b/InnerDetector/InDetRecTools/InDetZVTOPVxFinder/CMakeLists.txt
@@ -23,17 +23,17 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkDetDescr/TrkSurfaces
                           Tracking/TrkVertexFitter/TrkVertexFitterInterfaces
                           Tracking/TrkEvent/VxSecVertex
-                          Event/EventPrimitives)
+                          Event/EventPrimitives
+                          Generators/AtlasHepMC )
 
 # External dependencies
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( InDetZVTOPVxFinder
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel InDetRecToolInterfaces VxVertex Particle TrkParticleBase TrkParameters xAODTracking AthContainers TrkExInterfaces TrkSurfaces TrkVertexFitterInterfaces VxSecVertex EventPrimitives )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps GaudiKernel InDetRecToolInterfaces VxVertex Particle TrkParticleBase TrkParameters xAODTracking AthContainers TrkExInterfaces TrkSurfaces TrkVertexFitterInterfaces VxSecVertex EventPrimitives )
 
 # Install files from the package:
 atlas_install_headers( InDetZVTOPVxFinder )
diff --git a/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx b/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx
index d7be686382c..95126f93a58 100644
--- a/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx
+++ b/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx
@@ -22,7 +22,7 @@
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/Incident.h"
 #include "InDetSimData/InDetSimData.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TrkEventPrimitives/ParamDefs.h"
 
diff --git a/InnerDetector/InDetTruth/InDetTruthTools/CMakeLists.txt b/InnerDetector/InDetTruth/InDetTruthTools/CMakeLists.txt
index e8908cae65c..dfe02508759 100644
--- a/InnerDetector/InDetTruth/InDetTruthTools/CMakeLists.txt
+++ b/InnerDetector/InDetTruth/InDetTruthTools/CMakeLists.txt
@@ -19,17 +19,17 @@ atlas_depends_on_subdirs( PUBLIC
                           InnerDetector/InDetRawEvent/InDetSimData
                           InnerDetector/InDetRecEvent/InDetPrepRawData
                           Tracking/TrkEvent/TrkPrepRawData
-                          Tracking/TrkEvent/TrkTruthData )
+                          Tracking/TrkEvent/TrkTruthData 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( InDetTruthTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps TrkEventPrimitives AtlasDetDescr GaudiKernel InDetIdentifier InDetReadoutGeometry InDetSimData InDetPrepRawData TrkPrepRawData TrkTruthData )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps TrkEventPrimitives AtlasDetDescr GaudiKernel InDetIdentifier InDetReadoutGeometry InDetSimData InDetPrepRawData TrkPrepRawData TrkTruthData )
 
 # Install files from the package:
 atlas_install_headers( InDetTruthTools )
diff --git a/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectoryManipulatorID.cxx b/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectoryManipulatorID.cxx
index 8d4e6df50a6..154423ff0e0 100644
--- a/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectoryManipulatorID.cxx
+++ b/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectoryManipulatorID.cxx
@@ -13,7 +13,7 @@
 // DetectorDescription
 #include "AtlasDetDescr/AtlasDetectorID.h"
 // HepMC
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 InDet::PRD_TruthTrajectoryManipulatorID::PRD_TruthTrajectoryManipulatorID(const std::string& t, const std::string& n, const IInterface* p) :
 AthAlgTool(t,n,p)
diff --git a/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectorySelectorID.cxx b/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectorySelectorID.cxx
index 348417f7294..80e7bb29a1c 100644
--- a/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectorySelectorID.cxx
+++ b/InnerDetector/InDetTruth/InDetTruthTools/src/PRD_TruthTrajectorySelectorID.cxx
@@ -13,7 +13,7 @@
 // DetectorDescription
 #include "AtlasDetDescr/AtlasDetectorID.h"
 // HepMC
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 InDet::PRD_TruthTrajectorySelectorID::PRD_TruthTrajectorySelectorID(const std::string& t, const std::string& n, const IInterface* p) :
diff --git a/InnerDetector/InDetValidation/InDetPerformanceRTT/CMakeLists.txt b/InnerDetector/InDetValidation/InDetPerformanceRTT/CMakeLists.txt
index 9d0b4787ad1..195360370b4 100644
--- a/InnerDetector/InDetValidation/InDetPerformanceRTT/CMakeLists.txt
+++ b/InnerDetector/InDetValidation/InDetPerformanceRTT/CMakeLists.txt
@@ -13,6 +13,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODEventInfo
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           InnerDetector/InDetDetDescr/InDetIdentifier
                           InnerDetector/InDetDetDescr/InDetReadoutGeometry
 			  InnerDetector/InDetDetDescr/PixelReadoutGeometry
@@ -34,7 +35,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( Eigen )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint )
 
@@ -42,8 +42,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_component( InDetPerformanceRTT
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${EIGEN_LIBRARIES} ${HEPMC_LIBRARIES} AthenaMonitoringLib StoreGateLib AtlasDetDescr xAODEventInfo GaudiKernel GeneratorObjects InDetIdentifier InDetReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry PixelReadoutGeometry TrkTrack TrkToolInterfaces SGtests GeoPrimitives IdDictDetDescr EventPrimitives InDetPrepRawData InDetRIO_OnTrack JetEvent TrkEventPrimitives TrkTrackSummary TrkTruthData )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${EIGEN_LIBRARIES} AtlasHepMCLib AthenaMonitoringLib StoreGateLib AtlasDetDescr xAODEventInfo GaudiKernel GeneratorObjects InDetIdentifier InDetReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry PixelReadoutGeometry TrkTrack TrkToolInterfaces SGtests GeoPrimitives IdDictDetDescr EventPrimitives InDetPrepRawData InDetRIO_OnTrack JetEvent TrkEventPrimitives TrkTrackSummary TrkTruthData )
 
 # Install files from the package:
 atlas_install_headers( InDetPerformanceRTT )
diff --git a/InnerDetector/InDetValidation/InDetPerformanceRTT/src/IDStandardPerformance.cxx b/InnerDetector/InDetValidation/InDetPerformanceRTT/src/IDStandardPerformance.cxx
index c8bccb7b361..8ce4c712c7f 100755
--- a/InnerDetector/InDetValidation/InDetPerformanceRTT/src/IDStandardPerformance.cxx
+++ b/InnerDetector/InDetValidation/InDetPerformanceRTT/src/IDStandardPerformance.cxx
@@ -22,8 +22,8 @@
 #include "StoreGate/ReadHandle.h"
 
 #include "HepPDT/ParticleData.hh"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "HepPDT/ParticleDataTable.hh"
 
 #include "IdDictDetDescr/IdDictManager.h"
diff --git a/InnerDetector/InDetValidation/InDetRecStatistics/CMakeLists.txt b/InnerDetector/InDetValidation/InDetRecStatistics/CMakeLists.txt
index 423daa43e1a..33e712d3218 100644
--- a/InnerDetector/InDetValidation/InDetRecStatistics/CMakeLists.txt
+++ b/InnerDetector/InDetValidation/InDetRecStatistics/CMakeLists.txt
@@ -11,6 +11,7 @@ atlas_depends_on_subdirs( PUBLIC
                           DetectorDescription/Identifier
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/TrkTrackSummary
                           PRIVATE
@@ -31,15 +32,14 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( InDetRecStatistics
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps Identifier GaudiKernel GeneratorObjects TrkTrack TrkTrackSummary AtlasDetDescr IdDictDetDescr TruthHelper InDetIdentifier InDetRIO_OnTrack TrkSurfaces TrkCompetingRIOsOnTrack TrkEventPrimitives TrkEventUtils TrkParameters TrkRIO_OnTrack TrkTruthData VxVertex TrkToolInterfaces )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps Identifier GaudiKernel GeneratorObjects TrkTrack TrkTrackSummary AtlasDetDescr IdDictDetDescr TruthHelper InDetIdentifier InDetRIO_OnTrack TrkSurfaces TrkCompetingRIOsOnTrack TrkEventPrimitives TrkEventUtils TrkParameters TrkRIO_OnTrack TrkTruthData VxVertex TrkToolInterfaces )
 
 # Install files from the package:
 atlas_install_headers( InDetRecStatistics )
diff --git a/InnerDetector/InDetValidation/InDetRecStatistics/InDetRecStatistics/TrackStatHelper.h b/InnerDetector/InDetValidation/InDetRecStatistics/InDetRecStatistics/TrackStatHelper.h
index cd4d17ff6c8..def8ec0b781 100755
--- a/InnerDetector/InDetValidation/InDetRecStatistics/InDetRecStatistics/TrackStatHelper.h
+++ b/InnerDetector/InDetValidation/InDetRecStatistics/InDetRecStatistics/TrackStatHelper.h
@@ -17,7 +17,7 @@
 #include "TrkTrack/TrackInfo.h"
 #include "TrkTrackSummary/TrackSummary.h" // needed by Trk::numberOfTrackSummaryTypes
 #include "TrkTrack/TrackCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "TrkToolInterfaces/IExtendedTrackSummaryTool.h"
 #include "TrkToolInterfaces/IPRDtoTrackMapTool.h"
diff --git a/InnerDetector/InDetValidation/InDetRecStatistics/src/InDetRecStatisticsAlg.cxx b/InnerDetector/InDetValidation/InDetRecStatistics/src/InDetRecStatisticsAlg.cxx
index 50a2c2afe36..282d736b5bb 100755
--- a/InnerDetector/InDetValidation/InDetRecStatistics/src/InDetRecStatisticsAlg.cxx
+++ b/InnerDetector/InDetValidation/InDetRecStatistics/src/InDetRecStatisticsAlg.cxx
@@ -65,7 +65,7 @@
 
 #include "InDetRecStatistics/InDetRecStatisticsAlg.h"
 #include "InDetRecStatistics/TrackStatHelper.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TruthHelper/PileUpType.h"
 
 #include "IdDictDetDescr/IdDictManager.h" 
diff --git a/InnerDetector/InDetValidation/InDetRecStatistics/src/TrackStatHelper.cxx b/InnerDetector/InDetValidation/InDetRecStatistics/src/TrackStatHelper.cxx
index 1ddfad33204..1f9d5946e20 100755
--- a/InnerDetector/InDetValidation/InDetRecStatistics/src/TrackStatHelper.cxx
+++ b/InnerDetector/InDetValidation/InDetRecStatistics/src/TrackStatHelper.cxx
@@ -25,7 +25,7 @@
 #include "InDetIdentifier/SCT_ID.h"
 #include "TrkTruthData/TrackTruth.h"
 #include "TrkTruthData/TrackTruthCollection.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include <iostream>
 #include <sstream>
 #include <vector>
diff --git a/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/CMakeLists.txt b/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/CMakeLists.txt
index cec6f51ead4..a48fa89d6ad 100644
--- a/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/CMakeLists.txt
+++ b/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/CMakeLists.txt
@@ -16,18 +16,18 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           InnerDetector/InDetRecEvent/InDetRIO_OnTrack
                           Tracking/TrkEvent/TrkPseudoMeasurementOnTrack
-                          Tracking/TrkEvent/TrkTrack )
+                          Tracking/TrkEvent/TrkTrack 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( InDetSegmentDriftCircleAssValidation
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel InDetPrepRawData TrkSegment TrkTruthData InDetRIO_OnTrack TrkPseudoMeasurementOnTrack TrkTrack )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel InDetPrepRawData TrkSegment TrkTruthData InDetRIO_OnTrack TrkPseudoMeasurementOnTrack TrkTrack )
 
 # Install files from the package:
 atlas_install_headers( InDetSegmentDriftCircleAssValidation )
diff --git a/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/InDetSegmentDriftCircleAssValidation/SegmentDriftCircleAssValidation.h b/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/InDetSegmentDriftCircleAssValidation/SegmentDriftCircleAssValidation.h
index 9a4016334ef..c87724505e8 100644
--- a/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/InDetSegmentDriftCircleAssValidation/SegmentDriftCircleAssValidation.h
+++ b/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/InDetSegmentDriftCircleAssValidation/SegmentDriftCircleAssValidation.h
@@ -9,7 +9,7 @@
 #include <map>
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "InDetPrepRawData/TRT_DriftCircleContainer.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "HepPDT/ParticleDataTable.hh"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
 
diff --git a/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/src/SegmentDriftCircleAssValidation.cxx b/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/src/SegmentDriftCircleAssValidation.cxx
index 988783d4463..e354d9d331f 100644
--- a/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/src/SegmentDriftCircleAssValidation.cxx
+++ b/InnerDetector/InDetValidation/InDetSegmentDriftCircleAssValidation/src/SegmentDriftCircleAssValidation.cxx
@@ -15,7 +15,7 @@
 #include "InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h"
 #include "TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h"
 
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "InDetSegmentDriftCircleAssValidation/SegmentDriftCircleAssValidation.h"
 
 // ReadHandle
diff --git a/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/CMakeLists.txt b/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/CMakeLists.txt
index 6b364e71357..68fb9ca2989 100644
--- a/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/CMakeLists.txt
+++ b/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/CMakeLists.txt
@@ -15,18 +15,18 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           GaudiKernel
                           Tracking/TrkEvent/TrkRIO_OnTrack
-                          Tracking/TrkEvent/TrkTrack )
+                          Tracking/TrkEvent/TrkTrack 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( InDetTrackClusterAssValidation
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps StoreGateLib SGtests InDetPrepRawData TrkSpacePoint TrkTruthData GaudiKernel TrkRIO_OnTrack TrkTrack )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps StoreGateLib SGtests InDetPrepRawData TrkSpacePoint TrkTruthData GaudiKernel TrkRIO_OnTrack TrkTrack )
 
 # Install files from the package:
 atlas_install_headers( InDetTrackClusterAssValidation )
diff --git a/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/src/TrackClusterAssValidation.cxx b/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/src/TrackClusterAssValidation.cxx
index 7390ae89d70..2d5dc581174 100755
--- a/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/src/TrackClusterAssValidation.cxx
+++ b/InnerDetector/InDetValidation/InDetTrackClusterAssValidation/src/TrackClusterAssValidation.cxx
@@ -4,7 +4,7 @@
 
 #include "GaudiKernel/IPartPropSvc.h"
 #include "GaudiKernel/ServiceHandle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "TrkTrack/TrackCollection.h"
 #include "TrkRIO_OnTrack/RIO_OnTrack.h"
 #include "InDetPrepRawData/SCT_ClusterContainer.h"
@@ -12,7 +12,7 @@
 #include "InDetTrackClusterAssValidation/TrackClusterAssValidation.h"
 #include "StoreGate/ReadHandle.h"
 #include "HepPDT/ParticleDataTable.hh"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cmath>
 
 ///////////////////////////////////////////////////////////////////
diff --git a/InnerDetector/InDetValidation/InDetTrackValidation/CMakeLists.txt b/InnerDetector/InDetValidation/InDetTrackValidation/CMakeLists.txt
index b8b72a607df..360596cf866 100644
--- a/InnerDetector/InDetValidation/InDetTrackValidation/CMakeLists.txt
+++ b/InnerDetector/InDetValidation/InDetTrackValidation/CMakeLists.txt
@@ -26,6 +26,7 @@ atlas_depends_on_subdirs(
    DetectorDescription/GeoModel/GeoModelInterfaces
    Event/EventPrimitives
    Generators/GeneratorObjects
+   Generators/AtlasHepMC
    InnerDetector/InDetConditions/InDetBeamSpotService
    InnerDetector/InDetConditions/InDetConditionsSummaryService
    InnerDetector/InDetConditions/PixelConditionsTools
@@ -46,14 +47,13 @@ atlas_depends_on_subdirs(
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore )
 
 # Component(s) in the package:
 atlas_add_component( InDetTrackValidation
    InDetTrackValidation/*.h src/*.cxx src/components/*.cxx
-   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES}
+   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+   LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib
    AthenaBaseComps AthenaKernel StoreGateLib SGtests xAODEventInfo GaudiKernel InDetRawData InDetPrepRawData
    InDetSimEvent TrkParameters TrkSpacePoint TrkTrack TrkValInterfaces AthContainers AtlasDetDescr
    EventPrimitives GeneratorObjects TRT_ConditionsData
diff --git a/LArCalorimeter/LArCafJobs/CMakeLists.txt b/LArCalorimeter/LArCafJobs/CMakeLists.txt
index f82c1114509..76918f736c9 100644
--- a/LArCalorimeter/LArCafJobs/CMakeLists.txt
+++ b/LArCalorimeter/LArCafJobs/CMakeLists.txt
@@ -39,12 +39,12 @@ atlas_depends_on_subdirs( PUBLIC
                           LArCalorimeter/LArElecCalib
                           LArCalorimeter/LArRecEvent
                           Trigger/TrigConfiguration/TrigConfHLTData
-                          Trigger/TrigT1/TrigT1Result )
+                          Trigger/TrigT1/TrigT1Result 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( ROOT COMPONENTS Matrix Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
-find_package( HepMC )
 
 # tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
 
@@ -70,19 +70,19 @@ atlas_add_library( LArCafJobsLib
                    src/LArNoiseBursts.cxx
                    src/LArHECNoise.cxx
                    PUBLIC_HEADERS LArCafJobs
-                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} 
                    LINK_LIBRARIES CaloIdentifier AthenaBaseComps AthenaKernel GaudiKernel LArIdentifier LArRawConditions LArRawEvent egammaEvent TrigSteeringEvent McParticleEvent StoreGateLib SGtests LArToolsLib TrigDecisionToolLib CaloDetDescrLib
-                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} DataQualityUtils Identifier xAODEventInfo LArRecConditions TrigConfHLTData TrigT1Result ${HEPMC_LIBRARIES} )
+                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} DataQualityUtils Identifier xAODEventInfo LArRecConditions TrigConfHLTData TrigT1Result AtlasHepMCLib )
 
 atlas_add_component( LArCafJobs
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloIdentifier AthenaBaseComps StoreGateLib SGtests GaudiKernel LArIdentifier LArRawConditions LArRawEvent egammaEvent LArToolsLib TrigDecisionToolLib TrigSteeringEvent CaloDetDescrLib DataQualityUtils Identifier xAODEventInfo LArRecConditions TrigConfHLTData TrigT1Result LArCafJobsLib )
 
 atlas_add_dictionary( LArCafJobsDict
                       LArCafJobs/LArCafJobsDict.h
                       LArCafJobs/selection.xml
-                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} 
                       LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} CaloIdentifier AthenaBaseComps StoreGateLib SGtests GaudiKernel LArIdentifier LArRawConditions LArRawEvent LArToolsLib TrigDecisionToolLib TrigSteeringEvent CaloDetDescrLib DataQualityUtils Identifier xAODEventInfo LArRecConditions TrigConfHLTData TrigT1Result LArCafJobsLib )
 
 atlas_add_executable( LArQuickHistMerge
diff --git a/LArCalorimeter/LArCellRec/CMakeLists.txt b/LArCalorimeter/LArCellRec/CMakeLists.txt
index 0ee130f1430..8bd8478b945 100644
--- a/LArCalorimeter/LArCellRec/CMakeLists.txt
+++ b/LArCalorimeter/LArCellRec/CMakeLists.txt
@@ -37,11 +37,11 @@ atlas_depends_on_subdirs( PUBLIC
                           LArCalorimeter/LArCabling
                           LArCalorimeter/LArCOOLConditions
                           Trigger/TrigT1/TrigT1CaloCalibConditions
-                          Trigger/TrigT1/TrigT1CaloCondSvc )
+                          Trigger/TrigT1/TrigT1CaloCondSvc 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( TBB )
 
@@ -49,8 +49,8 @@ find_package( TBB )
 atlas_add_component( LArCellRec
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${TBB_LIBRARIES} CaloConditions CaloDetDescrLib CaloEvent CaloIdentifier CaloRecLib CaloUtilsLib AthAllocators AthenaBaseComps AthenaKernel StoreGateLib SGtests AtlasDetDescr Identifier GaudiKernel LArIdentifier LArRawEvent LArRecConditions LArCOOLConditions LArSimEvent CaloTriggerToolLib AthenaPoolUtilities xAODEventInfo xAODTrigL1Calo GeneratorObjects LArRecEvent LArCablingLib TrigT1CaloCalibConditions TrigT1CaloCondSvcLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${TBB_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${TBB_LIBRARIES} CaloConditions CaloDetDescrLib CaloEvent CaloIdentifier CaloRecLib CaloUtilsLib AthAllocators AthenaBaseComps AthenaKernel StoreGateLib SGtests AtlasDetDescr Identifier GaudiKernel LArIdentifier LArRawEvent LArRecConditions LArCOOLConditions LArSimEvent CaloTriggerToolLib AthenaPoolUtilities xAODEventInfo xAODTrigL1Calo GeneratorObjects LArRecEvent LArCablingLib TrigT1CaloCalibConditions TrigT1CaloCondSvcLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/LArCalorimeter/LArDigitization/CMakeLists.txt b/LArCalorimeter/LArDigitization/CMakeLists.txt
index 6029001d1e2..8bc6e121421 100644
--- a/LArCalorimeter/LArDigitization/CMakeLists.txt
+++ b/LArCalorimeter/LArDigitization/CMakeLists.txt
@@ -25,29 +25,29 @@ atlas_depends_on_subdirs( PUBLIC
 			  LArCalorimeter/LArRawConditions
                           Event/EventInfoUtils
                           PRIVATE
-                          Generators/GeneratorObjects )
+                          Generators/GeneratorObjects 
+                          Generators/AtlasHepMC )
 
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( LArDigitizationLib
                    src/*.cxx
                    PUBLIC_HEADERS LArDigitization
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES CaloIdentifier AthenaBaseComps
                    AthenaKernel Identifier xAODEventInfo GaudiKernel
                    LArIdentifier LArRawEvent LArSimEvent
                    LArRecConditions LArRawConditions CaloDetDescrLib
                    PileUpToolsLib StoreGateLib SGtests LArCablingLib EventInfoUtils
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GeneratorObjects )
+                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GeneratorObjects )
 
 atlas_add_component( LArDigitization
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
                      LINK_LIBRARIES LArDigitizationLib )
 
 # Install files from the package:
diff --git a/LArCalorimeter/LArDigitization/src/LArHitEMap.cxx b/LArCalorimeter/LArDigitization/src/LArHitEMap.cxx
index 89f49b3186a..50c707e6b56 100644
--- a/LArCalorimeter/LArDigitization/src/LArHitEMap.cxx
+++ b/LArCalorimeter/LArDigitization/src/LArHitEMap.cxx
@@ -17,8 +17,8 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "StoreGate/StoreGate.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GaudiKernel/Bootstrap.h"
 #include "AthenaKernel/getMessageSvc.h"
 
diff --git a/LArCalorimeter/LArG4/LArG4FastSimSvc/CMakeLists.txt b/LArCalorimeter/LArG4/LArG4FastSimSvc/CMakeLists.txt
index f2d2aab1200..82616394dbf 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimSvc/CMakeLists.txt
+++ b/LArCalorimeter/LArG4/LArG4FastSimSvc/CMakeLists.txt
@@ -8,20 +8,20 @@ atlas_subdir( LArG4FastSimSvc )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
-                          GaudiKernel )
+                          GaudiKernel 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( XercesC )
 
 # Component(s) in the package:
 atlas_add_component( LArG4FastSimSvc
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps )
+                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps )
 
 # Install files from the package:
 atlas_install_headers( LArG4FastSimSvc )
diff --git a/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/ILArG4FastSimSvc.h b/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/ILArG4FastSimSvc.h
index 6b41f3a77c4..3e20df78bcc 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/ILArG4FastSimSvc.h
+++ b/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/ILArG4FastSimSvc.h
@@ -8,9 +8,7 @@
 #include "GaudiKernel/IInterface.h"
 #include "G4ParticleDefinition.hh"
 
-namespace HepMC {
-	class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 // Declaration of the interface ID ( interface id, major version, minor version)
 static const InterfaceID IID_ILArG4FastSimSvc("ILArG4FastSimSvc", 0 , 0);
 
diff --git a/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/LArG4FastSimSvc.h b/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/LArG4FastSimSvc.h
index d7db102b987..4b38112f63f 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/LArG4FastSimSvc.h
+++ b/LArCalorimeter/LArG4/LArG4FastSimSvc/LArG4FastSimSvc/LArG4FastSimSvc.h
@@ -26,9 +26,7 @@
 
 template <class TYPE> class SvcFactory;
 
-namespace HepMC {
-	class IO_GenEvent;
-}
+#include "AtlasHepMC/IO_GenEvent_fwd.h"
 
 
  /**
diff --git a/LArCalorimeter/LArG4/LArG4FastSimSvc/src/LArG4FastSimSvc.cxx b/LArCalorimeter/LArG4/LArG4FastSimSvc/src/LArG4FastSimSvc.cxx
index 8f9cd16c0b2..3ef1596cd2a 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimSvc/src/LArG4FastSimSvc.cxx
+++ b/LArCalorimeter/LArG4/LArG4FastSimSvc/src/LArG4FastSimSvc.cxx
@@ -12,8 +12,8 @@
 #include "CLHEP/Units/SystemOfUnits.h"
 #include "CLHEP/Units/PhysicalConstants.h"
 
-#include "HepMC/IO_GenEvent.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // default constructor
 LArG4FastSimSvc::LArG4FastSimSvc(const std::string& name, ISvcLocator* sl)
diff --git a/LArCalorimeter/LArG4/LArG4FastSimulation/CMakeLists.txt b/LArCalorimeter/LArG4/LArG4FastSimulation/CMakeLists.txt
index 5f367635990..057d893d843 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimulation/CMakeLists.txt
+++ b/LArCalorimeter/LArG4/LArG4FastSimulation/CMakeLists.txt
@@ -16,12 +16,12 @@ atlas_depends_on_subdirs( PUBLIC
                           LArCalorimeter/LArG4/LArG4ShowerLibSvc
                           LArCalorimeter/LArGeoModel/LArReadoutGeometry
                           LArCalorimeter/LArSimEvent
-                          Simulation/G4Atlas/G4AtlasTools )
+                          Simulation/G4Atlas/G4AtlasTools 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 find_package( XercesC )
 find_package( GeoModelCore )
@@ -34,8 +34,8 @@ find_package( GeoModelCore )
 atlas_add_component( LArG4FastSimulation
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEOMODELCORE_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEOMODELCORE_LIBRARIES} GaudiKernel StoreGateLib SGtests GeoSpecialShapes LArG4Code LArReadoutGeometry LArSimEvent G4AtlasToolsLib GeoPrimitives )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEOMODELCORE_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEOMODELCORE_LIBRARIES} GaudiKernel StoreGateLib SGtests GeoSpecialShapes LArG4Code LArReadoutGeometry LArSimEvent G4AtlasToolsLib GeoPrimitives )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.cxx b/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.cxx
index 2d508dd2a2c..442c6d12bd1 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.cxx
+++ b/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.cxx
@@ -8,8 +8,8 @@
 #include "GaudiKernel/ISvcLocator.h"
 #include "LArG4Code/EnergySpot.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/IO_GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
 
 #include <stdexcept>
 
diff --git a/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.h b/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.h
index 541532e5bd3..f8d4a87abcd 100644
--- a/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.h
+++ b/LArCalorimeter/LArG4/LArG4FastSimulation/src/LArFastShower.h
@@ -16,10 +16,9 @@
 #include "FastShowerConfigStruct.h"
 
 // Forward declarations
-namespace HepMC {
-  class GenEvent;
-  class IO_GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/IO_GenEvent_fwd.h"
+
 class IFastSimDedicatedSD;
 class ILArG4ShowerLibSvc;
 
diff --git a/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/LArG4GenShowerLib.h b/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/LArG4GenShowerLib.h
index 2c400ae5c8f..a832b092149 100644
--- a/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/LArG4GenShowerLib.h
+++ b/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/LArG4GenShowerLib.h
@@ -22,9 +22,7 @@ namespace ShowerLib {
   class StepInfo;
   typedef std::list<StepInfo*> StepInfoList;
 }
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 
   /**
diff --git a/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/TestActionShowerLib.h b/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/TestActionShowerLib.h
index cc1d38314e0..53cbc3100a3 100644
--- a/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/TestActionShowerLib.h
+++ b/LArCalorimeter/LArG4/LArG4GenShowerLib/LArG4GenShowerLib/TestActionShowerLib.h
@@ -20,9 +20,7 @@
 namespace ShowerLib {
   class StepInfoCollection;
 }
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 // forward declarations in global namespace
 class EnergyCalculator;
 class G4VSolid;
diff --git a/LArCalorimeter/LArG4/LArG4H6SD/CMakeLists.txt b/LArCalorimeter/LArG4/LArG4H6SD/CMakeLists.txt
index 8bfdefe3523..26673276dba 100644
--- a/LArCalorimeter/LArG4/LArG4H6SD/CMakeLists.txt
+++ b/LArCalorimeter/LArG4/LArG4H6SD/CMakeLists.txt
@@ -30,14 +30,14 @@ atlas_depends_on_subdirs( PUBLIC
                           Simulation/HitManagement
                           Simulation/G4Sim/MCTruth
                           TestBeam/TBEvent
-                          Tools/PathResolver )
+                          Tools/PathResolver 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
 find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( XercesC )
 
 # Component(s) in the package:
@@ -45,8 +45,8 @@ atlas_add_component( LArG4H6SD
                      src/*.cxx
                      src/*.cc
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CORAL_LIBRARIES} ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEANT4_LIBRARIES} GaudiKernel CaloG4SimLib CaloSimEvent AthenaBaseComps AthenaKernel StoreGateLib SGtests GeoModelUtilities Identifier GeneratorObjects LArG4Code LArG4RunControl LArG4TBSimEvent LArReadoutGeometry LArSimEvent G4AtlasInterfaces G4AtlasToolsLib SimHelpers HitManagement MCTruth TBEvent PathResolver )
+                     INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEANT4_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${CORAL_LIBRARIES} ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} GaudiKernel CaloG4SimLib CaloSimEvent AthenaBaseComps AthenaKernel StoreGateLib SGtests GeoModelUtilities Identifier GeneratorObjects LArG4Code LArG4RunControl LArG4TBSimEvent LArReadoutGeometry LArSimEvent G4AtlasInterfaces G4AtlasToolsLib SimHelpers HitManagement MCTruth TBEvent PathResolver )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/LArCalorimeter/LArG4/LArG4H6SD/src/RadLenNtuple.cc b/LArCalorimeter/LArG4/LArG4H6SD/src/RadLenNtuple.cc
index 2d2532bc525..3aad0fdc4e9 100644
--- a/LArCalorimeter/LArG4/LArG4H6SD/src/RadLenNtuple.cc
+++ b/LArCalorimeter/LArG4/LArG4H6SD/src/RadLenNtuple.cc
@@ -4,7 +4,7 @@
 
 #include "RadLenNtuple.h"
 #include "LArG4RunControl/LArGeoTBH1GeoOptions.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include <iostream>
 #include "GaudiKernel/IService.h"
 #include "GaudiKernel/ISvcLocator.h"
diff --git a/LArCalorimeter/LArG4/LArG4ShowerLib/CMakeLists.txt b/LArCalorimeter/LArG4/LArG4ShowerLib/CMakeLists.txt
index eb60f39d0ae..89ad3036474 100644
--- a/LArCalorimeter/LArG4/LArG4ShowerLib/CMakeLists.txt
+++ b/LArCalorimeter/LArG4/LArG4ShowerLib/CMakeLists.txt
@@ -8,12 +8,12 @@ atlas_subdir( LArG4ShowerLib )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthContainers
-                          LArCalorimeter/LArG4/LArG4Code )
+                          LArCalorimeter/LArG4/LArG4Code 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( XercesC )
 
@@ -21,8 +21,8 @@ find_package( XercesC )
 atlas_add_library( LArG4ShowerLib
                    src/*.cxx
                    PUBLIC_HEADERS LArG4ShowerLib
-                   PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES AthContainers LArG4Code
-                   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} )
+                   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${GEANT4_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib )
 
diff --git a/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/IShowerLib.h b/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/IShowerLib.h
index 8e2cbb61118..81534967b0a 100755
--- a/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/IShowerLib.h
+++ b/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/IShowerLib.h
@@ -18,9 +18,7 @@ class G4Track;
 class TFile;
 class TTree;
 
-namespace HepMC {
-    class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 // Namespace for the ShowerLib related classes
 namespace ShowerLib {
diff --git a/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/TestShowerLib.h b/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/TestShowerLib.h
index a77c57aaed9..6c6d50ba717 100644
--- a/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/TestShowerLib.h
+++ b/LArCalorimeter/LArG4/LArG4ShowerLib/LArG4ShowerLib/TestShowerLib.h
@@ -15,9 +15,7 @@
 // G4 forward declarations
 class G4Track;
 // forward declarations in namespace
-namespace HepMC {
-	class FourVector;
-}
+#include "AtlasHepMC/SimpleVector.h"
 // Namespace for the ShowerLib related classes
 namespace ShowerLib {
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/Other/RadLenNtuple.cc b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/Other/RadLenNtuple.cc
index 1272ae323ad..abe32438ef3 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/Other/RadLenNtuple.cc
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/Other/RadLenNtuple.cc
@@ -4,7 +4,7 @@
 
 #include "LArGeoH62004Algs/RadLenNtuple.h"
 #include "LArG4RunControl/LArGeoTBH1GeoOptions.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include <iostream>
 #include "GaudiKernel/IService.h"
diff --git a/MuonSpectrometer/MuonCalib/MuonCalibAlgs/CMakeLists.txt b/MuonSpectrometer/MuonCalib/MuonCalibAlgs/CMakeLists.txt
index 51b5c06b8c6..c6ecbab52ec 100644
--- a/MuonSpectrometer/MuonCalib/MuonCalibAlgs/CMakeLists.txt
+++ b/MuonSpectrometer/MuonCalib/MuonCalibAlgs/CMakeLists.txt
@@ -35,26 +35,26 @@ atlas_depends_on_subdirs( PUBLIC
                           TileCalorimeter/TileEvent
                           TileCalorimeter/TileIdentifier
                           Tracking/TrkEvent/TrkEventPrimitives
-                          Trigger/TrigT1/TrigT1Result )
+                          Trigger/TrigT1/TrigT1Result 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Eigen )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( MuonCalibAlgsLib
                    src/*.cxx
                    PUBLIC_HEADERS MuonCalibAlgs
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES AthenaBaseComps GaudiKernel MuonCalibEventBase StoreGateLib SGtests MuonIdHelpersLib CscClusterizationLib
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} GeoPrimitives EventInfo xAODEventInfo GeneratorObjects LArRecEvent MuonCalibEvent MuonCalibITools MuonCalibIdentifier MuonCalibNtuple MuonReadoutGeometry MuonDigitContainer MuonRDO MuonPrepRawData MuonTrigCoinData MuonSimData TileEvent TileIdentifier TrkEventPrimitives TrigT1Result )
+                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} GeoPrimitives EventInfo xAODEventInfo GeneratorObjects LArRecEvent MuonCalibEvent MuonCalibITools MuonCalibIdentifier MuonCalibNtuple MuonReadoutGeometry MuonDigitContainer MuonRDO MuonPrepRawData MuonTrigCoinData MuonSimData TileEvent TileIdentifier TrkEventPrimitives TrigT1Result )
 
 atlas_add_component( MuonCalibAlgs
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps GaudiKernel MuonCalibEventBase StoreGateLib SGtests GeoPrimitives EventInfo xAODEventInfo GeneratorObjects LArRecEvent MuonCalibEvent MuonCalibITools MuonCalibIdentifier MuonCalibNtuple MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonRDO CscClusterizationLib MuonPrepRawData MuonTrigCoinData MuonSimData TileEvent TileIdentifier TrkEventPrimitives TrigT1Result MuonCalibAlgsLib )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps GaudiKernel MuonCalibEventBase StoreGateLib SGtests GeoPrimitives EventInfo xAODEventInfo GeneratorObjects LArRecEvent MuonCalibEvent MuonCalibITools MuonCalibIdentifier MuonCalibNtuple MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonRDO CscClusterizationLib MuonPrepRawData MuonTrigCoinData MuonSimData TileEvent TileIdentifier TrkEventPrimitives TrigT1Result MuonCalibAlgsLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/MuonSpectrometer/MuonCalib/MuonCalibAlgs/src/MuonCalibAlg.cxx b/MuonSpectrometer/MuonCalib/MuonCalibAlgs/src/MuonCalibAlg.cxx
index 0db2ae6bd54..e47b2ff9b65 100644
--- a/MuonSpectrometer/MuonCalib/MuonCalibAlgs/src/MuonCalibAlg.cxx
+++ b/MuonSpectrometer/MuonCalib/MuonCalibAlgs/src/MuonCalibAlg.cxx
@@ -23,7 +23,7 @@
 #include "MuonSimData/MuonSimDataCollection.h"
 #include "MuonSimData/CscSimDataCollection.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "CLHEP/Vector/LorentzVector.h"
 
 #include "GeoPrimitives/GeoPrimitives.h"
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p1_test.cxx
index dad2128062f..870a33a2998 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p2_test.cxx
index 1a30c5f76f9..b5ce72e597d 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCnv_p2_test.cxx
@@ -19,8 +19,8 @@
 
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p1_test.cxx
index 6f48a617c14..5198de86e1a 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p1_test.cxx
@@ -19,8 +19,8 @@
 
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p2_test.cxx
index 8a6a8863479..67e4810d18a 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/CscSimDataCollectionCnv_p2_test.cxx
@@ -19,8 +19,8 @@
 
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p1_test.cxx
index 4013457cc4b..2906f2f7cb7 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p1_test.cxx
@@ -19,8 +19,8 @@
 
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p2_test.cxx
index b5a8e95a730..f5d5414379f 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCnv_p2_test.cxx
@@ -19,8 +19,8 @@
 
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p1_test.cxx
index 0cbe905b0ef..0322e37738c 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p1_test.cxx
@@ -19,8 +19,8 @@
 
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p2_test.cxx
index bda5460d5a6..254f3d286e6 100644
--- a/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonEventTPCnv/test/MuonSimDataCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/CMakeLists.txt b/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/CMakeLists.txt
index 81e369cf1de..6649809bc85 100644
--- a/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/CMakeLists.txt
+++ b/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/CMakeLists.txt
@@ -21,16 +21,16 @@ atlas_depends_on_subdirs( PUBLIC
                           MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces
                           MuonSpectrometer/MuonSimData
                           Tracking/TrkEvent/TrkEventPrimitives
-                          Tracking/TrkTools/TrkToolInterfaces )
+                          Tracking/TrkTools/TrkToolInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Eigen )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( MuonPrepRawDataToxAOD
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${EIGEN_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel AthenaBaseComps GeoPrimitives Identifier EventPrimitives xAODTracking MuonIdHelpersLib MuonRDO MuonPrepRawData MuonRIO_OnTrack MuonRecToolInterfaces MuonSimData TrkEventPrimitives TrkToolInterfaces )
+                     INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${EIGEN_LIBRARIES} AtlasHepMCLib GaudiKernel AthenaBaseComps GeoPrimitives Identifier EventPrimitives xAODTracking MuonIdHelpersLib MuonRDO MuonPrepRawData MuonRIO_OnTrack MuonRecToolInterfaces MuonSimData TrkEventPrimitives TrkToolInterfaces )
 
diff --git a/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/src/MuonPrepDataToxAOD.h b/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/src/MuonPrepDataToxAOD.h
index 009e7d487a9..03c77cebecd 100644
--- a/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/src/MuonPrepDataToxAOD.h
+++ b/MuonSpectrometer/MuonCnv/MuonPrepRawDataToxAOD/src/MuonPrepDataToxAOD.h
@@ -24,7 +24,7 @@
 #include "EventPrimitives/EventPrimitives.h"
 #include "EventPrimitives/EventPrimitivesHelpers.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "Identifier/Identifier.h"
 #include "Identifier/IdentifierHash.h"
 
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p1_test.cxx
index eab8744c112..74581857e19 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p2_test.cxx
index 5b16c50c5bd..d34e3181f17 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p3_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p3_test.cxx
index 25addc7f029..d51aceac5cb 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p3_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/CSCSimHitCollectionCnv_p3_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p1_test.cxx
index c6af7c66539..b589febcc60 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p2_test.cxx
index ca40dd29e9b..bdbc5fea4a4 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/GenericMuonSimHitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 void compare (const HepMcParticleLink& p1,
               const HepMcParticleLink& p2)
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p1_test.cxx
index ca4d16d12f6..6974a3d2d76 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p2_test.cxx
index a5ff003523f..707804a4146 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p3_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p3_test.cxx
index 9aaea2e3d29..f950056fef1 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p3_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MDTSimHitCollectionCnv_p3_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p1_test.cxx
index 70345e4854a..e603cdd6dac 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p1_test.cxx
@@ -9,8 +9,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p2_test.cxx
index 6a34ed6d855..61e692d5499 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/MMSimHitCollectionCnv_p2_test.cxx
@@ -9,8 +9,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 void compare (const HepMcParticleLink& p1,
               const HepMcParticleLink& p2)
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p1_test.cxx
index b674908b805..75bff7a15b7 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p2_test.cxx
index d4d4a66e1a6..c6405032b2a 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p3_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p3_test.cxx
index f9e0b39b123..d29f0905b5d 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p3_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/RPCSimHitCollectionCnv_p3_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p1_test.cxx
index 88da4f2b7b1..ca1b9ed7cb6 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p2_test.cxx
index 9a75089345e..8e14145a1e5 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p2_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p3_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p3_test.cxx
index e81dceff1a4..5193bd46e04 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p3_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p3_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p4_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p4_test.cxx
index d2994015bcb..3e4d844d365 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p4_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/TGCSimHitCollectionCnv_p4_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 void compare (const HepMcParticleLink& p1,
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p1_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p1_test.cxx
index 7db92b3901b..cf56cf2bdaf 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p1_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 void compare (const HepMcParticleLink& p1,
               const HepMcParticleLink& p2)
diff --git a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p2_test.cxx b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p2_test.cxx
index 0fbca4423c9..b72c98bad9e 100644
--- a/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p2_test.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonSimEventTPCnv/test/sTGCSimHitCollectionCnv_p2_test.cxx
@@ -26,8 +26,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 void compare (const HepMcParticleLink& p1,
               const HepMcParticleLink& p2)
diff --git a/MuonSpectrometer/MuonDigitization/CSC_Digitization/CMakeLists.txt b/MuonSpectrometer/MuonDigitization/CSC_Digitization/CMakeLists.txt
index 74b338bb3d5..9671268224c 100755
--- a/MuonSpectrometer/MuonDigitization/CSC_Digitization/CMakeLists.txt
+++ b/MuonSpectrometer/MuonDigitization/CSC_Digitization/CMakeLists.txt
@@ -20,18 +20,18 @@ atlas_depends_on_subdirs( PUBLIC
                           Simulation/HitManagement
                           PRIVATE
                           Control/StoreGate
-                          Generators/GeneratorObjects )
+                          Generators/GeneratorObjects 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( CSC_Digitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel PileUpToolsLib GaudiKernel MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonSimData MuonSimEvent HitManagement StoreGateLib SGtests GeneratorObjects )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel PileUpToolsLib GaudiKernel MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonSimData MuonSimEvent HitManagement StoreGateLib SGtests GeneratorObjects )
 
 # Install files from the package:
 atlas_install_headers( CSC_Digitization )
diff --git a/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CSC_Digitizer.cxx b/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CSC_Digitizer.cxx
index 8cb15191d01..1645e2b788f 100644
--- a/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CSC_Digitizer.cxx
+++ b/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CSC_Digitizer.cxx
@@ -8,7 +8,7 @@
 #include "GaudiKernel/ISvcLocator.h"
 #include "StoreGate/StoreGateSvc.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 
 #include "MuonReadoutGeometry/CscReadoutElement.h"
diff --git a/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CscDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CscDigitizationTool.cxx
index 364d4f1fa5d..3a268cc9e42 100644
--- a/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CscDigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/CSC_Digitization/src/CscDigitizationTool.cxx
@@ -7,7 +7,7 @@
 // Digitization algorithm for the CSC hits
 #include "MuonReadoutGeometry/MuonDetectorManager.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 
 #include "StoreGate/StoreGate.h"
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/CMakeLists.txt b/MuonSpectrometer/MuonDigitization/MDT_Digitization/CMakeLists.txt
index a55101722c0..e6b9c3ab0d1 100755
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/CMakeLists.txt
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODEventInfo
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData
                           MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibSvc
                           MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface
@@ -33,14 +34,13 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( MDT_Digitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel PileUpToolsLib StoreGateLib SGtests Identifier xAODEventInfo GaudiKernel GeneratorObjects MdtCalibData MdtCalibSvcLib MuonCondInterface MuonCondData MuonReadoutGeometry MuonDigitContainer MDT_Response MuonIdHelpersLib MuonSimData MuonSimEvent HitManagement PathResolver TrkDetDescrUtils EventPrimitives )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel PileUpToolsLib StoreGateLib SGtests Identifier xAODEventInfo GaudiKernel GeneratorObjects MdtCalibData MdtCalibSvcLib MuonCondInterface MuonCondData MuonReadoutGeometry MuonDigitContainer MDT_Response MuonIdHelpersLib MuonSimData MuonSimEvent HitManagement PathResolver TrkDetDescrUtils EventPrimitives )
 
 # Install files from the package:
 atlas_install_headers( MDT_Digitization )
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator.h b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator.h
index 278e2f8722f..c0c90afa301 100644
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator.h
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator.h
@@ -44,7 +44,7 @@ to the third digit of decimal number of the  pdgid.
 
 #include <iostream>
 // SB
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 //
 double chargeCalculator(const MDTSimHit& hit){
 
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator_PileUp.h b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator_PileUp.h
index 5750fa024c7..5f018d695f7 100644
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator_PileUp.h
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/chargeCalculator_PileUp.h
@@ -47,7 +47,7 @@ to the third digit of decimal number of the  pdgid.
 #include <iostream>
 
 // SB
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 //
 
 double chargeCalculator_PileUp(const MDTSimHit& hit){
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma.h b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma.h
index a8578433d22..19d4c23b82b 100644
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma.h
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma.h
@@ -40,7 +40,7 @@ Function particleGamma returns the value of gamma factor for Qball particle.
 #include <iostream>
 
 // SB
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 //
 
 double particleGamma(const MDTSimHit& hit){
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma_PileUp.h b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma_PileUp.h
index 88a475a3f9a..a4f92cde40d 100644
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma_PileUp.h
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/MDT_Digitization/particleGamma_PileUp.h
@@ -40,7 +40,7 @@ Function particleGamma returns the value of gamma factor for Qball particle.
 #include <iostream>
 
 // SB
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 //
 
 double particleGamma_PileUp(const MDTSimHit& hit){
diff --git a/MuonSpectrometer/MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx
index 4dc72ed32fd..10426219edf 100644
--- a/MuonSpectrometer/MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx
@@ -50,7 +50,7 @@
 
 //Truth
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 
 //Random Numbers
 #include "AthenaKernel/RNGWrapper.h"
diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/CMakeLists.txt b/MuonSpectrometer/MuonDigitization/MM_Digitization/CMakeLists.txt
index b3a70b58abe..ffc7132be41 100644
--- a/MuonSpectrometer/MuonDigitization/MM_Digitization/CMakeLists.txt
+++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/CMakeLists.txt
@@ -21,6 +21,7 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Control/StoreGate
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MuonSpectrometer/MuonDetDescr/MuonAGDDDescription
                           MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
                           MuonSpectrometer/MuonDigitContainer
@@ -37,7 +38,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( AIDA )
 find_package( CLHEP )
 find_package( Eigen )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread Table MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 
 # tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
@@ -49,15 +49,15 @@ atlas_add_library( MM_DigitizationLib
                    src/*.cxx
                    PUBLIC_HEADERS MM_Digitization
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                   PRIVATE_INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel GeoPrimitives Identifier GaudiKernel MagFieldInterfaces MuonSimEvent HitManagement PileUpToolsLib StoreGateLib SGtests MuonIdHelpersLib NSWCalibToolsLib MagFieldElements MagFieldConditions
-                   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} GeneratorObjects MuonAGDDDescription MuonReadoutGeometry MuonDigitContainer MuonSimData AtlasCLHEP_RandomGenerators PathResolver TrkDetDescrUtils TrkSurfaces TrkEventPrimitives )
+                   PRIVATE_LINK_LIBRARIES AtlasHepMCLib GeneratorObjects MuonAGDDDescription MuonReadoutGeometry MuonDigitContainer MuonSimData AtlasCLHEP_RandomGenerators PathResolver TrkDetDescrUtils TrkSurfaces TrkEventPrimitives )
 
 atlas_add_component( MM_Digitization
                      src/components/*.cxx
-                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel PileUpToolsLib GeoPrimitives Identifier GaudiKernel MagFieldInterfaces MuonSimEvent HitManagement StoreGateLib SGtests GeneratorObjects MuonAGDDDescription MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonSimData AtlasCLHEP_RandomGenerators PathResolver TrkDetDescrUtils TrkSurfaces TrkEventPrimitives MM_DigitizationLib NSWCalibToolsLib MagFieldElements MagFieldConditions )
+                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel PileUpToolsLib GeoPrimitives Identifier GaudiKernel MagFieldInterfaces MuonSimEvent HitManagement StoreGateLib SGtests GeneratorObjects MuonAGDDDescription MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonSimData AtlasCLHEP_RandomGenerators PathResolver TrkDetDescrUtils TrkSurfaces TrkEventPrimitives MM_DigitizationLib NSWCalibToolsLib MagFieldElements MagFieldConditions )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx
index 87657fdeee7..75d19243bc4 100644
--- a/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/MM_Digitization/src/MM_DigitizationTool.cxx
@@ -60,7 +60,7 @@
 //Truth
 #include "CLHEP/Units/PhysicalConstants.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //Random Numbers
 #include "AthenaKernel/IAtRndmGenSvc.h"
diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/CMakeLists.txt b/MuonSpectrometer/MuonDigitization/RPC_Digitization/CMakeLists.txt
index b31fe01e988..0e19bfe4d68 100755
--- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/CMakeLists.txt
+++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/CMakeLists.txt
@@ -22,6 +22,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/EventInfo
                           Event/EventInfoMgt
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface
                           MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData
                           MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
@@ -34,14 +35,13 @@ find_package( AIDA )
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
 find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( RPC_Digitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps PileUpToolsLib xAODEventInfo GaudiKernel MuonSimData MuonSimEvent HitManagement AthenaKernel EventInfo GeneratorObjects MuonCondInterface MuonCondData MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib PathResolver )
+                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps PileUpToolsLib xAODEventInfo GaudiKernel MuonSimData MuonSimEvent HitManagement AthenaKernel EventInfo GeneratorObjects MuonCondInterface MuonCondData MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib PathResolver )
 
 # Install files from the package:
 atlas_install_headers( RPC_Digitization )
diff --git a/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
index 9365c9a1627..2c6d12678a4 100644
--- a/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/RPC_Digitization/src/RpcDigitizationTool.cxx
@@ -33,7 +33,7 @@
 
 //Truth
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //Random Numbers
 #include "AthenaKernel/RNGWrapper.h"
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/CMakeLists.txt b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/CMakeLists.txt
index d6fe06d514c..e9232068765 100644
--- a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/CMakeLists.txt
+++ b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/CMakeLists.txt
@@ -23,6 +23,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/EventInfo
                           Event/EventInfoMgt
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
                           MuonSpectrometer/MuonDigitContainer
                           MuonSpectrometer/MuonSimData
@@ -35,7 +36,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( AIDA )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 
 # tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
@@ -46,8 +46,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_component( sTGC_Digitization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel AthContainers PileUpToolsLib Identifier xAODEventInfo GaudiKernel MuonSimEvent HitManagement StoreGateLib SGtests EventInfo GeneratorObjects MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonSimData PathResolver TrkDetDescrUtils TrkSurfaces TrkEventPrimitives NSWCalibToolsLib )
+                     INCLUDE_DIRS ${AIDA_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel AthContainers PileUpToolsLib Identifier xAODEventInfo GaudiKernel MuonSimEvent HitManagement StoreGateLib SGtests EventInfo GeneratorObjects MuonReadoutGeometry MuonDigitContainer MuonIdHelpersLib MuonSimData PathResolver TrkDetDescrUtils TrkSurfaces TrkEventPrimitives NSWCalibToolsLib )
 
 # Install files from the package:
 atlas_install_headers( sTGC_Digitization )
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx
index 55b1368d769..48c2bd2e76e 100644
--- a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx
@@ -37,7 +37,7 @@
 //Truth
 #include "CLHEP/Units/PhysicalConstants.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //Random Numbers
 #include "AthenaKernel/IAtRndmGenSvc.h"
diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/CMakeLists.txt b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/CMakeLists.txt
index f9617ed08ea..a123e4f9c03 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/CMakeLists.txt
+++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/CMakeLists.txt
@@ -30,11 +30,11 @@ atlas_depends_on_subdirs( PUBLIC
                           MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
                           MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack
                           Tracking/TrkDetDescr/TrkSurfaces
-                          Tracking/TrkEvent/TrkTruthData )
+                          Tracking/TrkEvent/TrkTruthData 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Eigen )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
@@ -42,12 +42,12 @@ atlas_add_library( MuonHoughPatternToolsLib
                    src/*.cxx
                    PUBLIC_HEADERS MuonHoughPatternTools
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                   PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS 
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps GeoPrimitives GaudiKernel MuonDetDescrUtils MuonHoughPatternEvent MuonPattern MuonPrepRawData MuonSegment MuonRecToolInterfaces MuonLayerHough TrkDriftCircleMath MuonIdHelpersLib MuonClusterizationLib MuonRecHelperToolsLib StoreGateLib SGtests
-                   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} CxxUtils EventPrimitives xAODMuon xAODTruth MuonReadoutGeometry MuonRIO_OnTrack TrkSurfaces TrkTruthData )
+                   PRIVATE_LINK_LIBRARIES AtlasHepMCLib CxxUtils EventPrimitives xAODMuon xAODTruth MuonReadoutGeometry MuonRIO_OnTrack TrkSurfaces TrkTruthData )
 
 atlas_add_component( MuonHoughPatternTools
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GeoPrimitives GaudiKernel MuonDetDescrUtils MuonIdHelpersLib MuonClusterizationLib MuonHoughPatternEvent MuonPattern MuonPrepRawData MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonLayerHough TrkDriftCircleMath CxxUtils StoreGateLib SGtests EventPrimitives xAODMuon xAODTruth MuonReadoutGeometry MuonRIO_OnTrack TrkSurfaces TrkTruthData MuonHoughPatternToolsLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AtlasHepMCLib AthenaBaseComps GeoPrimitives GaudiKernel MuonDetDescrUtils MuonIdHelpersLib MuonClusterizationLib MuonHoughPatternEvent MuonPattern MuonPrepRawData MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonLayerHough TrkDriftCircleMath CxxUtils StoreGateLib SGtests EventPrimitives xAODMuon xAODTruth MuonReadoutGeometry MuonRIO_OnTrack TrkSurfaces TrkTruthData MuonHoughPatternToolsLib )
 
diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonLayerHoughTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonLayerHoughTool.cxx
index 0ef5eb14d9f..96392fc3ce7 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonLayerHoughTool.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonLayerHoughTool.cxx
@@ -11,7 +11,7 @@
 #include "MuonPattern/MuonPatternChamberIntersect.h"
 #include "TFile.h"
 #include "TTree.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GaudiKernel/ConcurrencyFlags.h"
 #include "CxxUtils/sincos.h"
 #include "xAODTruth/TruthParticle.h"
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/CMakeLists.txt b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/CMakeLists.txt
index e52fed964ab..077eae0f42d 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/CMakeLists.txt
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/CMakeLists.txt
@@ -35,17 +35,17 @@ atlas_depends_on_subdirs(
    Tracking/TrkEvent/TrkTruthData
    Tracking/TrkExtrapolation/TrkExInterfaces
    Tracking/TrkFitter/TrkFitterInterfaces
-   Tracking/TrkTruthTracks/TrkTruthTrackInterfaces )
+   Tracking/TrkTruthTracks/TrkTruthTrackInterfaces 
+   Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree )
 
 # Component(s) in the package:
 atlas_add_component( MuonTruthTools
    src/*.h src/*.cxx src/components/*.cxx
-   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps
+   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps
    GeoPrimitives Identifier EventPrimitives GaudiKernel MuonIdHelpersLib
    MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib
    MuonRecToolInterfaces MuonTrackMakerUtils MuonSimData TrkDetElementBase
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthSummaryTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthSummaryTool.cxx
index 02f2345c478..d7fc6b9432e 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthSummaryTool.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthSummaryTool.cxx
@@ -6,7 +6,7 @@
 #include "MuonSegment/MuonSegment.h"
 #include "TrkTrack/Track.h"
 #include "TrkMeasurementBase/MeasurementBase.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <iostream>
 #include "TTree.h"
 #include "GaudiKernel/ITHistSvc.h"
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthTrackBuilder.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthTrackBuilder.cxx
index d49a6f30dee..14057327b4b 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthTrackBuilder.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonTruthTools/src/MuonTruthTrackBuilder.cxx
@@ -33,7 +33,7 @@
 #include "MuonPrepRawData/MuonCluster.h"
 #include "MuonSegment/MuonSegment.h"
 // HepMC
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "MuonRecToolInterfaces/IMdtDriftCircleOnTrackCreator.h"
 #include "MuonRecToolInterfaces/IMuonClusterOnTrackCreator.h"
 #include "MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h"
diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/CMakeLists.txt b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/CMakeLists.txt
index 34042568373..60ca416ad36 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/CMakeLists.txt
+++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/CMakeLists.txt
@@ -35,16 +35,16 @@ atlas_depends_on_subdirs( PRIVATE
                           Tracking/TrkEvent/TrkTruthData
                           Tracking/TrkExtrapolation/TrkExInterfaces
                           Tracking/TrkFitter/TrkFitterInterfaces
-                          Tracking/TrkTools/TrkToolInterfaces )
+                          Tracking/TrkTools/TrkToolInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( MooSegmentCombinationFinder
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps StoreGateLib SGtests Identifier GaudiKernel MuonReadoutGeometry MuonIdHelpersLib MuonChamberT0s MuonPattern MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonLinearSegmentMakerUtilities MuonSegmentMakerUtils MuonEDM_AssociationObjects TrkSurfaces TrkEventPrimitives TrkParameters TrkSegment TrkTrack TrkTruthData TrkExInterfaces TrkFitterInterfaces TrkToolInterfaces )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps StoreGateLib SGtests Identifier GaudiKernel MuonReadoutGeometry MuonIdHelpersLib MuonChamberT0s MuonPattern MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonLinearSegmentMakerUtilities MuonSegmentMakerUtils MuonEDM_AssociationObjects TrkSurfaces TrkEventPrimitives TrkParameters TrkSegment TrkTrack TrkTruthData TrkExInterfaces TrkFitterInterfaces TrkToolInterfaces )
 
diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/CMakeLists.txt b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/CMakeLists.txt
index 3eaf98460b3..77ae819bb42 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/CMakeLists.txt
+++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/CMakeLists.txt
@@ -26,16 +26,16 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/TrkTruthData
                           Tracking/TrkFitter/TrkFitterInterfaces
-                          Tracking/TrkTools/TrkToolInterfaces )
+                          Tracking/TrkTools/TrkToolInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( MuonClusterSegmentMakerTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel AthenaBaseComps MuonPrepRawDataProviderToolsLib MuonDetDescrUtils MuonIdHelpersLib MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonLinearSegmentMakerUtilities MuonSegmentMakerUtils TrkParameters TrkTrack TrkTruthData TrkFitterInterfaces TrkToolInterfaces )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib GaudiKernel AthenaBaseComps MuonPrepRawDataProviderToolsLib MuonDetDescrUtils MuonIdHelpersLib MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonLinearSegmentMakerUtilities MuonSegmentMakerUtils TrkParameters TrkTrack TrkTruthData TrkFitterInterfaces TrkToolInterfaces )
 
diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/src/MuonClusterSegmentFinder.cxx b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/src/MuonClusterSegmentFinder.cxx
index 524d17be559..cc1979ee18e 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/src/MuonClusterSegmentFinder.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentMakers/MuonSegmentMakerTools/MuonClusterSegmentMakerTools/src/MuonClusterSegmentFinder.cxx
@@ -16,7 +16,7 @@
 // EDM
 #include "MuonPrepRawData/MdtPrepDataCollection.h"
 #include "MuonRIO_OnTrack/MdtDriftCircleOnTrack.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // interfaces
 #include "MuonRecToolInterfaces/IMuonClusterOnTrackCreator.h"
diff --git a/MuonSpectrometer/MuonTruthAlgs/CMakeLists.txt b/MuonSpectrometer/MuonTruthAlgs/CMakeLists.txt
index 44e8dc1fd8e..17fd949e484 100644
--- a/MuonSpectrometer/MuonTruthAlgs/CMakeLists.txt
+++ b/MuonSpectrometer/MuonTruthAlgs/CMakeLists.txt
@@ -51,17 +51,17 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkRIO_OnTrack
                           Tracking/TrkEvent/TrkSegment
                           Tracking/TrkExtrapolation/TrkExInterfaces
-                          Tracking/TrkFitter/TrkFitterInterfaces )
+                          Tracking/TrkFitter/TrkFitterInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( MuonTruthAlgs
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} StoreGateLib SGtests Identifier GaudiKernel MuonPrepRawData MuonRecToolInterfaces MuonSimData TrkTrack TrkTruthData TrkToolInterfaces AthenaBaseComps AthLinks AthContainers AtlasDetDescr EventPrimitives xAODMuon xAODTracking xAODTruth GeneratorObjects MuonReadoutGeometry MuonGeoModelLib MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonPattern MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MCTruthClassifierLib Particle ParticleTruth TrkDetElementBase TrkGeometry TrkSurfaces TrkCompetingRIOsOnTrack TrkEventUtils TrkMeasurementBase TrkParameters TrkPrepRawData TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkSegment TrkExInterfaces TrkFitterInterfaces )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib StoreGateLib SGtests Identifier GaudiKernel MuonPrepRawData MuonRecToolInterfaces MuonSimData TrkTrack TrkTruthData TrkToolInterfaces AthenaBaseComps AthLinks AthContainers AtlasDetDescr EventPrimitives xAODMuon xAODTracking xAODTruth GeneratorObjects MuonReadoutGeometry MuonGeoModelLib MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonPattern MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MCTruthClassifierLib Particle ParticleTruth TrkDetElementBase TrkGeometry TrkSurfaces TrkCompetingRIOsOnTrack TrkEventUtils TrkMeasurementBase TrkParameters TrkPrepRawData TrkPseudoMeasurementOnTrack TrkRIO_OnTrack TrkSegment TrkExInterfaces TrkFitterInterfaces )
 
 # Install files from the package:
 atlas_install_headers( MuonTruthAlgs )
diff --git a/MuonSpectrometer/MuonTruthAlgs/src/DetailedMuonPatternTruthBuilder.cxx b/MuonSpectrometer/MuonTruthAlgs/src/DetailedMuonPatternTruthBuilder.cxx
index 7c951ba4025..69e3e795536 100755
--- a/MuonSpectrometer/MuonTruthAlgs/src/DetailedMuonPatternTruthBuilder.cxx
+++ b/MuonSpectrometer/MuonTruthAlgs/src/DetailedMuonPatternTruthBuilder.cxx
@@ -14,8 +14,8 @@
 #include "TrkTruthData/DetailedSegmentTruth.h"
 #include "TrkTruthData/TruthTrajectory.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "AthContainers/DataVector.h"
@@ -60,7 +60,7 @@
 #include "MuonPrepRawData/MuonCluster.h"
 #include "MuonSegment/MuonSegment.h"
 // HepMC
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "MuonRecHelperTools/MuonEDMPrinterTool.h"
 #include "MuonRecHelperTools/IMuonEDMHelperSvc.h"
 #include "MuonRecToolInterfaces/IMdtDriftCircleOnTrackCreator.h"
diff --git a/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.cxx b/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.cxx
index 3596323e1ed..23e7803fa86 100644
--- a/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.cxx
+++ b/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.cxx
@@ -8,8 +8,8 @@
 
 #include "TrkTruthData/TruthTrajectory.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "AthContainers/DataVector.h"
diff --git a/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.h b/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.h
index 1c293e8b50d..0aecc456146 100644
--- a/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.h
+++ b/MuonSpectrometer/MuonTruthAlgs/src/MuonDecayTruthTrajectoryBuilder.h
@@ -10,7 +10,7 @@
 #include "TrkToolInterfaces/ITruthTrajectoryBuilder.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 
-namespace HepMC { class GenVertex; }
+#include "AtlasHepMC/GenVertex.h"
 
 namespace Muon {
   
diff --git a/MuonSpectrometer/MuonTruthAlgs/src/MuonTrackTruthTool.cxx b/MuonSpectrometer/MuonTruthAlgs/src/MuonTrackTruthTool.cxx
index 627410c4b3f..bab21d78ff8 100644
--- a/MuonSpectrometer/MuonTruthAlgs/src/MuonTrackTruthTool.cxx
+++ b/MuonSpectrometer/MuonTruthAlgs/src/MuonTrackTruthTool.cxx
@@ -8,8 +8,8 @@
 #include "MuonRecHelperTools/MuonEDMPrinterTool.h"
 
 #include "TrkToolInterfaces/ITruthTrajectoryBuilder.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkTruthData/TruthTrajectory.h"
 
 #include "MuonReadoutGeometry/MuonDetectorManager.h"
diff --git a/MuonSpectrometer/MuonTruthAlgs/src/TrackParticleTruthMaker.cxx b/MuonSpectrometer/MuonTruthAlgs/src/TrackParticleTruthMaker.cxx
index cc0a5f2aeae..ceb8c218aa4 100644
--- a/MuonSpectrometer/MuonTruthAlgs/src/TrackParticleTruthMaker.cxx
+++ b/MuonSpectrometer/MuonTruthAlgs/src/TrackParticleTruthMaker.cxx
@@ -15,7 +15,7 @@
 #include "ParticleTruth/TrackParticleTruthCollection.h"
 #include "TrkTrack/TrackCollection.h"
 #include "TrkTruthData/TruthTrajectory.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <map>
 #include "AthLinks/ElementLink.h"
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/CMakeLists.txt b/MuonSpectrometer/MuonValidation/MuonPRDTest/CMakeLists.txt
index 6ce602db7db..cba3e58160b 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/CMakeLists.txt
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PUBLIC
                           DetectorDescription/Identifier
                           Event/xAOD/xAODEventInfo
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MuonSpectrometer/MuonDetDescr/MuonAGDDDescription
                           MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry
                           MuonSpectrometer/MuonDigitContainer
@@ -32,15 +33,14 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkExtrapolation/TrkExInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( MuonPRDTest
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier xAODEventInfo GeneratorObjects MuonAGDDDescription MuonReadoutGeometry MuonDigitContainer MuonRDO MuonIdHelpersLib MuonPrepRawData MuonRIO_OnTrack MuonRecToolInterfaces MuonSimData MuonSimEvent TrkGeometry TrkSurfaces TrkParameters TrkExInterfaces )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier xAODEventInfo GeneratorObjects MuonAGDDDescription MuonReadoutGeometry MuonDigitContainer MuonRDO MuonIdHelpersLib MuonPrepRawData MuonRIO_OnTrack MuonRecToolInterfaces MuonSimData MuonSimEvent TrkGeometry TrkSurfaces TrkParameters TrkExInterfaces )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx
index c85599a77e0..4ed6536d860 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTPRDValAlg.cxx
@@ -14,7 +14,7 @@
 
 #include "Identifier/Identifier.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrackRecord/TrackRecordCollection.h"
 
 #include "MuonReadoutGeometry/MdtReadoutElement.h"
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTSimHitVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTSimHitVariables.cxx
index fa3a51980f9..807ba187e89 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTSimHitVariables.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MDTSimHitVariables.cxx
@@ -9,7 +9,7 @@
 #include "MuonSimEvent/MdtHitIdHelper.h"
 
 #include "MuonReadoutGeometry/MdtReadoutElement.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TTree.h"
 
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/RPCSimHitVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/RPCSimHitVariables.cxx
index 654aaec604f..cf8281f6f69 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/RPCSimHitVariables.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/RPCSimHitVariables.cxx
@@ -9,7 +9,7 @@
 #include "MuonSimEvent/RpcHitIdHelper.h"
 
 #include "MuonReadoutGeometry/RpcReadoutElement.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TTree.h"
 
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.cxx
index 40ea1897af0..c93e1db106c 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/TruthVariables.cxx
@@ -6,8 +6,8 @@
 #include "AthenaKernel/errorcheck.h"
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "TTree.h"
 
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/CMakeLists.txt b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/CMakeLists.txt
index c85ca77e66c..cd344f53d15 100644
--- a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/CMakeLists.txt
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/CMakeLists.txt
@@ -43,15 +43,14 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkExtrapolation/TrkExInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( MuonTrackPerformance
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps xAODEventInfo GaudiKernel MuonIdHelpersLib MuonStationIndexLib MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces TrkParameters TrkTrack TrkTrackSummary TrkTruthData TrkToolInterfaces StoreGateLib SGtests Identifier EventPrimitives xAODMuon xAODTracking xAODTruth MuonReadoutGeometry MuonClusterizationLib MuonCompetingRIOsOnTrack MuonLayerEvent MuonPrepRawData MuonRIO_OnTrack MuonLayerHough MuonRecValidationNtuples MuonCombinedEvent TrkMeasurementBase TrkPrepRawData TrkExInterfaces )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps xAODEventInfo GaudiKernel MuonIdHelpersLib MuonStationIndexLib MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces TrkParameters TrkTrack TrkTrackSummary TrkTruthData TrkToolInterfaces StoreGateLib SGtests Identifier EventPrimitives xAODMuon xAODTracking xAODTruth MuonReadoutGeometry MuonClusterizationLib MuonCompetingRIOsOnTrack MuonLayerEvent MuonPrepRawData MuonRIO_OnTrack MuonLayerHough MuonRecValidationNtuples MuonCombinedEvent TrkMeasurementBase TrkPrepRawData TrkExInterfaces )
 
 # Install files from the package:
 atlas_install_headers( MuonTrackPerformance )
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/MuonTrackPerformance/MuonTrackPerformanceAlg.h b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/MuonTrackPerformance/MuonTrackPerformanceAlg.h
index 51f23844aa4..29f9ff37fd9 100644
--- a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/MuonTrackPerformance/MuonTrackPerformanceAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/MuonTrackPerformance/MuonTrackPerformanceAlg.h
@@ -39,9 +39,7 @@
 class TFile;
 class TruthTrajectory;
 
-namespace HepMC{
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
   class Track;
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackPerformanceAlg.cxx b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackPerformanceAlg.cxx
index 3cc23625cd9..a6073b0869c 100644
--- a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackPerformanceAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackPerformanceAlg.cxx
@@ -6,8 +6,8 @@
 
 #include "MuonSegment/MuonSegmentCombination.h"
 #include "MuonSegment/MuonSegment.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include <iostream>
 #include <fstream>
diff --git a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackStatisticsTool.cxx b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackStatisticsTool.cxx
index 3f9ab492c04..d924661a7d0 100644
--- a/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackStatisticsTool.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonRecValidation/MuonTrackPerformance/src/MuonTrackStatisticsTool.cxx
@@ -11,7 +11,7 @@
 #include "MuonTrackPerformance/MuonTrackStatisticsTool.h"
 
 #include "TString.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkTrackSummary/TrackSummary.h"
 #include "TrkTrackSummary/MuonTrackSummary.h"
 
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/CMakeLists.txt b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/CMakeLists.txt
index 498f13a2bd4..e49766d79ec 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/CMakeLists.txt
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/CMakeLists.txt
@@ -19,6 +19,7 @@ atlas_depends_on_subdirs( PRIVATE
                           GaudiKernel
                           Generators/GenAnalysisTools/TruthHelper
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/AnalysisCommon/AnalysisTools
                           PhysicsAnalysis/AnalysisCommon/AnalysisUtils
                           PhysicsAnalysis/AnalysisCommon/CompositeParticleEvent
@@ -44,7 +45,6 @@ atlas_depends_on_subdirs( PRIVATE
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint )
 
@@ -52,8 +52,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_component( AnalysisExamples
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} CaloEvent AthenaBaseComps AthenaKernel Navigation SGTools StoreGateLib SGtests NavFourMom xAODEventInfo xAODTracking GaudiKernel TruthHelper GeneratorObjects AthAnalysisToolsLib AnalysisUtilsLib ParticleEvent AnalysisTriggerEvent JetTagEvent JetTagInfo MuonIDEvent McParticleEvent McParticleKernel JetEvent muonEvent Particle ParticleTruth RecoToolInterfaces egammaEvent VxVertex TrkVKalVrtFitterLib TrigDecisionToolLib TrigInDetEvent TrigParticle TrigSteeringEvent )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib CaloEvent AthenaBaseComps AthenaKernel Navigation SGTools StoreGateLib SGtests NavFourMom xAODEventInfo xAODTracking GaudiKernel TruthHelper GeneratorObjects AthAnalysisToolsLib AnalysisUtilsLib ParticleEvent AnalysisTriggerEvent JetTagEvent JetTagInfo MuonIDEvent McParticleEvent McParticleKernel JetEvent muonEvent Particle ParticleTruth RecoToolInterfaces egammaEvent VxVertex TrkVKalVrtFitterLib TrigDecisionToolLib TrigInDetEvent TrigParticle TrigSteeringEvent )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.cxx b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.cxx
index 5e1d57db07a..ba11f5df82b 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.cxx
@@ -77,9 +77,9 @@
 #include "VxVertex/RecVertex.h"
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "xAODEventInfo/EventInfo.h"
 #include "AthenaKernel/Units.h"
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.h b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.h
index 271eeefcec4..d0b20006ddc 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.h
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/JetTagAna.h
@@ -24,7 +24,7 @@
 #include "JetEvent/JetTagInfoBase.h"
 #include "ParticleTruth/TrackParticleTruth.h"
 #include "ParticleTruth/TrackParticleTruthCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "CLHEP/Vector/ThreeVector.h"
 #include "HepPDT/ParticleDataTable.hh"
 #include "egammaEvent/ElectronContainer.h"
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/ReadTruthParticles.cxx b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/ReadTruthParticles.cxx
index 6320d756f54..ee85d0e11f0 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/ReadTruthParticles.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/src/ReadTruthParticles.cxx
@@ -21,9 +21,9 @@
 
 #include "StoreGate/DataHandle.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "McParticleKernel/ITruthParticleCnvTool.h"
 
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisTest/CMakeLists.txt b/PhysicsAnalysis/AnalysisCommon/AnalysisTest/CMakeLists.txt
index 3a6b1c1ba8a..5e99eea7a1f 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisTest/CMakeLists.txt
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisTest/CMakeLists.txt
@@ -28,19 +28,19 @@ atlas_depends_on_subdirs( PUBLIC
                           PhysicsAnalysis/AnalysisCommon/AnalysisUtils
                           PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent
                           PhysicsAnalysis/TruthParticleID/McParticleUtils
-                          Reconstruction/Jet/JetEvent )
+                          Reconstruction/Jet/JetEvent 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( CppUnit )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( AnalysisTest
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} ${CLHEP_LIBRARIES} ${CPPUNIT_LIBRARIES} AthContainers StoreGateLib SGtests NavFourMom GaudiKernel McParticleEvent muonEvent Particle egammaEvent tauEvent VxVertex TestTools AthenaBaseComps AthenaKernel EventKernel FourMom GeneratorObjects AnalysisAssociation AnalysisUtilsLib AnalysisTriggerEvent McParticleUtils JetEvent )
+                     INCLUDE_DIRS  ${CLHEP_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS}
+                     LINK_LIBRARIES AtlasHepMCLib ${CLHEP_LIBRARIES} ${CPPUNIT_LIBRARIES} AthContainers StoreGateLib SGtests NavFourMom GaudiKernel McParticleEvent muonEvent Particle egammaEvent tauEvent VxVertex TestTools AthenaBaseComps AthenaKernel EventKernel FourMom GeneratorObjects AnalysisAssociation AnalysisUtilsLib AnalysisTriggerEvent McParticleUtils JetEvent )
 
 # Install files from the package:
 atlas_install_headers( AnalysisTest )
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/McVtxFilterTest_CppUnit.cxx b/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/McVtxFilterTest_CppUnit.cxx
index d50c525dbc6..1bf60d1e731 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/McVtxFilterTest_CppUnit.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/McVtxFilterTest_CppUnit.cxx
@@ -19,9 +19,9 @@
 #include "CLHEP/Units/SystemOfUnits.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "AthContainers/DataVector.h"
 
diff --git a/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/PdgIdFilterTest_CppUnit.cxx b/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/PdgIdFilterTest_CppUnit.cxx
index 60f89149a28..b71bc55fd55 100644
--- a/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/PdgIdFilterTest_CppUnit.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/AnalysisTest/test/PdgIdFilterTest_CppUnit.cxx
@@ -16,7 +16,7 @@
 
 // CLHEP includes
 #include "CLHEP/Units/SystemOfUnits.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "AthContainers/DataVector.h"
 
diff --git a/PhysicsAnalysis/D2PDMaker/CMakeLists.txt b/PhysicsAnalysis/D2PDMaker/CMakeLists.txt
index 8c8358ab560..2005e65fe2e 100644
--- a/PhysicsAnalysis/D2PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D2PDMaker/CMakeLists.txt
@@ -20,6 +20,7 @@ atlas_depends_on_subdirs(
    Event/NavFourMom
    GaudiKernel
    Generators/GeneratorObjects
+   Generators/AtlasHepMC
    PhysicsAnalysis/AnalysisCommon/AnalysisUtils
    PhysicsAnalysis/AnalysisCommon/PATCore
    PhysicsAnalysis/AnalysisCommon/ParticleEvent
@@ -40,16 +41,15 @@ atlas_depends_on_subdirs(
 # External dependencies:
 find_package( Boost )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist )
 
 # Component(s) in the package:
 atlas_add_component( D2PDMaker
    D2PDMaker/*.h D2PDMaker/*.icc src/*.cxx src/components/*.cxx
    INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-   ${HEPMC_INCLUDE_DIRS}
+   
    LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES}
-   ${HEPMC_LIBRARIES} CaloEvent AthenaBaseComps AthenaKernel AthContainers AthLinks
+   AtlasHepMCLib CaloEvent AthenaBaseComps AthenaKernel AthContainers AthLinks
    Navigation StoreGateLib EventKernel NavFourMom GaudiKernel
    GeneratorObjects AnalysisUtilsLib PATCoreLib ParticleEvent AssociationKernel
    McParticleEvent JetEvent muonEvent Particle egammaEvent tauEvent VxVertex
diff --git a/PhysicsAnalysis/D2PDMaker/D2PDMaker/D2PDTruthParticleSelector.h b/PhysicsAnalysis/D2PDMaker/D2PDMaker/D2PDTruthParticleSelector.h
index c945b8e61bf..ad7113c43af 100644
--- a/PhysicsAnalysis/D2PDMaker/D2PDMaker/D2PDTruthParticleSelector.h
+++ b/PhysicsAnalysis/D2PDMaker/D2PDMaker/D2PDTruthParticleSelector.h
@@ -31,7 +31,7 @@
 #include "GeneratorObjects/McEventCollection.h"
 #include "McParticleEvent/TruthParticle.h"
 #include "McParticleEvent/TruthParticleContainer.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 
diff --git a/PhysicsAnalysis/D2PDMaker/src/D2PDParticleCombiner.cxx b/PhysicsAnalysis/D2PDMaker/src/D2PDParticleCombiner.cxx
index 79049aef2e6..b4cab570b04 100644
--- a/PhysicsAnalysis/D2PDMaker/src/D2PDParticleCombiner.cxx
+++ b/PhysicsAnalysis/D2PDMaker/src/D2PDParticleCombiner.cxx
@@ -48,8 +48,8 @@
 #include "GeneratorObjects/McEventCollection.h"
 #include "McParticleEvent/TruthParticle.h"
 #include "McParticleEvent/TruthParticleContainer.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // The AthenaBarCode, used to check if two particles are identical
 #include "Navigation/IAthenaBarCode.h"
diff --git a/PhysicsAnalysis/D2PDMaker/src/D2PDTruthParticleSelector.cxx b/PhysicsAnalysis/D2PDMaker/src/D2PDTruthParticleSelector.cxx
index f5c0c6d27e1..bac52a9a117 100644
--- a/PhysicsAnalysis/D2PDMaker/src/D2PDTruthParticleSelector.cxx
+++ b/PhysicsAnalysis/D2PDMaker/src/D2PDTruthParticleSelector.cxx
@@ -27,8 +27,8 @@
 #include "D2PDMaker/D2PDTruthParticleSelector.h"
 
 // MC Truth includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsGenerator.h"
 #include "TruthHelper/IsStatus.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
index c01816fc744..be475e86a92 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
@@ -48,19 +48,18 @@ atlas_depends_on_subdirs( PRIVATE
                           Tracking/TrkEvent/VxVertex
                           Tracking/TrkTools/TrkToolInterfaces
                           Tracking/TrkValidation/TrkVertexFitterValidationUtils
-                          )
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( InDetD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} ${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 )
+                     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 )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx
index 6aa5810ce1a..fc50dc610a7 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitFillerTool.cxx
@@ -9,7 +9,7 @@
 //#include "InDetIdentifier/PixelID.h"
 //#include "InDetPrepRawData/PixelCluster.h"
 //#include "TrkEventPrimitives/ErrorMatrix.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 //#include "GeoAdaptors/GeoSiHit.h"
 
 /*
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx
index bb5841ee3c5..fd8111b8dd9 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.cxx
@@ -5,7 +5,7 @@
  #include "SiHitTruthAssociationTool.h"
  
  #include "AthenaKernel/errorcheck.h"
- #include "HepMC/GenParticle.h"
+ #include "AtlasHepMC/GenParticle.h"
 //#include "TrkTrack/Track.h"
 //#include "TrkTrack/TrackCollection.h"
 //#include "TrkTruthData/TrackTruthCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h
index 488cfed3ef2..6dd3312120d 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/SiHitTruthAssociationTool.h
@@ -13,7 +13,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "InDetSimEvent/SiHit.h"
 #include "InDetSimEvent/SiHitCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 namespace Trk {
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx
index 56e557ef131..f233c736308 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TRTUncompressedHitFillerTool.cxx
@@ -5,7 +5,7 @@
 #include "TRTUncompressedHitFillerTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeoAdaptors/GeoTRTUncompressedHit.h"
 
 D3PD::TRTUncompressedHitFillerTool::TRTUncompressedHitFillerTool (const std::string& type,
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx
index 38c3dd5fcf5..a4b8ec29d70 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.cxx
@@ -7,8 +7,8 @@
 #include "TrackParticleDetailedTruthAssociationTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "Particle/TrackParticle.h"
 #include "TrkTrack/Track.h"
 #include "TrkTrack/TrackCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h
index b6b307fbd23..1e59e60a1aa 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleDetailedTruthAssociationTool.h
@@ -14,7 +14,7 @@
 
 #include "StoreGate/StoreGateSvc.h"
 #include "TrkTruthData/DetailedTrackTruthCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <vector>
 
 namespace Rec {
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx
index 90bc8151cd4..a4e8e908802 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.cxx
@@ -5,7 +5,7 @@
 #include "TrackParticleTruthAssociationTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "Particle/TrackParticle.h"
 #include "Particle/TrackParticleContainer.h"
 #include "ParticleTruth/TrackParticleTruthCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h
index 4de09047f33..80a16397b68 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrackParticleTruthAssociationTool.h
@@ -14,9 +14,7 @@
 
 #include "StoreGate/StoreGateSvc.h"
 
-namespace HepMC {
-class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Rec {
 class TrackParticle;
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h
index 467279a0e07..98505283c77 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkPrepRawDataGenParticleAssociationTool.h
@@ -8,7 +8,7 @@
 #include "D3PDMakerUtils/MultiAssociationTool.h"
 
 #include "GaudiKernel/ToolHandle.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "Identifier/Identifier.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
 #include "TrkPrepRawData/PrepRawData.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx
index c381e6168c6..5fccc41bd2d 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.cxx
@@ -5,7 +5,7 @@
 #include "TrkTrackDetailedTruthAssociationTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkTrack/Track.h"
 #include "TrkTrack/TrackCollection.h"
 #include "TrkTruthData/DetailedTrackTruthCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h
index 7811b91aaf2..ca8b925d382 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackDetailedTruthAssociationTool.h
@@ -12,7 +12,7 @@
 
 #include "StoreGate/StoreGateSvc.h"
 #include "TrkTruthData/DetailedTrackTruthCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <vector>
 
 namespace Trk {
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h
index fd12a3b625c..bf81fb87d9a 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TrkTrackTruthAssociationTool.h
@@ -10,7 +10,7 @@
 
 // EDM include(s):
 #include "TrkTrack/Track.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // D3PDMaker include(s):
 #include "D3PDMakerUtils/SingleAssociationTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx
index 5f594ad6637..2c3a5484fcd 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.cxx
@@ -7,8 +7,8 @@
 #include "TruthTrackFillerTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h
index afe5dd81e4b..47031a8c33e 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackFillerTool.h
@@ -11,9 +11,7 @@
 #include "GaudiKernel/IPartPropSvc.h"
 #include "HepPDT/ParticleDataTable.hh"
 
-namespace HepMC {
-class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h
index 6879f611857..85792a23d7b 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthTrackGetterTool.h
@@ -10,8 +10,8 @@
 #include "D3PDMakerUtils/SGCollectionGetterTool.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "HepPDT/ParticleDataTable.hh"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h
index fce9f6d53ff..8e63da443a3 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexFillerTool.h
@@ -8,7 +8,7 @@
 #define INDETD3PDMAKER_TRUTHVERTEXFILLERTOOL_H
 
 #include "D3PDMakerUtils/BlockFillerTool.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h
index eb3b8740a40..83c3f3287c4 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/src/TruthVertexGetterTool.h
@@ -8,8 +8,8 @@
 #define INDETD3PDMAKER_TRUTHVERTEXGETTERTOOL_H
 
 #include "D3PDMakerUtils/SGCollectionGetterTool.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/CMakeLists.txt
index d863e754a5a..f862d80cd5a 100644
--- a/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/CMakeLists.txt
@@ -14,6 +14,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Event/EventPrimitives
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           InnerDetector/InDetConditions/InDetConditionsSummaryService
                           InnerDetector/InDetDetDescr/InDetIdentifier
                           InnerDetector/InDetDetDescr/InDetReadoutGeometry
@@ -34,15 +35,14 @@ atlas_depends_on_subdirs( PRIVATE
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
-find_package( HepMC )
 find_package( CLHEP )
 
 # Component(s) in the package:
 atlas_add_component( JetTagD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel AthContainers EventKernel EventPrimitives GaudiKernel GeneratorObjects InDetIdentifier InDetReadoutGeometry D3PDMakerUtils JetTagEvent JetTagInfo MuonIDEvent McParticleEvent JetEvent muonEvent Particle egammaEvent TrkParticleBase VxJetVertex VxSecVertex VxVertex TrkVertexFitterInterfaces )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS}  ${CLHEP_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${Boost_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel AthContainers EventKernel EventPrimitives GaudiKernel GeneratorObjects InDetIdentifier InDetReadoutGeometry D3PDMakerUtils JetTagEvent JetTagInfo MuonIDEvent McParticleEvent JetEvent muonEvent Particle egammaEvent TrkParticleBase VxJetVertex VxSecVertex VxVertex TrkVertexFitterInterfaces )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.cxx
index d3df5293b63..fc97ac027bc 100644
--- a/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.cxx
@@ -5,8 +5,8 @@
 #include "JetTagJetGenSoftLeptonAssociationTool.h"
 #include "JetEvent/Jet.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "JetTagInfo/SoftLeptonTruthInfo.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.h b/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.h
index 2c95196c1a1..272f4d8940f 100644
--- a/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/JetTagD3PDMaker/src/JetTagJetGenSoftLeptonAssociationTool.h
@@ -19,10 +19,8 @@
 
 class Jet;
 
-namespace HepMC{
-  class GenParticle;
-  class GenEvent;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace  Analysis{
   class SoftLeptonTruthInfo;
diff --git a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/CMakeLists.txt
index dbadc55323c..87979a86a35 100644
--- a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/CMakeLists.txt
@@ -45,19 +45,19 @@ atlas_depends_on_subdirs( PRIVATE
                           Tracking/TrkTools/TrkToolInterfaces
                           Trigger/TrigAnalysis/TrigObjectMatching
                           Trigger/TrigEvent/TrigInDetEvent
-                          Trigger/TrigEvent/TrigMuonEvent )
+                          Trigger/TrigEvent/TrigMuonEvent 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( MuonD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel AthContainers StoreGateLib SGtests AtlasDetDescr EventInfo EventKernel FourMomUtils xAODMuon xAODTracking xAODTruth GaudiKernel MuonCalibITools MuonIdHelpersLib MuonPattern MuonPrepRawData MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonSimEvent AnalysisTriggerEvent D3PDMakerUtils TriggerD3PDMakerLib MCTruthClassifierLib McParticleEvent muonEvent TrkGeometry TrkEventPrimitives TrkPrepRawData TrkSegment TrkTrackSummary TrkTruthData TrkExInterfaces TrkToolInterfaces TrigObjectMatchingLib TrigInDetEvent TrigMuonEvent )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel AthContainers StoreGateLib SGtests AtlasDetDescr EventInfo EventKernel FourMomUtils xAODMuon xAODTracking xAODTruth GaudiKernel MuonCalibITools MuonIdHelpersLib MuonPattern MuonPrepRawData MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonSimEvent AnalysisTriggerEvent D3PDMakerUtils TriggerD3PDMakerLib MCTruthClassifierLib McParticleEvent muonEvent TrkGeometry TrkEventPrimitives TrkPrepRawData TrkSegment TrkTrackSummary TrkTruthData TrkExInterfaces TrkToolInterfaces TrigObjectMatchingLib TrigInDetEvent TrigMuonEvent )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationFillerTool.cxx
index 242dd6641e9..f1e1c3fca69 100644
--- a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationFillerTool.cxx
@@ -10,7 +10,7 @@
 #include "MuonPatternCombinationFillerTool.h"
 #include "AthenaKernel/errorcheck.h"
 #include "TrkTruthData/TruthTrajectory.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
 #include "MuonPattern/MuonPatternCombinationCollection.h"
 #include "MuonPattern/DetailedMuonPatternTruthCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationMissedHitFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationMissedHitFillerTool.cxx
index 6e21fd146b3..4143920d61e 100644
--- a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationMissedHitFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonPatternCombinationMissedHitFillerTool.cxx
@@ -10,7 +10,7 @@
 #include "MuonPatternCombinationMissedHitFillerTool.h"
 #include "AthenaKernel/errorcheck.h"
 #include "TrkTruthData/TruthTrajectory.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
 #include "MuonPattern/MuonPatternCombinationCollection.h"
 #include "MuonPattern/DetailedMuonPatternTruthCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonSegmentTruthFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonSegmentTruthFillerTool.cxx
index 949aaba16ac..c50ec5d9b7b 100644
--- a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonSegmentTruthFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonSegmentTruthFillerTool.cxx
@@ -10,7 +10,7 @@
 #include "MuonSegmentTruthFillerTool.h"
 #include "AthenaKernel/errorcheck.h"
 #include "TrkTruthData/TruthTrajectory.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
 #include "MuonPattern/MuonPatternCombinationCollection.h"
 #include "MuonPattern/DetailedMuonPatternTruthCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonTruthHitsFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonTruthHitsFillerTool.cxx
index 4a3fa46e330..5d6e54d2a23 100644
--- a/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonTruthHitsFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/MuonD3PDMaker/src/MuonTruthHitsFillerTool.cxx
@@ -13,7 +13,7 @@
 #include "MuonIdHelpers/MuonIdHelperTool.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/CMakeLists.txt
index a9f5b7960c9..74a80d24847 100644
--- a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/CMakeLists.txt
@@ -29,6 +29,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Event/xAOD/xAODTrigger
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/D3PDMaker/D3PDMakerUtils
                           Reconstruction/RecoTools/RecoToolInterfaces
                           Reconstruction/RecoTools/TrackToVertex
@@ -43,15 +44,14 @@ atlas_depends_on_subdirs( PRIVATE
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( TileD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} ${HEPMC_LIBRARIES} CaloEvent CaloGeoHelpers AthContainers AthenaBaseComps StoreGateLib SGtests GeoModelUtilities Identifier EventInfo xAODCaloEvent xAODEventInfo xAODMissingET xAODMuon xAODPrimitives xAODTracking xAODTrigger GaudiKernel GeneratorObjects D3PDMakerUtils RecoToolInterfaces TileEvent TileIdentifier TrkParameters TrkParametersIdentificationHelpers VxVertex TrigInDetEvent TrigMuonEvent )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CORAL_LIBRARIES} AtlasHepMCLib CaloEvent CaloGeoHelpers AthContainers AthenaBaseComps StoreGateLib SGtests GeoModelUtilities Identifier EventInfo xAODCaloEvent xAODEventInfo xAODMissingET xAODMuon xAODPrimitives xAODTracking xAODTrigger GaudiKernel GeneratorObjects D3PDMakerUtils RecoToolInterfaces TileEvent TileIdentifier TrkParameters TrkParametersIdentificationHelpers VxVertex TrigInDetEvent TrigMuonEvent )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileClusterFillerTool.h b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileClusterFillerTool.h
index 288304b5c76..6d61955000c 100644
--- a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileClusterFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileClusterFillerTool.h
@@ -19,9 +19,9 @@
 #include "TrackTools.h"
 
 // MONTE CARLO INCLUDES
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // MONTE CARLO (TRUTH) INFORMATION
 #include "GeneratorObjects/McEventCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileMuonFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileMuonFillerTool.cxx
index b3ef4178543..ad89aabb0ab 100644
--- a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileMuonFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileMuonFillerTool.cxx
@@ -20,9 +20,9 @@
 #include "CaloEvent/CaloCellContainer.h"
 
 // MONTE CARLO INCLUDES
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 
 //xAOD tools
 #include "xAODPrimitives/IsolationType.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileTrackFillerTool.h b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileTrackFillerTool.h
index a8a06201c55..a4f4f1e8d01 100644
--- a/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileTrackFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TileD3PDMaker/src/TileTrackFillerTool.h
@@ -21,9 +21,9 @@
 #include "TrackToVertex/TrackToVertex.h"
 
 // MONTE CARLO INCLUDES
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // MONTE CARLO (TRUTH) INFORMATION
 #include "GeneratorObjects/McEventCollection.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TrackD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/TrackD3PDMaker/CMakeLists.txt
index 6acf46991fa..a452d4a9873 100644
--- a/PhysicsAnalysis/D3PDMaker/TrackD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/TrackD3PDMaker/CMakeLists.txt
@@ -30,18 +30,18 @@ atlas_depends_on_subdirs( PUBLIC
                           Reconstruction/RecoTools/RecoToolInterfaces
                           Tracking/TrkEvent/TrkEventPrimitives
                           Tracking/TrkEvent/TrkParticleBase
-                          Tracking/TrkEvent/VxVertex )
+                          Tracking/TrkEvent/VxVertex 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( TrackD3PDMaker
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} TrkParameters AthenaKernel CxxUtils SGtests Identifier EventPrimitives xAODBase xAODPrimitives xAODTracking GaudiKernel  InDetIdentifier InDetReadoutGeometry  InDetTestBLayerLib ParticleEvent D3PDMakerUtils Particle ITrackToVertex RecoToolInterfaces TrkEventPrimitives TrkParticleBase VxVertex )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} AtlasHepMCLib TrkParameters AthenaKernel CxxUtils SGtests Identifier EventPrimitives xAODBase xAODPrimitives xAODTracking GaudiKernel  InDetIdentifier InDetReadoutGeometry  InDetTestBLayerLib ParticleEvent D3PDMakerUtils Particle ITrackToVertex RecoToolInterfaces TrkEventPrimitives TrkParticleBase VxVertex )
 
 # Install files from the package:
 atlas_install_headers( TrackD3PDMaker )
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/CMakeLists.txt
index 72b02af3c95..e15e3a568bd 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/CMakeLists.txt
@@ -20,6 +20,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODMuon
                           Generators/GenAnalysisTools/TruthHelper
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/AnalysisCommon/ParticleJetTools
                           PhysicsAnalysis/MCTruthClassifier
                           PhysicsAnalysis/TruthParticleID/McParticleEvent
@@ -30,21 +31,20 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_library( TruthD3PDAnalysisLib
                    src/*.cxx
                    PUBLIC_HEADERS TruthD3PDAnalysis
-                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} 
                    LINK_LIBRARIES AthenaBaseComps GaudiKernel D3PDMakerUtils McParticleKernel StoreGateLib SGtests ParticleJetToolsLib MCTruthClassifierLib MCTruthClassifierLib
-                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel EventKernel xAODEgamma xAODJet xAODMuon TruthHelper GeneratorObjects McParticleEvent Particle ParticleTruth TrkParticleBase VxVertex )
+                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaKernel EventKernel xAODEgamma xAODJet xAODMuon TruthHelper GeneratorObjects McParticleEvent Particle ParticleTruth TrkParticleBase VxVertex )
 
 atlas_add_component( TruthD3PDAnalysis
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel D3PDMakerUtils McParticleKernel AthenaKernel StoreGateLib SGtests EventKernel xAODEgamma xAODJet xAODMuon TruthHelper GeneratorObjects ParticleJetToolsLib MCTruthClassifierLib McParticleEvent Particle ParticleTruth TrkParticleBase VxVertex TruthD3PDAnalysisLib MCTruthClassifierLib )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel D3PDMakerUtils McParticleKernel AthenaKernel StoreGateLib SGtests EventKernel xAODEgamma xAODJet xAODMuon TruthHelper GeneratorObjects ParticleJetToolsLib MCTruthClassifierLib McParticleEvent Particle ParticleTruth TrkParticleBase VxVertex TruthD3PDAnalysisLib MCTruthClassifierLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/IGenObjectsFilterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/IGenObjectsFilterTool.h
index 64bf58c9976..ba5cfa518de 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/IGenObjectsFilterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/IGenObjectsFilterTool.h
@@ -18,11 +18,10 @@
 #include "GaudiKernel/IAlgTool.h"
 
 // Forward declaration(s):
-namespace HepMC{
-   class GenParticle;
-   class GenEvent;
-   class GenVertex;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
+
 class McEventCollection;
 
 /// Interface ID for this tool type
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/TruthParticleFilterBase.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/TruthParticleFilterBase.h
index 9a86078192c..ad5d00a83b1 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/TruthParticleFilterBase.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/TruthD3PDAnalysis/TruthParticleFilterBase.h
@@ -26,11 +26,9 @@
 class ITruthIsolationTool;
 class McEventCollection;
 class TruthEtIsolationsContainer;
-namespace HepMC {
-  class GenEvent;
-  class GenVertex;
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/GenObjectsFilterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/GenObjectsFilterTool.cxx
index b9986de6d80..17ce7b2194d 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/GenObjectsFilterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/GenObjectsFilterTool.cxx
@@ -16,9 +16,9 @@
 #include "TruthHelper/IsGenInteracting.h"
 
 // EDM include(s):
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 // Local include(s):
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.cxx
index 9875f9d979a..9ec416c451e 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.cxx
@@ -5,8 +5,8 @@
 #include "SimpleTruthParticleFilterTool.h"
 #include "EventKernel/PdtPdg.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "HepPID/ParticleIDMethods.hh"
 #include "GaudiKernel/SystemOfUnits.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.h
index 9e239de2ef3..9b3c1d41411 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/SimpleTruthParticleFilterTool.h
@@ -6,9 +6,7 @@
 #define TRUTHD3PDANALYSIS_SIMPLETRUTHPARTICLEFILTERTOOL_H
 
 #include "TruthD3PDAnalysis/TruthParticleFilterBase.h"
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterBase.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterBase.cxx
index 242273eecb6..86154bab8bd 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterBase.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterBase.cxx
@@ -14,9 +14,9 @@
 #include "McParticleEvent/TruthEtIsolationsContainer.h"
 #include "McParticleKernel/ITruthIsolationTool.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "boost/range/iterator_range_core.hpp"
 #include <utility>
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.cxx
index cb71f38221d..899d2473b55 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.cxx
@@ -14,8 +14,8 @@
 #include "TruthParticleFilterTool.h"
 #include "EventKernel/PdtPdg.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "HepPID/ParticleIDMethods.hh"
 #include "GaudiKernel/SystemOfUnits.h"
 #include <algorithm>
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.h
index 74e251050c0..430c6bceb47 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDAnalysis/src/TruthParticleFilterTool.h
@@ -18,9 +18,7 @@
 
 
 #include "TruthD3PDAnalysis/TruthParticleFilterBase.h"
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/CMakeLists.txt
index 3a91e562bc6..06a3bbbed24 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/CMakeLists.txt
@@ -14,6 +14,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Event/xAOD/xAODTruth
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Generators/GenInterfaces
                           Generators/TruthUtils
                           PhysicsAnalysis/D3PDMaker/D3PDMakerInterfaces
@@ -28,15 +29,14 @@ atlas_depends_on_subdirs( PRIVATE
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( TruthD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel Navigation EventInfo xAODTruth GaudiKernel GeneratorObjects TruthUtils D3PDMakerUtils TruthD3PDAnalysisLib MCTruthClassifierLib McParticleEvent McParticleKernel JetEvent TrkToolInterfaces )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel Navigation EventInfo xAODTruth GaudiKernel GeneratorObjects TruthUtils D3PDMakerUtils TruthD3PDAnalysisLib MCTruthClassifierLib McParticleEvent McParticleKernel JetEvent TrkToolInterfaces )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventFillerTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventFillerTool.h
index cb6495ff815..ef82ae33db7 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventFillerTool.h
@@ -18,7 +18,7 @@
 
 
 #include "D3PDMakerUtils/BlockFillerTool.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.cxx
index e7836082da7..8a3f24ccec8 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.cxx
@@ -12,7 +12,7 @@
 
 
 #include "GenEventGenParticleAssociationTool.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "AthenaKernel/errorcheck.h"
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.h
index a2de7a7bd82..e77d9b8d7c2 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGenParticleAssociationTool.h
@@ -18,8 +18,8 @@
 
 
 #include "D3PDMakerUtils/MultiAssociationTool.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.cxx
index 83ff1225136..207d15cd1a3 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.cxx
@@ -12,7 +12,7 @@
 
 
 #include "GenEventGetterFilterTool.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.h
index f3a1f118b01..d92b67e4958 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterFilterTool.h
@@ -14,7 +14,7 @@
 
 
 #include "D3PDMakerUtils/CollectionGetterFilterTool.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 #ifndef EVENTCOMMOND3PDMAKER_GENEVENTGETTERFILTERTOOL_H
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterTool.cxx
index fb521e46643..1914ab6df9f 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventGetterTool.cxx
@@ -8,7 +8,7 @@
 #include "AthenaKernel/errorcheck.h"
 
 // EDM include(s):
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // Local include(s):
 #include "GenEventGetterTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventPileUpFillerTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventPileUpFillerTool.h
index ff3805887e0..c5c160a710e 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventPileUpFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenEventPileUpFillerTool.h
@@ -18,7 +18,7 @@
 #include "GaudiKernel/ToolHandle.h"
 
 // EDM include(s):
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // D3PDMaker include(s):
 #include "D3PDMakerInterfaces/ICollectionGetterRegistryTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleEventAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleEventAssociationTool.h
index 88a736490fa..5d0ebab4d42 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleEventAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleEventAssociationTool.h
@@ -19,8 +19,8 @@
 #include "D3PDMakerUtils/SingleAssociationTool.h"
 
 // EDM include(s):
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.cxx
index 2ceca3d2cc7..3ad88df4a6d 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.cxx
@@ -12,9 +12,9 @@
 
 
 #include "GenParticleFillerTool.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include "AthenaKernel/errorcheck.h"
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.h
index c6482ba42f9..59a9681d351 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleFillerTool.h
@@ -17,7 +17,7 @@
 
 
 #include "D3PDMakerUtils/BlockFillerTool.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.cxx
index 393059d26b9..a21e9549e3d 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.cxx
@@ -8,7 +8,7 @@
 #include "AthenaKernel/errorcheck.h"
 
 // EDM include(s):
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // Local include(s):
 #include "GenParticleGetterTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.h
index 6ab6f87a1e0..881bf462206 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleGetterTool.h
@@ -19,7 +19,7 @@
 
 // EDM include(s):
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // Helper tool(s):
 #include "TruthD3PDAnalysis/IGenObjectsFilterTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleParticleAssociationTool.h
index ab8bb8e5d94..353e33afe6c 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleParticleAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleParticleAssociationTool.h
@@ -19,7 +19,7 @@
 #include "D3PDMakerUtils/SingleAssociationTool.h"
 
 // EDM include(s):
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.cxx
index 7d3bd8eda3a..dbfbac6fbcc 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.cxx
@@ -5,7 +5,7 @@
 #include "GenParticlePerigeeFillerTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkToolInterfaces/ITruthToTrack.h"
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.h
index 052563d260b..d5c3e964b59 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticlePerigeeFillerTool.h
@@ -6,7 +6,7 @@
 #define TRACKD3PDMAKER_GENPARTICLEPERIGEEFILLERTOOL_H
 
 #include "D3PDMakerUtils/BlockFillerTool.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GaudiKernel/ToolHandle.h"
 #include "TrkToolInterfaces/ITruthToTrack.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.cxx
index 72e0608906e..92e10d84989 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.cxx
@@ -16,7 +16,7 @@
 #include "D3PDMakerInterfaces/ICollectionGetterTool.h"
 #include "D3PDMakerInterfaces/ICollectionGetterRegistryTool.h"
 #include "McParticleEvent/TruthParticleContainer.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "AthenaKernel/errorcheck.h"
 #include "GaudiKernel/IIncidentSvc.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.h
index 3a50a025b5b..e0c01e65e35 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleTruthParticleAssociationTool.h
@@ -19,7 +19,7 @@
 
 #include "D3PDMakerUtils/SingleAssociationTool.h"
 #include "McParticleEvent/TruthParticle.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GaudiKernel/IIncidentListener.h"
 #include "GaudiKernel/ToolHandle.h"
 #include "GaudiKernel/ServiceHandle.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleVertexAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleVertexAssociationTool.h
index 39a157713fa..78a5d2feea4 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleVertexAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenParticleVertexAssociationTool.h
@@ -19,8 +19,8 @@
 #include "D3PDMakerUtils/SingleAssociationTool.h"
 
 // EDM include(s):
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexEventAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexEventAssociationTool.h
index 733ebee4734..38a32c25b07 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexEventAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexEventAssociationTool.h
@@ -19,8 +19,8 @@
 #include "D3PDMakerUtils/SingleAssociationTool.h"
 
 // EDM include(s):
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.cxx
index d4e786e4bed..453e1dc2558 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.cxx
@@ -12,7 +12,7 @@
 
 
 #include "GenVertexFillerTool.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Geometry/Point3D.h"
 #include "AthenaKernel/errorcheck.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.h
index da482ae476f..e56b6d480d0 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexFillerTool.h
@@ -18,7 +18,7 @@
 
 
 #include "D3PDMakerUtils/BlockFillerTool.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.cxx
index f3c00f5e53e..898e8340c1d 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.cxx
@@ -8,7 +8,7 @@
 #include "AthenaKernel/errorcheck.h"
 
 // EDM include(s):
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // Local include(s):
 #include "GenVertexGetterTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.h
index e2106eddb9d..e5a798106a3 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexGetterTool.h
@@ -19,7 +19,7 @@
 
 // EDM include(s):
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // Helper tool(s):
 #include "TruthD3PDAnalysis/IGenObjectsFilterTool.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexParticleAssociationTool.h
index 944b1a31497..dd2dbe587d3 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexParticleAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/GenVertexParticleAssociationTool.h
@@ -22,8 +22,8 @@
 #include "D3PDMakerUtils/MultiAssociationTool.h"
 
 // EDM include(s):
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/HforFillerTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/HforFillerTool.cxx
index 971eacc977b..6e6edb4c241 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/HforFillerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/HforFillerTool.cxx
@@ -10,7 +10,7 @@
 #include "D3PDMakerUtils/BlockFillerTool.h"
 #include "AthenaKernel/errorcheck.h"
 #include "HforFillerTool.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 namespace D3PD{
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/JetFullTruthTag.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/JetFullTruthTag.cxx
index ce2a8884f58..71d853c66ec 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/JetFullTruthTag.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/JetFullTruthTag.cxx
@@ -13,7 +13,7 @@
 #include "AthenaKernel/errorcheck.h"
 #include "JetEvent/Jet.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "HepPID/ParticleIDMethods.hh"
 #include "GaudiKernel/SystemOfUnits.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.cxx
index a0fda8ba1aa..2f8d1c4cb3a 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.cxx
@@ -12,9 +12,9 @@
 #include "TruthJetFilterTool.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "CLHEP/Vector/LorentzVector.h"
 #include "boost/range/iterator_range_core.hpp"
 #include <utility>
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.h
index 44eacdede3d..132cc4953de 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthJetFilterTool.h
@@ -22,11 +22,9 @@
 #include "AthenaBaseComps/AthAlgTool.h"
 #include <string>
 class McEventCollection;
-namespace HepMC {
-  class GenEvent;
-  class GenVertex;
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.cxx
index b7047e22715..321da3fb40d 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.cxx
@@ -12,7 +12,7 @@
 #include "TruthLeptonNearbyAssociationTool.h"
 #include "AthenaKernel/errorcheck.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "McParticleEvent/TruthParticle.h"
 #include "TruthUtils/PIDHelpers.h"
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.h
index 0aa09e21dff..32b8f875f93 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonNearbyAssociationTool.h
@@ -17,9 +17,7 @@
 #include <vector>
 
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace D3PD {
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.cxx
index f2b8d9f27f0..d810eae7f0f 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.cxx
@@ -9,8 +9,8 @@
  */
 
 #include "TruthLeptonParentAssociationTool.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "AthenaKernel/errorcheck.h"
 #include "barcodeOrder.h"
 #include "McParticleEvent/TruthParticle.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.h
index aac7b0f4964..70ffc405c61 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthLeptonParentAssociationTool.h
@@ -19,9 +19,7 @@
 #include "McParticleEvent/TruthParticle.h"
 
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 namespace D3PD {
 
 /**
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.cxx
index 18e0b34d9ba..9af4e22c2b1 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.cxx
@@ -11,8 +11,8 @@
  */
 
 #include "TruthParticleFakerTool.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "AthenaKernel/errorcheck.h"
 
 #include "GaudiKernel/SystemOfUnits.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.h
index f47b8e9e035..7fded7fe29a 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleFakerTool.h
@@ -15,7 +15,7 @@
 
 
 #include "D3PDMakerUtils/BlockFillerTool.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <vector>
 
 
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleGenParticleAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleGenParticleAssociationTool.h
index 08376b9bd26..6db1e1725e4 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleGenParticleAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthParticleGenParticleAssociationTool.h
@@ -19,7 +19,7 @@
 
 #include "D3PDMakerUtils/SingleAssociationTool.h"
 #include "McParticleEvent/TruthParticle.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.cxx
index f4a2d27f19d..2fd1f3e2148 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.cxx
@@ -9,8 +9,8 @@
  */
 
 #include "TruthTauDecayAssociationTool.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "AthenaKernel/errorcheck.h"
 #include "barcodeOrder.h"
 #include "McParticleEvent/TruthParticle.h"
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.h b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.h
index 9cf255c0de0..bfb6b361fe6 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.h
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/TruthTauDecayAssociationTool.h
@@ -17,7 +17,7 @@
 
 #include "D3PDMakerUtils/MultiAssociationTool.h"
 #include "McParticleEvent/TruthParticle.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 namespace D3PD {
diff --git a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/hepMCInheritance.cxx b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/hepMCInheritance.cxx
index 2853c8fe616..e43133f4c14 100644
--- a/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/hepMCInheritance.cxx
+++ b/PhysicsAnalysis/D3PDMaker/TruthD3PDMaker/src/hepMCInheritance.cxx
@@ -16,7 +16,7 @@
 #include "McParticleEvent/TruthParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "Navigation/IAthenaBarCode.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "AthenaKernel/BaseInfo.h"
 
 SG_ADD_BASE (McEventCollection, DataVector<HepMC::GenEvent>);
diff --git a/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/CMakeLists.txt
index cbbc9ff030e..755dad17eaa 100644
--- a/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/CMakeLists.txt
@@ -33,18 +33,18 @@ atlas_depends_on_subdirs( PRIVATE
                           Trigger/TrigAnalysis/TrigObjectMatching
                           Trigger/TrigEvent/TrigCaloEvent
                           Trigger/TrigEvent/TrigInDetEvent
-                          Trigger/TrigEvent/TrigParticle )
+                          Trigger/TrigEvent/TrigParticle 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( egammaD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} CaloIdentifier AthenaKernel Navigation StoreGateLib SGtests EventKernel FourMomUtils xAODBase xAODCaloEvent xAODEgamma xAODJet xAODTracking xAODTruth GaudiKernel AnalysisTriggerEvent D3PDMakerUtils TriggerD3PDMakerLib MCTruthClassifierLib egammaEvent TrkParameters TrkExInterfaces TrkVertexFitterInterfaces TrigObjectMatchingLib TrigCaloEvent TrigInDetEvent TrigParticle )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib CaloIdentifier AthenaKernel Navigation StoreGateLib SGtests EventKernel FourMomUtils xAODBase xAODCaloEvent xAODEgamma xAODJet xAODTracking xAODTruth GaudiKernel AnalysisTriggerEvent D3PDMakerUtils TriggerD3PDMakerLib MCTruthClassifierLib egammaEvent TrkParameters TrkExInterfaces TrkVertexFitterInterfaces TrigObjectMatchingLib TrigCaloEvent TrigInDetEvent TrigParticle )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/src/egammaGenParticleAssociationTool.cxx b/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/src/egammaGenParticleAssociationTool.cxx
index 28130e16676..29761b2f1c9 100644
--- a/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/src/egammaGenParticleAssociationTool.cxx
+++ b/PhysicsAnalysis/D3PDMaker/egammaD3PDMaker/src/egammaGenParticleAssociationTool.cxx
@@ -19,7 +19,7 @@
 #include "xAODTruth/TruthParticle.h"
 #include "FourMomUtils/P4Helpers.h"
 #include "AthenaKernel/errorcheck.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include <cstdlib>
 
 
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/CMakeLists.txt b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/CMakeLists.txt
index 58a15924e42..2540eb7eb36 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/CMakeLists.txt
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/CMakeLists.txt
@@ -17,12 +17,12 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODBase
                           Event/xAOD/xAODJet
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/CommonTools/ExpressionEvaluation
                           PhysicsAnalysis/MCTruthClassifier )
 
 # External dependencies:
 find_package( FastJet )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
@@ -30,15 +30,15 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_library( DerivationFrameworkMCTruthLib
                    src/*.cxx
                    PUBLIC_HEADERS DerivationFrameworkMCTruth
-                   INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS} 
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${FASTJET_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps xAODEventInfo xAODTruth GaudiKernel SGtests ExpressionEvaluationLib MCTruthClassifierLib
+                   LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${FASTJET_LIBRARIES} AtlasHepMCLib AthenaBaseComps xAODEventInfo xAODTruth GaudiKernel SGtests ExpressionEvaluationLib MCTruthClassifierLib
                    PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaKernel xAODBase xAODJet GeneratorObjects )
 
 atlas_add_component( DerivationFrameworkMCTruth
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${FASTJET_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps xAODEventInfo xAODTruth GaudiKernel AthenaKernel SGtests EventInfo xAODBase xAODJet GeneratorObjects ExpressionEvaluationLib MCTruthClassifierLib DerivationFrameworkMCTruthLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${FASTJET_LIBRARIES} AtlasHepMCLib AthenaBaseComps xAODEventInfo xAODTruth GaudiKernel AthenaKernel SGtests EventInfo xAODBase xAODJet GeneratorObjects ExpressionEvaluationLib MCTruthClassifierLib DerivationFrameworkMCTruthLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/DerivationFrameworkMCTruth/CompactHardTruth.h b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/DerivationFrameworkMCTruth/CompactHardTruth.h
index c9c4eafcb97..058219f71b3 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/DerivationFrameworkMCTruth/CompactHardTruth.h
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/DerivationFrameworkMCTruth/CompactHardTruth.h
@@ -33,9 +33,9 @@
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "GaudiKernel/ToolHandle.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // fwd declares
 class IMcVtxFilterTool;
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/src/CompactHardTruth.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/src/CompactHardTruth.cxx
index f64605d005b..2cfcd3dc035 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/src/CompactHardTruth.cxx
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMCTruth/src/CompactHardTruth.cxx
@@ -26,11 +26,11 @@
 //#include "McParticleEvent/TruthParticle.h"
 //#include "McParticleEvent/TruthParticleContainer.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 // Needed for FourVector
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 //#include "McParticleUtils/McVtxFilter.h"
 
diff --git a/PhysicsAnalysis/MCTruthClassifier/CMakeLists.txt b/PhysicsAnalysis/MCTruthClassifier/CMakeLists.txt
index 56063345bf8..2d400ab9772 100644
--- a/PhysicsAnalysis/MCTruthClassifier/CMakeLists.txt
+++ b/PhysicsAnalysis/MCTruthClassifier/CMakeLists.txt
@@ -32,6 +32,7 @@ elseif( XAOD_ANALYSIS )
 elseif(GENERATIONBASE)
 	set(extra_deps 
 		GaudiKernel
+		Generators/AtlasHepMC
 		Generators/GeneratorObjects
 		PRIVATE
 		Control/AthenaKernel)
@@ -66,6 +67,7 @@ atlas_depends_on_subdirs(
    Control/AthToolSupport/AsgTools
    Event/xAOD/xAODTruth
    Generators/TruthUtils
+   Generators/AtlasHepMC
    ${extra_deps} )
 
 # External dependencies:
diff --git a/PhysicsAnalysis/MCTruthClassifier/src/MCTruthClassifierAthena.cxx b/PhysicsAnalysis/MCTruthClassifier/src/MCTruthClassifierAthena.cxx
index 26f4b1ff15c..c605f923d71 100644
--- a/PhysicsAnalysis/MCTruthClassifier/src/MCTruthClassifierAthena.cxx
+++ b/PhysicsAnalysis/MCTruthClassifier/src/MCTruthClassifierAthena.cxx
@@ -19,7 +19,7 @@
 // Athena only includes
 #include "AthenaKernel/Units.h"
 #include "GeneratorObjects/xAODTruthParticleLink.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "RecoToolInterfaces/IParticleCaloExtensionTool.h"
 #include "TrkEventPrimitives/PropDirection.h"
 #include "TrkParametersIdentificationHelpers/TrackParametersIdHelper.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEvent/test/TruthParticle_test.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEvent/test/TruthParticle_test.cxx
index a5456dd37ae..102fbd101d7 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEvent/test/TruthParticle_test.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEvent/test/TruthParticle_test.cxx
@@ -26,9 +26,9 @@
 // CLHEP includes
 #include "CLHEP/Units/SystemOfUnits.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
 
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt
index dbbfa8c2285..bd3a2df0c85 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/CMakeLists.txt
@@ -17,12 +17,12 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/SGTools
                           Control/StoreGate
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/TruthParticleID/McParticleKernel )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS EG Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
@@ -30,15 +30,15 @@ atlas_add_tpcnv_library( McParticleEventTPCnv
                          src/*.cxx
                          PUBLIC_HEADERS McParticleEventTPCnv
                          INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                         PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                         PRIVATE_INCLUDE_DIRS 
                          DEFINITIONS ${CLHEP_DEFINITIONS}
-                         LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel )
+                         LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel )
 
 atlas_add_dictionary( McParticleEventTPCnvDict
                       McParticleEventTPCnv/McParticleEventTPCnvDict.h
                       McParticleEventTPCnv/selection.xml
-                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                      LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel McParticleEventTPCnv )
+                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                      LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib DataModelAthenaPoolLib AthenaPoolCnvSvcLib GaudiKernel McParticleEvent AthenaKernel StoreGateLib SGtests GeneratorObjects McParticleKernel McParticleEventTPCnv )
 
 atlas_add_test( TruthParticleContainerCnv_p5_test
                 SOURCES
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p5.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p5.cxx
index e83151c8376..dbe2bb5d09b 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p5.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p5.cxx
@@ -15,7 +15,7 @@
 #include "GaudiKernel/MsgStream.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 // McParticleKernel includes
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p6.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p6.cxx
index d53471baa0b..74b62e21d1f 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p6.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/src/TruthParticleContainerCnv_p6.cxx
@@ -15,7 +15,7 @@
 #include "GaudiKernel/MsgStream.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 // McParticleKernel includes
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt
index ea5946a1eb3..9ef64aa501d 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleKernel/CMakeLists.txt
@@ -7,11 +7,12 @@ atlas_subdir( McParticleKernel )
 
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
+                          Generators/AtlasHepMC
                           GaudiKernel )
 
 # Component(s) in the package:
 atlas_add_library( McParticleKernel
                    src/*.cxx
                    PUBLIC_HEADERS McParticleKernel
-                   LINK_LIBRARIES GaudiKernel )
+                   LINK_LIBRARIES GaudiKernel AtlasHepMCLib )
 
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleKernel/McParticleKernel/IMcVtxFilterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleKernel/McParticleKernel/IMcVtxFilterTool.h
index 865214ba71d..bd5db992361 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleKernel/McParticleKernel/IMcVtxFilterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleKernel/McParticleKernel/IMcVtxFilterTool.h
@@ -18,7 +18,7 @@
 
 // Forward declaration
 class McEventCollection;
-namespace HepMC { class GenVertex; }
+#include "AtlasHepMC/GenVertex_fwd.h"
 
 static const InterfaceID IID_IMcVtxFilterTool("IMcVtxFilterTool", 1, 0);
 
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt
index ebfcba03a5b..2c428c294a6 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/CMakeLists.txt
@@ -14,6 +14,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Event/NavFourMom
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/TruthParticleID/McParticleAlgs
                           PhysicsAnalysis/TruthParticleID/McParticleEvent
                           PhysicsAnalysis/TruthParticleID/McParticleKernel
@@ -21,15 +22,14 @@ atlas_depends_on_subdirs( PRIVATE
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( McParticleTests
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps StoreGateLib SGtests EventKernel NavFourMom GaudiKernel GeneratorObjects McParticleEvent McParticleKernel McParticleUtils )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps StoreGateLib SGtests EventKernel NavFourMom GaudiKernel GeneratorObjects McParticleEvent McParticleKernel McParticleUtils )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodMcTopAna_solution.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodMcTopAna_solution.cxx
index f6944d67a33..77bfb2b4c66 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodMcTopAna_solution.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTests/src/McAodMcTopAna_solution.cxx
@@ -25,9 +25,9 @@
 #include "McParticleEvent/TruthParticle.h"
 #include "McParticleEvent/TruthParticleContainer.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "McParticleUtils/McVtxFilter.h"
 
 #include "EventKernel/PdtPdg.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt
index 0c33e59eb47..fd5438edf5f 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PRIVATE
                           GaudiKernel
                           Generators/GenAnalysisTools/TruthHelper
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PhysicsAnalysis/TruthParticleID/McParticleEvent
                           PhysicsAnalysis/TruthParticleID/McParticleKernel
                           PhysicsAnalysis/TruthParticleID/McParticleUtils )
@@ -22,7 +23,6 @@ atlas_depends_on_subdirs( PRIVATE
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
@@ -30,5 +30,5 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_component( McParticleTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthContainers StoreGateLib SGtests EventKernel GaudiKernel TruthHelper GeneratorObjects McParticleEvent McParticleKernel McParticleUtils SGTools )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthContainers StoreGateLib SGtests EventKernel GaudiKernel TruthHelper GeneratorObjects McParticleEvent McParticleKernel McParticleUtils SGTools )
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.cxx
index 0eb68243f91..363c7d5cf17 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.cxx
@@ -20,9 +20,9 @@
 
 // CLHEP/HepMC includes
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // McParticleKernel includes
 #include "McParticleKernel/IIOHepMcTool.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.h
index d21a0093a5d..449d7cda11a 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/GenAodValidationTool.h
@@ -27,9 +27,9 @@
 // Forward declaration
 class IIOHepMcTool;
 class McEventCollection;
-namespace HepMC { class GenEvent; }
-namespace HepMC { class GenVertex; }
-namespace HepMC { class GenParticle; }
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 class GenAodValidationTool : public TruthParticleValidationBaseTool
 { 
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcFloatWriterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcFloatWriterTool.h
index 97b87a24367..b0a8202e28b 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcFloatWriterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcFloatWriterTool.h
@@ -23,7 +23,7 @@
 #include "McParticleKernel/IIOHepMcTool.h"
 
 // Forward declaration
-namespace HepMC { class GenEvent; }
+#include "AtlasHepMC/GenEvent_fwd.h"
 //namespace McAod { class IO_BaseClass; }
 
 class HepMcFloatWriterTool : virtual public IIOHepMcTool,
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.cxx
index cb5e39845de..af6d67a97cf 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.cxx
@@ -18,7 +18,7 @@
 // CLHEP/HepMC includes
 #include "GeneratorObjects/McEventCollection.h"
 #include "HepPDT/ParticleDataTable.hh"
-#include "HepMC/IO_GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
 
 // McParticleTools includes
 #include "HepMcReaderTool.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.h
index 866df6c1707..2b0393adf66 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcReaderTool.h
@@ -22,8 +22,8 @@
 #include "McParticleKernel/IIOHepMcTool.h"
 
 // Forward declaration
-namespace HepMC { class GenEvent; }
-namespace HepMC { class IO_BaseClass; }
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/IO_BaseClass_fwd.h"
 
 class HepMcReaderTool : virtual public IIOHepMcTool,
 			        public AthAlgTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcTupleWriterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcTupleWriterTool.h
index 817e4b95624..2284a4ec2f7 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcTupleWriterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcTupleWriterTool.h
@@ -27,7 +27,7 @@
 // Forward declaration
 class ITHistSvc;
 class TTree;
-namespace HepMC { class GenEvent; }
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 class HepMcTupleWriterTool : virtual public IIOHepMcTool,
 			             public AthAlgTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.cxx
index 9f05a2cb7c9..10e6ec02c9a 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.cxx
@@ -18,7 +18,7 @@
 // CLHEP/HepMC includes
 #include "GeneratorObjects/McEventCollection.h"
 #include "HepPDT/ParticleDataTable.hh"
-#include "HepMC/IO_GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
 
 // McParticleTools includes
 #include "HepMcWriterTool.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.h
index a12cd36d515..e10e7381070 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/HepMcWriterTool.h
@@ -22,8 +22,8 @@
 #include "McParticleKernel/IIOHepMcTool.h"
 
 // Forward declaration
-namespace HepMC { class GenEvent; }
-namespace HepMC { class IO_BaseClass; }
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/IO_BaseClass_fwd.h"
 
 class HepMcWriterTool : virtual public IIOHepMcTool,
 			        public AthAlgTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McAodWriterTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McAodWriterTool.cxx
index ad5d48d6cd8..8fd5bbe7b65 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McAodWriterTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McAodWriterTool.cxx
@@ -17,7 +17,7 @@
 // FrameWork includes
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // McParticleEvent includes
 #include "McParticleEvent/TruthParticleContainer.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.cxx
index 0c24a823fad..73c8712743c 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.cxx
@@ -16,9 +16,9 @@
 #include "GaudiKernel/Property.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 // McParticleTools includes
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.h
index 134c0af13ec..62da5533367 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/McVtxFilterTool.h
@@ -66,7 +66,7 @@
 
 // Forward declaration
 class McEventCollection;
-namespace HepMC { class GenVertex; }
+#include "AtlasHepMC/GenVertex_fwd.h"
 
 class McVtxFilterTool : virtual public IMcVtxFilterTool,
 			        public AthAlgTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.cxx
index b4549b81033..123ad0ca1e7 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.cxx
@@ -19,9 +19,9 @@
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsGenSimulStable.h"
 #include "TruthHelper/IsGenerator.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 
 // McParticleKernel includes
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.h
index 80d91b85fb6..47e9accee9c 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/OldSpclMcFilterTool.h
@@ -25,7 +25,7 @@ namespace TruthHelper{
      class GenAccessIO;
 }
 
-namespace HepMC { class GenEvent; }
+#include "AtlasHepMC/GenEvent_fwd.h"
 class IMcVtxFilterTool;
 
 class OldSpclMcFilterTool : public TruthParticleFilterBaseTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.cxx
index 0f84a9398d0..6090e150046 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.cxx
@@ -19,9 +19,9 @@
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsGenSimulStable.h"
 #include "TruthHelper/IsGenerator.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 
 // McParticleKernel includes
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.h
index c85af441404..07bb7c5333a 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/PileupFilterTool.h
@@ -24,7 +24,7 @@ namespace TruthHelper{
      class GenAccessIO;
 }
 
-namespace HepMC { class GenEvent; }
+#include "AtlasHepMC/GenEvent_fwd.h"
 class IMcVtxFilterTool;
 
 class PileupFilterTool : public TruthParticleFilterBaseTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.cxx
index eddb46b4a4d..9d2a377c934 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.cxx
@@ -15,9 +15,9 @@
 // CLHEP/HepMC includes
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsGenInteracting.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 #include "CLHEP/Vector/LorentzVector.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.h b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.h
index 94bcad573d0..c8973ca0370 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthIsolationTool.h
@@ -26,8 +26,8 @@
 // Forward declarations
 class McEventCollection;
 class TruthEtIsolations;
-namespace HepMC { class GenEvent; }
-namespace HepMC { class GenParticle;  }
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 class TruthIsolationTool : virtual public ITruthIsolationTool,
                                    public AthAlgTool
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthParticleCnvTool.cxx b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthParticleCnvTool.cxx
index 7e5e49dc655..b012d013eff 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthParticleCnvTool.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleTools/src/TruthParticleCnvTool.cxx
@@ -20,10 +20,10 @@
 #include "GaudiKernel/ThreadLocalContext.h"
 
 // CLHEP/HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/Polarization.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/Polarization.h"
 #include "HepPDT/ParticleData.hh"
 
 // McParticleKernel includes
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt b/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt
index d0d6edeef4f..fce02c971f6 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt
+++ b/PhysicsAnalysis/TruthParticleID/McParticleUtils/CMakeLists.txt
@@ -15,13 +15,13 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           AtlasTest/TestTools
                           Control/StoreGate
-                          Control/RootUtils )
+                          Control/RootUtils 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
 find_package( CppUnit )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( Python COMPONENTS Development )
 
@@ -29,10 +29,10 @@ find_package( Python COMPONENTS Development )
 atlas_add_library( McParticleUtils
                    src/*.cxx
                    PUBLIC_HEADERS McParticleUtils
-                   INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS 
                    PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaKernel AthContainers EventKernel GaudiKernel AnalysisUtilsLib StoreGateLib SGtests RootUtils
+                   LINK_LIBRARIES AtlasHepMCLib AthenaKernel AthContainers EventKernel GaudiKernel AnalysisUtilsLib StoreGateLib SGtests RootUtils
                    PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${Python_LIBRARIES} ${CLHEP_LIBRARIES} ${CPPUNIT_LIBRARIES} )
 
 # Install files from the package:
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleUtils/McParticleUtils/McVtxFilter.h b/PhysicsAnalysis/TruthParticleID/McParticleUtils/McParticleUtils/McVtxFilter.h
index 4e8092f1500..4956d27328e 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleUtils/McParticleUtils/McVtxFilter.h
+++ b/PhysicsAnalysis/TruthParticleID/McParticleUtils/McParticleUtils/McVtxFilter.h
@@ -31,9 +31,9 @@
 #include "GaudiKernel/GaudiException.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // EventKernel includes
 #include "EventKernel/PdtPdg.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleUtils/src/McVtxFilter.cxx b/PhysicsAnalysis/TruthParticleID/McParticleUtils/src/McVtxFilter.cxx
index fdc742faece..5636286b7c0 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleUtils/src/McVtxFilter.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleUtils/src/McVtxFilter.cxx
@@ -17,8 +17,8 @@
 #include "GaudiKernel/GaudiException.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // AnalysisUtils includes
 #include "AnalysisUtils/AnalysisPermutation.h"
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleUtils/test/McVtxFilterTest_CppUnit.cxx b/PhysicsAnalysis/TruthParticleID/McParticleUtils/test/McVtxFilterTest_CppUnit.cxx
index 2df400c9b02..0a8ef1049ee 100755
--- a/PhysicsAnalysis/TruthParticleID/McParticleUtils/test/McVtxFilterTest_CppUnit.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleUtils/test/McVtxFilterTest_CppUnit.cxx
@@ -22,9 +22,9 @@
 #include "CLHEP/Units/SystemOfUnits.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "AthContainers/DataVector.h"
 
diff --git a/Reconstruction/MissingETEvent/CMakeLists.txt b/Reconstruction/MissingETEvent/CMakeLists.txt
index f8b2161efad..dbf249baca7 100644
--- a/Reconstruction/MissingETEvent/CMakeLists.txt
+++ b/Reconstruction/MissingETEvent/CMakeLists.txt
@@ -38,6 +38,6 @@ atlas_add_library( MissingETEvent
 atlas_add_dictionary( MissingETEventDict
                       MissingETEvent/MissingETEventDict.h
                       MissingETEvent/selection.xml
-                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                       LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib CaloEvent CaloGeoHelpers AthContainers Navigation EventKernel NavFourMom GaudiKernel CxxUtils TruthHelper MissingETEvent )
 
diff --git a/Reconstruction/MissingETPerformance/CMakeLists.txt b/Reconstruction/MissingETPerformance/CMakeLists.txt
index 1b54b7b6a7e..63ce2de9eba 100644
--- a/Reconstruction/MissingETPerformance/CMakeLists.txt
+++ b/Reconstruction/MissingETPerformance/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           LArCalorimeter/LArRecConditions
                           PhysicsAnalysis/AnalysisCommon/AnalysisTools
                           PhysicsAnalysis/AnalysisTrigger/AnalysisTriggerEvent
@@ -45,7 +46,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Graf Gpad Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf3d Html Postscript Gui GX11TTF GX11 )
 
 # tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
@@ -57,15 +57,15 @@ atlas_add_library( MissingETPerformanceLib
                    src/*.cxx
                    PUBLIC_HEADERS MissingETPerformance
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloConditions CaloEvent AthenaBaseComps SGTools GaudiKernel GeneratorObjects LArRecConditions AnalysisTriggerEvent McParticleEvent JetEvent JetUtils MissingETEvent muonEvent Particle egammaEvent TrigCaloEvent TrigInDetEvent TrigMissingEtEvent TrigMuonEvent StoreGateLib SGtests AthAnalysisToolsLib MissingETGoodnessLib TrigDecisionToolLib
-                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel CaloGeoHelpers FourMom FourMomUtils xAODEventInfo TruthHelper tauEvent VxVertex TrigConfL1Data )
+                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} AtlasHepMCLib AthenaKernel CaloGeoHelpers FourMom FourMomUtils xAODEventInfo TruthHelper tauEvent VxVertex TrigConfL1Data )
 
 atlas_add_component( MissingETPerformance
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} CaloConditions CaloEvent AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel GeneratorObjects LArRecConditions AthAnalysisToolsLib AnalysisTriggerEvent McParticleEvent JetEvent JetUtils MissingETEvent MissingETGoodnessLib muonEvent Particle egammaEvent TrigDecisionToolLib TrigCaloEvent TrigInDetEvent TrigMissingEtEvent TrigMuonEvent AthenaKernel CaloGeoHelpers FourMom FourMomUtils xAODEventInfo TruthHelper tauEvent VxVertex TrigConfL1Data MissingETPerformanceLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib CaloConditions CaloEvent AthenaBaseComps SGTools StoreGateLib SGtests GaudiKernel GeneratorObjects LArRecConditions AthAnalysisToolsLib AnalysisTriggerEvent McParticleEvent JetEvent JetUtils MissingETEvent MissingETGoodnessLib muonEvent Particle egammaEvent TrigDecisionToolLib TrigCaloEvent TrigInDetEvent TrigMissingEtEvent TrigMuonEvent AthenaKernel CaloGeoHelpers FourMom FourMomUtils xAODEventInfo TruthHelper tauEvent VxVertex TrigConfL1Data MissingETPerformanceLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx b/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx
index 51f04244a0e..014a9c3f5ea 100644
--- a/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx
+++ b/Reconstruction/MissingETPerformance/src/MissingETMuonData.cxx
@@ -7,8 +7,8 @@
 #include "JetEvent/Jet.h"
 #include "JetEvent/JetCollection.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsGenNonInteracting.h"
diff --git a/Reconstruction/MissingETPerformance/src/MuonTool.cxx b/Reconstruction/MissingETPerformance/src/MuonTool.cxx
index 2b92c46bc8e..1865325d41f 100644
--- a/Reconstruction/MissingETPerformance/src/MuonTool.cxx
+++ b/Reconstruction/MissingETPerformance/src/MuonTool.cxx
@@ -22,9 +22,9 @@
 
 //HEPMC stuff
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsGenNonInteracting.h"
 #include "TruthHelper/GenAccessIO.h"
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt
index 20804d5431a..b71f6720cf8 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/CMakeLists.txt
@@ -55,17 +55,17 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/TrkTrackSummary
                           Tracking/TrkExtrapolation/TrkExInterfaces
-                          Tracking/TrkTools/TrkToolInterfaces )
+                          Tracking/TrkTools/TrkToolInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( MuonCombinedBaseTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} CaloEvent AthLinks AthenaBaseComps Identifier EventPrimitives FourMomUtils xAODCaloEvent xAODEventInfo xAODMuon xAODTracking xAODTruth GaudiKernel MagFieldInterfaces MuonReadoutGeometry MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonSegmentMakerUtils MuonSelectorToolsLib ICaloTrkMuIdTools MuidInterfaces MuonCombinedEvent MuonCombinedToolInterfaces muonEvent MuidEvent ParticleTruth RecoToolInterfaces TrackToCaloLib TrkGeometry TrkSurfaces TrkCaloExtension TrkEventPrimitives TrkEventUtils TrkMaterialOnTrack TrkParameters TrkParametersIdentificationHelpers TrkSegment TrkTrack TrkTrackSummary TrkExInterfaces TrkToolInterfaces BeamSpotConditionsData )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib CaloEvent AthLinks AthenaBaseComps Identifier EventPrimitives FourMomUtils xAODCaloEvent xAODEventInfo xAODMuon xAODTracking xAODTruth GaudiKernel MagFieldInterfaces MuonReadoutGeometry MuonIdHelpersLib MuonCompetingRIOsOnTrack MuonRIO_OnTrack MuonSegment MuonRecHelperToolsLib MuonRecToolInterfaces MuonSegmentMakerUtils MuonSelectorToolsLib ICaloTrkMuIdTools MuidInterfaces MuonCombinedEvent MuonCombinedToolInterfaces muonEvent MuidEvent ParticleTruth RecoToolInterfaces TrackToCaloLib TrkGeometry TrkSurfaces TrkCaloExtension TrkEventPrimitives TrkEventUtils TrkMaterialOnTrack TrkParameters TrkParametersIdentificationHelpers TrkSegment TrkTrack TrkTrackSummary TrkExInterfaces TrkToolInterfaces BeamSpotConditionsData )
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx
index 636bebc61e5..cb54becfc0e 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCaloTagTool.cxx
@@ -34,8 +34,8 @@
 #include "xAODTruth/TruthParticle.h"
 
 // --- HepMC Includes ---
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Vector/LorentzVector.h"
 
 #include <cmath>
diff --git a/Reconstruction/MuonIdentification/MuonCombinedTestTools/src/MuonTrackTagTestTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedTestTools/src/MuonTrackTagTestTool.cxx
index 8a99f30bdfa..b54fdd21c05 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedTestTools/src/MuonTrackTagTestTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedTestTools/src/MuonTrackTagTestTool.cxx
@@ -19,7 +19,7 @@
 #ifdef MUONCOMBDEBUG
 #include "TrkTruthData/TrackTruth.h" 
 #include "TrkTruthData/TrackTruthCollection.h"
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 #endif
 
 using namespace MuonCombined;
diff --git a/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p1_test.cxx b/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p1_test.cxx
index b9365fda41e..910ed5e1129 100644
--- a/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p1_test.cxx
+++ b/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p1_test.cxx
@@ -18,8 +18,8 @@
 #include "SGTools/TestStore.h"
 #include "TestTools/leakcheck.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p2_test.cxx b/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p2_test.cxx
index 16620b0e2af..d218af9130a 100644
--- a/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p2_test.cxx
+++ b/Reconstruction/TrackParticleTruthTPCnv/test/TrackParticleTruthCollectionCnv_p2_test.cxx
@@ -17,8 +17,8 @@
 #include "ParticleTruth/TrackParticleTruthCollection.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITrajectoryTool.h b/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITrajectoryTool.h
index 8b7d89f2807..12045f9e33f 100644
--- a/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITrajectoryTool.h
+++ b/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITrajectoryTool.h
@@ -27,10 +27,7 @@ Abstract base class for TrajectoryTool AlgTool
 class FastField;
 class PerigeeParameters;
 class TrackParameters;
-namespace HepMC
-{
-    class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 namespace iPat
 {
     
diff --git a/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITruthParameters.h b/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITruthParameters.h
index 8f6efc96170..234ef43245c 100755
--- a/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITruthParameters.h
+++ b/Reconstruction/iPat/iPatInterfaces/iPatInterfaces/ITruthParameters.h
@@ -26,11 +26,7 @@ Abstract base class for TruthParameters AlgTool
 
 class PerigeeParameters;
 class TrackParameters;
-namespace HepMC
-{
-    class GenParticle;
-}
-
+#include "AtlasHepMC/GenParticle_fwd.h"
 class ITruthParameters: virtual public IAlgTool
 {
 public:
diff --git a/Reconstruction/iPat/iPatTruthTrajectory/CMakeLists.txt b/Reconstruction/iPat/iPatTruthTrajectory/CMakeLists.txt
index c3fc30a718d..f75b270d248 100644
--- a/Reconstruction/iPat/iPatTruthTrajectory/CMakeLists.txt
+++ b/Reconstruction/iPat/iPatTruthTrajectory/CMakeLists.txt
@@ -16,19 +16,19 @@ atlas_depends_on_subdirs( PUBLIC
                           Generators/GenAnalysisTools/TruthTools
                           Generators/GenInterfaces
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkDetDescr/TrkSurfaces
                           Tracking/TrkExtrapolation/TrkExInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( iPatTruthTrajectory
                      src/TruthParameters.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel iPatInterfaces iPatTrackParameters TrkExUtils GeneratorObjects TrkSurfaces TrkExInterfaces )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel iPatInterfaces iPatTrackParameters TrkExUtils GeneratorObjects TrkSurfaces TrkExInterfaces )
 
 # Install files from the package:
 atlas_install_headers( iPatTruthTrajectory )
diff --git a/Reconstruction/iPat/iPatTruthTrajectory/iPatTruthTrajectory/TruthParameters.h b/Reconstruction/iPat/iPatTruthTrajectory/iPatTruthTrajectory/TruthParameters.h
index 64d82336147..963db93f57d 100755
--- a/Reconstruction/iPat/iPatTruthTrajectory/iPatTruthTrajectory/TruthParameters.h
+++ b/Reconstruction/iPat/iPatTruthTrajectory/iPatTruthTrajectory/TruthParameters.h
@@ -13,7 +13,7 @@
 //<<<<<< INCLUDES                                                       >>>>>>
 
 #include "AthenaBaseComps/AthAlgTool.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "HepPDT/ParticleDataTable.hh"
 #include "GaudiKernel/ToolHandle.h"
 #include "TrkExUtils/TrackSurfaceIntersection.h"
diff --git a/Simulation/FastShower/FastCaloSim/CMakeLists.txt b/Simulation/FastShower/FastCaloSim/CMakeLists.txt
index 916d464d5ca..0175d1d74fe 100644
--- a/Simulation/FastShower/FastCaloSim/CMakeLists.txt
+++ b/Simulation/FastShower/FastCaloSim/CMakeLists.txt
@@ -79,14 +79,14 @@ atlas_add_library( FastCaloSimLib
                    ${FastCaloSimLibDictSource}
                    PUBLIC_HEADERS FastCaloSim
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} CaloEvent CaloIdentifier AthenaBaseComps AthenaKernel Identifier GaudiKernel LArRecEvent TileEvent TrkEventPrimitives TrkParameters TrkExInterfaces CaloDetDescrLib StoreGateLib SGtests
                    PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthAllocators AthenaPoolUtilities AtlasDetDescr GeoPrimitives EventKernel NavFourMom GeneratorObjects TruthUtils FastCaloSimAthenaPool PathResolver TrkGeometry TrkSurfaces TrkMaterialOnTrack )
 
 atlas_add_component( FastCaloSim
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} CaloDetDescrLib CaloEvent CaloIdentifier AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier GaudiKernel LArRecEvent TileEvent TrkEventPrimitives TrkParameters TrkExInterfaces AthAllocators AthenaPoolUtilities AtlasDetDescr GeoPrimitives EventKernel NavFourMom GeneratorObjects TruthUtils FastCaloSimAthenaPool PathResolver TrkGeometry TrkSurfaces TrkMaterialOnTrack FastCaloSimLib )
 
 # Install files from the package:
diff --git a/Simulation/FastShower/FastCaloSim/src/obsolete/CBNTAA_DetailedCellInfo.cxx b/Simulation/FastShower/FastCaloSim/src/obsolete/CBNTAA_DetailedCellInfo.cxx
index 437b4a66343..28a94ffac22 100644
--- a/Simulation/FastShower/FastCaloSim/src/obsolete/CBNTAA_DetailedCellInfo.cxx
+++ b/Simulation/FastShower/FastCaloSim/src/obsolete/CBNTAA_DetailedCellInfo.cxx
@@ -39,7 +39,7 @@
 
 #include "TruthHelper/GenAll.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "GaudiKernel/IPartPropSvc.h"
 #include "HepPDT/ParticleData.hh"
diff --git a/Simulation/FastShower/FastCaloSim/src/obsolete/FastCaloSimIsGenSimulStable.cxx b/Simulation/FastShower/FastCaloSim/src/obsolete/FastCaloSimIsGenSimulStable.cxx
index 67fe500a5ad..2117d049ed5 100755
--- a/Simulation/FastShower/FastCaloSim/src/obsolete/FastCaloSimIsGenSimulStable.cxx
+++ b/Simulation/FastShower/FastCaloSim/src/obsolete/FastCaloSimIsGenSimulStable.cxx
@@ -5,8 +5,8 @@
 #include <vector>
 
 #include "FastCaloSim/FastCaloSimIsGenSimulStable.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
   using std::vector;
   using std::abs;
diff --git a/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt b/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt
index 3510ec858b9..4bd638d8770 100644
--- a/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt
+++ b/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt
@@ -34,14 +34,14 @@ atlas_add_library( G4AtlasAlgLib
                      src/*.cxx
                      PUBLIC_HEADERS G4AtlasAlg
                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
- ${HEPMC_INCLUDE_DIRS}
+ 
                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces SGTools StoreGateLib SGtests EventInfo GeneratorObjects MCTruthBaseLib )
 
 # Component(s) in the package:
 atlas_add_component( G4AtlasAlg
                      src/components/*.cxx
                      PUBLIC_HEADERS G4AtlasAlg
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces G4AtlasAlgLib SGTools StoreGateLib SGtests EventInfo GeneratorObjects MCTruthBaseLib )
 
 #Test G4AtlasAlg
diff --git a/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt b/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt
index 70bbbadc14f..307695cfc60 100644
--- a/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt
+++ b/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt
@@ -49,7 +49,7 @@ find_package( XercesC )
 # Component(s) in the package:
 atlas_add_component( G4AtlasTests
                      src/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent AthenaKernel StoreGateLib SGtests GeoAdaptors GeoPrimitives Identifier EventInfo ALFA_SimEv LUCID_SimEvent ZDC_SimEvent GeneratorObjects InDetSimEvent LArSimEvent MuonReadoutGeometry MuonIdHelpersLib MuonSimEvent McParticleEvent G4AtlasToolsLib MCTruth HitManagement TileDetDescr TileIdentifier TileSimEvent )
 
 # Install files from the package:
diff --git a/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt b/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt
index ccba6774889..28d20a9fb87 100644
--- a/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt
+++ b/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt
@@ -29,7 +29,7 @@ if( MCUTILS_FOUND )
    list( APPEND extra_libs ${MCUTILS_LIBRARIES} )
 endif()
 if( HEPMC_FOUND )
-   list( APPEND extra_includes ${HEPMC_INCLUDE_DIRS} )
+   list( APPEND extra_includes  )
    list( APPEND extra_libs AtlasHepMCLib )
 endif()
 
@@ -39,7 +39,7 @@ atlas_add_library( G4ExternalDecay
                    src/*.cxx
                    PUBLIC_HEADERS G4ExternalDecay
                    INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${LHAPDF_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${extra_includes}
-                   PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${PYTHIA8_LIBRARIES} ${LHAPDF_LIBRARIES} ${GEANT4_LIBRARIES} Pythia8_iLib ${extra_libs}
                    PRIVATE_LINK_LIBRARIES AtlasHepMCLib )
diff --git a/Simulation/G4Sim/MCTruth/CMakeLists.txt b/Simulation/G4Sim/MCTruth/CMakeLists.txt
index 4dc85f6995a..4343bfbaf45 100644
--- a/Simulation/G4Sim/MCTruth/CMakeLists.txt
+++ b/Simulation/G4Sim/MCTruth/CMakeLists.txt
@@ -23,7 +23,7 @@ find_package( XercesC )
 atlas_add_library( MCTruth
                    src/*.cxx
                    PUBLIC_HEADERS MCTruth
-                   INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GeneratorObjects
                    PRIVATE_LINK_LIBRARIES ISF_Event SimHelpers )
diff --git a/Simulation/G4Sim/MCTruthBase/CMakeLists.txt b/Simulation/G4Sim/MCTruthBase/CMakeLists.txt
index 7400360b76e..ffe5e7f3d06 100644
--- a/Simulation/G4Sim/MCTruthBase/CMakeLists.txt
+++ b/Simulation/G4Sim/MCTruthBase/CMakeLists.txt
@@ -31,7 +31,7 @@ find_package( XercesC )
 atlas_add_library( MCTruthBaseLib
                    src/*.cxx
                    PUBLIC_HEADERS MCTruthBase
-                   INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GaudiKernel StoreGateLib SGtests G4AtlasToolsLib
                    PRIVATE_LINK_LIBRARIES AthenaBaseComps
@@ -41,7 +41,7 @@ atlas_add_library( MCTruthBaseLib
 
 atlas_add_component( MCTruthBase
                      src/components/*.cxx
-                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${GEANT4_LIBRARIES}
                      ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES}
                      AtlasHepMCLib AthenaKernel GaudiKernel
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt b/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt
index 57c9aeb9d18..e1acf8b6deb 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt
@@ -24,12 +24,12 @@ find_package( Eigen )
 atlas_add_library( ISF_Event
                    src/*.cxx
                    PUBLIC_HEADERS ISF_Event
-                   INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} TestTools AthenaBaseComps AtlasDetDescr GeoPrimitives GeneratorObjects GaudiKernel )
 
 atlas_add_test( ISFParticle_test
                 SOURCES
                 test/ISFParticle_test.cxx
-                INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                 LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} TestTools AthenaBaseComps AtlasDetDescr GeoPrimitives GeneratorObjects GaudiKernel ISF_Event )
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt b/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt
index d31bed16612..57d11d1b075 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt
@@ -47,7 +47,7 @@ find_package( GMock )
 atlas_add_component( ISF_Services
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}  ${CLHEP_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${GEANT4_LIBRARIES} AtlasHepMCLib ${CLHEP_LIBRARIES} ${HEPPDT_LIBRARIES} GaudiKernel CaloIdentifier CaloSimEvent AthenaBaseComps StoreGateLib SGtests AtlasDetDescr GeneratorObjects InDetSimEvent MuonSimEvent G4AtlasInterfaces MCTruth SimHelpers ISF_Event ISF_Interfaces TileSimEvent PmbCxxUtils TruthUtils )
 
 # Tests in the package:
@@ -85,7 +85,7 @@ atlas_add_test( TruthSvc_test
                   ${GMOCK_INCLUDE_DIRS}
                   ${ROOT_INCLUDE_DIRS}
                   ${GEANT4_INCLUDE_DIRS}
-                  ${HEPMC_INCLUDE_DIRS}
+                  
                   ${CLHEP_INCLUDE_DIRS}
                   ${HEPPDT_INCLUDE_DIRS}
                 LINK_LIBRARIES
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
index 39a45f51d69..ff49138660c 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
@@ -69,7 +69,7 @@ atlas_add_library( ISF_FastCaloSimParametrizationLib
                    Root/*.cxx src/CaloGeometryFromCaloDDM.cxx src/CaloGeometryLookup.cxx src/CaloGeometry.cxx
                    ${ISF_FastCaloSimParametrizationLibDictSource}
                    PUBLIC_HEADERS ISF_FastCaloSimParametrization
-                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} 
                    PRIVATE_INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} AtlasHepMCLib CaloGeoHelpers AthenaBaseComps AthenaKernel Identifier GaudiKernel ISF_Interfaces TrkEventPrimitives TrkParameters TrkExInterfaces CaloDetDescrLib StoreGateLib SGtests TileConditionsLib
@@ -78,7 +78,7 @@ atlas_add_library( ISF_FastCaloSimParametrizationLib
 atlas_add_component( ISF_FastCaloSimParametrization
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEANT4_INCLUDE_DIRS}
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} CaloDetDescrLib CaloGeoHelpers AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier GaudiKernel ISF_Interfaces TrkEventPrimitives TrkParameters TrkExInterfaces CaloEvent CaloIdentifier AthenaPoolUtilities GeoAdaptors EventInfo NavFourMom GeneratorObjects LArSimEvent ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces TileConditionsLib TileDetDescr TileSimEvent TrkGeometry TrkSurfaces TrkMaterialOnTrack ISF_FastCaloSimParametrizationLib )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
index 901fe1c7188..0f284499c6d 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
@@ -40,7 +40,7 @@ find_package(lwtnn)
 atlas_add_component( ISF_FastCaloSimServices
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${LWTNN_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${LWTNN_INCLUDE_DIRS}
                      LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${LWTNN_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel IdDictParser ISF_Interfaces TrkEventPrimitives TrkExInterfaces CaloEvent StoreGateLib SGtests NavFourMom GeneratorObjects FastCaloSimLib ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces ISF_FastCaloSimParametrizationLib PathResolver)
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt
index 0686e08b1af..421e23419bc 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt
@@ -32,7 +32,7 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_component( ISF_PunchThroughTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                      LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel GeoPrimitives ISF_FastCaloSimInterfaces AthContainers GaudiKernel ISF_Event ISF_Interfaces PathResolver )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt
index f054c56b060..059b4cf71a1 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt
@@ -42,7 +42,7 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_component( ISF_FatrasRecoTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AtlasHepMCLib AthenaBaseComps GeoPrimitives Identifier ISF_FatrasEvent TrkEventPrimitives TrkParameters TrkSpacePoint TrkTrackSummary TrkToolInterfaces AtlasDetDescr EventPrimitives GaudiKernel InDetIdentifier InDetPrepRawData SiSpacePoint ISF_FatrasDetDescrModel TrkDetElementBase TrkCompetingRIOsOnTrack TrkEventUtils TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTruthData )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt
index 88917c813ef..5eb594d7eae 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt
@@ -33,7 +33,7 @@ find_package( XercesC )
 atlas_add_component( ISF_FatrasToolsG4
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEANT4_INCLUDE_DIRS}
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel ISF_Event ISF_FatrasInterfaces TrkEventPrimitives StoreGateLib SGtests ISF_Interfaces TrkGeometry )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt
index 2d4f2045e7d..6bd2f4d29be 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt
@@ -31,7 +31,7 @@ atlas_add_library( ISF_Geant4Event
                    PUBLIC_HEADERS ISF_Geant4Event
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
                    ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                   ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
+                    ${GEANT4_INCLUDE_DIRS}
                    ${EIGEN_INCLUDE_DIRS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES}
                    ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib
@@ -40,7 +40,7 @@ atlas_add_library( ISF_Geant4Event
 
 #atlas_add_test(SOURCES
 #               INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-#              ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+#               ${EIGEN_INCLUDE_DIRS}
 #               LINK_LIBRARIES
 #              ${CLHEP_LIBRARIES} AtlasHepMCLib
 #               ${EIGEN_LIBRARIES} ISF_Event SimHelpers GeoPrimitives
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt
index 37851eb4673..6aad927886f 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt
@@ -35,7 +35,7 @@ find_package( XercesC )
 atlas_add_component( ISF_Geant4Tools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GaudiKernel G4AtlasInterfaces AthenaBaseComps StoreGateLib SGtests AtlasDetDescr GeneratorObjects G4AtlasToolsLib G4AtlasAlgLib MCTruth SimHelpers ISF_Event ISF_Interfaces ISF_Geant4Event )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt
index 835f2bbc15a..78f249afa98 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt
@@ -29,25 +29,25 @@ find_package( GMock )
 atlas_add_component( ISF_HepMC_Tools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib GaudiKernel AtlasDetDescr AthenaBaseComps TruthUtils ISF_Event ISF_Interfaces PathResolver )
 
 # Tests
 atlas_add_test( GenParticleGenericFilter_test
                 SOURCES test/GenParticleGenericFilter_test.cxx src/GenParticleGenericFilter.cxx
-                INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} 
                 LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} AtlasHepMCLib AthenaBaseComps )
 
 # Tests
 atlas_add_test( GenParticleInteractingFilter_test
                 SOURCES test/GenParticleInteractingFilter_test.cxx src/GenParticleInteractingFilter.cxx
-                INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} 
                 LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} AtlasHepMCLib AthenaBaseComps TruthUtils )
 
 # Tests
 atlas_add_test( GenParticleLifetimeFilter_test
                 SOURCES test/GenParticleLifetimeFilter_test.cxx src/GenParticleLifetimeFilter.cxx
-                INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} 
                 LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} AtlasHepMCLib AthenaBaseComps TruthUtils )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt b/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt
index 96ddeaf336b..3e6f6364606 100644
--- a/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt
+++ b/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt
@@ -22,7 +22,7 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_component( ISF_SimulationSelectors
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib GaudiKernel BarcodeServicesLib ISF_Event ISF_Interfaces )
 
 # Install files from the package:
diff --git a/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt b/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt
index 27aabee14e3..79c27a60b40 100644
--- a/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt
+++ b/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt
@@ -34,7 +34,7 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread Table MathMore
 atlas_add_component( CaloSamplingFractionAnalysis
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent CaloEvent AthenaBaseComps GeoAdaptors EventInfo LArSimEvent TileDetDescr TileSimEvent )
 
 # Install files from the package:
diff --git a/Simulation/Tools/HitAnalysis/CMakeLists.txt b/Simulation/Tools/HitAnalysis/CMakeLists.txt
index 0ca5a408303..c5755f26081 100644
--- a/Simulation/Tools/HitAnalysis/CMakeLists.txt
+++ b/Simulation/Tools/HitAnalysis/CMakeLists.txt
@@ -40,7 +40,7 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread Table MathMore
 atlas_add_component( HitAnalysis
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent AthenaBaseComps GeoAdaptors EventInfo AFP_SimEv ALFA_SimEv LUCID_SimEvent ZDC_SimEvent GeneratorObjects InDetSimEvent LArSimEvent MuonSimEvent TileDetDescr TileSimEvent )
 
 # Install files from the package:
diff --git a/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt b/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt
index a8fa91bcf9c..81c0bc06d55 100644
--- a/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt
+++ b/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt
@@ -23,14 +23,14 @@ find_package( Eigen )
 atlas_add_library( McEventCollectionFilterLib
                    src/*.cxx
                    NO_PUBLIC_HEADERS
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES StoreGateLib SGtests
                    PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps GeoPrimitives GaudiKernel GeneratorObjects InDetSimEvent MuonSimEvent )
 
 atlas_add_component( McEventCollectionFilter
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${EIGEN_INCLUDE_DIRS}
                      LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps StoreGateLib SGtests GeoPrimitives GaudiKernel GeneratorObjects InDetSimEvent MuonSimEvent McEventCollectionFilterLib )
 
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/TruthJiveXML/CMakeLists.txt b/Simulation/TruthJiveXML/CMakeLists.txt
index 51d325b1eb1..fe2785555ab 100644
--- a/Simulation/TruthJiveXML/CMakeLists.txt
+++ b/Simulation/TruthJiveXML/CMakeLists.txt
@@ -25,7 +25,7 @@ find_package( HepPDT )
 atlas_add_component( TruthJiveXML
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                      LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel JiveXMLLib StoreGateLib SGtests EventPrimitives GeneratorObjects )
 
 # Install files from the package:
diff --git a/Tracking/TrkEvent/TrkEventUtils/TrkEventUtils/InverseTruthMap.h b/Tracking/TrkEvent/TrkEventUtils/TrkEventUtils/InverseTruthMap.h
index 89db27beca2..d33cee36051 100755
--- a/Tracking/TrkEvent/TrkEventUtils/TrkEventUtils/InverseTruthMap.h
+++ b/Tracking/TrkEvent/TrkEventUtils/TrkEventUtils/InverseTruthMap.h
@@ -11,7 +11,7 @@
 
 #include <map>
 
-namespace HepMC { class GenParticle; }
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
   /**
diff --git a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p2_test.cxx b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p2_test.cxx
index 62876f04a91..8ad82cc7c8f 100644
--- a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p2_test.cxx
+++ b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p2_test.cxx
@@ -17,8 +17,8 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p3_test.cxx b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p3_test.cxx
index 129ecfe4178..9be3a0ce509 100644
--- a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p3_test.cxx
+++ b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/PRD_MultiTruthCollectionCnv_p3_test.cxx
@@ -17,8 +17,8 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p1_test.cxx b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p1_test.cxx
index d8dc05d3765..c361e094043 100644
--- a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p1_test.cxx
+++ b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p1_test.cxx
@@ -16,8 +16,8 @@
 #include "TrkTruthData/TrackTruthCollection.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p2_test.cxx b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p2_test.cxx
index 27eb48c3bdc..3693284104f 100644
--- a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p2_test.cxx
+++ b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TrackTruthCollectionCnv_p2_test.cxx
@@ -16,8 +16,8 @@
 #include "TrkTruthData/TrackTruthCollection.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p1_test.cxx b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p1_test.cxx
index a934c5d72a0..07186551b3c 100644
--- a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p1_test.cxx
+++ b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p1_test.cxx
@@ -16,8 +16,8 @@
 #include "TrkTruthData/TruthTrajectory.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p2_test.cxx b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p2_test.cxx
index 61db3c83735..cc56edca571 100644
--- a/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p2_test.cxx
+++ b/Tracking/TrkEventCnv/TrkTruthTPCnv/test/TruthTrajectoryCnv_p2_test.cxx
@@ -16,8 +16,8 @@
 #include "TrkTruthData/TruthTrajectory.h"
 #include "SGTools/TestStore.h"
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <cassert>
 #include <iostream>
 
diff --git a/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.cxx b/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.cxx
index 8f830ead06b..a33d2344ffe 100644
--- a/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.cxx
+++ b/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.cxx
@@ -6,8 +6,8 @@
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "GaudiKernel/ITHistSvc.h" 
 #include "TTree.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "InDetPrepRawData/SCT_Cluster.h"
 #include "InDetPrepRawData/PixelCluster.h"
@@ -18,7 +18,7 @@
 #include "InDetPrepRawData/SCT_ClusterContainer.h"
 #include "InDetPrepRawData/PixelClusterContainer.h"
 #include "InDetPrepRawData/TRT_DriftCircle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GaudiKernel/IPartPropSvc.h"
 #include "TrkToolInterfaces/ITruthToTrack.h"
 #include "GeneratorObjects/McEventCollection.h"
diff --git a/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.h b/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.h
index 8aba573b5ab..6f8f787a8b2 100644
--- a/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.h
+++ b/Tracking/TrkTools/TrkAmbiguityProcessor/src/SimpleAmbiguityProcessorToolDebug.h
@@ -19,7 +19,7 @@
 typedef HepGeom::Point3D<double> HepPoint3D;
 #include "TrkTruthData/TrackTruthCollection.h"
 #include "xAODEventInfo/EventInfo.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
      typedef std::map<const Trk::Track*, const Trk::Track*> TrackCollectionConnection;
 #ifndef SIMPLEAMBIGPROCDEBUGCODE_CLASS_DEF
diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthToTrack.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthToTrack.h
index 32c56c0e0de..ff2438d11c2 100644
--- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthToTrack.h
+++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthToTrack.h
@@ -20,7 +20,7 @@
 // FIXME: namespace Trk { TrackParameters; }
 #include "TrkParameters/TrackParameters.h"
 
-namespace HepMC { class GenParticle; }
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 #include "xAODTruth/TruthParticle.h"
 //namespace xAOD { class TruthParticle; }
diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthTrajectoryBuilder.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthTrajectoryBuilder.h
index 973e022bd5a..61e708ffe73 100644
--- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthTrajectoryBuilder.h
+++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITruthTrajectoryBuilder.h
@@ -16,7 +16,7 @@
 
 // Forard declarations
 class TruthTrajectory;
-namespace HepMC { class GenParticle; } 
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
   
diff --git a/Tracking/TrkTools/TrkTruthCreatorTools/CMakeLists.txt b/Tracking/TrkTools/TrkTruthCreatorTools/CMakeLists.txt
index d40b5494521..398833ee9b0 100644
--- a/Tracking/TrkTools/TrkTruthCreatorTools/CMakeLists.txt
+++ b/Tracking/TrkTools/TrkTruthCreatorTools/CMakeLists.txt
@@ -17,6 +17,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkTools/TrkToolInterfaces
                           PRIVATE
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkEvent/TrkCompetingRIOsOnTrack
                           Tracking/TrkEvent/TrkMeasurementBase
                           Tracking/TrkEvent/TrkPrepRawData
@@ -24,14 +25,13 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkTrack )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( TrkTruthCreatorTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps AthLinks AthContainers AtlasDetDescr GaudiKernel TrkEventUtils TrkTruthData TrkToolInterfaces GeneratorObjects TrkCompetingRIOsOnTrack TrkMeasurementBase TrkPrepRawData TrkRIO_OnTrack TrkTrack )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps AthLinks AthContainers AtlasDetDescr GaudiKernel TrkEventUtils TrkTruthData TrkToolInterfaces GeneratorObjects TrkCompetingRIOsOnTrack TrkMeasurementBase TrkPrepRawData TrkRIO_OnTrack TrkTrack )
 
 # Install files from the package:
 atlas_install_headers( TrkTruthCreatorTools )
diff --git a/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/DecayInFlyTruthTrajectoryBuilder.h b/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/DecayInFlyTruthTrajectoryBuilder.h
index f62fba75214..9084aebc13f 100644
--- a/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/DecayInFlyTruthTrajectoryBuilder.h
+++ b/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/DecayInFlyTruthTrajectoryBuilder.h
@@ -10,7 +10,7 @@
 #include "TrkToolInterfaces/ITruthTrajectoryBuilder.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 
-namespace HepMC { class GenVertex; }
+#include "AtlasHepMC/GenVertex_fwd.h"
 
 namespace Trk {
   
diff --git a/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/ElasticTruthTrajectoryBuilder.h b/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/ElasticTruthTrajectoryBuilder.h
index c2502ff1fba..2a4fe184040 100644
--- a/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/ElasticTruthTrajectoryBuilder.h
+++ b/Tracking/TrkTools/TrkTruthCreatorTools/TrkTruthCreatorTools/ElasticTruthTrajectoryBuilder.h
@@ -10,7 +10,7 @@
 #include "TrkToolInterfaces/ITruthTrajectoryBuilder.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 
-namespace HepMC { class GenVertex; }
+#include "AtlasHepMC/GenVertex_fwd.h"
 
 namespace Trk {
   
diff --git a/Tracking/TrkTools/TrkTruthCreatorTools/src/DecayInFlyTruthTrajectoryBuilder.cxx b/Tracking/TrkTools/TrkTruthCreatorTools/src/DecayInFlyTruthTrajectoryBuilder.cxx
index bf98d4704c9..1a77376c840 100644
--- a/Tracking/TrkTools/TrkTruthCreatorTools/src/DecayInFlyTruthTrajectoryBuilder.cxx
+++ b/Tracking/TrkTools/TrkTruthCreatorTools/src/DecayInFlyTruthTrajectoryBuilder.cxx
@@ -8,8 +8,8 @@
 
 #include "TrkTruthData/TruthTrajectory.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "AthContainers/DataVector.h"
diff --git a/Tracking/TrkTools/TrkTruthCreatorTools/src/DetailedTrackTruthBuilder.cxx b/Tracking/TrkTools/TrkTruthCreatorTools/src/DetailedTrackTruthBuilder.cxx
index 2a9e17a34dd..48d6ca1b9ef 100755
--- a/Tracking/TrkTools/TrkTruthCreatorTools/src/DetailedTrackTruthBuilder.cxx
+++ b/Tracking/TrkTools/TrkTruthCreatorTools/src/DetailedTrackTruthBuilder.cxx
@@ -7,8 +7,8 @@
 #include "TrkTruthData/DetailedTrackTruth.h"
 #include "TrkTruthData/TruthTrajectory.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "GeneratorObjects/McEventCollection.h"
diff --git a/Tracking/TrkTools/TrkTruthCreatorTools/src/ElasticTruthTrajectoryBuilder.cxx b/Tracking/TrkTools/TrkTruthCreatorTools/src/ElasticTruthTrajectoryBuilder.cxx
index ff1b382a17c..be2b2651363 100644
--- a/Tracking/TrkTools/TrkTruthCreatorTools/src/ElasticTruthTrajectoryBuilder.cxx
+++ b/Tracking/TrkTools/TrkTruthCreatorTools/src/ElasticTruthTrajectoryBuilder.cxx
@@ -8,8 +8,8 @@
 
 #include "TrkTruthData/TruthTrajectory.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "AthContainers/DataVector.h"
diff --git a/Tracking/TrkTools/TrkTruthToTrack/CMakeLists.txt b/Tracking/TrkTools/TrkTruthToTrack/CMakeLists.txt
index cd8805c4558..72ff7263518 100644
--- a/Tracking/TrkTools/TrkTruthToTrack/CMakeLists.txt
+++ b/Tracking/TrkTools/TrkTruthToTrack/CMakeLists.txt
@@ -14,18 +14,18 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Event/xAOD/xAODTruth
                           Simulation/G4Sim/TrackRecord
-                          Tracking/TrkExtrapolation/TrkExInterfaces )
+                          Tracking/TrkExtrapolation/TrkExInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( TrkTruthToTrack
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel TrkParameters TrkToolInterfaces xAODTruth TrkExInterfaces )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel TrkParameters TrkToolInterfaces xAODTruth TrkExInterfaces )
 
 # Install files from the package:
 atlas_install_headers( TrkTruthToTrack )
diff --git a/Tracking/TrkTools/TrkTruthToTrack/TrkTruthToTrack/TruthTrackRecordToTrack.h b/Tracking/TrkTools/TrkTruthToTrack/TrkTruthToTrack/TruthTrackRecordToTrack.h
index d5ee8457ed0..877e50de410 100755
--- a/Tracking/TrkTools/TrkTruthToTrack/TrkTruthToTrack/TruthTrackRecordToTrack.h
+++ b/Tracking/TrkTools/TrkTruthToTrack/TrkTruthToTrack/TruthTrackRecordToTrack.h
@@ -15,7 +15,7 @@
 #include "TrackRecord/TrackRecordCollection.h"
 
 namespace HepPDT { class ParticleDataTable; }
-namespace HepMC  { class GenParticle;       }
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
 
diff --git a/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx b/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx
index 7f9dd987d19..17b82caa12b 100755
--- a/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx
+++ b/Tracking/TrkTools/TrkTruthToTrack/src/TruthToTrack.cxx
@@ -10,8 +10,8 @@
 
 #include "GaudiKernel/IPartPropSvc.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "xAODTruth/TruthParticle.h"
 #include "xAODTruth/TruthVertex.h"
diff --git a/Tracking/TrkTools/TrkTruthToTrack/src/TruthTrackRecordToTrack.cxx b/Tracking/TrkTools/TrkTruthToTrack/src/TruthTrackRecordToTrack.cxx
index 2ac0eb397db..d70cbcfb6aa 100755
--- a/Tracking/TrkTools/TrkTruthToTrack/src/TruthTrackRecordToTrack.cxx
+++ b/Tracking/TrkTools/TrkTruthToTrack/src/TruthTrackRecordToTrack.cxx
@@ -9,8 +9,8 @@
 
 #include "GaudiKernel/IPartPropSvc.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "xAODTruth/TruthParticle.h"
 #include "xAODTruth/TruthVertex.h"
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/CMakeLists.txt b/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/CMakeLists.txt
index 533edd39a9a..9288b5a2c15 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/CMakeLists.txt
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/CMakeLists.txt
@@ -11,15 +11,15 @@ atlas_depends_on_subdirs( PRIVATE
                           Tracking/TrkEvent/TrkSegment
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkTools/TrkToolInterfaces
-                          Tracking/TrkTruthTracks/TrkTruthTrackInterfaces )
+                          Tracking/TrkTruthTracks/TrkTruthTrackInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( TrkTruthTrackAlgs
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel TrkSegment TrkTrack TrkToolInterfaces )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps GaudiKernel TrkSegment TrkTrack TrkToolInterfaces )
 
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/src/TruthTrackCreation.cxx b/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/src/TruthTrackCreation.cxx
index 90a37543b83..c5f3468e91a 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/src/TruthTrackCreation.cxx
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackAlgs/src/TruthTrackCreation.cxx
@@ -14,8 +14,8 @@
 #include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
 #include "TrkToolInterfaces/ITrackSelectorTool.h"
 // HepMC
-#include "HepMC/GenParticle.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 //================ Constructor =================================================
 
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryBuilder.h b/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryBuilder.h
index e936239d168..309d1462351 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryBuilder.h
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryBuilder.h
@@ -13,9 +13,7 @@
 #include "GaudiKernel/IAlgTool.h"
 #include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
  
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryManipulator.h b/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryManipulator.h
index 33a33f45775..baf67645e0b 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryManipulator.h
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/IPRD_TruthTrajectoryManipulator.h
@@ -14,9 +14,7 @@
 #include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
 
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
  
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/PRD_TruthTrajectory.h b/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/PRD_TruthTrajectory.h
index bfcb7d92e2c..21ff251f2e4 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/PRD_TruthTrajectory.h
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackInterfaces/TrkTruthTrackInterfaces/PRD_TruthTrajectory.h
@@ -10,9 +10,7 @@
 #define TRK_TRKTRUTHTRACKS_PRD_TRUTHTRAJECTORY_H 1
 
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
     
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackTools/CMakeLists.txt b/Tracking/TrkTruthTracks/TrkTruthTrackTools/CMakeLists.txt
index 222a52ce393..cca05367824 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackTools/CMakeLists.txt
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackTools/CMakeLists.txt
@@ -20,16 +20,16 @@ atlas_depends_on_subdirs( PRIVATE
                           Tracking/TrkExtrapolation/TrkExInterfaces
                           Tracking/TrkFitter/TrkFitterInterfaces
                           Tracking/TrkTools/TrkToolInterfaces
-                          Tracking/TrkTruthTracks/TrkTruthTrackInterfaces )
+                          Tracking/TrkTruthTracks/TrkTruthTrackInterfaces 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( TrkTruthTrackTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AtlasDetDescr GaudiKernel TrkSurfaces TrkEventUtils TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTruthData TrkExInterfaces TrkFitterInterfaces TrkToolInterfaces )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps AtlasDetDescr GaudiKernel TrkSurfaces TrkEventUtils TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTruthData TrkExInterfaces TrkFitterInterfaces TrkToolInterfaces )
 
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.cxx b/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.cxx
index 3a33007b052..7b60f9c4c5d 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.cxx
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.cxx
@@ -16,8 +16,8 @@
 // DetectorDescription
 #include "AtlasDetDescr/AtlasDetectorID.h"
 // HepMC
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 
 /** Constructor **/
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.h b/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.h
index f5e5e2bbb00..3199d6c9ed3 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.h
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/PRD_TruthTrajectoryBuilder.h
@@ -21,9 +21,7 @@
 
 class AtlasDetectorID;
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
   
 namespace Trk {
     
diff --git a/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/TruthTrackBuilder.cxx b/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/TruthTrackBuilder.cxx
index 252418b051d..d3635339af1 100644
--- a/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/TruthTrackBuilder.cxx
+++ b/Tracking/TrkTruthTracks/TrkTruthTrackTools/src/TruthTrackBuilder.cxx
@@ -25,8 +25,8 @@
 #include "GaudiKernel/IPartPropSvc.h"
 #include "GaudiKernel/SystemOfUnits.h"
 // HepMC
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "HepPDT/ParticleDataTable.hh"
 
 #include "AtlasDetDescr/AtlasDetectorID.h"
diff --git a/Tracking/TrkValidation/TrkValAlgs/CMakeLists.txt b/Tracking/TrkValidation/TrkValAlgs/CMakeLists.txt
index db278a03a8b..eb46684f599 100644
--- a/Tracking/TrkValidation/TrkValAlgs/CMakeLists.txt
+++ b/Tracking/TrkValidation/TrkValAlgs/CMakeLists.txt
@@ -17,6 +17,7 @@ atlas_depends_on_subdirs(
    PRIVATE
    DetectorDescription/AtlasDetDescr
    Generators/GeneratorObjects
+   Generators/AtlasHepMC
    Tracking/TrkDetDescr/TrkSurfaces
    Tracking/TrkEvent/TrkEventUtils
    Tracking/TrkEvent/TrkMaterialOnTrack
@@ -32,14 +33,13 @@ atlas_depends_on_subdirs(
    Tracking/TrkValidation/TrkValInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree )
 
 # Component(s) in the package:
 atlas_add_component( TrkValAlgs
    TrkValAlgs/*.h src/*.cxx src/components/*.cxx
-   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps
+   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+   LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps
    GaudiKernel TrkParameters TrkTrack TrkTruthData AtlasDetDescr
    GeneratorObjects TrkSurfaces TrkEventUtils TrkMaterialOnTrack
    TrkParticleBase TrkPrepRawData TrkRIO_OnTrack TrkSegment TrkSpacePoint
diff --git a/Tracking/TrkValidation/TrkValAlgs/TrkValAlgs/TrackValidationNtupleWriter.h b/Tracking/TrkValidation/TrkValAlgs/TrkValAlgs/TrackValidationNtupleWriter.h
index 100957fe348..b5fe26995e4 100644
--- a/Tracking/TrkValidation/TrkValAlgs/TrkValAlgs/TrackValidationNtupleWriter.h
+++ b/Tracking/TrkValidation/TrkValAlgs/TrkValAlgs/TrackValidationNtupleWriter.h
@@ -20,11 +20,7 @@
 class TrackTruth;
 class TTree;
 
-namespace HepMC {
-
-class GenParticle; //!< Truth information
-
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
 
diff --git a/Tracking/TrkValidation/TrkValAlgs/src/RecMomentumQualityValidation.cxx b/Tracking/TrkValidation/TrkValAlgs/src/RecMomentumQualityValidation.cxx
index e7712195a10..6b6d9248f5e 100644
--- a/Tracking/TrkValidation/TrkValAlgs/src/RecMomentumQualityValidation.cxx
+++ b/Tracking/TrkValidation/TrkValAlgs/src/RecMomentumQualityValidation.cxx
@@ -11,7 +11,7 @@
 #include "TrkTruthData/TrackTruthCollection.h"
 #include "TrkParameters/TrackParameters.h"
 //#include "TrkParameters/Perigee.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkToolInterfaces/ITruthToTrack.h"
 #include "TrkToolInterfaces/ITrackSelectorTool.h"
 #include "AtlasDetDescr/AtlasDetectorID.h"
diff --git a/Tracking/TrkValidation/TrkValAlgs/src/TrackValidationNtupleWriter.cxx b/Tracking/TrkValidation/TrkValAlgs/src/TrackValidationNtupleWriter.cxx
index 23a4057f8a5..8b5204b6b85 100644
--- a/Tracking/TrkValidation/TrkValAlgs/src/TrackValidationNtupleWriter.cxx
+++ b/Tracking/TrkValidation/TrkValAlgs/src/TrackValidationNtupleWriter.cxx
@@ -15,7 +15,7 @@
 // Trk
 #include "TrkTrack/Track.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrkValEvent/GenParticleJet.h"
 #include "TrkToolInterfaces/ITruthToTrack.h"
 
diff --git a/Tracking/TrkValidation/TrkValEvent/CMakeLists.txt b/Tracking/TrkValidation/TrkValEvent/CMakeLists.txt
index ed7d3800a63..4ba1fed21b3 100644
--- a/Tracking/TrkValidation/TrkValEvent/CMakeLists.txt
+++ b/Tracking/TrkValidation/TrkValEvent/CMakeLists.txt
@@ -9,17 +9,17 @@ atlas_subdir( TrkValEvent )
 atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkEventPrimitives
                           Tracking/TrkEvent/TrkParameters
-                          Tracking/TrkEvent/TrkTrack )
+                          Tracking/TrkEvent/TrkTrack 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( TrkValEvent
                    src/*.cxx
                    PUBLIC_HEADERS TrkValEvent
-                   INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} TrkEventPrimitives TrkParameters TrkTrack )
+                   LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib TrkEventPrimitives TrkParameters TrkTrack )
 
diff --git a/Tracking/TrkValidation/TrkValEvent/TrkValEvent/GenParticleJet.h b/Tracking/TrkValidation/TrkValEvent/TrkValEvent/GenParticleJet.h
index 17bd5c9ca86..99750d412c1 100644
--- a/Tracking/TrkValidation/TrkValEvent/TrkValEvent/GenParticleJet.h
+++ b/Tracking/TrkValidation/TrkValEvent/TrkValEvent/GenParticleJet.h
@@ -15,7 +15,7 @@
 #include <vector>
 #include <utility>
 #include "CLHEP/Geometry/Vector3D.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace Trk {
 
diff --git a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleJetFinder.h b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleJetFinder.h
index c898bb49321..fde30d484a1 100644
--- a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleJetFinder.h
+++ b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleJetFinder.h
@@ -17,9 +17,7 @@
 //#include "TrkValEvent/GenParticleJet.h"
 #include "GaudiKernel/IAlgTool.h"
 
-namespace HepMC {
-class GenParticle; //!< Truth information
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
   class GenParticleJet;
diff --git a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleSelector.h b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleSelector.h
index 9b85b642f2b..0e58912b073 100644
--- a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleSelector.h
+++ b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IGenParticleSelector.h
@@ -18,9 +18,7 @@
 #include "GaudiKernel/IAlgTool.h"
 
 class McEventCollection;
-namespace HepMC {
-class GenParticle; //!< Truth information
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
   static const InterfaceID IID_IGenParticleSelector("IGenParticleSelector",1,0);
diff --git a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IJetTruthNtupleTool.h b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IJetTruthNtupleTool.h
index 081283b832e..5eb45a68394 100644
--- a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IJetTruthNtupleTool.h
+++ b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/IJetTruthNtupleTool.h
@@ -19,11 +19,7 @@
 
 #include <vector>
 
-namespace HepMC {
-
-class GenParticle; //!< Truth information
-
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 namespace Trk {
     class GenParticleJet;
 
diff --git a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITrackTruthClassifier.h b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITrackTruthClassifier.h
index e75c7d4a92b..56af45805d4 100644
--- a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITrackTruthClassifier.h
+++ b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITrackTruthClassifier.h
@@ -17,9 +17,7 @@
 #include "GaudiKernel/IAlgTool.h"
 
 class McEventCollection;
-namespace HepMC {
-class GenParticle; //!< Truth information
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Trk {
   static const InterfaceID IID_ITrackTruthClassifier("ITrackTruthClassifier",1,0);
diff --git a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITruthNtupleTool.h b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITruthNtupleTool.h
index bc80fe72d29..d5581fc266a 100644
--- a/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITruthNtupleTool.h
+++ b/Tracking/TrkValidation/TrkValInterfaces/TrkValInterfaces/ITruthNtupleTool.h
@@ -20,11 +20,7 @@
 #include "TrkParameters/TrackParameters.h"
 //#include "TrkValInterfaces/ITrackTruthClassifier.h"
 
-namespace HepMC {
-
-class GenParticle; //!< Truth information
-
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 namespace Trk {
     class ITrackTruthClassifier;
 
diff --git a/Tracking/TrkValidation/TrkValTools/CMakeLists.txt b/Tracking/TrkValidation/TrkValTools/CMakeLists.txt
index 4cdd172d850..21a199390fb 100644
--- a/Tracking/TrkValidation/TrkValTools/CMakeLists.txt
+++ b/Tracking/TrkValidation/TrkValTools/CMakeLists.txt
@@ -37,6 +37,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/EventInfo
                           Event/EventPrimitives
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkDetDescr/TrkSurfaces
                           Tracking/TrkEvent/TrkCompetingRIOsOnTrack
                           Tracking/TrkEvent/TrkEventUtils
@@ -52,7 +53,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core EG Tree MathCore Hist RIO pthread Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 find_package( Eigen )
@@ -63,8 +63,8 @@ find_package( Boost )
 atlas_add_component( TrkValTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthContainers AthenaKernel xAODTracking GaudiKernel TrkEventPrimitives TrkParameters TrkTrack TrkToolInterfaces TrkValEvent TrkValInterfaces CommissionEvent AtlasDetDescr EventInfo EventPrimitives GeneratorObjects TrkSurfaces TrkCompetingRIOsOnTrack TrkEventUtils TrkMaterialOnTrack TrkMeasurementBase TrkParticleBase TrkRIO_OnTrack TrkTrackSummary TrkTruthData TrkExInterfaces TrkFitterUtils xAODTruth xAODJet xAODPFlow xAODCaloEvent xAODCore xAODEventInfo AsgTools AthenaKernel AthenaMonitoringLib)
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthContainers AthenaKernel xAODTracking GaudiKernel TrkEventPrimitives TrkParameters TrkTrack TrkToolInterfaces TrkValEvent TrkValInterfaces CommissionEvent AtlasDetDescr EventInfo EventPrimitives GeneratorObjects TrkSurfaces TrkCompetingRIOsOnTrack TrkEventUtils TrkMaterialOnTrack TrkMeasurementBase TrkParticleBase TrkRIO_OnTrack TrkTrackSummary TrkTruthData TrkExInterfaces TrkFitterUtils xAODTruth xAODJet xAODPFlow xAODCaloEvent xAODCore xAODEventInfo AsgTools AthenaKernel AthenaMonitoringLib)
 
 # Install files from the package:
 atlas_install_headers( TrkValTools )
diff --git a/Tracking/TrkValidation/TrkValTools/TrkValTools/PrimaryTruthClassifier.h b/Tracking/TrkValidation/TrkValTools/TrkValTools/PrimaryTruthClassifier.h
index 607db76418a..496e2a09b8d 100644
--- a/Tracking/TrkValidation/TrkValTools/TrkValTools/PrimaryTruthClassifier.h
+++ b/Tracking/TrkValidation/TrkValTools/TrkValTools/PrimaryTruthClassifier.h
@@ -17,7 +17,7 @@
 #include "TrkValInterfaces/ITrackTruthClassifier.h"
 #include "TrkValEvent/TruthClassificationDefs.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace Trk {
 
diff --git a/Tracking/TrkValidation/TrkValTools/src/InDetHaloSelector.cxx b/Tracking/TrkValidation/TrkValTools/src/InDetHaloSelector.cxx
index e6b834fa086..ff4fa157520 100644
--- a/Tracking/TrkValidation/TrkValTools/src/InDetHaloSelector.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/InDetHaloSelector.cxx
@@ -10,11 +10,11 @@
 ///////////////////////////////////////////////////////////////////
 
 #include "TrkValTools/InDetHaloSelector.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Geometry/Point3D.h"
 #include "HepPDT/ParticleData.hh"
 #include "GaudiKernel/IPartPropSvc.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 Trk::InDetHaloSelector::InDetHaloSelector(const std::string& type, const std::string& name,
diff --git a/Tracking/TrkValidation/TrkValTools/src/InDetPrimaryConversionSelector.cxx b/Tracking/TrkValidation/TrkValTools/src/InDetPrimaryConversionSelector.cxx
index d7260d0d05e..26e8b3a1552 100644
--- a/Tracking/TrkValidation/TrkValTools/src/InDetPrimaryConversionSelector.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/InDetPrimaryConversionSelector.cxx
@@ -10,12 +10,12 @@
 ///////////////////////////////////////////////////////////////////
 
 #include "TrkValTools/InDetPrimaryConversionSelector.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Geometry/Point3D.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 #include "HepPDT/ParticleData.hh"
 #include "GaudiKernel/IPartPropSvc.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 Trk::InDetPrimaryConversionSelector::InDetPrimaryConversionSelector(const std::string& type, const std::string& name,
diff --git a/Tracking/TrkValidation/TrkValTools/src/InDetReconstructableSelector.cxx b/Tracking/TrkValidation/TrkValTools/src/InDetReconstructableSelector.cxx
index e67b8c1e00a..5b7e11ba89d 100644
--- a/Tracking/TrkValidation/TrkValTools/src/InDetReconstructableSelector.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/InDetReconstructableSelector.cxx
@@ -10,12 +10,12 @@
 ///////////////////////////////////////////////////////////////////
 
 #include "TrkValTools/InDetReconstructableSelector.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Geometry/Point3D.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 #include "HepPDT/ParticleData.hh"
 #include "GaudiKernel/IPartPropSvc.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 Trk::InDetReconstructableSelector::InDetReconstructableSelector(const std::string& type, const std::string& name,
diff --git a/Tracking/TrkValidation/TrkValTools/src/JetTruthNtupleTool.cxx b/Tracking/TrkValidation/TrkValTools/src/JetTruthNtupleTool.cxx
index 51a1d14ff97..ea9d3bf46b1 100644
--- a/Tracking/TrkValidation/TrkValTools/src/JetTruthNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/JetTruthNtupleTool.cxx
@@ -19,7 +19,7 @@
 // Truth
 #include "TrkTruthData/TrackTruth.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <TGraphAsymmErrors.h>
 #include "TTree.h"
diff --git a/Tracking/TrkValidation/TrkValTools/src/PerigeeParametersNtupleTool.cxx b/Tracking/TrkValidation/TrkValTools/src/PerigeeParametersNtupleTool.cxx
index 67dbd3c4ddb..e72d15373b0 100644
--- a/Tracking/TrkValidation/TrkValTools/src/PerigeeParametersNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/PerigeeParametersNtupleTool.cxx
@@ -22,7 +22,7 @@
 #include "TrkParameters/TrackParameters.h"
 //Truth
 #include "TrkTruthData/TrackTruth.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // constructor
 Trk::PerigeeParametersNtupleTool::PerigeeParametersNtupleTool(
diff --git a/Tracking/TrkValidation/TrkValTools/src/PrimaryTruthClassifier.cxx b/Tracking/TrkValidation/TrkValTools/src/PrimaryTruthClassifier.cxx
index f8111fd208d..bd344c64e57 100644
--- a/Tracking/TrkValidation/TrkValTools/src/PrimaryTruthClassifier.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/PrimaryTruthClassifier.cxx
@@ -12,7 +12,7 @@
 #include "TrkValTools/PrimaryTruthClassifier.h"
 #include "TrkValEvent/TruthClassificationDefs.h"
 #include "CLHEP/Units/SystemOfUnits.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 
 Trk::PrimaryTruthClassifier::PrimaryTruthClassifier(const std::string& type, const std::string& name, const IInterface* parent)
   : AthAlgTool                    (type,name,parent),
diff --git a/Tracking/TrkValidation/TrkValTools/src/TrackSummaryNtupleTool.cxx b/Tracking/TrkValidation/TrkValTools/src/TrackSummaryNtupleTool.cxx
index bfccca1618c..ba358588b00 100644
--- a/Tracking/TrkValidation/TrkValTools/src/TrackSummaryNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/TrackSummaryNtupleTool.cxx
@@ -20,7 +20,7 @@
 #include "TrkFitterUtils/ProtoTrackStateOnSurface.h"
 //Truth
 #include "TrkTruthData/TrackTruth.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 // constructor
diff --git a/Tracking/TrkValidation/TrkValTools/src/TruthNtupleTool.cxx b/Tracking/TrkValidation/TrkValTools/src/TruthNtupleTool.cxx
index 37a3d874199..c3aab911ed9 100644
--- a/Tracking/TrkValidation/TrkValTools/src/TruthNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkValTools/src/TruthNtupleTool.cxx
@@ -21,8 +21,8 @@
 // Truth
 #include "TrkTruthData/TrackTruth.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // root
 #include "TTree.h"
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/CMakeLists.txt b/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/CMakeLists.txt
index 52b034132fc..67e17f5aed9 100644
--- a/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/CMakeLists.txt
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/CMakeLists.txt
@@ -10,10 +10,10 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/TrkTruthData
-                          Tracking/TrkEvent/VxVertex )
+                          Tracking/TrkEvent/VxVertex 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 
 # Install files from the package:
 atlas_install_headers( TrkVertexFitterValidationInterfaces )
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/TrkVertexFitterValidationInterfaces/IMcEventNtupleTool.h b/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/TrkVertexFitterValidationInterfaces/IMcEventNtupleTool.h
index d969a85c507..ab6d4fc0c67 100755
--- a/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/TrkVertexFitterValidationInterfaces/IMcEventNtupleTool.h
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationInterfaces/TrkVertexFitterValidationInterfaces/IMcEventNtupleTool.h
@@ -15,7 +15,7 @@
 #define TRK_IMCEVENTNTUPLETOOL_H
 
 #include "GaudiKernel/IAlgTool.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 namespace Trk {
 static const InterfaceID IID_IMcEventNtupleTool("IMcEventNtupleTool",1,0);
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationTools/CMakeLists.txt b/Tracking/TrkValidation/TrkVertexFitterValidationTools/CMakeLists.txt
index 9f3deea5ebb..5765b158d28 100644
--- a/Tracking/TrkValidation/TrkVertexFitterValidationTools/CMakeLists.txt
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationTools/CMakeLists.txt
@@ -14,21 +14,21 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/EventPrimitives
                           Event/xAOD/xAODEventInfo
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/TrkTruthData
                           Tracking/TrkEvent/VxVertex )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( TrkVertexFitterValidationTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel EventPrimitives xAODEventInfo GeneratorObjects TrkTrack TrkTruthData VxVertex )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel EventPrimitives xAODEventInfo GeneratorObjects TrkTrack TrkTruthData VxVertex )
 
 # Install files from the package:
 atlas_install_headers( TrkVertexFitterValidationTools )
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/BasicVtxValidationNtupleTool.cxx b/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/BasicVtxValidationNtupleTool.cxx
index 9ce132cf85a..00a281e5cf8 100755
--- a/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/BasicVtxValidationNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/BasicVtxValidationNtupleTool.cxx
@@ -31,8 +31,8 @@
 
 //CLHEP
 #include "CLHEP/GenericFunctions/CumulativeChiSquare.hh"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // constructor
 Trk::BasicVtxValidationNtupleTool::BasicVtxValidationNtupleTool(
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/McEventNtupleTool.cxx b/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/McEventNtupleTool.cxx
index 49e42059a13..50bcee860a7 100755
--- a/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/McEventNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/McEventNtupleTool.cxx
@@ -20,9 +20,9 @@
 
 //CLHEP
 #include "CLHEP/Vector/LorentzVector.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // constructor
 Trk::McEventNtupleTool::McEventNtupleTool(
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/TrueTracksNtupleTool.cxx b/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/TrueTracksNtupleTool.cxx
index f0148a783b5..d42f765b5ed 100755
--- a/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/TrueTracksNtupleTool.cxx
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationTools/src/TrueTracksNtupleTool.cxx
@@ -22,9 +22,9 @@
 #include "TrkTruthData/TrackTruthCollection.h"
 //CLHEP
 #include "GeneratorObjects/HepMcParticleLink.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // constructor
 Trk::TrueTracksNtupleTool::TrueTracksNtupleTool(
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationUtils/CMakeLists.txt b/Tracking/TrkValidation/TrkVertexFitterValidationUtils/CMakeLists.txt
index 7be4492800e..2cb335b447f 100644
--- a/Tracking/TrkValidation/TrkVertexFitterValidationUtils/CMakeLists.txt
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationUtils/CMakeLists.txt
@@ -11,23 +11,23 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           PRIVATE
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Reconstruction/ParticleTruth
                           Tracking/TrkEvent/TrkParticleBase
                           Tracking/TrkEvent/VxVertex )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( TrkVertexFitterValidationUtilsLib
                    src/*.cxx
                    PUBLIC_HEADERS TrkVertexFitterValidationUtils
-                   PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS 
                    LINK_LIBRARIES AthenaBaseComps GaudiKernel
-                   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} GeneratorObjects ParticleTruth TrkParticleBase VxVertex )
+                   PRIVATE_LINK_LIBRARIES AtlasHepMCLib GeneratorObjects ParticleTruth TrkParticleBase VxVertex )
 
 atlas_add_component( TrkVertexFitterValidationUtils
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel GeneratorObjects ParticleTruth TrkParticleBase VxVertex TrkVertexFitterValidationUtilsLib )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps GaudiKernel GeneratorObjects ParticleTruth TrkParticleBase VxVertex TrkVertexFitterValidationUtilsLib )
 
diff --git a/Tracking/TrkValidation/TrkVertexFitterValidationUtils/src/TrkPriVxPurityTool.cxx b/Tracking/TrkValidation/TrkVertexFitterValidationUtils/src/TrkPriVxPurityTool.cxx
index ecca441d2b5..11f434ebc3e 100755
--- a/Tracking/TrkValidation/TrkVertexFitterValidationUtils/src/TrkPriVxPurityTool.cxx
+++ b/Tracking/TrkValidation/TrkVertexFitterValidationUtils/src/TrkPriVxPurityTool.cxx
@@ -11,9 +11,9 @@
 // normal includes
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "VxVertex/VxTrackAtVertex.h"
 
 #include "TrkParticleBase/LinkToTrackParticleBase.h"
diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/CMakeLists.txt b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/CMakeLists.txt
index a1b45280504..a04de66bae2 100644
--- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/CMakeLists.txt
+++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/CMakeLists.txt
@@ -17,6 +17,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODEventInfo
                           Generators/GenAnalysisTools/TruthHelper
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MagneticField/MagFieldInterfaces
                           Tracking/TrkEvent/TrkEventPrimitives
                           Tracking/TrkEvent/TrkParameters
@@ -25,7 +26,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( Eigen )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
@@ -33,8 +33,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_component( TrkVertexSeedFinderTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel TrkVertexFitterInterfaces GeoPrimitives EventPrimitives xAODEventInfo TruthHelper GeneratorObjects TrkEventPrimitives TrkParameters TrkTrack VxVertex )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel TrkVertexFitterInterfaces GeoPrimitives EventPrimitives xAODEventInfo TruthHelper GeneratorObjects TrkEventPrimitives TrkParameters TrkTrack VxVertex )
 
 # Install files from the package:
 atlas_install_headers( TrkVertexSeedFinderTools )
diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/TrkVertexSeedFinderTools/MCTrueSeedFinder.h b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/TrkVertexSeedFinderTools/MCTrueSeedFinder.h
index a7ad3c6f596..dbd5e0cfaae 100755
--- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/TrkVertexSeedFinderTools/MCTrueSeedFinder.h
+++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/TrkVertexSeedFinderTools/MCTrueSeedFinder.h
@@ -12,10 +12,8 @@
 
 class IPartPropSvc;
 
-namespace HepMC {
-class GenEvent;
-class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace Trk
 {
diff --git a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx
index 18e39e54359..0e7874f1e43 100755
--- a/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx
+++ b/Tracking/TrkVertexFitter/TrkVertexSeedFinderTools/src/MCTrueSeedFinder.cxx
@@ -12,9 +12,9 @@
 #include "TrkParameters/TrackParameters.h"
 #include "GeoPrimitives/GeoPrimitives.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "GaudiKernel/IPartPropSvc.h"
 
diff --git a/Tracking/TrkVertexFitter/TrkVertexTools/CMakeLists.txt b/Tracking/TrkVertexFitter/TrkVertexTools/CMakeLists.txt
index c399d168271..539498ae86c 100644
--- a/Tracking/TrkVertexFitter/TrkVertexTools/CMakeLists.txt
+++ b/Tracking/TrkVertexFitter/TrkVertexTools/CMakeLists.txt
@@ -16,19 +16,19 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Event/EventPrimitives
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkEvent/TrkEventPrimitives
                           Tracking/TrkEvent/VxVertex )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( TrkVertexTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel xAODTracking GaudiKernel TrkVertexFitterInterfaces EventPrimitives GeneratorObjects TrkEventPrimitives VxVertex )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel xAODTracking GaudiKernel TrkVertexFitterInterfaces EventPrimitives GeneratorObjects TrkEventPrimitives VxVertex )
 
 # Install files from the package:
 atlas_install_headers( TrkVertexTools )
diff --git a/Tracking/TrkVertexFitter/TrkVertexTools/src/TruthVertexSelectionTool.cxx b/Tracking/TrkVertexFitter/TrkVertexTools/src/TruthVertexSelectionTool.cxx
index b73cbbd5803..2a87e468fce 100644
--- a/Tracking/TrkVertexFitter/TrkVertexTools/src/TruthVertexSelectionTool.cxx
+++ b/Tracking/TrkVertexFitter/TrkVertexTools/src/TruthVertexSelectionTool.cxx
@@ -5,7 +5,7 @@
 #include "TrkVertexTools/TruthVertexSelectionTool.h"
 #include "TrkEventPrimitives/ParamDefs.h"
 #include "CLHEP/Random/RandFlat.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include "EventPrimitives/EventPrimitivesHelpers.h"
 #include <vector> 
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/CMakeLists.txt b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/CMakeLists.txt
index 04678675630..82799a85945 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/CMakeLists.txt
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/CMakeLists.txt
@@ -11,6 +11,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/EventInfo
 			  Event/xAOD/xAODEventInfo
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           InnerDetector/InDetConditions/InDetBeamSpotService
                           PhysicsAnalysis/TruthParticleID/McParticleEvent
                           Reconstruction/MuonIdentification/muonEvent
@@ -29,24 +30,24 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           Tracking/TrkEvent/TrkParameters
                           Tracking/TrkEvent/TrkTrack
-                          Trigger/TrigSteer/TrigCompositeUtils )
+                          Trigger/TrigSteer/TrigCompositeUtils 
+                          )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_library( TrigInDetAnalysisExampleLib
                    src/*.cxx
                    PUBLIC_HEADERS TrigInDetAnalysisExample
-                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} EventInfo GeneratorObjects McParticleEvent muonEvent egammaEvent tauEvent VxVertex TrigInDetAnalysis TrigInDetAnalysisUtils TrigInDetEvent TrigSteeringEvent TrigDecisionToolLib TrigHLTMonitoringLib AthenaMonitoringLib TrigCompositeUtilsLib 
+                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                   LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib EventInfo GeneratorObjects McParticleEvent muonEvent egammaEvent tauEvent VxVertex TrigInDetAnalysis TrigInDetAnalysisUtils TrigInDetEvent TrigSteeringEvent TrigDecisionToolLib TrigHLTMonitoringLib AthenaMonitoringLib TrigCompositeUtilsLib 
                    PRIVATE_LINK_LIBRARIES GaudiKernel TrkParameters TrkTrack )
 
 atlas_add_component( TrigInDetAnalysisExample
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} EventInfo GeneratorObjects McParticleEvent muonEvent egammaEvent tauEvent VxVertex TrigDecisionToolLib TrigInDetAnalysis TrigInDetAnalysisUtils TrigInDetEvent TrigSteeringEvent TrigHLTMonitoringLib AthenaMonitoringLib GaudiKernel TrkParameters TrkTrack TrigInDetAnalysisExampleLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib EventInfo GeneratorObjects McParticleEvent muonEvent egammaEvent tauEvent VxVertex TrigDecisionToolLib TrigInDetAnalysis TrigInDetAnalysisUtils TrigInDetEvent TrigSteeringEvent TrigHLTMonitoringLib AthenaMonitoringLib GaudiKernel TrkParameters TrkTrack TrigInDetAnalysisExampleLib )
 
 # Disable naming convention checker.
 # FIXME: This should be fixed properly once run2 is finished.
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h
index d89c8f4a987..f38a8b025d7 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h
@@ -43,9 +43,9 @@
 #include "McParticleEvent/TruthParticleContainer.h"
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
index ae216763455..99c320e463a 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
@@ -43,9 +43,9 @@
 #include "McParticleEvent/TruthParticleContainer.h"
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
index e9a4044c386..78e4c098910 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
@@ -15,9 +15,9 @@
 #include "McParticleEvent/TruthParticleContainer.h"
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 #include "EventInfo/EventInfo.h"
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/CMakeLists.txt b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/CMakeLists.txt
index d892f42c47f..b5f57a5be87 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/CMakeLists.txt
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/CMakeLists.txt
@@ -27,16 +27,16 @@ atlas_depends_on_subdirs( PUBLIC
                           Trigger/TrigAnalysis/TrigInDetAnalysis
                           Trigger/TrigEvent/TrigInDetEvent
                           Trigger/TrigEvent/TrigSteeringEvent
-                          Trigger/TrigTruthEvent/TrigInDetTruthEvent )
+                          Trigger/TrigTruthEvent/TrigInDetTruthEvent 
+                          Generators/AtlasHepMC )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_library( TrigInDetAnalysisUtils
                    src/*.cxx
                    PUBLIC_HEADERS TrigInDetAnalysisUtils
-                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel McParticleEvent muonEvent Particle egammaEvent tauEvent TrkParameters TrkTrack TrkTrackSummary TrkExUtils TrkToolInterfaces TrigInDetAnalysis TrigInDetEvent TrigSteeringEvent TrigInDetTruthEvent StoreGateLib SGtests TrigDecisionToolLib )
+                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                   LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib GaudiKernel McParticleEvent muonEvent Particle egammaEvent tauEvent TrkParameters TrkTrack TrkTrackSummary TrkExUtils TrkToolInterfaces TrigInDetAnalysis TrigInDetEvent TrigSteeringEvent TrigInDetTruthEvent StoreGateLib SGtests TrigDecisionToolLib )
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector.h b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector.h
index 2afbd2bd1f8..8da01df2200 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector.h
@@ -29,9 +29,9 @@
 
 /// MC truth
 #include "McParticleEvent/TruthParticleContainer.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 ///// FrameWork includes
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector_old.h b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector_old.h
index d5ba9af1086..d335cd98165 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector_old.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/TrigTrackSelector_old.h
@@ -22,9 +22,9 @@
 
 /// MC truth
 #include "McParticleEvent/TruthParticleContainer.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 ///// FrameWork includes
diff --git a/Trigger/TrigAnalysis/TrigInDetTruthAlgs/CMakeLists.txt b/Trigger/TrigAnalysis/TrigInDetTruthAlgs/CMakeLists.txt
index 927914ffee2..3bc9d078736 100644
--- a/Trigger/TrigAnalysis/TrigInDetTruthAlgs/CMakeLists.txt
+++ b/Trigger/TrigAnalysis/TrigInDetTruthAlgs/CMakeLists.txt
@@ -12,6 +12,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           GaudiKernel
                           Generators/GenzModuleEvent
+                          Generators/AtlasHepMC
                           InnerDetector/InDetDetDescr/InDetIdentifier
                           InnerDetector/InDetRawEvent/InDetSimData
                           InnerDetector/InDetRecEvent/InDetPrepRawData
@@ -20,14 +21,13 @@ atlas_depends_on_subdirs( PUBLIC
                           Trigger/TrigTruthEvent/TrigInDetTruthEvent )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( TrigInDetTruthAlgs
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} TrigInDetEvent AthenaBaseComps GaudiKernel GenzModuleEvent InDetIdentifier InDetSimData InDetPrepRawData TrkTruthData TrigInDetTruthEvent )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib TrigInDetEvent AthenaBaseComps GaudiKernel GenzModuleEvent InDetIdentifier InDetSimData InDetPrepRawData TrkTruthData TrigInDetTruthEvent )
 
 # Install files from the package:
 atlas_install_python_modules( python/__init__.py python/TrigInDetTruthAlgsConfig.py )
diff --git a/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigInDetTrackTruthMaker.cxx b/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigInDetTrackTruthMaker.cxx
index b790508b845..d67356efa4d 100644
--- a/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigInDetTrackTruthMaker.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigInDetTrackTruthMaker.cxx
@@ -40,7 +40,7 @@
 
 // monte carlo edm
 #include "GenzModuleEvent/KineHepMcmap.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 TrigInDetTrackTruthMaker::TrigInDetTrackTruthMaker(const std::string &name, ISvcLocator *pSvcLocator) 
   : AthAlgorithm(name, pSvcLocator), m_trackTruthMapKey("TrigInDetTrackTruthMap"), m_minNrMatchHits(2)
diff --git a/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigL2SpacePointTruthTool.cxx b/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigL2SpacePointTruthTool.cxx
index 5eb535ab16c..08d492a8db2 100644
--- a/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigL2SpacePointTruthTool.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetTruthAlgs/src/TrigL2SpacePointTruthTool.cxx
@@ -28,7 +28,7 @@
 
 // monte carlo edm
 #include "GenzModuleEvent/KineHepMcmap.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TrigInDetToolInterfaces/ITrigL2SpacePointTruthTool.h"
 #include "TrigL2SpacePointTruthTool.h"
diff --git a/Trigger/TrigFake/CMakeLists.txt b/Trigger/TrigFake/CMakeLists.txt
index 75cd78001fa..8b97b0e7d8f 100644
--- a/Trigger/TrigFake/CMakeLists.txt
+++ b/Trigger/TrigFake/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Control/StoreGate
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Trigger/TrigConfiguration/TrigConfHLTData
                           Trigger/TrigEvent/TrigNavigation
                           Trigger/TrigSteer/TrigInterfaces
@@ -23,21 +24,20 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( TrigFakeLib
                    src/*.cxx
                    PUBLIC_HEADERS TrigFake
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES AthenaBaseComps GaudiKernel TrigInDetEvent TrigSteeringEvent TrigSteeringLib StoreGateLib SGtests TrigNavigationLib TrigInterfacesLib
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GeneratorObjects TrigConfHLTData TrigT1Interfaces TrigT1Result )
+                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GeneratorObjects TrigConfHLTData TrigT1Interfaces TrigT1Result )
 
 atlas_add_component( TrigFake
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel TrigInDetEvent TrigSteeringEvent TrigSteeringLib StoreGateLib SGtests GeneratorObjects TrigConfHLTData TrigNavigationLib TrigInterfacesLib TrigT1Interfaces TrigT1Result TrigFakeLib )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel TrigInDetEvent TrigSteeringEvent TrigSteeringLib StoreGateLib SGtests GeneratorObjects TrigConfHLTData TrigNavigationLib TrigInterfacesLib TrigT1Interfaces TrigT1Result TrigFakeLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/jobOfragment_TrigFake.* )
diff --git a/Trigger/TrigFake/src/FakeLvl1RoIfromKine.cxx b/Trigger/TrigFake/src/FakeLvl1RoIfromKine.cxx
index 674f6f65432..d05c4d58a4b 100755
--- a/Trigger/TrigFake/src/FakeLvl1RoIfromKine.cxx
+++ b/Trigger/TrigFake/src/FakeLvl1RoIfromKine.cxx
@@ -28,8 +28,8 @@ Modified :
 
 # include "CLHEP/Units/SystemOfUnits.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 #include "TrigSteeringEvent/TrigRoiDescriptor.h"
diff --git a/Trigger/TrigFake/src/ZVertexFromKine.cxx b/Trigger/TrigFake/src/ZVertexFromKine.cxx
index c67bd5873b9..d1558205b8a 100755
--- a/Trigger/TrigFake/src/ZVertexFromKine.cxx
+++ b/Trigger/TrigFake/src/ZVertexFromKine.cxx
@@ -18,8 +18,8 @@ Modified :
                                
 ********************************************************************/                               
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 #include "TrigInDetEvent/TrigVertexCollection.h"
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt b/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt
index f33073d6a21..039d38b9c43 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt
@@ -24,12 +24,12 @@ atlas_depends_on_subdirs( PUBLIC
                           MuonSpectrometer/MuonSimData
                           MuonSpectrometer/MuonRDO
                           Simulation/G4Sim/TrackRecord
-                          Tools/PathResolver)
+                          Tools/PathResolver
+                          Generators/AtlasHepMC )
 
 # External dependencies:
 find_package( Boost )
 find_package( TBB )
-find_package( HepMC )
 find_package( CLHEP )
 find_package( Eigen )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint )
@@ -38,8 +38,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_library( TrigT1NSWSimToolsLib
                      src/*.cxx
                      PUBLIC_HEADERS TrigT1NSWSimTools
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} ${Boost_LIBRARIES} ${TBB_LIBRARIES} ${HEPMC_LIBRARIES} 
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} ${Boost_LIBRARIES} ${TBB_LIBRARIES} AtlasHepMCLib 
                      SGTools GaudiKernel AthenaBaseComps AthenaKernel AGDDKernel GeoPrimitives Identifier EventInfo MuonAGDDDescription MuonReadoutGeometry
                      MuonDigitContainer MuonIdHelpersLib MuonSimEvent MuonSimData MuonRDO RegSelLUT PathResolver)
 
@@ -48,8 +48,8 @@ atlas_add_library( TrigT1NSWSimToolsLib
 atlas_add_component( TrigT1NSWSimTools
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} ${Boost_LIBRARIES} ${TBB_LIBRARIES} ${HEPMC_LIBRARIES} 
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${TBB_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${EIGEN_LIBRARIES} ${Boost_LIBRARIES} ${TBB_LIBRARIES} AtlasHepMCLib 
                      SGTools GaudiKernel AthenaBaseComps AthenaKernel AGDDKernel GeoPrimitives Identifier EventInfo MuonAGDDDescription MuonReadoutGeometry
                      MuonDigitContainer MuonIdHelpersLib MuonSimEvent MuonSimData MuonRDO  RegSelLUT PathResolver)
 
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
index a3c46268c25..a0613dfcb3c 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
@@ -11,7 +11,7 @@
 #include "MuonSimEvent/MicromegasHitIdHelper.h"
 #include "MuonSimEvent/MM_SimIdToOfflineId.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "TrackRecord/TrackRecordCollection.h"
 #include "MuonSimData/MuonSimDataCollection.h"
diff --git a/Trigger/TrigT1/TrigT1RPCsteering/CMakeLists.txt b/Trigger/TrigT1/TrigT1RPCsteering/CMakeLists.txt
index 41983a1afd9..de0e7a17c78 100644
--- a/Trigger/TrigT1/TrigT1RPCsteering/CMakeLists.txt
+++ b/Trigger/TrigT1/TrigT1RPCsteering/CMakeLists.txt
@@ -16,20 +16,20 @@ atlas_depends_on_subdirs( PUBLIC
                           Trigger/TrigT1/TrigT1RPClogic
                           PRIVATE
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           MuonSpectrometer/MuonDigitContainer
                           MuonSpectrometer/MuonIdHelpers
                           Trigger/TrigT1/TrigT1Interfaces
                           Trigger/TrigT1/TrigT1RPChardware )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( TrigT1RPCsteering
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps StoreGateLib SGtests Identifier GaudiKernel RPCcablingInterfaceLib MuonReadoutGeometry TrigT1RPClogicLib GeneratorObjects MuonDigitContainer MuonIdHelpersLib TrigT1Interfaces TrigT1RPChardwareLib RPChardware )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps StoreGateLib SGtests Identifier GaudiKernel RPCcablingInterfaceLib MuonReadoutGeometry TrigT1RPClogicLib GeneratorObjects MuonDigitContainer MuonIdHelpersLib TrigT1Interfaces TrigT1RPChardwareLib RPChardware )
 
 # Install files from the package:
 atlas_install_headers( TrigT1RPCsteering )
diff --git a/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx b/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx
index aea4ad0461b..fdff0c9fbac 100755
--- a/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx
+++ b/Trigger/TrigT1/TrigT1RPCsteering/src/TrigT1RPC.cxx
@@ -5,7 +5,7 @@
 #include "TrigT1RPCsteering/TrigT1RPC.h"
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "MuonReadoutGeometry/RpcReadoutElement.h"
 
diff --git a/Trigger/TrigT1/TrigT1ZDC/CMakeLists.txt b/Trigger/TrigT1/TrigT1ZDC/CMakeLists.txt
index 6319a6cb328..54f30ddebf1 100644
--- a/Trigger/TrigT1/TrigT1ZDC/CMakeLists.txt
+++ b/Trigger/TrigT1/TrigT1ZDC/CMakeLists.txt
@@ -12,18 +12,18 @@ atlas_depends_on_subdirs( PUBLIC
                           Trigger/TrigConfiguration/TrigConfInterfaces
                           PRIVATE
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Trigger/TrigConfiguration/TrigConfL1Data
                           Trigger/TrigT1/TrigT1Interfaces )
 
 # External dependencies:
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_component( TrigT1ZDC
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel GeneratorObjects TrigConfL1Data TrigT1Interfaces )
+                     INCLUDE_DIRS 
+                     LINK_LIBRARIES AtlasHepMCLib AthenaBaseComps GaudiKernel GeneratorObjects TrigConfL1Data TrigT1Interfaces )
 
 # Install files from the package:
 atlas_install_headers( TrigT1ZDC )
diff --git a/Trigger/TrigT1/TrigT1ZDC/src/TrigT1ZDC.cxx b/Trigger/TrigT1/TrigT1ZDC/src/TrigT1ZDC.cxx
index 93bbd5a8ec5..7be2bb3365c 100644
--- a/Trigger/TrigT1/TrigT1ZDC/src/TrigT1ZDC.cxx
+++ b/Trigger/TrigT1/TrigT1ZDC/src/TrigT1ZDC.cxx
@@ -11,7 +11,7 @@
 #include "GeneratorObjects/McEventCollection.h"
 #include "GaudiKernel/IPartPropSvc.h"
 #include "GaudiKernel/ITHistSvc.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <bitset>
 
diff --git a/Trigger/TrigTruthEvent/TrigInDetTruthEvent/CMakeLists.txt b/Trigger/TrigTruthEvent/TrigInDetTruthEvent/CMakeLists.txt
index d1c15606d1f..24127ce1872 100644
--- a/Trigger/TrigTruthEvent/TrigInDetTruthEvent/CMakeLists.txt
+++ b/Trigger/TrigTruthEvent/TrigInDetTruthEvent/CMakeLists.txt
@@ -11,27 +11,27 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthLinks
                           Control/AthenaKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Trigger/TrigEvent/TrigInDetEvent
                           Trigger/TrigEvent/TrigSteeringEvent
                           PRIVATE
                           GaudiKernel )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_library( TrigInDetTruthEvent
                    src/*.cxx
                    PUBLIC_HEADERS TrigInDetTruthEvent
-                   INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS 
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${HEPMC_LIBRARIES} AthContainers AthLinks AthenaKernel GeneratorObjects TrigInDetEvent TrigSteeringEvent
+                   LINK_LIBRARIES AtlasHepMCLib AthContainers AthLinks AthenaKernel GeneratorObjects TrigInDetEvent TrigSteeringEvent
                    PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel )
 
 atlas_add_dictionary( TrigInDetTruthEventDict
                       TrigInDetTruthEvent/TrigInDetTruthEventDict.h
                       TrigInDetTruthEvent/selection.xml
-                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthContainers AthLinks GeneratorObjects TrigInDetEvent TrigSteeringEvent AthenaKernel GaudiKernel TrigInDetTruthEvent )
+                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                      LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthContainers AthLinks GeneratorObjects TrigInDetEvent TrigSteeringEvent AthenaKernel GaudiKernel TrigInDetTruthEvent )
 
diff --git a/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruth.h b/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruth.h
index 50ca026642d..e0e9352c078 100644
--- a/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruth.h
+++ b/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruth.h
@@ -27,8 +27,8 @@
 #include "TrigInDetEvent/TrigInDetTrack.h"
 #include "TrigInDetTruthEvent/TrigIDHitStats.h"
 
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 
 #include <iostream>
diff --git a/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruthMap.h b/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruthMap.h
index ef1161cd6cc..2907e1cd1bd 100644
--- a/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruthMap.h
+++ b/Trigger/TrigTruthEvent/TrigInDetTruthEvent/TrigInDetTruthEvent/TrigInDetTrackTruthMap.h
@@ -30,7 +30,7 @@
 #include "TrigInDetEvent/TrigInDetTrack.h"
 #include "TrigInDetEvent/TrigInDetTrackCollection.h"
 #include "TrigInDetTruthEvent/TrigInDetTrackTruth.h"
-#include "HepMC/GenParticle.h" 
+#include "AtlasHepMC/GenParticle.h" 
 
 #include <iostream>
 
diff --git a/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthCnv_p1_test.cxx b/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthCnv_p1_test.cxx
index d7ec5861b68..bcfa97974d1 100644
--- a/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthCnv_p1_test.cxx
+++ b/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthCnv_p1_test.cxx
@@ -20,8 +20,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 void compare (const TrigIDHitStats& p1,
               const TrigIDHitStats& p2)
diff --git a/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthMapCnv_p1_test.cxx b/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthMapCnv_p1_test.cxx
index 117c8318466..9f35e407de0 100644
--- a/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthMapCnv_p1_test.cxx
+++ b/Trigger/TrigTruthEvent/TrigTruthEventTPCnv/test/TrigInDetTrackTruthMapCnv_p1_test.cxx
@@ -21,8 +21,8 @@
 #include <iostream>
 
 #include "GeneratorObjectsTPCnv/initMcEventCollection.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 
 
 void compare (const TrigIDHitStats& p1,
diff --git a/graphics/VP1/VP1Systems/VP1MCSystems/CMakeLists.txt b/graphics/VP1/VP1Systems/VP1MCSystems/CMakeLists.txt
index faf9e3cf09e..645c04e21f8 100644
--- a/graphics/VP1/VP1Systems/VP1MCSystems/CMakeLists.txt
+++ b/graphics/VP1/VP1Systems/VP1MCSystems/CMakeLists.txt
@@ -12,12 +12,12 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaKernel
                           Control/StoreGate
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           graphics/VP1/VP1Utils )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Generate UI files automatically:
@@ -33,8 +33,8 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
 # Component(s) in the package:
 atlas_add_library( VP1MCSystems VP1MCSystems/*.h src/*.h src/*.cxx src/*.qrc  
                    PUBLIC_HEADERS VP1MCSystems
-                   PRIVATE_INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES VP1Base StoreGateLib SGtests
-                   PRIVATE_LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel GaudiKernel GeneratorObjects VP1Utils )
+                   PRIVATE_LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GaudiKernel GeneratorObjects VP1Utils )
 
diff --git a/graphics/VP1/VP1Systems/VP1MCSystems/src/VP1MCSystem.cxx b/graphics/VP1/VP1Systems/VP1MCSystems/src/VP1MCSystem.cxx
index 485516780a3..ee86f8c1fab 100755
--- a/graphics/VP1/VP1Systems/VP1MCSystems/src/VP1MCSystem.cxx
+++ b/graphics/VP1/VP1Systems/VP1MCSystems/src/VP1MCSystem.cxx
@@ -18,8 +18,8 @@
 #include <QTreeWidget>
 #include <QTreeWidgetItem>
 
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "CLHEP/Vector/ThreeVector.h"
 #include "StoreGate/DataHandle.h"
 #include "GeneratorObjects/McEventCollection.h"
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/CMakeLists.txt b/graphics/VP1/VP1Systems/VP1TrackSystems/CMakeLists.txt
index d7dd67ae84d..ac160920e02 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/CMakeLists.txt
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/CMakeLists.txt
@@ -60,12 +60,13 @@ atlas_depends_on_subdirs(
    Tracking/TrkFitter/TrkFitterInterfaces
    graphics/VP1/VP1HEPVis
    graphics/VP1/VP1Systems/VP1GuideLineSystems
-   graphics/VP1/VP1Systems/VP1PRDSystems )
+   graphics/VP1/VP1Systems/VP1PRDSystems 
+   Generators/AtlasHepMC
+   )
 
 # External dependencies:
 find_package( CLHEP )
 find_package( Coin3D )
-find_package( HepMC )
 find_package( Qt5 COMPONENTS Core Gui Widgets  )
 find_package( GeoModelCore )
 
@@ -79,13 +80,13 @@ set( CMAKE_AUTOMOC TRUE )
 atlas_add_library( VP1TrackSystems VP1TrackSystems/*.h src/*.cxx
    PUBLIC_HEADERS VP1TrackSystems
    PRIVATE_INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-   ${HEPMC_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR}
+    ${CMAKE_CURRENT_BINARY_DIR}
    LINK_LIBRARIES ${GEOMODELCORE_LIBRARIES} GeoPrimitives Identifier xAODTracking
    GaudiKernel GeneratorObjects TrkDetDescrInterfaces TrkSurfaces
    TrkEventPrimitives TrkParameters VP1Base VP1Utils StoreGateLib SGtests
    MuonIdHelpersLib MuonRecHelperToolsLib Qt5::Core Qt5::Gui
    PRIVATE_LINK_LIBRARIES ${COIN3D_LIBRARIES} ${CLHEP_LIBRARIES}
-   ${HEPMC_LIBRARIES} AthContainers AtlasDetDescr EventPrimitives
+   AtlasHepMCLib AthContainers AtlasDetDescr EventPrimitives
    ForwardRegion_SimEv InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry InDetPrepRawData
    InDetRIO_OnTrack InDetSimEvent MuonReadoutGeometry MuonChamberT0s
    MuonPrepRawData MuonRIO_OnTrack MuonSegment MuonSimEvent Particle
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/AscObj_TruthPoint.h b/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/AscObj_TruthPoint.h
index d8dd64db021..c18c7be39ab 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/AscObj_TruthPoint.h
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/AscObj_TruthPoint.h
@@ -20,7 +20,8 @@
 
 #include "VP1TrackSystems/AssociatedObjectHandleBase.h"
 
-namespace HepMC { class GenVertex; class GenParticle; }
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
 class SimHitHandleBase;
 
 class AscObj_TruthPoint : public AssociatedObjectHandleBase {
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/TrackHandle_TruthTrack.h b/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/TrackHandle_TruthTrack.h
index 8e1dd05154b..7a9108728c6 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/TrackHandle_TruthTrack.h
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/VP1TrackSystems/TrackHandle_TruthTrack.h
@@ -23,7 +23,7 @@
 
 #include "GeoPrimitives/GeoPrimitives.h"
 
-namespace HepMC { class GenParticle; }
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 class TrackHandle_TruthTrack : public TrackHandleBase {
 public:
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/AscObj_TruthPoint.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/AscObj_TruthPoint.cxx
index 012211733f0..9372689c3f0 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/AscObj_TruthPoint.cxx
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/AscObj_TruthPoint.cxx
@@ -15,8 +15,8 @@
 #include "VP1TrackSystems/AscObj_TruthPoint.h"
 #include "VP1TrackSystems/SimHitHandleBase.h"
 #include "VP1Base/VP1Msg.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // Eigen migration
 //#include "TrkEventPrimitives/GlobalPosition.h"
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_SimulationTracks.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_SimulationTracks.cxx
index 138c49e52df..6aa0e7b9ffa 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_SimulationTracks.cxx
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_SimulationTracks.cxx
@@ -23,9 +23,9 @@
 #include "VP1Utils/VP1JobConfigInfo.h"
 #include "VP1Utils/VP1ParticleData.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 #include "TrackRecord/TrackRecordCollection.h"
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_TruthTracks.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_TruthTracks.cxx
index c55c287f5a9..da876623a4f 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_TruthTracks.cxx
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackCollHandle_TruthTracks.cxx
@@ -25,9 +25,9 @@
 #include "VP1Utils/VP1JobConfigInfo.h"
 #include "VP1Utils/VP1ParticleData.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 #include "TrackRecord/TrackRecordCollection.h"
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_FatrasTruthTrack.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_FatrasTruthTrack.cxx
index b4bf7493dd8..82c10795160 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_FatrasTruthTrack.cxx
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_FatrasTruthTrack.cxx
@@ -15,7 +15,7 @@
 // #include "VP1TrackSystems/TrackHandle_FatrasTruthTrack.h"
 // #include "FatrasEvent/TrackParticleState.h"
 // #include "FatrasEvent/TruthAssociation.h"
-// #include "HepMC/GenParticle.h"
+// #include "AtlasHepMC/GenParticle.h"
 // 
 // //____________________________________________________________________
 // class TrackHandle_FatrasTruthTrack::Imp {
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_SimulationTrack.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_SimulationTrack.cxx
index 3ab9d2d76e2..9569c6286af 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_SimulationTrack.cxx
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_SimulationTrack.cxx
@@ -17,14 +17,14 @@
 #include "VP1Base/VP1Msg.h"
 
 #include "TrkTrack/Track.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Vector/LorentzVector.h"
 #include "TrkTrack/Track.h"
 #include "AthContainers/DataVector.h"
 #include "TrkParameters/TrackParameters.h"
 #include "TrkSurfaces/PlaneSurface.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //____________________________________________________________________
 class TrackHandle_SimulationTrack::Imp {
diff --git a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_TruthTrack.cxx b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_TruthTrack.cxx
index 4376dc3d7eb..361191f6e9c 100644
--- a/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_TruthTrack.cxx
+++ b/graphics/VP1/VP1Systems/VP1TrackSystems/src/TrackHandle_TruthTrack.cxx
@@ -17,14 +17,14 @@
 #include "VP1Base/VP1Msg.h"
 
 #include "TrkTrack/Track.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Vector/LorentzVector.h"
 #include "TrkTrack/Track.h"
 #include "AthContainers/DataVector.h"
 #include "TrkParameters/TrackParameters.h"
 #include "TrkSurfaces/PlaneSurface.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 //____________________________________________________________________
 class TrackHandle_TruthTrack::Imp {
diff --git a/graphics/VP1/VP1Systems/VP1VertexSystems/CMakeLists.txt b/graphics/VP1/VP1Systems/VP1VertexSystems/CMakeLists.txt
index a56ba86f354..3410988d251 100644
--- a/graphics/VP1/VP1Systems/VP1VertexSystems/CMakeLists.txt
+++ b/graphics/VP1/VP1Systems/VP1VertexSystems/CMakeLists.txt
@@ -12,6 +12,7 @@ atlas_depends_on_subdirs( PUBLIC
                           DetectorDescription/GeoPrimitives
                           GaudiKernel
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Tracking/TrkEvent/TrkParticleBase
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/TrkTrackLink
@@ -21,7 +22,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( Coin3D )
 find_package( Eigen )
-find_package( HepMC )
 find_package( Qt5 COMPONENTS Core Gui Widgets )
 
 # Generate UI files automatically:
@@ -38,7 +38,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
 # Component(s) in the package:
 atlas_add_library( VP1VertexSystems VP1VertexSystems/*.h src/*.h src/*.cxx src/*.qrc  
                    PUBLIC_HEADERS VP1VertexSystems
-                   PRIVATE_INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${COIN3D_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} 
                    LINK_LIBRARIES VP1Base GL Qt5::Core Qt5::Gui
-                   PRIVATE_LINK_LIBRARIES ${COIN3D_LIBRARIES} ${EIGEN_LIBRARIES} ${HEPMC_LIBRARIES} GeoPrimitives GaudiKernel GeneratorObjects TrkParticleBase TrkTrack VxVertex VP1Utils )
+                   PRIVATE_LINK_LIBRARIES ${COIN3D_LIBRARIES} ${EIGEN_LIBRARIES} AtlasHepMCLib GeoPrimitives GaudiKernel GeneratorObjects TrkParticleBase TrkTrack VxVertex VP1Utils )
 
diff --git a/graphics/VP1/VP1Systems/VP1VertexSystems/src/VP1TruthVertexCollection.cxx b/graphics/VP1/VP1Systems/VP1VertexSystems/src/VP1TruthVertexCollection.cxx
index 6ee2deebf20..48f567607ee 100644
--- a/graphics/VP1/VP1Systems/VP1VertexSystems/src/VP1TruthVertexCollection.cxx
+++ b/graphics/VP1/VP1Systems/VP1VertexSystems/src/VP1TruthVertexCollection.cxx
@@ -31,8 +31,8 @@
 #include <QStringList>
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 
 //#include "CLHEP/Units/SystemOfUnits.h"
 #include "GaudiKernel/SystemOfUnits.h"
-- 
GitLab