From 10c85b069f560abe5323b3c07197afb69f75a936 Mon Sep 17 00:00:00 2001
From: Carl Gwilliam <gwilliam@hep.ph.liv.ac.uk>
Date: Fri, 27 May 2022 18:56:38 +0100
Subject: [PATCH] Deal with renaming the BeamTruthEvent in ShiftLOS gracefully

---
 Generators/GeneratorUtils/python/ShiftLOSConfig.py    | 10 ++++++++--
 .../G4FaserAlg/test/G4FaserAlgConfigNew_Test.py       | 11 +++++------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/Generators/GeneratorUtils/python/ShiftLOSConfig.py b/Generators/GeneratorUtils/python/ShiftLOSConfig.py
index 4d7f02d5..b9c3ec2a 100644
--- a/Generators/GeneratorUtils/python/ShiftLOSConfig.py
+++ b/Generators/GeneratorUtils/python/ShiftLOSConfig.py
@@ -7,6 +7,8 @@ from AthenaConfiguration.MainServicesConfig import AthSequencer
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
 from AthenaConfiguration.ComponentFactory import CompFactory
 
+from SGComps.AddressRemappingConfig import InputOverwriteCfg
+
 from GeneratorUtils.ShiftLOS import ShiftLOS
 
 
@@ -14,9 +16,13 @@ def ShiftLOSCfg(ConfigFlags, **kwargs) :
     import McParticleEvent.Pythonizations
 
     cfg = ComponentAccumulator()
+
+    # Rename old truth collection to add ATLAS coord to can still use BeamTruthEvent for the one in FASER Coords
+    cfg.merge(InputOverwriteCfg("McEventCollection", "BeamTruthEvent", "McEventCollection", "BeamTruthEvent_ATLASCoord"))
+
     shift = ShiftLOS(name = kwargs.setdefault("name", "ShiftLOS"))
-    shift.InputMCEventKey =  kwargs.setdefault("InputMCEventKey", "BeamTruthEvent")
-    shift.OutputMCEventKey =  kwargs.setdefault("OutputMCEventKey", "BeamTruthEventShifted")    
+    shift.InputMCEventKey =  kwargs.setdefault("InputMCEventKey", "BeamTruthEvent_ATLASCoord")
+    shift.OutputMCEventKey =  kwargs.setdefault("OutputMCEventKey", "BeamTruthEvent")    
     shift.xcross = kwargs.setdefault("xcross", 0)
     shift.ycross = kwargs.setdefault("ycross", 0)
     shift.xshift = kwargs.setdefault("xshift", 0)
diff --git a/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py b/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
index 156f20d2..6b99fe63 100644
--- a/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
+++ b/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
@@ -137,21 +137,20 @@ if __name__ == '__main__':
 
     if (ConfigFlags.Sim.Beam.xangle or ConfigFlags.Sim.Beam.yangle or
         ConfigFlags.Sim.Beam.xshift or ConfigFlags.Sim.Beam.yshift):
-    
-        MCEventKey = "BeamTruthEventShifted"
+
         import McParticleEvent.Pythonizations
         from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg
-        cfg.merge(ShiftLOSCfg(ConfigFlags, OutputMCEventKey = MCEventKey,
+        cfg.merge(ShiftLOSCfg(ConfigFlags, 
                               xcross = ConfigFlags.Sim.Beam.xangle, ycross = ConfigFlags.Sim.Beam.yangle,
                               xshift = ConfigFlags.Sim.Beam.xshift, yshift = ConfigFlags.Sim.Beam.yshift))
-    else:    
-        MCEventKey = "BeamTruthEvent"
     
 #
 # Add the G4FaserAlg
 #
     from G4FaserAlg.G4FaserAlgConfigNew import G4FaserAlgCfg
-    cfg.merge(G4FaserAlgCfg(ConfigFlags, InputTruthCollection = MCEventKey))
+    cfg.merge(G4FaserAlgCfg(ConfigFlags))
+
+    ###cfg.getEventAlgo("OutputStreamHITS").ItemList += ["McEventCollection#BeamTruthEvent_ATLASCoord"]    
 #
 # Dump config
 #
-- 
GitLab