From 3fffc5603fb4e73353066cf81584c4468455c465 Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Mon, 25 Sep 2017 12:11:27 +0200
Subject: [PATCH] Correctly configure MonopoleLooperKiller (ATLASSIM-3440)

The configuration of the `MonopoleLooperKiller` missed being updated
in the last update of the configuration syntax of `G4UserActions`.
This means that monopole simulation jobs fail in 21.0.37.
This commit updates the syntax such that the jobs should now succeed.
Should fix ATLASSIM-3440.


Former-commit-id: a4bdfeb799c20d80b9758039d30bde3e85b3d817
---
 .../G4UserActions/python/G4UserActionsConfig.py     |  7 +++++++
 .../G4UserActions/python/G4UserActionsConfigDb.py   |  1 +
 .../share/specialConfig/postInclude.Monopole.py     | 13 -------------
 .../share/specialConfig/postInclude.Qball.py        | 13 -------------
 .../share/specialConfig/preInclude.Monopole.py      |  2 +-
 .../share/specialConfig/preInclude.Qball.py         |  2 +-
 6 files changed, 10 insertions(+), 28 deletions(-)
 delete mode 100644 Simulation/SimulationJobOptions/share/specialConfig/postInclude.Monopole.py
 delete mode 100644 Simulation/SimulationJobOptions/share/specialConfig/postInclude.Qball.py

diff --git a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py
index 86dcf26901e..8874523fafd 100644
--- a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py
+++ b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py
@@ -61,6 +61,13 @@ def getLooperKillerEventOverlayTool(name="G4UA::LooperKillerEventOverlayTool", *
     return getLooperKillerTool(name, **kwargs)
 
 
+def getMonopoleLooperKillerTool(name="G4UA::MonopoleLooperKillerTool", **kwargs):
+    kwargs.setdefault("MaxSteps",2000000)
+    kwargs.setdefault("PrintSteps",2)
+    kwargs.setdefault("VerboseLevel",0)
+    return getLooperKillerTool(name, **kwargs)
+
+
 def addLooperKillerTool(name="G4UA::LooperKillerTool", system=False):
     G4AtlasServicesConfig.addAction(name,['Step'],system)
 
diff --git a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py
index 7bdd5b9b0bc..06018f88b78 100644
--- a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py
+++ b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py
@@ -16,6 +16,7 @@ addTool("G4UserActions.G4UserActionsConfig.getHitWrapperTool", "G4UA::HitWrapper
 addTool("G4UserActions.G4UserActionsConfig.getHIPKillerTool", "G4UA::HIPKillerTool")
 addTool("G4UserActions.G4UserActionsConfig.getHIPLArVolumeAcceptTool", "G4UA::HIPLArVolumeAcceptTool")
 addTool("G4UserActions.G4UserActionsConfig.getLooperKillerTool", "G4UA::LooperKillerTool")
+addTool("G4UserActions.G4UserActionsConfig.getMonopoleLooperKillerTool", "G4UA::MonopoleLooperKillerTool")
 addTool("G4UserActions.G4UserActionsConfig.getLooperKillerEventOverlayTool", "G4UA::LooperKillerEventOverlayTool")
 addTool("G4UserActions.G4UserActionsConfig.getMomentumConservationTool", "G4UA::MomentumConservationTool")
 addTool("G4UserActions.G4UserActionsConfig.getScoringVolumeTrackKillerTool", "G4UA::ScoringVolumeTrackKillerTool")
diff --git a/Simulation/SimulationJobOptions/share/specialConfig/postInclude.Monopole.py b/Simulation/SimulationJobOptions/share/specialConfig/postInclude.Monopole.py
deleted file mode 100644
index 124188dd185..00000000000
--- a/Simulation/SimulationJobOptions/share/specialConfig/postInclude.Monopole.py
+++ /dev/null
@@ -1,13 +0,0 @@
-
-# configure the looper killer
-# this configures the MT-friendly version of the looperKiller
-
-import G4UserActions.G4UserActionsConfig
-
-lkTool=CfgGetter.getPublicToolClone('MonopoleLooperKillerTool','G4UA::LooperKillerTool', PrintSteps=2, MaxSteps=2000000, VerboseLevel=0)
-G4UserActionsConfig.addLooperKillerTool(lkTool)
-# add default HIP killer
-G4UserActionsConfig.addHIPKillerTool()
-
-
-
diff --git a/Simulation/SimulationJobOptions/share/specialConfig/postInclude.Qball.py b/Simulation/SimulationJobOptions/share/specialConfig/postInclude.Qball.py
deleted file mode 100644
index 2bafd31eb0d..00000000000
--- a/Simulation/SimulationJobOptions/share/specialConfig/postInclude.Qball.py
+++ /dev/null
@@ -1,13 +0,0 @@
-
-# configure the looper killer
-# this configures the MT-friendly version of the looperKiller
-
-import G4UserActions.G4UserActionsConfig
-
-lkTool=CfgGetter.getPublicToolClone('QballLooperKillerTool','G4UA::LooperKillerTool', PrintSteps=2, MaxSteps=2000000, VerboseLevel=0)
-G4UserActionsConfig.addLooperKillerTool(lkTool)
-# add default HIP killer
-G4UserActionsConfig.addHIPKillerTool()
-
-
-
diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py
index 1836ac31137..32b3a60bb28 100644
--- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py
+++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py
@@ -68,7 +68,7 @@ if doG4SimConfig:
     simFlags.TightMuonStepping.set_Value_and_Lock(False)
     simFlags.PhysicsOptions += ["MonopolePhysicsTool"]
     # add monopole-specific configuration for looper killer
-    simFlags.OptionalUserActionList.addAction('MonopoleLooperKillerTool',['Step'])
+    simFlags.OptionalUserActionList.addAction('G4UA::MonopoleLooperKillerTool',['Step'])
     # add default HIP killer
     simFlags.OptionalUserActionList.addAction('G4UA::HIPKillerTool',['Step'])
 
diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py
index 8157057a4aa..56cafa16014 100644
--- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py
+++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py
@@ -69,7 +69,7 @@ if doG4SimConfig:
     #simFlags.G4Stepper.set_Value_and_Lock('ClassicalRK4')
     simFlags.PhysicsOptions += ["MonopolePhysicsTool"]
     # add monopole-specific configuration for looper killer
-    simFlags.OptionalUserActionList.addAction('MonopoleLooperKillerTool',['Step'])
+    simFlags.OptionalUserActionList.addAction('G4UA::MonopoleLooperKillerTool',['Step'])
     # add default HIP killer
     simFlags.OptionalUserActionList.addAction('G4UA::HIPKillerTool',['Step'])
 
-- 
GitLab