From c6e524ba56910a4d7e6ac1e2eaff2c85d42aadbb Mon Sep 17 00:00:00 2001 From: John Chapman <jchapman@cern.ch> Date: Mon, 12 Feb 2018 09:50:03 +0100 Subject: [PATCH] Migrate G4HitFilterTool configuration Migrate `G4UA::G4HitFilterTool` configuration to use `simFlags.OptionalUserActionList`. See ATLASSIM-3569. --- .../G4Extensions/G4HitFilter/CMakeLists.txt | 2 -- .../G4HitFilter/python/G4HitFilterConfig.py | 32 +++++++++++++++---- .../G4HitFilter/share/G4HitFilter.py | 27 ---------------- .../share/g4/preInclude.HaloSim.py | 8 +---- 4 files changed, 27 insertions(+), 42 deletions(-) delete mode 100644 Simulation/G4Extensions/G4HitFilter/share/G4HitFilter.py diff --git a/Simulation/G4Extensions/G4HitFilter/CMakeLists.txt b/Simulation/G4Extensions/G4HitFilter/CMakeLists.txt index 572c46cae70..28c3f71728c 100644 --- a/Simulation/G4Extensions/G4HitFilter/CMakeLists.txt +++ b/Simulation/G4Extensions/G4HitFilter/CMakeLists.txt @@ -35,5 +35,3 @@ atlas_add_component( G4HitFilter # Install files from the package: atlas_install_python_modules( python/*.py ) -atlas_install_joboptions( share/*.py ) - diff --git a/Simulation/G4Extensions/G4HitFilter/python/G4HitFilterConfig.py b/Simulation/G4Extensions/G4HitFilter/python/G4HitFilterConfig.py index 7e91279de22..4bba3bab758 100644 --- a/Simulation/G4Extensions/G4HitFilter/python/G4HitFilterConfig.py +++ b/Simulation/G4Extensions/G4HitFilter/python/G4HitFilterConfig.py @@ -1,11 +1,31 @@ # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration from AthenaCommon import CfgMgr -from G4AtlasServices import G4AtlasServicesConfig def getG4HitFilterTool(name="G4UA::G4HitFilterTool", **kwargs): - from G4HitFilter.G4HitFilterConf import G4UA__G4HitFilterTool - return G4UA__G4HitFilterTool(name, **kwargs) - -def addG4HitFilterTool(name="G4UA::G4HitFilterTool",system=False): - G4AtlasServicesConfig.addAction(name,['Run','Event'],system) + from G4AtlasApps.SimFlags import simFlags + # example custom configuration + if name in simFlags.UserActionConfig.get_Value().keys(): + for prop,value in simFlags.UserActionConfig.get_Value()[name].iteritems(): + kwargs.setdefault(prop,value) + kwargs.setdefault('VolumeNames', + ["BCMHits", + "BLMHits", + "CSC_Hits", + "LArCalibrationHitActive", + "LArCalibrationHitDeadMaterial", + "LArCalibrationHitInactive", + "LArHitEMB", + "LArHitEMEC", + "LArHitFCAL", + "LArHitHEC", + "MBTSHits", + "MDT_Hits", + "PixelHits", + "RPC_Hits", + "SCT_Hits", + "TGC_Hits", + "TRTUncompressedHits", + "TileHitVec"] + ) + return CfgMgr.G4UA__G4HitFilterTool(name, **kwargs) diff --git a/Simulation/G4Extensions/G4HitFilter/share/G4HitFilter.py b/Simulation/G4Extensions/G4HitFilter/share/G4HitFilter.py deleted file mode 100644 index da401cab08a..00000000000 --- a/Simulation/G4Extensions/G4HitFilter/share/G4HitFilter.py +++ /dev/null @@ -1,27 +0,0 @@ -from AthenaCommon.CfgGetter import getPublicTool -from G4AtlasApps.SimFlags import simFlags -# configuration for MT actions -from G4HitFilter.G4HitFilterConfig import addG4HitFilterTool -hitf = getPublicTool('G4UA::G4HitFilterTool',tryDefaultConfigurable=True) -addG4HitFilterTool(hitf) - -hitf.VolumeNames=[ - "BCMHits", - "BLMHits", - "CSC_Hits", - "LArCalibrationHitActive", - "LArCalibrationHitDeadMaterial", - "LArCalibrationHitInactive", - "LArHitEMB", - "LArHitEMEC", - "LArHitFCAL", - "LArHitHEC", - "MBTSHits", - "MDT_Hits", - "PixelHits", - "RPC_Hits", - "SCT_Hits", - "TGC_Hits", - "TRTUncompressedHits", - "TileHitVec" - ] diff --git a/Simulation/SimulationJobOptions/share/g4/preInclude.HaloSim.py b/Simulation/SimulationJobOptions/share/g4/preInclude.HaloSim.py index b34af537cbb..1c30058965b 100644 --- a/Simulation/SimulationJobOptions/share/g4/preInclude.HaloSim.py +++ b/Simulation/SimulationJobOptions/share/g4/preInclude.HaloSim.py @@ -18,10 +18,4 @@ simFlags.EventFilter.switchFilterOn('VertexRangeChecker') simFlags.VertexFromCondDB.set_Off() simFlags.VertexTimeOffset.set_Off() -# Hit filter setup function for callback -def hitFilterSetup(): - atlasG4log.info("Setting up filter parameters") - include("G4HitFilter/G4HitFilter.py") - -# Register the callback -simFlags.InitFunctions.add_function("preInitG4", hitFilterSetup) +simFlags.OptionalUserActionList.addAction("G4UA::G4HitFilterTool",['Run','Event']) -- GitLab