diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/ElectronLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/ElectronLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0836a03475e178d30272637b90d91add533708f
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/ElectronLinks.h
@@ -0,0 +1,29 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+ElectronLinks.h is needed to be able to add ParticleLinks<ElectronContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  15-DEC-2008
+
+
+*****************************************************************************************/
+
+#ifndef ELECTRONLINKS_H
+#define ELECTRONLINKS_H
+
+#include "egammaEvent/ElectronContainer.h"
+#include "ParticleEvent/ParticleLinks.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<ElectronContainer> ElectronLinks ;
+typedef  ElementLink<ElectronContainer> ElectronLink ;
+
+CLASS_DEF(ElectronLinks, 107026136 , 1)
+
+
+#endif // ELECTRONLINKS_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/JetLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/JetLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..9ddf14d064ccbdebc14e65abf2b46aff2690ee35
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/JetLinks.h
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+JetLinks.h is needed to be able to add ParticleLinks<JetContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  15-DEC-2008
+
+*****************************************************************************************/
+
+#ifndef JETLINKS_H
+#define JETLINKS_H
+
+#include "JetEvent/JetCollection.h"
+#include "ParticleEvent/ParticleLinks.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<JetCollection> JetLinks ;
+typedef  ElementLink<JetCollection> JetLink ;
+
+CLASS_DEF(JetLinks, 53032824, 1)
+
+
+#endif // JETLINKS_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/MuonLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/MuonLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..d52b0f68e4cc28e9b193e3fd944ae57491bfcf6e
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/MuonLinks.h
@@ -0,0 +1,30 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+MuonLinks.h is needed to be able to add ParticleLinks<MuonContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  15-DEC-2008
+
+
+*****************************************************************************************/
+
+#ifndef MUONLINKS_H
+#define MUONLINKS_H
+
+#include "muonEvent/MuonContainer.h"
+#include "ParticleEvent/ParticleLinks.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<Analysis::MuonContainer> MuonLinks ;
+typedef  ElementLink<Analysis::MuonContainer> MuonLink ;
+
+
+CLASS_DEF(MuonLinks,253440153 , 1)
+
+
+#endif // MUONLINKS_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/PhotonLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/PhotonLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..c2dd4cc534c4c606b6aefe11ceb79897ba3c8d7b
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/PhotonLinks.h
@@ -0,0 +1,29 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+PhotonLinks.h is needed to be able to add ParticleLinks<PhotonContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  6-MAY-2009
+
+
+*****************************************************************************************/
+
+#ifndef PHOTONLINKS_H
+#define PHOTONLINKS_H
+
+#include "egammaEvent/PhotonContainer.h"
+#include "ParticleEvent/ParticleLinks.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<PhotonContainer> PhotonLinks ;
+typedef  ElementLink<PhotonContainer> PhotonLink ;
+
+CLASS_DEF(PhotonLinks,141119118 , 1)
+
+
+#endif // PHOTONLINKS_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/PhysicsElementLinksDict.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/PhysicsElementLinksDict.h
new file mode 100644
index 0000000000000000000000000000000000000000..c48673b6d32ef42e6f91f04db5b3b6434fb48968
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/PhysicsElementLinksDict.h
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef PHYSICSLINKS_PHYSICSLINKSDICT_H
+#define PHYSICSLINKS_PHYSICSLINKSDICT_H
+
+#include "PhysicsElementLinks/MuonLinks.h"
+#include "PhysicsElementLinks/JetLinks.h"
+#include "PhysicsElementLinks/TauJetLinks.h"
+#include "PhysicsElementLinks/ElectronLinks.h"
+#include "PhysicsElementLinks/PhotonLinks.h"
+#include "PhysicsElementLinks/TruthParticleLinks.h"
+#include "PhysicsElementLinks/TrackLinks.h"
+
+namespace PhysicsElementLinksDict {
+  struct dict {
+      MuonLinks m_1;
+      JetLinks m_2;
+      TauJetLinks m_3;
+      ElectronLinks m_4;
+      PhotonLinks m_5;
+      TruthParticleLinks m_6;
+      TrackLinks m_7;
+  };
+}
+
+#endif
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TauJetLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TauJetLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..95b4d232ceaaa59ecc60ee99b0e8ef66514eab1a
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TauJetLinks.h
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+TauJetLinks.h is needed to be able to add ParticleLinks<TauJetContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  15-DEC-2008
+
+*****************************************************************************************/
+
+#ifndef TAUJETLINKS_H
+#define TAUJETLINKS_H
+
+#include "tauEvent/TauJetContainer.h"
+#include "ParticleEvent/ParticleLinks.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<Analysis::TauJetContainer> TauJetLinks ;
+typedef  ElementLink<Analysis::TauJetContainer> TauJetLink ;
+
+CLASS_DEF(TauJetLinks,149212465 , 1)
+
+
+#endif // TAUJETLINKS_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TrackLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TrackLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..8cb42c68fe83ce4f9dc984b0927bff1f933fabe4
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TrackLinks.h
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+TrackLinks.h is needed to be able to add ParticleLinks<TrackParticleContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  11-September-2009
+
+*****************************************************************************************/
+#ifndef TRACKLINKS_H
+#define TRACKLINKS_H
+
+#include "ParticleEvent/ParticleLinks.h"
+#include "Particle/TrackParticleContainer.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<Rec::TrackParticleContainer> TrackLinks ;
+typedef  ElementLink<Rec::TrackParticleContainer> TrackLink ;
+
+
+CLASS_DEF(TrackLinks,253440163 , 1)
+
+
+#endif // TRACKLINKS_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TruthParticleLinks.h b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TruthParticleLinks.h
new file mode 100644
index 0000000000000000000000000000000000000000..41afcc0f65a234e5200026a2e854fb6b76af6c2b
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/TruthParticleLinks.h
@@ -0,0 +1,29 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+TruthParticleLinks.h is needed to be able to add ParticleLinks<TruthParticleContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  25-MAY-2009
+
+
+*****************************************************************************************/
+
+#ifndef TruthParticleLinks_H
+#define TruthParticleLinks_H
+
+#include "McParticleEvent/TruthParticleContainer.h"
+#include "ParticleEvent/ParticleLinks.h"
+#include "SGTools/CLASS_DEF.h"
+
+typedef  ParticleLinks<TruthParticleContainer> TruthParticleLinks ;
+typedef  ElementLink<TruthParticleContainer> TruthParticleLink ;
+
+CLASS_DEF(TruthParticleLinks,244749662 , 1)
+
+
+#endif // TruthParticleLinks_H
diff --git a/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/selection.xml b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/selection.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c8ac2579763883ee9a9924b1a487d62af5e35513
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/PhysicsElementLinks/selection.xml
@@ -0,0 +1,12 @@
+<lcgdict>
+
+<!-- needed for each Selector  inheriting SelectorBase and using XxxContainer-->
+ <class name="ElectronLinks" id="7D761076-6F83-46B9-84A7-73477B77B839"  />
+ <class name="PhotonLinks" id="55BD6EAD-07C9-44AD-8934-BE1F6B490D6C"  />
+ <class name="MuonLinks" id="AA0D4C06-3257-439B-8723-7D36Fe5BF369"  />
+ <class name="TauJetLinks" id="AA0d4C06-3257-439B-8723-7D36FE5BF369"  />
+ <class name="JetLinks" id="DDA27A57-D5F8-4899-A648-A80BBD0ACB27"  />
+ <class name="TruthParticleLinks" id="92D4B4BC-C550-468C-86C8-2FAF42303CE0"  />
+ <class name="TrackLinks" id="F077BA61-F03B-4894-8AE7-71449EEE53FA"  />
+
+</lcgdict>
diff --git a/PhysicsAnalysis/PhysicsElementLinks/cmt/requirements b/PhysicsAnalysis/PhysicsElementLinks/cmt/requirements
new file mode 100644
index 0000000000000000000000000000000000000000..b6c24dd6ebb672438ca3050bc3f37b6f763070b3
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/cmt/requirements
@@ -0,0 +1,36 @@
+package PhysicsElementLinks
+
+author Serban Protopopescu <serban@bnl.gov>
+
+use AtlasPolicy			AtlasPolicy-01-*
+
+branches run
+
+# The following dependencies satisfy the compile (build) time environment
+
+
+use AtlasDoxygen		AtlasDoxygen-*		Tools
+
+use SGTools                     SGTools-*               Control          
+use ParticleEvent		ParticleEvent-*		PhysicsAnalysis/AnalysisCommon
+use McParticleEvent		McParticleEvent-*	PhysicsAnalysis/TruthParticleID
+use tauEvent 			tauEvent-* 			Reconstruction
+use muonEvent 			muonEvent-* 			Reconstruction/MuonIdentification/
+use JetEvent 			JetEvent-*			Reconstruction/Jet
+use egammaEvent                 egammaEvent-*           Reconstruction/egamma       
+use Particle                    Particle-*           Reconstruction     
+
+### dict generation
+
+library PhysicsElementLinks *.cxx
+apply_pattern installed_library
+
+private
+use AtlasReflex  AtlasReflex-*  External -no_auto_imports
+
+apply_pattern lcgdict dict=PhysicsElementLinks \
+ selectionfile=selection.xml \
+ headerfiles="../PhysicsElementLinks/PhysicsElementLinksDict.h"
+
+
+
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/ElectronLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/ElectronLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..b528ee44917b90621ae3ea9d9f3cdabab13f58ab
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/ElectronLinks.cxx
@@ -0,0 +1,7 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PhysicsElementLinks/ElectronLinks.h"
+
+template class ParticleLinks<ElectronContainer>;
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/JetLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/JetLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..a08318b237fb3521b271084a1c0f62b7b6306fd2
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/JetLinks.cxx
@@ -0,0 +1,17 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+/***************************************************************************************
+
+JetLinks.h is needed to be able to add ParticleLinks<JetContainer>
+                    to store gate. A similar header is needed for every instantiation
+                    of ParticleLinks
+
+         S. Protopopescu  15-DEC-2008
+
+*****************************************************************************************/
+
+#include "PhysicsElementLinks/JetLinks.h"
+
+template class ParticleLinks<JetCollection>;
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/MuonLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/MuonLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..06e04a28acbf032db54a8eede4a69d33d302d372
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/MuonLinks.cxx
@@ -0,0 +1,7 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PhysicsElementLinks/MuonLinks.h"
+
+template class ParticleLinks<Analysis::MuonContainer>;
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/PhotonLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/PhotonLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..9bc3c3e7b0e836b69b84497e234376f3288c4195
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/PhotonLinks.cxx
@@ -0,0 +1,7 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PhysicsElementLinks/PhotonLinks.h"
+
+template class ParticleLinks<PhotonContainer>;
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/TauJetLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/TauJetLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..ef172706adce5de2bd8f9abc2f7266f65829d088
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/TauJetLinks.cxx
@@ -0,0 +1,7 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PhysicsElementLinks/TauJetLinks.h"
+
+template class ParticleLinks<Analysis::TauJetContainer>;
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/TrackLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/TrackLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..126622978cc5dd81a20ac1dd5fd7a7544b9ff5b7
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/TrackLinks.cxx
@@ -0,0 +1,7 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PhysicsElementLinks/TrackLinks.h"
+
+template class ParticleLinks<Rec::TrackParticleContainer>;
diff --git a/PhysicsAnalysis/PhysicsElementLinks/src/TruthParticleLinks.cxx b/PhysicsAnalysis/PhysicsElementLinks/src/TruthParticleLinks.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..c1cbfcf16081539e84f5fdfb17fc6e4edf709bdf
--- /dev/null
+++ b/PhysicsAnalysis/PhysicsElementLinks/src/TruthParticleLinks.cxx
@@ -0,0 +1,7 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PhysicsElementLinks/TruthParticleLinks.h"
+
+template class ParticleLinks<TruthParticleContainer>;