From a76847d3d2f560cf5698acd818720405f290fac8 Mon Sep 17 00:00:00 2001 From: John Kenneth Anders <john.kenneth.anders@cern.ch> Date: Tue, 5 Mar 2019 16:55:07 +0000 Subject: [PATCH] Merge branch 'QballSimFix_ALTMCPROD-6719_21.0' into '21.0' Fixes for Qball simulation configuration See merge request atlas/athena!21422 (cherry picked from commit 35bdc9fea6a99bdee9cb226eaf27440a8716ca3b) 57e41aa4 ISF_GenParticleInteractingFilter configuration fix 40c1c6f0 Patch preInclude.Qball.py to work-around missing specialConfiguration metadata --- .../ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py | 4 ++-- .../share/specialConfig/preInclude.Monopole.py | 2 +- .../share/specialConfig/preInclude.Qball.py | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py index 87d00a7c3f6..0bc48a4f18a 100644 --- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py +++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py @@ -91,9 +91,9 @@ def getGenParticleInteractingFilter(name="ISF_GenParticleInteractingFilter", **k from G4AtlasApps.SimFlags import simFlags simdict = simFlags.specialConfiguration.get_Value() if simdict is not None and "InteractingPDGCodes" in simdict: - kwargs.setdefault('AdditionalInteractingParticleTypes', simdict["InteractingPDGCodes"]) + kwargs.setdefault('AdditionalInteractingParticleTypes', eval(simdict["InteractingPDGCodes"])) if simdict is not None and "NonInteractingPDGCodes" in simdict: - kwargs.setdefault('AdditionalNonInteractingParticleTypes', simdict["InteractingNonPDGCodes"]) + kwargs.setdefault('AdditionalNonInteractingParticleTypes', eval(simdict["InteractingNonPDGCodes"])) return CfgMgr.ISF__GenParticleInteractingFilter(name, **kwargs) def getEtaPhiFilter(name="ISF_EtaPhiFilter", **kwargs): diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py index b9af8ac2960..eff6164861f 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py @@ -48,7 +48,7 @@ try: else: from G4AtlasApps.SimFlags import simFlags if not "InteractingPDGCodes" in simFlags.specialConfiguration.get_Value(): - simFlags.specialConfiguration.get_Value()['InteractingPDGCodes'] = [4110000,-4110000] + simFlags.specialConfiguration.get_Value()['InteractingPDGCodes'] = str([4110000,-4110000]) simdict = simFlags.specialConfiguration.get_Value() except: from G4AtlasApps.SimFlags import simFlags diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py index 723fe396f29..5b686b1ad2c 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py @@ -37,6 +37,8 @@ def load_files_for_qball_scenario(MASS, CHARGE): del BLINE1 del BLINE2 +assert "MASS" in simdict +assert "CHARGE" in simdict doG4SimConfig = True from AthenaCommon.AthenaCommonFlags import athenaCommonFlags import PyUtils.AthFile as af @@ -49,13 +51,14 @@ try: doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags + if not "InteractingPDGCodes" in simFlags.specialConfiguration.get_Value(): + CODE=10000000+int(float(simdict["CHARGE"])*100) + simFlags.specialConfiguration.get_Value()['InteractingPDGCodes'] = str([CODE,-1*CODE]) simdict = simFlags.specialConfiguration.get_Value() except: from G4AtlasApps.SimFlags import simFlags simdict = simFlags.specialConfiguration.get_Value() -assert "MASS" in simdict -assert "CHARGE" in simdict load_files_for_qball_scenario(simdict["MASS"], simdict["CHARGE"]) if doG4SimConfig: -- GitLab