From 44727fba9137b371016e77f965298190a2f6c5c9 Mon Sep 17 00:00:00 2001 From: John Chapman <jchapman@cern.ch> Date: Fri, 2 Dec 2022 13:08:12 +0100 Subject: [PATCH] Fix for ReSimulation of samples with specialConfig (ATLMCPROD-10108) --- .../share/specialConfig/preInclude.AMSB.py | 3 +++ .../share/specialConfig/preInclude.GMSB.py | 3 +++ .../share/specialConfig/preInclude.Monopole.py | 5 +++++ .../share/specialConfig/preInclude.Qball.py | 7 +++++++ .../share/specialConfig/preInclude.Quirks.py | 3 +++ .../share/specialConfig/preInclude.RHadronsPythia8.py | 3 +++ .../share/specialConfig/preInclude.SleptonsLLP.py | 3 +++ .../share/specialConfig/preInclude.fcp.py | 9 +++++++++ 8 files changed, 36 insertions(+) diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py index 37e3dc578a75..7e20c489e350 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.AMSB.py @@ -42,6 +42,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.GMSB.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.GMSB.py index 8905312b620e..c4b5c83df62f 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.GMSB.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.GMSB.py @@ -120,6 +120,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py index 48a7b52fe438..90acc66cbca6 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Monopole.py @@ -44,6 +44,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags @@ -52,6 +55,8 @@ try: simdict = simFlags.specialConfiguration.get_Value() except: from G4AtlasApps.SimFlags import simFlags + if not "InteractingPDGCodes" in simFlags.specialConfiguration.get_Value(): + simFlags.specialConfiguration.get_Value()['InteractingPDGCodes'] = str([4110000,-4110000]) simdict = simFlags.specialConfiguration.get_Value() assert "MASS" in simdict diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py index 384c1cd5a8df..c3deb1dadd0b 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Qball.py @@ -45,6 +45,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags @@ -55,6 +58,10 @@ try: simdict = simFlags.specialConfiguration.get_Value() except: from G4AtlasApps.SimFlags import simFlags + if not "InteractingPDGCodes" in simFlags.specialConfiguration.get_Value(): + assert "CHARGE" in simFlags.specialConfiguration.get_Value() + CODE=10000000+int(float(simFlags.specialConfiguration.get_Value()["CHARGE"])*100) + simFlags.specialConfiguration.get_Value()['InteractingPDGCodes'] = str([CODE,-1*CODE]) simdict = simFlags.specialConfiguration.get_Value() assert "MASS" in simdict diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Quirks.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Quirks.py index 7d4d74f20056..5143a54763d0 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Quirks.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Quirks.py @@ -21,6 +21,9 @@ if getPDGTABLE(simFlags.ExtraParticlesPDGTABLE.get_Value()): if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.RHadronsPythia8.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.RHadronsPythia8.py index 99a701e537cb..043f8764b6fc 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.RHadronsPythia8.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.RHadronsPythia8.py @@ -71,6 +71,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.SleptonsLLP.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.SleptonsLLP.py index 1733f71bb31f..66d9361fb3aa 100644 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.SleptonsLLP.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.SleptonsLLP.py @@ -72,6 +72,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.fcp.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.fcp.py index 3ec70f10da37..10b725d6770c 100755 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.fcp.py +++ b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.fcp.py @@ -43,6 +43,9 @@ try: if "StreamHITS" in f.infos["stream_names"]: from Digitization.DigitizationFlags import digitizationFlags simdict = digitizationFlags.specialConfiguration.get_Value() + if simdict is None: + # Here we are in a ReSim job, so the input is a HITS file + raise ValueError doG4SimConfig = False else: from G4AtlasApps.SimFlags import simFlags @@ -55,6 +58,12 @@ try: simdict = simFlags.specialConfiguration.get_Value() except: from G4AtlasApps.SimFlags import simFlags + if not "InteractingPDGCodes" in simFlags.specialConfiguration.get_Value(): + assert "CHARGE" in simFlags.specialConfiguration.get_Value() + assert "X" in simFlags.specialConfiguration.get_Value() + assert "Y" in simFlags.specialConfiguration.get_Value() + CODE=int(20000000)+int(simFlags.specialConfiguration.get_Value()["X"])*1000+int(simFlags.specialConfiguration.get_Value()["Y"])*10 + simFlags.specialConfiguration.get_Value()['InteractingPDGCodes'] = str([CODE,-1*CODE]) simdict = simFlags.specialConfiguration.get_Value() assert "MASS" in simdict -- GitLab