From 3ccacd8f0225cac129b4d71466a4f7a724e629d7 Mon Sep 17 00:00:00 2001
From: Andrii Verbytskyi <andrii.verbytskyi@cern.ch>
Date: Tue, 7 Apr 2020 09:39:11 +0000
Subject: [PATCH] Creation of header only package AtlasHepMC and migration of
 Generators to AtlasHepMC

---
 Generators/AtlasHepMC/AtlasHepMC/GenParticle.h     |  7 ++-----
 Generators/AtlasHepMC/AtlasHepMC/GenVertex.h       |  8 +-------
 Generators/AtlasHepMC/CMakeLists.txt               | 11 +++++++++--
 .../BeamHaloGenerator/BeamHaloGenerator.h          |  4 +---
 Generators/BeamHaloGenerator/CMakeLists.txt        |  1 +
 Generators/EvgenProdTools/CMakeLists.txt           | 10 +++++-----
 .../EvgenProdTools/EvgenProdTools/TestHepMC.h      |  2 +-
 Generators/EvgenProdTools/src/SimTimeEstimate.cxx  |  2 +-
 Generators/EvtGen_i/CMakeLists.txt                 | 10 +++++-----
 Generators/EvtGen_i/EvtGen_i/EvtDecay.h            |  4 ++--
 .../EvtGen_i/EvtGenExternal/EvtPhotosEngine.hh     |  4 ++--
 .../EvtGen_i/EvtGenExternal/EvtTauolaEngine.hh     |  4 ++--
 Generators/EvtGen_i/EvtGen_i/EvtInclusiveDecay.h   |  4 ++--
 Generators/EvtGen_i/src/EvtDecay.cxx               |  6 +++---
 Generators/EvtGen_i/src/EvtInclusiveDecay.cxx      |  6 +++---
 Generators/EvtGen_i/src/EvtPhotosEngine.cxx        |  6 +++---
 Generators/EvtGen_i/src/EvtTauolaEngine.cxx        |  6 +++---
 Generators/FlowAfterburner/CMakeLists.txt          | 10 +++++-----
 Generators/FlowAfterburner/src/CheckFlow.cxx       |  6 +++---
 Generators/FlowAfterburner/src/CheckFlow_New.cxx   |  6 +++---
 .../FlowAfterburner/src/CheckFlow_New_Minbias.cxx  |  6 +++---
 .../GenAnalysisTools/EventBoost/CMakeLists.txt     |  6 +++---
 .../EventBoost/EventBoost/EventBoost.h             | 10 ++++------
 .../GenAnalysisTools/EventBoost/src/EventBoost.cxx |  6 +++---
 .../GenAnalysisTools/ReweightTools/CMakeLists.txt  | 10 +++++-----
 .../ReweightTools/ReweightTools/PDFReweightTool.h  |  2 +-
 .../ReweightTools/src/PDFReweightTool.cxx          |  4 ++--
 .../GenAnalysisTools/TruthHelper/CMakeLists.txt    |  8 ++++----
 .../TruthHelper/TruthHelper/GenAccessIO.h          |  2 +-
 .../TruthHelper/TruthHelper/GenIMCselector.h       |  2 +-
 .../TruthHelper/TruthHelper/PileUpType.h           |  4 ++--
 .../TruthHelper/src/GenAccessIO.cxx                |  4 ++--
 .../GenAnalysisTools/TruthHelper/src/GenAll.cxx    |  2 +-
 .../TruthHelper/src/IsConversion.cxx               |  4 ++--
 .../GenAnalysisTools/TruthHelper/src/IsGenType.cxx |  2 +-
 .../TruthHelper/src/IsGenerator.cxx                |  2 +-
 .../TruthHelper/src/IsLastPhysicalHadron.cxx       |  2 +-
 .../GenAnalysisTools/TruthHelper/src/IsStatus.cxx  |  2 +-
 .../GenAnalysisTools/TruthHelper/src/NCutter.cxx   |  2 +-
 .../GenAnalysisTools/TruthTools/CMakeLists.txt     |  6 +++---
 .../TruthTools/TruthTools/TruthSelector.h          |  2 +-
 .../GenInterfaces/GenInterfacesDict.h              |  2 +-
 Generators/GeneratorFilters/CMakeLists.txt         | 10 +++++-----
 .../GeneratorFilters/BSignalFilter.h               |  6 +++---
 .../GeneratorFilters/DecayPositionFilter.h         |  2 +-
 Generators/GeneratorFilters/src/HTFilter.cxx       |  2 +-
 .../GeneratorFilters/src/TTbarMassFilter.cxx       |  2 +-
 Generators/GeneratorModules/CMakeLists.txt         | 10 +++++-----
 .../GeneratorModules/GeneratorModules/GenBase.h    |  2 +-
 Generators/HepMCAnalysis_i/CMakeLists.txt          |  6 +++---
 .../HepMCAnalysis_i/HepMCAnalysis.h                |  2 +-
 Generators/HepMCAnalysis_i/src/HepMCAnalysis.cxx   |  2 +-
 .../HepMCAnalysis_i/src/LeptonJetAnalysis.cxx      | 14 +++++++-------
 .../src/ParticleContentAnalysis.cxx                | 12 ++++++------
 Generators/HepMCAnalysis_i/src/PdfAnalysis.cxx     | 14 +++++++-------
 Generators/HepMCAnalysis_i/src/UserAnalysis.cxx    | 12 ++++++------
 Generators/Herwig7_i/CMakeLists.txt                |  1 +
 Generators/HforTool/CMakeLists.txt                 |  6 +++---
 Generators/HforTool/HforTool/HforTool.h            |  2 +-
 Generators/Hijing_i/CMakeLists.txt                 |  6 +++---
 Generators/Hijing_i/src/Hijing.cxx                 |  6 +++---
 Generators/Hydjet_i/CMakeLists.txt                 |  6 +++---
 Generators/Hydjet_i/src/Hydjet_i.cxx               |  6 +++---
 Generators/MCTester_i/CMakeLists.txt               |  6 +++---
 Generators/MCTester_i/src/MCTesterAlg.cxx          |  4 ++--
 Generators/ParticleDecayer/CMakeLists.txt          |  6 +++---
 .../ParticleDecayer/ParticleDecayer.h              |  2 +-
 Generators/Pythia8B_i/CMakeLists.txt               | 10 +++++-----
 Generators/Pythia8B_i/src/Pythia8B_i.cxx           |  2 +-
 Generators/Pythia8_i/CMakeLists.txt                |  1 +
 Generators/Rivet_i/CMakeLists.txt                  |  5 ++---
 Generators/Rivet_i/src/Rivet_i.cxx                 |  2 +-
 Generators/Sherpa_i/CMakeLists.txt                 |  6 +++---
 Generators/Sherpa_i/src/Sherpa_i.cxx               |  2 +-
 Generators/Starlight_i/CMakeLists.txt              |  6 +++---
 Generators/Starlight_i/src/Starlight_i.cxx         |  6 +++---
 Generators/Tauolapp_i/CMakeLists.txt               |  6 +++---
 Generators/Tauolapp_i/Tauolapp_i/TauolaPP.h        |  4 ++--
 Generators/TrackRecordGenerator/CMakeLists.txt     | 10 +++++-----
 .../TrackRecordGenerator/TrackRecordGenerator.h    |  2 +-
 Generators/TruthUtils/CMakeLists.txt               |  5 ++---
 Generators/TruthUtils/TruthUtils/HepMCHelpers.h    |  6 ------
 Projects/AthSimulation/package_filters.txt         |  1 +
 83 files changed, 209 insertions(+), 219 deletions(-)

diff --git a/Generators/AtlasHepMC/AtlasHepMC/GenParticle.h b/Generators/AtlasHepMC/AtlasHepMC/GenParticle.h
index f511925247d..9c8a072c8b8 100644
--- a/Generators/AtlasHepMC/AtlasHepMC/GenParticle.h
+++ b/Generators/AtlasHepMC/AtlasHepMC/GenParticle.h
@@ -6,15 +6,12 @@
 #include "HepMC/GenParticle.h"
 namespace HepMC {
 typedef GenParticle* GenParticlePtr;
-typedef (GenParticle* const) ConstGenParticlePtr;
+typedef GenParticle* ConstGenParticlePtr;
 inline GenParticlePtr newGenParticlePtr(const HepMC::FourVector &mom = HepMC::FourVector(0.0,0.0,0.0,0.0), int pid = 0, int status = 0) {
     return new HepMC::GenParticle(mom,pid,status);
 }
 inline int barcode(GenParticlePtr p) {
-    p->barcode();
-}
-inline int barcode(ConstGenParticlePtr p) {
-    p->barcode();
+return    p->barcode();
 }
 }
 #endif
diff --git a/Generators/AtlasHepMC/AtlasHepMC/GenVertex.h b/Generators/AtlasHepMC/AtlasHepMC/GenVertex.h
index 2e140c8ac12..8b7c2eb2e8d 100644
--- a/Generators/AtlasHepMC/AtlasHepMC/GenVertex.h
+++ b/Generators/AtlasHepMC/AtlasHepMC/GenVertex.h
@@ -6,15 +6,9 @@
 #include "HepMC/GenVertex.h"
 namespace HepMC {
 typedef HepMC::GenVertex* GenVertexPtr;
-typedef (HepMC::GenVertex* const)  ConstGenVertexPtr;
+typedef HepMC::GenVertex* ConstGenVertexPtr;
 inline GenVertexPtr newGenVertexPtr(const HepMC::FourVector &pos = HepMC::FourVector(0.0,0.0,0.0,0.0), const int i=0) {
     return new HepMC::GenVertex(pos,i);
 }
-inline int barcode(GenVertexPtr p) {
-    p->barcode();
-}
-inline int barcode(ConstGenVertexPtr p) {
-    p->barcode();
-}
 }
 #endif
diff --git a/Generators/AtlasHepMC/CMakeLists.txt b/Generators/AtlasHepMC/CMakeLists.txt
index a20441a20c1..a269ede5797 100644
--- a/Generators/AtlasHepMC/CMakeLists.txt
+++ b/Generators/AtlasHepMC/CMakeLists.txt
@@ -3,7 +3,7 @@
 atlas_subdir( AtlasHepMC )
 
 # External(s) needed by the package.
-find_package( HepMC )
+find_package( HepMC COMPONENTS HepMC HepMCfio )
 
 # Component(s) in the package.
 atlas_add_library( AtlasHepMCLib
@@ -11,4 +11,11 @@ atlas_add_library( AtlasHepMCLib
    INTERFACE
    PUBLIC_HEADERS AtlasHepMC
    INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
-   LINK_LIBRARIES ${HEPMC_LIBRARIES} )
+   LINK_LIBRARIES ${HepMC_HepMC_LIBRARY} )
+
+atlas_add_library( AtlasHepMCfioLib
+   AtlasHepMC/*.h
+   INTERFACE
+   PUBLIC_HEADERS AtlasHepMC
+   INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+   LINK_LIBRARIES ${HepMC_HepMCfio_LIBRARY} )
diff --git a/Generators/BeamHaloGenerator/BeamHaloGenerator/BeamHaloGenerator.h b/Generators/BeamHaloGenerator/BeamHaloGenerator/BeamHaloGenerator.h
index bd184bfa5f3..7310d8d9448 100755
--- a/Generators/BeamHaloGenerator/BeamHaloGenerator/BeamHaloGenerator.h
+++ b/Generators/BeamHaloGenerator/BeamHaloGenerator/BeamHaloGenerator.h
@@ -8,10 +8,8 @@
 #include "BeamHaloGenerator/BeamHaloParticle.h"
 #include <string>
 #include <vector>
+#include "AtlasHepMC/GenEvent.h"
 
-namespace HepMC {
-  class GenEvent;
-}
 namespace HepPDT {
   class ParticleDataTable;
 }
diff --git a/Generators/BeamHaloGenerator/CMakeLists.txt b/Generators/BeamHaloGenerator/CMakeLists.txt
index a7c3698d566..cb681358ce7 100644
--- a/Generators/BeamHaloGenerator/CMakeLists.txt
+++ b/Generators/BeamHaloGenerator/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           Generators/AtlasHepMC
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           PRIVATE
                           Control/AthenaKernel )
 
diff --git a/Generators/EvgenProdTools/CMakeLists.txt b/Generators/EvgenProdTools/CMakeLists.txt
index 83b7d47ade4..be11c006ff0 100644
--- a/Generators/EvgenProdTools/CMakeLists.txt
+++ b/Generators/EvgenProdTools/CMakeLists.txt
@@ -11,6 +11,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Generators/GenAnalysisTools/TruthHelper
                           Generators/GenInterfaces
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           PRIVATE
                           Control/AthenaKernel
                           Event/EventInfo
@@ -18,21 +19,20 @@ atlas_depends_on_subdirs( PUBLIC
                           Generators/TruthUtils )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_library( EvgenProdToolsLib
                    src/*.cxx
                    PUBLIC_HEADERS EvgenProdTools
-                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps TruthHelper GeneratorModulesLib
+                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                   LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps TruthHelper GeneratorModulesLib
                    PRIVATE_LINK_LIBRARIES AthenaKernel EventInfo GaudiKernel TruthUtils )
 
 atlas_add_component( EvgenProdTools
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps TruthHelper GeneratorModulesLib AthenaKernel EventInfo GaudiKernel TruthUtils EvgenProdToolsLib )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps TruthHelper GeneratorModulesLib AthenaKernel EventInfo GaudiKernel TruthUtils EvgenProdToolsLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h b/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h
index 0594707d20b..2ed3ff9bb45 100644
--- a/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h
+++ b/Generators/EvgenProdTools/EvgenProdTools/TestHepMC.h
@@ -12,7 +12,7 @@
 #include "TruthHelper/IsGenNonInteracting.h"
 #include "TFile.h"
 #include "TH1.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include<cmath>
 
 #include<fstream>
diff --git a/Generators/EvgenProdTools/src/SimTimeEstimate.cxx b/Generators/EvgenProdTools/src/SimTimeEstimate.cxx
index 46e0efc5f50..c45a2aa3487 100644
--- a/Generators/EvgenProdTools/src/SimTimeEstimate.cxx
+++ b/Generators/EvgenProdTools/src/SimTimeEstimate.cxx
@@ -4,7 +4,7 @@
 
 #ifndef XAOD_ANALYSIS
 #include "EvgenProdTools/SimTimeEstimate.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "TruthUtils/HepMCHelpers.h"
 
 SimTimeEstimate::SimTimeEstimate(const std::string& name, ISvcLocator* pSvcLocator)
diff --git a/Generators/EvtGen_i/CMakeLists.txt b/Generators/EvtGen_i/CMakeLists.txt
index 6fb6a8d89b8..98e9990d554 100644
--- a/Generators/EvtGen_i/CMakeLists.txt
+++ b/Generators/EvtGen_i/CMakeLists.txt
@@ -11,6 +11,7 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           Generators/GeneratorModules
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PRIVATE
                           Control/AthenaKernel )
 
@@ -24,7 +25,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
 find_package( EvtGen )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( Photospp COMPONENTS Photospp PhotosppHepMC )
 find_package( Pythia8 )
@@ -50,16 +50,16 @@ atlas_add_library( EvtGen_iLib
                    src/EvtPythiaEngine.cxx
                    src/EvtInclusiveDecay.cxx
                    PUBLIC_HEADERS EvtGen_i
-                   INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${PHOTOSPP_INCLUDE_DIRS} ${TAUOLAPP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EVTGEN_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${PHOTOSPP_INCLUDE_DIRS} ${TAUOLAPP_INCLUDE_DIRS}  ${EVTGEN_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
                    PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${PYTHIA8_LIBRARIES} ${PHOTOSPP_LIBRARIES} ${TAUOLAPP_LIBRARIES} ${HEPMC_LIBRARIES} ${EVTGEN_LIBRARIES} GaudiKernel GeneratorObjects ${ROOT_LIBRARIES} StoreGateLib SGtests GeneratorModulesLib
+                   LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${PYTHIA8_LIBRARIES} ${PHOTOSPP_LIBRARIES} ${TAUOLAPP_LIBRARIES} AtlasHepMCLib ${EVTGEN_LIBRARIES} GaudiKernel GeneratorObjects ${ROOT_LIBRARIES} StoreGateLib SGtests GeneratorModulesLib
                    PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaKernel )
 
 atlas_add_component( EvtGen_i
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${PHOTOSPP_INCLUDE_DIRS} ${TAUOLAPP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EVTGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${PYTHIA8_LIBRARIES} ${PHOTOSPP_LIBRARIES} ${TAUOLAPP_LIBRARIES} ${HEPMC_LIBRARIES} ${EVTGEN_LIBRARIES} StoreGateLib SGtests GaudiKernel GeneratorModulesLib GeneratorObjects AthenaKernel EvtGen_iLib )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${PHOTOSPP_INCLUDE_DIRS} ${TAUOLAPP_INCLUDE_DIRS}  ${EVTGEN_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${PYTHIA8_LIBRARIES} ${PHOTOSPP_LIBRARIES} ${TAUOLAPP_LIBRARIES} AtlasHepMCLib ${EVTGEN_LIBRARIES} StoreGateLib SGtests GaudiKernel GeneratorModulesLib GeneratorObjects AthenaKernel EvtGen_iLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Generators/EvtGen_i/EvtGen_i/EvtDecay.h b/Generators/EvtGen_i/EvtGen_i/EvtDecay.h
index fbde77510ad..017cf24ba1a 100644
--- a/Generators/EvtGen_i/EvtGen_i/EvtDecay.h
+++ b/Generators/EvtGen_i/EvtGen_i/EvtDecay.h
@@ -28,8 +28,8 @@
 #ifndef GENERATORMODULESEVTDECAY_H
 #define GENERATORMODULESEVTDECAY_H
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "EvtGenBase/EvtParticle.hh"
 #include "EvtGen/EvtGen.hh"
diff --git a/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtPhotosEngine.hh b/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtPhotosEngine.hh
index e3cbe694652..af4cc425b0c 100644
--- a/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtPhotosEngine.hh
+++ b/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtPhotosEngine.hh
@@ -26,8 +26,8 @@
 #include "EvtGenBase/EvtId.hh"
 #include "EvtGenBase/EvtVector4R.hh"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <string>
 
diff --git a/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtTauolaEngine.hh b/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtTauolaEngine.hh
index ff266bfda99..47cbae9d207 100644
--- a/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtTauolaEngine.hh
+++ b/Generators/EvtGen_i/EvtGen_i/EvtGenExternal/EvtTauolaEngine.hh
@@ -27,8 +27,8 @@
 #include "EvtGenBase/EvtDecayBase.hh"
 #include "EvtGenBase/EvtVector4R.hh"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <vector>
 #include <map>
diff --git a/Generators/EvtGen_i/EvtGen_i/EvtInclusiveDecay.h b/Generators/EvtGen_i/EvtGen_i/EvtInclusiveDecay.h
index 96189f4fc3e..42eb33b3f15 100644
--- a/Generators/EvtGen_i/EvtGen_i/EvtInclusiveDecay.h
+++ b/Generators/EvtGen_i/EvtGen_i/EvtInclusiveDecay.h
@@ -26,8 +26,8 @@
 #include <boost/algorithm/string.hpp>
 #include <boost/lexical_cast.hpp>
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "HepPDT/ParticleDataTable.hh"
 
diff --git a/Generators/EvtGen_i/src/EvtDecay.cxx b/Generators/EvtGen_i/src/EvtDecay.cxx
index a95032e85a0..325cbb97c55 100644
--- a/Generators/EvtGen_i/src/EvtDecay.cxx
+++ b/Generators/EvtGen_i/src/EvtDecay.cxx
@@ -30,9 +30,9 @@
 #include "EvtGen/EvtGen.hh"
 
 // Framework Related Headers:-
-#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 "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/ISvcLocator.h"
diff --git a/Generators/EvtGen_i/src/EvtInclusiveDecay.cxx b/Generators/EvtGen_i/src/EvtInclusiveDecay.cxx
index 4846fd91710..86eb414fb0a 100644
--- a/Generators/EvtGen_i/src/EvtInclusiveDecay.cxx
+++ b/Generators/EvtGen_i/src/EvtInclusiveDecay.cxx
@@ -29,9 +29,9 @@
 #include "EvtGenBase/EvtRandomEngine.hh"
 #include "EvtGenBase/EvtDecayTable.hh"
 
-#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 "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/ISvcLocator.h"
diff --git a/Generators/EvtGen_i/src/EvtPhotosEngine.cxx b/Generators/EvtGen_i/src/EvtPhotosEngine.cxx
index 4ec8c6a3471..92818f2c288 100644
--- a/Generators/EvtGen_i/src/EvtPhotosEngine.cxx
+++ b/Generators/EvtGen_i/src/EvtPhotosEngine.cxx
@@ -31,9 +31,9 @@
 #include "Photos/PhotosHepMCParticle.h"
 #include "Photos/PhotosParticle.h"
 
-#include "HepMC/GenVertex.h"
-#include "HepMC/SimpleVector.h"
-#include "HepMC/Units.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/Units.h"
 
 #include <iostream>
 #include <sstream>
diff --git a/Generators/EvtGen_i/src/EvtTauolaEngine.cxx b/Generators/EvtGen_i/src/EvtTauolaEngine.cxx
index 4ebd6883b8a..cd7ae034f79 100644
--- a/Generators/EvtGen_i/src/EvtTauolaEngine.cxx
+++ b/Generators/EvtGen_i/src/EvtTauolaEngine.cxx
@@ -32,9 +32,9 @@
 #include "Tauola/TauolaHepMCParticle.h"
 #include "Tauola/TauolaParticle.h"
 
-#include "HepMC/GenVertex.h"
-#include "HepMC/SimpleVector.h"
-#include "HepMC/Units.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/Units.h"
 
 #include <iostream>
 #include <sstream>
diff --git a/Generators/FlowAfterburner/CMakeLists.txt b/Generators/FlowAfterburner/CMakeLists.txt
index 887f75b82ee..e02dacd8244 100644
--- a/Generators/FlowAfterburner/CMakeLists.txt
+++ b/Generators/FlowAfterburner/CMakeLists.txt
@@ -12,6 +12,7 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           Generators/GenAnalysisTools/TruthHelper
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           PRIVATE
                           Control/StoreGate
                           Generators/TruthUtils )
@@ -19,7 +20,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( GSL )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
@@ -27,15 +27,15 @@ atlas_add_library( FlowAfterburnerLib
                    src/*.cxx
                    PUBLIC_HEADERS FlowAfterburner
                    INCLUDE_DIRS ${GSL_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                   PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${GSL_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel TruthHelper GeneratorObjects StoreGateLib SGtests
-                   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} TruthUtils )
+                   PRIVATE_LINK_LIBRARIES AtlasHepMCLib TruthUtils )
 
 atlas_add_component( FlowAfterburner
                      src/components/*.cxx
-                     INCLUDE_DIRS ${GSL_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GSL_LIBRARIES} ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel TruthHelper GeneratorObjects StoreGateLib SGtests TruthUtils FlowAfterburnerLib )
+                     INCLUDE_DIRS ${GSL_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}  ${CLHEP_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${GSL_LIBRARIES} ${ROOT_LIBRARIES} AtlasHepMCLib ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel TruthHelper GeneratorObjects StoreGateLib SGtests TruthUtils FlowAfterburnerLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Generators/FlowAfterburner/src/CheckFlow.cxx b/Generators/FlowAfterburner/src/CheckFlow.cxx
index 79a0c67f958..16dd8354b6d 100644
--- a/Generators/FlowAfterburner/src/CheckFlow.cxx
+++ b/Generators/FlowAfterburner/src/CheckFlow.cxx
@@ -20,9 +20,9 @@
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/GenAll.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/HijingEventParams.h"
 
diff --git a/Generators/FlowAfterburner/src/CheckFlow_New.cxx b/Generators/FlowAfterburner/src/CheckFlow_New.cxx
index 0c054490111..c5cc000b9b3 100644
--- a/Generators/FlowAfterburner/src/CheckFlow_New.cxx
+++ b/Generators/FlowAfterburner/src/CheckFlow_New.cxx
@@ -29,9 +29,9 @@
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/GenAll.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/HijingEventParams.h"
 
diff --git a/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx b/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx
index c5c514ee57f..1d2988703ae 100644
--- a/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx
+++ b/Generators/FlowAfterburner/src/CheckFlow_New_Minbias.cxx
@@ -28,9 +28,9 @@
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/GenAll.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/HijingEventParams.h"
 
diff --git a/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt b/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt
index 6bd4fd2ac72..414cee5c5cf 100644
--- a/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt
+++ b/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt
@@ -11,12 +11,12 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           PRIVATE
                           Control/StoreGate
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                            )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Remove the --as-needed linker flags:
 atlas_disable_as_needed()
@@ -25,8 +25,8 @@ atlas_disable_as_needed()
 atlas_add_component( EventBoost
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel StoreGateLib SGtests GeneratorObjects )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel StoreGateLib SGtests GeneratorObjects )
 
 # Install files from the package:
 atlas_install_headers( EventBoost )
diff --git a/Generators/GenAnalysisTools/EventBoost/EventBoost/EventBoost.h b/Generators/GenAnalysisTools/EventBoost/EventBoost/EventBoost.h
index 49fc8cf4da0..95623a3d136 100755
--- a/Generators/GenAnalysisTools/EventBoost/EventBoost/EventBoost.h
+++ b/Generators/GenAnalysisTools/EventBoost/EventBoost/EventBoost.h
@@ -18,12 +18,10 @@
 #define EVENTBOOST_H
 
 #include "AthenaBaseComps/AthAlgorithm.h"
-#include "HepMC/GenEvent.h"
-
-
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 
 #include <string>
diff --git a/Generators/GenAnalysisTools/EventBoost/src/EventBoost.cxx b/Generators/GenAnalysisTools/EventBoost/src/EventBoost.cxx
index 1ab7778322a..983e1aedb08 100755
--- a/Generators/GenAnalysisTools/EventBoost/src/EventBoost.cxx
+++ b/Generators/GenAnalysisTools/EventBoost/src/EventBoost.cxx
@@ -21,9 +21,9 @@
 
 #include "StoreGate/StoreGateSvc.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/Vector/LorentzVector.h"
 
diff --git a/Generators/GenAnalysisTools/ReweightTools/CMakeLists.txt b/Generators/GenAnalysisTools/ReweightTools/CMakeLists.txt
index d6194240a3c..3877084fea5 100644
--- a/Generators/GenAnalysisTools/ReweightTools/CMakeLists.txt
+++ b/Generators/GenAnalysisTools/ReweightTools/CMakeLists.txt
@@ -9,6 +9,7 @@ atlas_subdir( ReweightTools )
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Generators/GenInterfaces
                           PRIVATE
                           Control/AthContainers
@@ -16,21 +17,20 @@ atlas_depends_on_subdirs( PUBLIC
                           Generators/GeneratorObjects )
 
 # External dependencies:
-find_package( HepMC )
 find_package( Lhapdf )
 
 # Component(s) in the package:
 atlas_add_library( ReweightToolsLib
                    src/*.cxx
                    PUBLIC_HEADERS ReweightTools
-                   INCLUDE_DIRS ${LHAPDF_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${LHAPDF_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel StoreGateLib SGtests
+                   INCLUDE_DIRS ${LHAPDF_INCLUDE_DIRS} 
+                   LINK_LIBRARIES ${LHAPDF_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel StoreGateLib SGtests
                    PRIVATE_LINK_LIBRARIES AthContainers GeneratorObjects )
 
 atlas_add_component( ReweightTools
                      src/components/*.cxx
-                     INCLUDE_DIRS ${LHAPDF_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${LHAPDF_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel AthContainers StoreGateLib SGtests GeneratorObjects ReweightToolsLib )
+                     INCLUDE_DIRS ${LHAPDF_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${LHAPDF_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel AthContainers StoreGateLib SGtests GeneratorObjects ReweightToolsLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Generators/GenAnalysisTools/ReweightTools/ReweightTools/PDFReweightTool.h b/Generators/GenAnalysisTools/ReweightTools/ReweightTools/PDFReweightTool.h
index e30ae28f04c..a4a1b69e555 100644
--- a/Generators/GenAnalysisTools/ReweightTools/ReweightTools/PDFReweightTool.h
+++ b/Generators/GenAnalysisTools/ReweightTools/ReweightTools/PDFReweightTool.h
@@ -8,7 +8,7 @@
 //#include "GaudiKernel/AlgTool.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "GenInterfaces/IPDFReweightTool.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include <string>
 #include <vector>
 
diff --git a/Generators/GenAnalysisTools/ReweightTools/src/PDFReweightTool.cxx b/Generators/GenAnalysisTools/ReweightTools/src/PDFReweightTool.cxx
index f2de2efbfce..7d08b5b6c14 100644
--- a/Generators/GenAnalysisTools/ReweightTools/src/PDFReweightTool.cxx
+++ b/Generators/GenAnalysisTools/ReweightTools/src/PDFReweightTool.cxx
@@ -20,8 +20,8 @@
 #include "AthContainers/DataVector.h"
 #include "GeneratorObjects/McEventCollection.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/PdfInfo.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/PdfInfo.h"
 #include "ReweightTools/PDFReweightTool.h"
 
 #include <math.h>
diff --git a/Generators/GenAnalysisTools/TruthHelper/CMakeLists.txt b/Generators/GenAnalysisTools/TruthHelper/CMakeLists.txt
index bb19ccd3c1c..8edd6ffd076 100644
--- a/Generators/GenAnalysisTools/TruthHelper/CMakeLists.txt
+++ b/Generators/GenAnalysisTools/TruthHelper/CMakeLists.txt
@@ -9,13 +9,13 @@ atlas_subdir( TruthHelper )
 atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           PRIVATE
                           Control/AthenaKernel
                           Generators/TruthUtils )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
@@ -25,12 +25,12 @@ atlas_add_library( TruthHelper
                    PUBLIC_HEADERS TruthHelper
                    INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
                    PRIVATE_INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${HEPMC_LIBRARIES} GaudiKernel GeneratorObjects StoreGateLib SGtests
+                   LINK_LIBRARIES AtlasHepMCLib GaudiKernel GeneratorObjects StoreGateLib SGtests
                    PRIVATE_LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} AthenaKernel TruthUtils )
 
 atlas_add_dictionary( TruthHelperDict
                       TruthHelper/TruthHelperDict.h
                       TruthHelper/selection.xml
-                      INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                      LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} StoreGateLib SGtests GaudiKernel GeneratorObjects AthenaKernel TruthUtils TruthHelper )
+                      INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} 
+                      LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} AtlasHepMCLib StoreGateLib SGtests GaudiKernel GeneratorObjects AthenaKernel TruthUtils TruthHelper )
 
diff --git a/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenAccessIO.h b/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenAccessIO.h
index a59ea54f22c..f184b88cd0b 100644
--- a/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenAccessIO.h
+++ b/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenAccessIO.h
@@ -7,7 +7,7 @@
 
 #include "GeneratorObjects/McEventCollection.h"
 #include "TruthHelper/GenIMCselector.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "GaudiKernel/Bootstrap.h"
 #include "GaudiKernel/ISvcLocator.h"
diff --git a/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenIMCselector.h b/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenIMCselector.h
index 576b2579ebf..61839fcb0da 100644
--- a/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenIMCselector.h
+++ b/Generators/GenAnalysisTools/TruthHelper/TruthHelper/GenIMCselector.h
@@ -5,7 +5,7 @@
 #ifndef TRUTHHELPER_GENIMCSELECTOR_H
 #define TRUTHHELPER_GENIMCSELECTOR_H
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <functional>
 
 namespace TruthHelper {
diff --git a/Generators/GenAnalysisTools/TruthHelper/TruthHelper/PileUpType.h b/Generators/GenAnalysisTools/TruthHelper/TruthHelper/PileUpType.h
index 8d49b479057..a288cbb736c 100644
--- a/Generators/GenAnalysisTools/TruthHelper/TruthHelper/PileUpType.h
+++ b/Generators/GenAnalysisTools/TruthHelper/TruthHelper/PileUpType.h
@@ -21,8 +21,8 @@
 #define TRUTHHELPER_PILEUPTYPE_H
 
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <vector>
 
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/GenAccessIO.cxx b/Generators/GenAnalysisTools/TruthHelper/src/GenAccessIO.cxx
index 39cba36804d..07868513e37 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/GenAccessIO.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/GenAccessIO.cxx
@@ -7,8 +7,8 @@
 #include "GaudiKernel/MsgStream.h"
 #include "AthenaKernel/getMessageSvc.h"
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <cmath>
 #include <algorithm>
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/GenAll.cxx b/Generators/GenAnalysisTools/TruthHelper/src/GenAll.cxx
index 930f5add261..47d9da1c9a7 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/GenAll.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/GenAll.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "TruthHelper/GenAll.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace TruthHelper {
 
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/IsConversion.cxx b/Generators/GenAnalysisTools/TruthHelper/src/IsConversion.cxx
index 50e40c450cc..d6049faf65a 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/IsConversion.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/IsConversion.cxx
@@ -3,8 +3,8 @@
 */
 
 #include "TruthHelper/IsConversion.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include <vector>
 
 namespace TruthHelper {
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/IsGenType.cxx b/Generators/GenAnalysisTools/TruthHelper/src/IsGenType.cxx
index d3103f7846b..582efc8d71b 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/IsGenType.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/IsGenType.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "TruthHelper/IsGenType.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <vector>
 
 namespace TruthHelper {
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/IsGenerator.cxx b/Generators/GenAnalysisTools/TruthHelper/src/IsGenerator.cxx
index 52ae8fc10df..2509412a515 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/IsGenerator.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/IsGenerator.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "TruthHelper/IsGenerator.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace TruthHelper {
 
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/IsLastPhysicalHadron.cxx b/Generators/GenAnalysisTools/TruthHelper/src/IsLastPhysicalHadron.cxx
index d1aeda8bec3..2bbd52dcf84 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/IsLastPhysicalHadron.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/IsLastPhysicalHadron.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "TruthHelper/IsLastPhysicalHadron.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include "TruthHelper/IsGenStable.h"
 #include "TruthHelper/IsPhysicalHadron.h"
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/IsStatus.cxx b/Generators/GenAnalysisTools/TruthHelper/src/IsStatus.cxx
index 653fc20e271..0fadc7b747e 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/IsStatus.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/IsStatus.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "TruthHelper/IsStatus.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace TruthHelper {
 
diff --git a/Generators/GenAnalysisTools/TruthHelper/src/NCutter.cxx b/Generators/GenAnalysisTools/TruthHelper/src/NCutter.cxx
index 4d0e9efcd4f..97dc011ba7b 100644
--- a/Generators/GenAnalysisTools/TruthHelper/src/NCutter.cxx
+++ b/Generators/GenAnalysisTools/TruthHelper/src/NCutter.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "TruthHelper/NCutter.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include <vector>
 
 namespace TruthHelper {
diff --git a/Generators/GenAnalysisTools/TruthTools/CMakeLists.txt b/Generators/GenAnalysisTools/TruthTools/CMakeLists.txt
index 2f5004985bd..f5e189cab59 100644
--- a/Generators/GenAnalysisTools/TruthTools/CMakeLists.txt
+++ b/Generators/GenAnalysisTools/TruthTools/CMakeLists.txt
@@ -11,19 +11,19 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           PRIVATE
                           Generators/GenInterfaces
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           Generators/TruthUtils )
 
 # External dependencies:
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
 atlas_add_component( TruthTools
                      src/TruthSelector.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel GeneratorObjects TruthUtils )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel GeneratorObjects TruthUtils )
 
 # Install files from the package:
 atlas_install_headers( TruthTools )
diff --git a/Generators/GenAnalysisTools/TruthTools/TruthTools/TruthSelector.h b/Generators/GenAnalysisTools/TruthTools/TruthTools/TruthSelector.h
index 5fa0d1e67f3..87dfda9aefb 100644
--- a/Generators/GenAnalysisTools/TruthTools/TruthTools/TruthSelector.h
+++ b/Generators/GenAnalysisTools/TruthTools/TruthTools/TruthSelector.h
@@ -14,7 +14,7 @@
 
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "HepPDT/ParticleDataTable.hh"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "GenInterfaces/ITruthSelector.h"
 
 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
diff --git a/Generators/GenInterfaces/GenInterfaces/GenInterfacesDict.h b/Generators/GenInterfaces/GenInterfaces/GenInterfacesDict.h
index 6aa39bf6341..a8a434b0192 100644
--- a/Generators/GenInterfaces/GenInterfaces/GenInterfacesDict.h
+++ b/Generators/GenInterfaces/GenInterfaces/GenInterfacesDict.h
@@ -25,4 +25,4 @@ namespace HforToolDict {
   };
 }
 
-#endif // GENINTERFACES_GENINTERFACESDICT_H
\ No newline at end of file
+#endif // GENINTERFACES_GENINTERFACESDICT_H
diff --git a/Generators/GeneratorFilters/CMakeLists.txt b/Generators/GeneratorFilters/CMakeLists.txt
index 4c4b479d04d..8cac1c493a3 100644
--- a/Generators/GeneratorFilters/CMakeLists.txt
+++ b/Generators/GeneratorFilters/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           GaudiKernel
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           PRIVATE
                           Control/AthenaKernel
                           Control/CxxUtils
@@ -22,7 +23,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # 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 )
 
@@ -30,16 +30,16 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_library( GeneratorFiltersLib
                    src/*.cxx
                    PUBLIC_HEADERS GeneratorFilters
-                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    PRIVATE_INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel StoreGateLib SGtests GeneratorModulesLib
+                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel StoreGateLib SGtests GeneratorModulesLib
                    PRIVATE_LINK_LIBRARIES ${HEPPDT_LIBRARIES} AthenaKernel CxxUtils EventInfo xAODJet xAODTruth TruthUtils ParticleEvent McParticleEvent )
 
 atlas_add_component( GeneratorFilters
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} StoreGateLib SGtests GaudiKernel GeneratorModulesLib AthenaKernel CxxUtils EventInfo xAODJet xAODTruth TruthUtils ParticleEvent McParticleEvent GeneratorFiltersLib )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib StoreGateLib SGtests GaudiKernel GeneratorModulesLib AthenaKernel CxxUtils EventInfo xAODJet xAODTruth TruthUtils ParticleEvent McParticleEvent GeneratorFiltersLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Generators/GeneratorFilters/GeneratorFilters/BSignalFilter.h b/Generators/GeneratorFilters/GeneratorFilters/BSignalFilter.h
index 92333f5dbc0..8f17540c16d 100644
--- a/Generators/GeneratorFilters/GeneratorFilters/BSignalFilter.h
+++ b/Generators/GeneratorFilters/GeneratorFilters/BSignalFilter.h
@@ -19,9 +19,9 @@
 #include "GaudiKernel/NTuple.h"
 #include <vector>
 
-#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 "TTree.h"
 #include "TLorentzVector.h"
 
diff --git a/Generators/GeneratorFilters/GeneratorFilters/DecayPositionFilter.h b/Generators/GeneratorFilters/GeneratorFilters/DecayPositionFilter.h
index 71d30c165f9..95d2f1d0946 100644
--- a/Generators/GeneratorFilters/GeneratorFilters/DecayPositionFilter.h
+++ b/Generators/GeneratorFilters/GeneratorFilters/DecayPositionFilter.h
@@ -8,7 +8,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "StoreGate/DataHandle.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "GeneratorModules/GenFilter.h"
 
diff --git a/Generators/GeneratorFilters/src/HTFilter.cxx b/Generators/GeneratorFilters/src/HTFilter.cxx
index cda6a1ac76f..c584eed7070 100644
--- a/Generators/GeneratorFilters/src/HTFilter.cxx
+++ b/Generators/GeneratorFilters/src/HTFilter.cxx
@@ -17,7 +17,7 @@
 
 // Other classes used by this class
 #include "TruthUtils/PIDHelpers.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 // #include "GeneratorObjects/McEventCollection.h"
 #include "TruthUtils/HepMCHelpers.h"
 #include "CLHEP/Units/SystemOfUnits.h"
diff --git a/Generators/GeneratorFilters/src/TTbarMassFilter.cxx b/Generators/GeneratorFilters/src/TTbarMassFilter.cxx
index 3ec753653d2..ce7622a1f6e 100644
--- a/Generators/GeneratorFilters/src/TTbarMassFilter.cxx
+++ b/Generators/GeneratorFilters/src/TTbarMassFilter.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "GeneratorFilters/TTbarMassFilter.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include <algorithm>
 
 TTbarMassFilter::TTbarMassFilter(const std::string& name, ISvcLocator* pSvcLocator)
diff --git a/Generators/GeneratorModules/CMakeLists.txt b/Generators/GeneratorModules/CMakeLists.txt
index bfeb97b27d3..c5a14a50ebe 100644
--- a/Generators/GeneratorModules/CMakeLists.txt
+++ b/Generators/GeneratorModules/CMakeLists.txt
@@ -11,11 +11,11 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaKernel
                           Control/StoreGate
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
@@ -23,14 +23,14 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 atlas_add_library( GeneratorModulesLib
                    src/*.cxx
                    PUBLIC_HEADERS GeneratorModules
-                   INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel GeneratorObjects StoreGateLib SGtests )
+                   LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel GaudiKernel GeneratorObjects StoreGateLib SGtests )
 
 atlas_add_component( GeneratorModules
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel GeneratorObjects GeneratorModulesLib )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel StoreGateLib SGtests GaudiKernel GeneratorObjects GeneratorModulesLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Generators/GeneratorModules/GeneratorModules/GenBase.h b/Generators/GeneratorModules/GeneratorModules/GenBase.h
index e117cb2ff51..f10e0aa5ae8 100644
--- a/Generators/GeneratorModules/GeneratorModules/GenBase.h
+++ b/Generators/GeneratorModules/GeneratorModules/GenBase.h
@@ -14,7 +14,7 @@
 #include "StoreGate/DataHandle.h"
 #include "GeneratorObjects/McEventCollection.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "HepPDT/ParticleData.hh"
 #include "HepPDT/ParticleDataTable.hh"
diff --git a/Generators/HepMCAnalysis_i/CMakeLists.txt b/Generators/HepMCAnalysis_i/CMakeLists.txt
index f34c8a3ac97..65867868c35 100644
--- a/Generators/HepMCAnalysis_i/CMakeLists.txt
+++ b/Generators/HepMCAnalysis_i/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_depends_on_subdirs(
    PUBLIC
    Control/AthenaBaseComps
    GaudiKernel
+   Generators/AtlasHepMC
    PRIVATE
    Control/StoreGate
    Event/EventInfo
@@ -19,7 +20,6 @@ atlas_depends_on_subdirs(
 # External dependencies:
 find_package( CLHEP )
 find_package( HEPUtils )
-find_package( HepMC )
 find_package( HepMCAnalysis )
 find_package( ROOT COMPONENTS Core MathCore Hist RIO )
 find_package( FastJet )
@@ -28,10 +28,10 @@ find_package( FastJet )
 atlas_add_component( HepMCAnalysis_i
    HepMCAnalysis_i/*.h src/*.cxx src/components/*.cxx
    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMCANALYSIS_INCLUDE_DIRS}
-   ${HEPUTILS_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+   ${HEPUTILS_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
    ${FASTJET_INCLUDE_DIRS}
    LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMCANALYSIS_LIBRARIES}
-   ${HEPUTILS_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES}
+   ${HEPUTILS_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib
    ${FASTJET_LIBRARIES} AthenaBaseComps GaudiKernel StoreGateLib EventInfo
    GeneratorObjects TruthUtils )
 
diff --git a/Generators/HepMCAnalysis_i/HepMCAnalysis_i/HepMCAnalysis.h b/Generators/HepMCAnalysis_i/HepMCAnalysis_i/HepMCAnalysis.h
index a80c13af5d1..0cffce4a21a 100644
--- a/Generators/HepMCAnalysis_i/HepMCAnalysis_i/HepMCAnalysis.h
+++ b/Generators/HepMCAnalysis_i/HepMCAnalysis_i/HepMCAnalysis.h
@@ -19,7 +19,7 @@
 #include "GaudiKernel/ServiceHandle.h"
 
 #include "TH1.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // forward declarations
 class ITHistSvc;
diff --git a/Generators/HepMCAnalysis_i/src/HepMCAnalysis.cxx b/Generators/HepMCAnalysis_i/src/HepMCAnalysis.cxx
index 8296d59bbf4..30d84aad66f 100644
--- a/Generators/HepMCAnalysis_i/src/HepMCAnalysis.cxx
+++ b/Generators/HepMCAnalysis_i/src/HepMCAnalysis.cxx
@@ -17,7 +17,7 @@
 #include "EventInfo/EventID.h"
 #include "GeneratorObjects/McEventCollection.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "TFile.h"
 #include "TH1.h"
diff --git a/Generators/HepMCAnalysis_i/src/LeptonJetAnalysis.cxx b/Generators/HepMCAnalysis_i/src/LeptonJetAnalysis.cxx
index 8d14cc24c19..afe57c9276b 100644
--- a/Generators/HepMCAnalysis_i/src/LeptonJetAnalysis.cxx
+++ b/Generators/HepMCAnalysis_i/src/LeptonJetAnalysis.cxx
@@ -6,13 +6,13 @@
 
 #include <iostream>
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/IO_GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/IO_AsciiParticles.h"
-#include "HepMC/SimpleVector.h"
-#include "HepMC/WeightContainer.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/IO_AsciiParticles.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/WeightContainer.h"
 #include "CLHEP/Vector/LorentzVector.h"
 
 
diff --git a/Generators/HepMCAnalysis_i/src/ParticleContentAnalysis.cxx b/Generators/HepMCAnalysis_i/src/ParticleContentAnalysis.cxx
index 3efff7e2e1a..fe44ac3d0c5 100644
--- a/Generators/HepMCAnalysis_i/src/ParticleContentAnalysis.cxx
+++ b/Generators/HepMCAnalysis_i/src/ParticleContentAnalysis.cxx
@@ -5,12 +5,12 @@
 #include <iostream>
 #include <sstream>
 #include <stdio.h>
-#include "HepMC/GenEvent.h"
-#include "HepMC/IO_GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/IO_AsciiParticles.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/IO_AsciiParticles.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include "CLHEP/Vector/LorentzVector.h"
 
 // ROOT headers
diff --git a/Generators/HepMCAnalysis_i/src/PdfAnalysis.cxx b/Generators/HepMCAnalysis_i/src/PdfAnalysis.cxx
index 11c2801cf43..d74a0511d11 100644
--- a/Generators/HepMCAnalysis_i/src/PdfAnalysis.cxx
+++ b/Generators/HepMCAnalysis_i/src/PdfAnalysis.cxx
@@ -6,13 +6,13 @@
 
 #include <iostream>
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/IO_GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/IO_AsciiParticles.h"
-#include "HepMC/SimpleVector.h"
-#include "HepMC/WeightContainer.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/IO_AsciiParticles.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/WeightContainer.h"
 #include "CLHEP/Vector/LorentzVector.h"
 
 
diff --git a/Generators/HepMCAnalysis_i/src/UserAnalysis.cxx b/Generators/HepMCAnalysis_i/src/UserAnalysis.cxx
index a7cb091b9dd..64c4867b2c3 100644
--- a/Generators/HepMCAnalysis_i/src/UserAnalysis.cxx
+++ b/Generators/HepMCAnalysis_i/src/UserAnalysis.cxx
@@ -6,12 +6,12 @@
 
 #include <iostream>
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/IO_GenEvent.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/IO_AsciiParticles.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/IO_GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/IO_AsciiParticles.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include "CLHEP/Vector/LorentzVector.h"
 
 #include "TH1.h"
diff --git a/Generators/Herwig7_i/CMakeLists.txt b/Generators/Herwig7_i/CMakeLists.txt
index 9a200b44ec8..2a8af7a478a 100644
--- a/Generators/Herwig7_i/CMakeLists.txt
+++ b/Generators/Herwig7_i/CMakeLists.txt
@@ -9,6 +9,7 @@ atlas_subdir( Herwig7_i )
 atlas_depends_on_subdirs(
    PUBLIC
    Generators/GeneratorModules
+   Generators/AtlasHepMC
    PRIVATE
    Event/EventInfo
    GaudiKernel
diff --git a/Generators/HforTool/CMakeLists.txt b/Generators/HforTool/CMakeLists.txt
index 267ec0bdf56..7a875a64ba6 100644
--- a/Generators/HforTool/CMakeLists.txt
+++ b/Generators/HforTool/CMakeLists.txt
@@ -15,18 +15,18 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           Generators/TruthUtils
                           Generators/GeneratorObjects
+                          Generators/AtlasHepMC
                           Generators/GenInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
 atlas_add_component( HforTool
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps EventInfo GaudiKernel JetEvent StoreGateLib SGtests GeneratorObjects TruthUtils )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib AthenaBaseComps EventInfo GaudiKernel JetEvent StoreGateLib SGtests GeneratorObjects TruthUtils )
 
 # Install files from the package:
 atlas_install_headers( HforTool )
diff --git a/Generators/HforTool/HforTool/HforTool.h b/Generators/HforTool/HforTool/HforTool.h
index ab45bdb7feb..c82e9af93a5 100644
--- a/Generators/HforTool/HforTool/HforTool.h
+++ b/Generators/HforTool/HforTool/HforTool.h
@@ -8,7 +8,7 @@
 #include "GenInterfaces/IHforTool.h"
 #include "AthenaBaseComps/AthAlgTool.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "EventInfo/EventID.h"
 #include "JetEvent/JetCollection.h"
 
diff --git a/Generators/Hijing_i/CMakeLists.txt b/Generators/Hijing_i/CMakeLists.txt
index 961c98c7cbf..9eb1adf6f6d 100644
--- a/Generators/Hijing_i/CMakeLists.txt
+++ b/Generators/Hijing_i/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_depends_on_subdirs(
    PUBLIC
    Generators/GeneratorFortranCommon
    Generators/GeneratorModules
+   Generators/AtlasHepMC
    Control/CxxUtils
    PRIVATE
    Control/AthenaKernel
@@ -21,7 +22,6 @@ atlas_depends_on_subdirs(
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( Hijing )
 
 # Remove the --as-needed linker flags:
@@ -32,12 +32,12 @@ atlas_add_library( Hijing_iLib
    Hijing_i/*.h src/*.cxx src/*.F src/Hijing_modified/*.f
    PUBLIC_HEADERS Hijing_i
    INCLUDE_DIRS ${HIJING_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-   PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
+   PRIVATE_INCLUDE_DIRS 
    DEFINITIONS ${CLHEP_DEFINITIONS}
    PRIVATE_DEFINITIONS -DHIJINGVERSION=\"${HIJING_VERSION}\"
    LINK_LIBRARIES ${HIJING_LIBRARIES} ${CLHEP_LIBRARIES}
    GeneratorFortranCommonLib GeneratorModulesLib StoreGateLib
-   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} AthenaKernel GaudiKernel
+   PRIVATE_LINK_LIBRARIES AtlasHepMCLib AthenaKernel GaudiKernel
    GeneratorObjects TruthUtils )
 
 atlas_add_component( Hijing_i
diff --git a/Generators/Hijing_i/src/Hijing.cxx b/Generators/Hijing_i/src/Hijing.cxx
index 58fff085aaf..c45c5a5e6ae 100644
--- a/Generators/Hijing_i/src/Hijing.cxx
+++ b/Generators/Hijing_i/src/Hijing.cxx
@@ -26,9 +26,9 @@
 
 #include "GeneratorUtils/StringParse.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 <stdlib.h>
 
diff --git a/Generators/Hydjet_i/CMakeLists.txt b/Generators/Hydjet_i/CMakeLists.txt
index af738683de9..8fa501fba7b 100644
--- a/Generators/Hydjet_i/CMakeLists.txt
+++ b/Generators/Hydjet_i/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_depends_on_subdirs(
    PUBLIC
    Generators/GeneratorFortranCommon
    Generators/GeneratorModules
+   Generators/AtlasHepMC
    Control/CxxUtils
    PRIVATE
    Control/AthenaKernel
@@ -21,7 +22,6 @@ atlas_depends_on_subdirs(
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( Hijing )
 find_package( Hydjet )
 find_package( Pyquen )
@@ -36,12 +36,12 @@ atlas_add_library( Hydjet_iLib
    PUBLIC_HEADERS Hydjet_i
    INCLUDE_DIRS ${PYQUEN_INCLUDE_DIRS} ${PYTHIA6_INCLUDE_DIRS}
    ${HYDJET_INCLUDE_DIRS} ${HIJING_INCLUDE_DIRS}
-   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
    LINK_LIBRARIES ${PYQUEN_LIBRARIES} ${PYTHIA6_LIBRARIES}
    ${HYDJET_LIBRARIES} ${HIJING_LIBRARIES} GeneratorFortranCommonLib
    GeneratorModulesLib StoreGateLib
-   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES}
+   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib
    AthenaKernel GaudiKernel GeneratorObjects TruthUtils )
 
 atlas_add_component( Hydjet_i
diff --git a/Generators/Hydjet_i/src/Hydjet_i.cxx b/Generators/Hydjet_i/src/Hydjet_i.cxx
index a63a11040eb..879ceeae3a6 100644
--- a/Generators/Hydjet_i/src/Hydjet_i.cxx
+++ b/Generators/Hydjet_i/src/Hydjet_i.cxx
@@ -22,9 +22,9 @@
 
 #include "GeneratorUtils/StringParse.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 <stdlib.h>
 
diff --git a/Generators/MCTester_i/CMakeLists.txt b/Generators/MCTester_i/CMakeLists.txt
index eeb79703925..fa681d6d06c 100644
--- a/Generators/MCTester_i/CMakeLists.txt
+++ b/Generators/MCTester_i/CMakeLists.txt
@@ -12,10 +12,10 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Control/StoreGate
                           Event/EventInfo
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects )
 
 # External dependencies:
-find_package( HepMC )
 find_package( MCTester )
 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 )
 
@@ -23,8 +23,8 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minui
 atlas_add_component( MCTester_i
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${MCTESTER_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${MCTESTER_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel StoreGateLib SGtests EventInfo GeneratorObjects )
+                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${MCTESTER_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${MCTESTER_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel StoreGateLib SGtests EventInfo GeneratorObjects )
 
 # Install files from the package:
 atlas_install_headers( MCTester_i )
diff --git a/Generators/MCTester_i/src/MCTesterAlg.cxx b/Generators/MCTester_i/src/MCTesterAlg.cxx
index f87ed6faf73..9186b82f305 100644
--- a/Generators/MCTester_i/src/MCTesterAlg.cxx
+++ b/Generators/MCTester_i/src/MCTesterAlg.cxx
@@ -8,8 +8,8 @@
 #include "GaudiKernel/ISvcLocator.h"
  
 #include "StoreGate/StoreGateSvc.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
  
 #include "GaudiKernel/IPartPropSvc.h"
 #include "MCTester_i/MCTesterAlg.h"
diff --git a/Generators/ParticleDecayer/CMakeLists.txt b/Generators/ParticleDecayer/CMakeLists.txt
index 65fd0115dec..9eced30bb54 100644
--- a/Generators/ParticleDecayer/CMakeLists.txt
+++ b/Generators/ParticleDecayer/CMakeLists.txt
@@ -9,13 +9,13 @@ atlas_subdir( ParticleDecayer )
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaKernel
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           PRIVATE
                           GaudiKernel
                           Generators/GeneratorObjects )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Remove the --as-needed linker flags:
@@ -25,8 +25,8 @@ atlas_disable_as_needed()
 atlas_add_component( ParticleDecayer
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel GeneratorModulesLib GaudiKernel GeneratorObjects )
+                     INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GeneratorModulesLib GaudiKernel GeneratorObjects )
 
 # Install files from the package:
 atlas_install_headers( ParticleDecayer )
diff --git a/Generators/ParticleDecayer/ParticleDecayer/ParticleDecayer.h b/Generators/ParticleDecayer/ParticleDecayer/ParticleDecayer.h
index ab82d2e7888..631cfb5c7a8 100644
--- a/Generators/ParticleDecayer/ParticleDecayer/ParticleDecayer.h
+++ b/Generators/ParticleDecayer/ParticleDecayer/ParticleDecayer.h
@@ -7,7 +7,7 @@
 
 #include "GeneratorModules/GenModule.h"
 #include "CLHEP/Vector/LorentzVector.h"
-#include "HepMC/IO_BaseClass.h"
+#include "AtlasHepMC/IO_BaseClass.h"
 #include "HepPDT/ParticleDataTable.hh"
 
 
diff --git a/Generators/Pythia8B_i/CMakeLists.txt b/Generators/Pythia8B_i/CMakeLists.txt
index 1787221e0fc..fa41256e694 100644
--- a/Generators/Pythia8B_i/CMakeLists.txt
+++ b/Generators/Pythia8B_i/CMakeLists.txt
@@ -10,13 +10,13 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           GaudiKernel
                           Generators/Pythia8_i
+                          Generators/AtlasHepMC
                           PRIVATE
                           Generators/GeneratorObjects )
 
 # External dependencies:
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
-find_package( HepMC )
 find_package( Lhapdf )
 find_package( Pythia8 )
 
@@ -31,15 +31,15 @@ atlas_add_library( Pythia8B_iLib
                    src/*.cxx
                    PUBLIC_HEADERS Pythia8B_i
                    INCLUDE_DIRS ${PYTHIA8_INCLUDE_DIRS} ${LHAPDF_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 ${PYTHIA8_LIBRARIES} ${LHAPDF_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps GaudiKernel Pythia8_iLib
-                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} GeneratorObjects )
+                   PRIVATE_LINK_LIBRARIES ${Boost_LIBRARIES} AtlasHepMCLib GeneratorObjects )
 
 atlas_add_component( Pythia8B_i
                      src/components/*.cxx
-                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${LHAPDF_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${PYTHIA8_LIBRARIES} ${LHAPDF_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel Pythia8_iLib GeneratorObjects Pythia8B_iLib )
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${PYTHIA8_INCLUDE_DIRS} ${LHAPDF_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${PYTHIA8_LIBRARIES} ${LHAPDF_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel Pythia8_iLib GeneratorObjects Pythia8B_iLib )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Generators/Pythia8B_i/src/Pythia8B_i.cxx b/Generators/Pythia8B_i/src/Pythia8B_i.cxx
index cab547a42c1..82e28cedf9a 100644
--- a/Generators/Pythia8B_i/src/Pythia8B_i.cxx
+++ b/Generators/Pythia8B_i/src/Pythia8B_i.cxx
@@ -14,7 +14,7 @@
 #include "Pythia8B_i/Pythia8B_i.h"
 #include "Pythia8B_i/UserSelections.h"
 #include "GeneratorObjects/McEventCollection.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include <boost/algorithm/string.hpp>
 #include <boost/lexical_cast.hpp>
 
diff --git a/Generators/Pythia8_i/CMakeLists.txt b/Generators/Pythia8_i/CMakeLists.txt
index cc9a664e23d..f192a8c97b0 100644
--- a/Generators/Pythia8_i/CMakeLists.txt
+++ b/Generators/Pythia8_i/CMakeLists.txt
@@ -9,6 +9,7 @@ atlas_subdir( Pythia8_i )
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaKernel
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           PRIVATE
                           GaudiKernel
                           Generators/GeneratorObjects
diff --git a/Generators/Rivet_i/CMakeLists.txt b/Generators/Rivet_i/CMakeLists.txt
index 7bce188822b..bb2dd4140e6 100644
--- a/Generators/Rivet_i/CMakeLists.txt
+++ b/Generators/Rivet_i/CMakeLists.txt
@@ -6,7 +6,6 @@ atlas_subdir( Rivet_i )
 # External dependencies:
 find_package( FastJet )
 find_package( FastJetContrib )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Hist )
 find_package( Rivet )
 find_package( YODA )
@@ -18,8 +17,8 @@ atlas_disable_as_needed()
 atlas_add_component( Rivet_i
    src/*.h src/*.cxx src/components/*.cxx
    INCLUDE_DIRS ${FASTJET_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
-   ${HEPMC_INCLUDE_DIRS} ${RIVET_INCLUDE_DIRS} ${YODA_INCLUDE_DIRS}
-   LINK_LIBRARIES ${FASTJET_LIBRARIES} ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES}
+    ${RIVET_INCLUDE_DIRS} ${YODA_INCLUDE_DIRS}
+   LINK_LIBRARIES ${FASTJET_LIBRARIES} ${ROOT_LIBRARIES} AtlasHepMCLib
    ${RIVET_LIBRARIES} ${YODA_LIBRARIES} AthenaBaseComps GaudiKernel
    AthenaKernel GeneratorObjects PathResolver EventInfo )
 
diff --git a/Generators/Rivet_i/src/Rivet_i.cxx b/Generators/Rivet_i/src/Rivet_i.cxx
index 0fe73f0a892..09a8b26d7b8 100644
--- a/Generators/Rivet_i/src/Rivet_i.cxx
+++ b/Generators/Rivet_i/src/Rivet_i.cxx
@@ -7,7 +7,7 @@
 #include "Rivet_i.h"
 #include "LogLevels.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 #include "GeneratorObjects/McEventCollection.h"
 #include "AthenaKernel/errorcheck.h"
diff --git a/Generators/Sherpa_i/CMakeLists.txt b/Generators/Sherpa_i/CMakeLists.txt
index cb25a0e43d5..a86056227fb 100644
--- a/Generators/Sherpa_i/CMakeLists.txt
+++ b/Generators/Sherpa_i/CMakeLists.txt
@@ -9,6 +9,7 @@ atlas_subdir( Sherpa_i )
 atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           Generators/TruthUtils
                           PRIVATE
                           Control/AthenaBaseComps
@@ -21,7 +22,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( Sherpa COMPONENTS SherpaTools )
 
 # Remove the --as-needed linker flags:
@@ -31,8 +31,8 @@ atlas_disable_as_needed()
 atlas_add_component( Sherpa_i
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${SHERPA_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${SHERPA_LIBRARIES} GaudiKernel GeneratorModulesLib TruthUtils AthenaBaseComps AthenaKernel )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}  ${SHERPA_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${SHERPA_LIBRARIES} GaudiKernel GeneratorModulesLib TruthUtils AthenaBaseComps AthenaKernel )
 
 # Install files from the package:
 atlas_install_headers( Sherpa_i )
diff --git a/Generators/Sherpa_i/src/Sherpa_i.cxx b/Generators/Sherpa_i/src/Sherpa_i.cxx
index d6835b77c65..0ab33fc9b33 100644
--- a/Generators/Sherpa_i/src/Sherpa_i.cxx
+++ b/Generators/Sherpa_i/src/Sherpa_i.cxx
@@ -1,7 +1,7 @@
 /*
    Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GaudiKernel/MsgStream.h"
 #include "AthenaBaseComps/AthMsgStreamMacros.h"
 
diff --git a/Generators/Starlight_i/CMakeLists.txt b/Generators/Starlight_i/CMakeLists.txt
index 77e71a2504d..04abb290de4 100644
--- a/Generators/Starlight_i/CMakeLists.txt
+++ b/Generators/Starlight_i/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_subdir( Starlight_i )
 atlas_depends_on_subdirs(
    PUBLIC
    Generators/GeneratorModules
+   Generators/AtlasHepMC
    PRIVATE
    Control/AthenaKernel
    Control/StoreGate
@@ -19,7 +20,6 @@ atlas_depends_on_subdirs(
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( Starlight )
 
 # Remove the --as-needed linker flags:
@@ -30,10 +30,10 @@ atlas_add_library( Starlight_iLib
    Starlight_i/*.h src/*.cxx
    PUBLIC_HEADERS Starlight_i
    INCLUDE_DIRS ${STARLIGHT_INCLUDE_DIRS}
-   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
    LINK_LIBRARIES ${STARLIGHT_LIBRARIES} GeneratorModulesLib StoreGateLib
-   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel
+   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel
    GaudiKernel TruthUtils )
 
 atlas_add_component( Starlight_i
diff --git a/Generators/Starlight_i/src/Starlight_i.cxx b/Generators/Starlight_i/src/Starlight_i.cxx
index 8c092b8b24f..2da86eaad0f 100644
--- a/Generators/Starlight_i/src/Starlight_i.cxx
+++ b/Generators/Starlight_i/src/Starlight_i.cxx
@@ -22,9 +22,9 @@
 
 #include "GeneratorUtils/StringParse.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 <stdlib.h>
 #include <iostream>
diff --git a/Generators/Tauolapp_i/CMakeLists.txt b/Generators/Tauolapp_i/CMakeLists.txt
index d32cb0dc0cc..3ed58dfd82b 100644
--- a/Generators/Tauolapp_i/CMakeLists.txt
+++ b/Generators/Tauolapp_i/CMakeLists.txt
@@ -13,19 +13,19 @@ atlas_depends_on_subdirs(
    Database/AthenaPOOL/AthenaPoolUtilities
    Event/EventInfo
    GaudiKernel
+   Generators/AtlasHepMC
    Generators/GeneratorObjects )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( Tauolapp COMPONENTS TauolaFortran )
 
 # Component(s) in the package:
 atlas_add_component( Tauolapp_i
    Tauolapp_i/*.h src/*.cxx src/components/*.cxx
    INCLUDE_DIRS ${TAUOLAPP_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-   ${HEPMC_INCLUDE_DIRS}
-   LINK_LIBRARIES ${TAUOLAPP_LIBRARIES} ${HEPMC_LIBRARIES} ${CLHEP_LIBRARIES}
+   
+   LINK_LIBRARIES ${TAUOLAPP_LIBRARIES} AtlasHepMCLib ${CLHEP_LIBRARIES}
    AthenaBaseComps AthenaPoolUtilities EventInfo GaudiKernel GeneratorObjects )
 
 # Install files from the package:
diff --git a/Generators/Tauolapp_i/Tauolapp_i/TauolaPP.h b/Generators/Tauolapp_i/Tauolapp_i/TauolaPP.h
index 32023286aeb..7ac88b09d14 100644
--- a/Generators/Tauolapp_i/Tauolapp_i/TauolaPP.h
+++ b/Generators/Tauolapp_i/Tauolapp_i/TauolaPP.h
@@ -10,8 +10,8 @@
 #include "GaudiKernel/ServiceHandle.h"
 
 
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 
 #include "GaudiKernel/IPartPropSvc.h"
 
diff --git a/Generators/TrackRecordGenerator/CMakeLists.txt b/Generators/TrackRecordGenerator/CMakeLists.txt
index 80c29cd59b8..1aa5b61bf51 100644
--- a/Generators/TrackRecordGenerator/CMakeLists.txt
+++ b/Generators/TrackRecordGenerator/CMakeLists.txt
@@ -8,27 +8,27 @@ atlas_subdir( TrackRecordGenerator )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           Generators/GeneratorModules
+                          Generators/AtlasHepMC
                           PRIVATE
                           GaudiKernel
                           Simulation/G4Sim/TrackRecord )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( TrackRecordGeneratorLib
                    src/TrackRecordGenerator.cxx
                    PUBLIC_HEADERS TrackRecordGenerator
-                   INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
+                   INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GeneratorModulesLib
+                   LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GeneratorModulesLib
                    PRIVATE_LINK_LIBRARIES GaudiKernel )
 
 atlas_add_component( TrackRecordGenerator
                      src/components/*.cxx
-                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GeneratorModulesLib GaudiKernel TrackRecordGeneratorLib )
+                     INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GeneratorModulesLib GaudiKernel TrackRecordGeneratorLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Generators/TrackRecordGenerator/TrackRecordGenerator/TrackRecordGenerator.h b/Generators/TrackRecordGenerator/TrackRecordGenerator/TrackRecordGenerator.h
index 7fd48ad08f1..86cc8bea76f 100644
--- a/Generators/TrackRecordGenerator/TrackRecordGenerator/TrackRecordGenerator.h
+++ b/Generators/TrackRecordGenerator/TrackRecordGenerator/TrackRecordGenerator.h
@@ -19,7 +19,7 @@
 
 // Members
 #include "CLHEP/Vector/LorentzVector.h"
-#include "HepMC/Polarization.h"
+#include "AtlasHepMC/Polarization.h"
 
 #include <vector>
 #include <string>
diff --git a/Generators/TruthUtils/CMakeLists.txt b/Generators/TruthUtils/CMakeLists.txt
index bd1c3ba5fdd..92c4892cd90 100644
--- a/Generators/TruthUtils/CMakeLists.txt
+++ b/Generators/TruthUtils/CMakeLists.txt
@@ -10,7 +10,6 @@ atlas_subdir( TruthUtils )
 find_package( Boost )
 find_package( HEPUtils )
 find_package( MCUtils )
-find_package( HepMC QUIET )
 
 # Extra include directories and libraries, based on which externals were found:
 set( extra_includes )
@@ -24,8 +23,8 @@ if( MCUTILS_FOUND )
    list( APPEND extra_libs ${MCUTILS_LIBRARIES} )
 endif()
 if( HEPMC_FOUND )
-   list( APPEND extra_includes ${HEPMC_INCLUDE_DIRS} )
-   list( APPEND extra_libs ${HEPMC_LIBRARIES} )
+   list( APPEND extra_includes  )
+   list( APPEND extra_libs AtlasHepMCLib )
 endif()
 
 # Component(s) in the package:
diff --git a/Generators/TruthUtils/TruthUtils/HepMCHelpers.h b/Generators/TruthUtils/TruthUtils/HepMCHelpers.h
index 53a150f4a3f..38a8f236c34 100644
--- a/Generators/TruthUtils/TruthUtils/HepMCHelpers.h
+++ b/Generators/TruthUtils/TruthUtils/HepMCHelpers.h
@@ -12,12 +12,6 @@
 #include "TruthUtils/PIDHelpers.h"
 #include "TruthUtils/TruthParticleHelpers.h"
 #include "MCUtils/HepMCUtils.h"
-// #include "MCUtils/Clustering.h"
-
-// Common imports from external namespaces
-//using fastjet::PseudoJet;
-//using fastjet::ClusterSequence;
-
 
 namespace MC {
 
diff --git a/Projects/AthSimulation/package_filters.txt b/Projects/AthSimulation/package_filters.txt
index 0e75239391e..d03fde2fd87 100644
--- a/Projects/AthSimulation/package_filters.txt
+++ b/Projects/AthSimulation/package_filters.txt
@@ -153,6 +153,7 @@
 + Event/xAOD/xAODTruthAthenaPool
 + Event/xAOD/xAODTruthCnv
 + External/AtlasDataArea
++ Generators/AtlasHepMC
 + Generators/GenInterfaces
 + Generators/GeneratorObjects
 + Generators/GeneratorObjectsAthenaPool
-- 
GitLab