diff --git a/Event/DumpEventDataToJSON/CMakeLists.txt b/Event/DumpEventDataToJSON/CMakeLists.txt
index 56cedf1805f000b082feac8ae87647253b540110..6682c4db95ac2ef54fb4ec4a187202e9edb00f63 100644
--- a/Event/DumpEventDataToJSON/CMakeLists.txt
+++ b/Event/DumpEventDataToJSON/CMakeLists.txt
@@ -11,7 +11,7 @@ find_package( Acts COMPONENTS Core )
 atlas_add_component( DumpEventDataToJSON
    src/*.cxx
    src/components/*.cxx
-   LINK_LIBRARIES ActsEventLib AthenaBaseComps CaloEvent GaudiKernel StoreGateLib TrkExInterfaces MuonPrepRawData InDetPrepRawData TrkTrack nlohmann_json::nlohmann_json xAODCaloEvent xAODEventInfo xAODJet xAODMuon xAODTracking )
+   LINK_LIBRARIES ActsEventLib AthenaBaseComps CaloEvent GaudiKernel StoreGateLib TrkExInterfaces MuonPrepRawData InDetPrepRawData TrkTrack nlohmann_json::nlohmann_json xAODCaloEvent xAODEgamma xAODEventInfo xAODJet xAODMuon xAODTau xAODTracking )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
diff --git a/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py b/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
index 50117c30c430b29bfa958822c81b4b81d6819a70..93b2df107d02535b71c2b11e03ea36d241cf5746 100644
--- a/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
+++ b/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
@@ -31,18 +31,25 @@ def DumpEventDataToJSONAlgCfg(flags, doExtrap=False, doACTSEDM = True, **kwargs)
         kwargs.setdefault('TrackContainerKeys', [])
 
     if 'StreamDAOD_PHYSLITE' in flags.Input.Collections:
+        # Not all data is available in PhysLite files.
+        kwargs.setdefault('PHYSLITE', True)
         # AnalysisJets and AnalysisLargeRJets are the standard jet containers
         kwargs.setdefault('JetContainerKeys', ['AnalysisJets','AnalysisLargeRJets'])
         # AnalysisMuons are the standard calibrated muon container
         kwargs.setdefault('MuonContainerKeys', ['AnalysisMuons'])
+        # AnalysisTauJets are the calibrated tau jet container
+        kwargs.setdefault('TauJetContainerKeys', ['AnalysisTauJets'])
+        # AnalysisElectrons are the standard calibrated electron container
+        kwargs.setdefault('ElectronContainerKeys', ['AnalysisElectrons'])
+        # AnalysisPhotons are the standard calibrated photon container
+        kwargs.setdefault('PhotonContainerKeys', ['AnalysisPhotons'])
         # No clusters or cells in DAOD_PHYSLITE
         kwargs.setdefault('CaloClusterContainerKeys', [])
         kwargs.setdefault('CaloCellContainerKey', [])
         # No real track collections in DAOD_PHYSLITE
         kwargs.setdefault('TrackCollectionKeys', [])
         kwargs.setdefault('TrackContainerKeys', [])
-        # InDetTrackParticles are heavily skimmed, so not useful output - keep only muons
-        kwargs.setdefault('TrackParticleContainerKeys', []) #['CombinedMuonTrackParticles'])
+        kwargs.setdefault('TrackParticleContainerKeys', ['InDetTrackParticles', 'CombinedMuonTrackParticles']) #['CombinedMuonTrackParticles'])
         # No prep raw data in DAOD_PHYSLITE
         kwargs.setdefault('MdtPrepRawDataKey', '')
         kwargs.setdefault('RpcPrepRawDataKey', '')
@@ -59,7 +66,8 @@ def DumpEventDataToJSONAlgCfg(flags, doExtrap=False, doACTSEDM = True, **kwargs)
 
 
 if __name__ == "__main__":
-    # Run this with python -m DumpEventDataToJSON.DumpEventDataToJSONConfig myESD.pool.root
+    # Run this with python -m DumpEventDataToJSON.DumpEventDataToJSONConfig --filesInput myESD.pool.root
+    # For help, python -m DumpEventDataToJSON.DumpEventDataToJSONConfig --help
     from AthenaConfiguration.AllConfigFlags import initConfigFlags
     flags = initConfigFlags()
     parser = flags.getArgumentParser()
@@ -145,4 +153,4 @@ if __name__ == "__main__":
     
     cfg.merge(topoAcc)
 
-    cfg.run(2)
+    cfg.run()
diff --git a/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.cxx b/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.cxx
index cc7492c71bca2193f842213d37ea58cf5ca63402..8f86ccd1b287758697345aefdf87f8f51c87405a 100644
--- a/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.cxx
+++ b/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.cxx
@@ -37,6 +37,9 @@ StatusCode DumpEventDataToJsonAlg::initialize() {
   ATH_CHECK(m_caloClustersKeys.initialize(!m_caloClustersKeys.empty()));
   ATH_CHECK(m_caloCellKey.initialize(!m_caloCellKey.empty()));
   ATH_CHECK(m_muonKeys.initialize(!m_muonKeys.empty()));
+  ATH_CHECK(m_tauJetKeys.initialize(!m_tauJetKeys.empty()));
+  ATH_CHECK(m_electronKeys.initialize(!m_electronKeys.empty()));
+  ATH_CHECK(m_photonKeys.initialize(!m_photonKeys.empty()));
   ATH_CHECK(m_trackCollectionKeys.initialize(!m_trackCollectionKeys.empty()));
 
   // ACTS
@@ -152,6 +155,9 @@ StatusCode DumpEventDataToJsonAlg::execute() {
   ATH_CHECK(getAndFillArrayOfContainers(j, m_jetKeys, "Jets"));
   ATH_CHECK(getAndFillArrayOfContainers(j, m_trackParticleKeys, "Tracks"));
   ATH_CHECK(getAndFillArrayOfContainers(j, m_muonKeys, "Muons"));
+  ATH_CHECK(getAndFillArrayOfContainers(j, m_tauJetKeys, "Taus"));
+  ATH_CHECK(getAndFillArrayOfContainers(j, m_electronKeys, "Electrons"));
+  ATH_CHECK(getAndFillArrayOfContainers(j, m_photonKeys, "Photons"));
   ATH_CHECK(getAndFillArrayOfContainers(j, m_caloClustersKeys, "CaloClusters"));
   ATH_CHECK(getAndFillArrayOfContainers(j, m_caloCellKey, "CaloCells"));
   ATH_CHECK(getAndFillArrayOfContainers(j, m_trackCollectionKeys, "Tracks"));
@@ -312,6 +318,11 @@ nlohmann::json DumpEventDataToJsonAlg::getData(const xAOD::TrackParticle &tp) {
   data["dof"] = tp.numberDoF();
   data["dparams"] = {tp.d0(), tp.z0(), tp.phi0(), tp.theta(), tp.qOverP()};
 
+  if (m_physlite) {
+    ATH_MSG_VERBOSE("Physlite mode enabled. Not adding track parameters.");
+    return data;
+  }
+
   if (m_extrapolator.empty()) {
     data["pos"] = {tp.perigeeParameters().position().x(),
                    tp.perigeeParameters().position().y(),
@@ -354,12 +365,14 @@ nlohmann::json DumpEventDataToJsonAlg::getData(const xAOD::TrackParticle &tp) {
         data["pos"].push_back(pos.y());
         data["pos"].push_back(pos.z());
       }
+
     } else {
       ATH_MSG_WARNING(
           "Failure in extrapolation for Track with start parameters "
           << startParameters);
     }
   }
+
   return data;
 }
 
@@ -429,6 +442,38 @@ nlohmann::json DumpEventDataToJsonAlg::getData(const xAOD::Muon &muon) {
   return data;
 }
 
+// Specialisation for Tau Jets
+template <>
+nlohmann::json DumpEventDataToJsonAlg::getData(const xAOD::TauJet &tauJet) {
+  nlohmann::json data;
+  data["phi"] = tauJet.phi();
+  data["eta"] = tauJet.eta();
+  data["energy"] = tauJet.e();
+  return data;
+}
+
+// Specialisation for Electrons
+template <>
+nlohmann::json DumpEventDataToJsonAlg::getData(const xAOD::Electron &electron) {
+  nlohmann::json data;
+  data["phi"] = electron.phi();
+  data["eta"] = electron.eta();
+  data["energy"] = electron.e();
+
+  return data;
+}
+
+// Specialisation for Photons
+template <>
+nlohmann::json DumpEventDataToJsonAlg::getData(const xAOD::Photon &photon) {
+  nlohmann::json data;
+  data["phi"] = photon.phi();
+  data["eta"] = photon.eta();
+  data["energy"] = photon.e();
+
+  return data;
+}
+
 template <class TYPE>
 void DumpEventDataToJsonAlg::addLink(const TYPE &link, nlohmann::json &data) {
   if (link.isValid()) {
diff --git a/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.h b/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.h
index 3521d2c0be7c0cb321001f1432714783c2066c3b..5a87fdca3a1a84a3bf9e06aaab192981c5d7ed7e 100644
--- a/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.h
+++ b/Event/DumpEventDataToJSON/src/DumpEventDataToJsonAlg.h
@@ -14,6 +14,9 @@
 #include "xAODTracking/TrackParticleContainer.h"
 #include "xAODJet/JetContainer.h"
 #include "xAODMuon/MuonContainer.h"
+#include "xAODTau/TauJetContainer.h"
+#include "xAODEgamma/ElectronContainer.h"
+#include "xAODEgamma/PhotonContainer.h"
 #include "xAODCaloEvent/CaloClusterContainer.h"
 #include "CaloEvent/CaloCellContainer.h"
 #include "TrkTrack/TrackCollection.h"
@@ -79,6 +82,12 @@ protected:
 
   SG::ReadHandleKeyArray<xAOD::MuonContainer> m_muonKeys{this, "MuonContainerKeys", {"Muons"}, "Keys for Muon Containers"};
 
+  SG::ReadHandleKeyArray<xAOD::TauJetContainer> m_tauJetKeys{this, "TauJetContainerKeys", {"TauJets"}, "Keys for Tau Containers"};
+
+  SG::ReadHandleKeyArray<xAOD::ElectronContainer> m_electronKeys{this, "ElectronContainerKeys", {"Electrons"}, "Keys for Electron Containers"};
+
+  SG::ReadHandleKeyArray<xAOD::PhotonContainer> m_photonKeys{this, "PhotonContainerKeys", {"Photons"}, "Keys for Photon Containers"};
+
   SG::ReadHandleKeyArray<xAOD::CaloClusterContainer> m_caloClustersKeys{this, "CaloClusterContainerKeys", {"CaloCalTopoClusters"}, "Keys for CaloClusters Containers"};
 
   SG::ReadHandleKeyArray<CaloCellContainer> m_caloCellKey{this, "CaloCellContainerKey", {"AllCalo"}, "Key for CaloCell Container"};
@@ -104,6 +113,7 @@ protected:
   Gaudi::Property<std::string> m_outputJSON_Name{this, "OutputLocation", "EventData.json", "Default filename for "};
 
   Gaudi::Property<bool> m_dumpTestEvent{this, "DumpTestEvent", false, "If true, prepend a test event with some calibration data in it."};
+  Gaudi::Property<bool> m_physlite{this, "PHYSLITE", false, "If true, do not try to access data which is not available in PHYSLITE files."};
 
   nlohmann::json m_eventData;
 };