From e26881be4318295569dcca2064a647e823233b0c Mon Sep 17 00:00:00 2001 From: John Chapman <John.Chapman@cern.ch> Date: Tue, 11 Feb 2025 10:31:28 +0100 Subject: [PATCH] Set ExtraOutputs from Geant4 in Geant4ToolCfg rather than Kernel_GenericSimulatorMTCfg --- .../ISF/ISF_Config/python/ISF_MainConfig.py | 8 -------- .../python/ISF_Geant4ToolsConfig.py | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py b/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py index 0cc21270d8e..5c75c395b3f 100644 --- a/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py +++ b/Simulation/ISF/ISF_Config/python/ISF_MainConfig.py @@ -68,14 +68,6 @@ def Kernel_GenericSimulatorMTCfg(flags, name="ISF_Kernel_GenericSimulatorMT", ** kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads) kwargs.setdefault("InputEvgenCollection", "BeamTruthEvent") kwargs.setdefault("OutputTruthCollection", "TruthEvent") - from SimulationConfig.SimEnums import CalibrationRun - if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]: - # Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly. - kwargs.setdefault("ExtraOutputs", [ - ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitActive_DEAD' ), - ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitDeadMaterial_DEAD' ), - ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitInactive_DEAD' ) - ]) if flags.Sim.ISF.Simulator.isQuasiStable(): if "QuasiStablePatcher" not in kwargs: diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/python/ISF_Geant4ToolsConfig.py b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/python/ISF_Geant4ToolsConfig.py index 53beb13df48..78e7765483b 100644 --- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/python/ISF_Geant4ToolsConfig.py +++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/python/ISF_Geant4ToolsConfig.py @@ -53,6 +53,26 @@ def Geant4ToolCfg(flags, name="ISF_Geant4Tool", **kwargs): # PhysicsListSvc kwargs.setdefault("PhysicsListSvc", acc.getPrimaryAndMerge(PhysicsListSvcCfg(flags)).name) + extraOutputs = [] + from SimulationConfig.SimEnums import CalibrationRun + if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]: + # Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly. + extraOutputs += [ + ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitActive_DEAD' ), + ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitDeadMaterial_DEAD' ), + ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitInactive_DEAD' ) + ] + from SimulationConfig.SimEnums import LArParameterization + if (flags.Sim.ISFRun or flags.Sim.LArParameterization is LArParameterization.FastCaloSim) and flags.Sim.ISF.HITSMergingRequired.get('CALO', True): + extraOutputs += [ + ( 'TileHitVector' , 'StoreGateSvc+TileHitVec_G4' ), + ( 'TileHitVector' , 'StoreGateSvc+MBTSHits_G4' ), + ( 'LArHitContainer' , 'StoreGateSvc+LArHitHEC_G4' ), + ( 'LArHitContainer' , 'StoreGateSvc+LArHitFCAL_G4' ), + ( 'LArHitContainer' , 'StoreGateSvc+LArHitEMEC_G4' ), + ( 'LArHitContainer' , 'StoreGateSvc+LArHitEMB_G4' ) + ] + kwargs.setdefault("ExtraOutputs", extraOutputs) # Workaround to keep other simulation flavours working while we migrate everything to be AthenaMT-compatible. from SimulationConfig.SimEnums import SimulationFlavour if flags.Sim.ISF.Simulator in [SimulationFlavour.ATLFAST3F_ACTSMT, SimulationFlavour.FullG4MT, SimulationFlavour.FullG4MT_QS, SimulationFlavour.PassBackG4MT, SimulationFlavour.ATLFAST3MT, SimulationFlavour.ATLFAST3MT_QS]: -- GitLab