Skip to content
Snippets Groups Projects
Commit f01523af authored by John Chapman's avatar John Chapman
Browse files

Configuration fixes for Simulation configurations using Fatras (ATLASSIM-7425)

parent a756c089
No related branches found
No related tags found
No related merge requests found
Pipeline #10459756 failed
# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
......@@ -9,7 +9,7 @@ def HgtdSensorSDCfg(flags, name="HgtdSensorSD", **kwargs):
bare_collection_name = "HGTD_Hits"
mergeable_collection_suffix = "_G4"
merger_input_property = "HGTDHits"
region = "ID"
region = "ITk"
acc, hits_collection_name = CollectionMergerCfg(flags,
bare_collection_name,
......
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
......@@ -48,16 +48,34 @@ def SetupSensitiveDetectorsCfg(flags):
def SimHitContainerListCfg(flags):
simHitContainers = []
if flags.Detector.EnableMDT:
simHitContainers+=[("MDTSimHitCollection", "MDT_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("MDTSimHitCollection", "MDT_Hits_G4")]
else:
simHitContainers+=[("MDTSimHitCollection", "MDT_Hits")]
if flags.Detector.EnableRPC:
simHitContainers+=[("RPCSimHitCollection", "RPC_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("RPCSimHitCollection", "RPC_Hits_G4")]
else:
simHitContainers+=[("RPCSimHitCollection", "RPC_Hits")]
if flags.Detector.EnableTGC:
simHitContainers+=[("TGCSimHitCollection", "TGC_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("TGCSimHitCollection", "TGC_Hits_G4")]
else:
simHitContainers+=[("TGCSimHitCollection", "TGC_Hits")]
if flags.Detector.EnableMM:
simHitContainers+=[("MMSimHitCollection", "MM_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("MMSimHitCollection", "MM_Hits_G4")]
else:
simHitContainers+=[("MMSimHitCollection", "MM_Hits")]
if flags.Detector.EnablesTGC:
simHitContainers+=[("sTGCSimHitCollection", "sTGC_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("sTGCSimHitCollection", "sTGC_Hits_G4")]
else:
simHitContainers+=[("sTGCSimHitCollection", "sTGC_Hits")]
if flags.Detector.EnableCSC:
simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("CSCSimHitCollection", "CSC_Hits_G4")]
else:
simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")]
return simHitContainers
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
......@@ -74,7 +74,7 @@ def SetupSensitiveDetectorsCfg(flags):
if flags.Detector.EnableMDT:
tools += [result.popToolsAndMerge(MdtSensitiveDetectorToolCfg(flags))]
if flags.Detector.EnableRPC:
tools += [result.popToolsAndMerge(RpcSensitiveDetectorToolCfg(flags))]
......@@ -91,14 +91,29 @@ def SetupSensitiveDetectorsCfg(flags):
def SimHitContainerListCfg(flags):
simHitContainers = []
if flags.Detector.EnableMDT:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawMdtSimHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawMdtSimHits_G4")]
else:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawMdtSimHits")]
if flags.Detector.EnableMM:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawMmSimHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawMmSimHits_G4")]
else:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawMmSimHits")]
if flags.Detector.EnableRPC:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawRpcSimHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawRpcSimHits_G4")]
else:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawRpcSimHits")]
if flags.Detector.EnableTGC:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits_G4")]
else:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits")]
if flags.Detector.EnablesTGC:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits")]
return simHitContainers
\ No newline at end of file
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('MUON', True)):
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits_G4")]
else:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits")]
return simHitContainers
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
from AthenaConfiguration.Enums import BeamType
......@@ -330,14 +330,47 @@ def SimHitContainerListCfg(flags):
writtenContainers += [("TileHitVector", "MBTSHits")]
writtenContainers += [("TileHitVector", "TileHitVec")]
if flags.Detector.GeometryTRT:
writtenContainers += [("TRTUncompressedHitCollection", "TRTUncompressedHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ID', True)):
writtenContainers += [("TRTUncompressedHitCollection", "TRTUncompressedHits_G4")]
else:
writtenContainers += [("TRTUncompressedHitCollection", "TRTUncompressedHits")]
if flags.Detector.EnableBCM:
writtenContainers += [("SiHitCollection", "BCMHits")]
writtenContainers += [("SiHitCollection", "BLMHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ID', True)):
writtenContainers += [("SiHitCollection", "BCMHits_G4")]
writtenContainers += [("SiHitCollection", "BLMHits_G4")]
else:
writtenContainers += [("SiHitCollection", "BCMHits")]
writtenContainers += [("SiHitCollection", "BLMHits")]
if flags.Detector.EnablePixel:
writtenContainers += [("SiHitCollection", "PixelHits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ID', True)):
writtenContainers += [("SiHitCollection", "PixelHits_G4")]
else:
writtenContainers += [("SiHitCollection", "PixelHits")]
if flags.Detector.EnableSCT:
writtenContainers += [("SiHitCollection", "SCT_Hits")]
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ID', True)):
writtenContainers += [("SiHitCollection", "SCT_Hits_G4")]
else:
writtenContainers += [("SiHitCollection", "SCT_Hits")]
if flags.Detector.EnableITkPixel:
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ITk', True)):
writtenContainers += [("SiHitCollection", "ITkPixelHits_G4")]
else:
writtenContainers += [("SiHitCollection", "ITkPixelHits")]
if flags.Detector.EnableITkStrip:
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ITk', True)):
writtenContainers += [("SiHitCollection", "ITkStripHits_G4")]
else:
writtenContainers += [("SiHitCollection", "ITkStripHits")]
if flags.Detector.EnablePLR:
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ITk', True)):
writtenContainers += [("SiHitCollection", "PLR_Hits_G4")]
else:
writtenContainers += [("SiHitCollection", "PLR_Hits")]
if flags.Detector.EnableHGTD:
if (flags.Sim.ISFRun and flags.Sim.ISF.HITSMergingRequired.get('ITk', True)):
writtenContainers += [("SiHitCollection", "HGTDHits_G4")]
else:
writtenContainers += [("SiHitCollection", "HGTDHits")]
from SimulationConfig.SimEnums import CalibrationRun
if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]:
# Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly.
......
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.AthConfigFlags import AthConfigFlags, isGaudiEnv
from AthenaConfiguration.AutoConfigFlags import GetFileMD
......@@ -215,7 +215,7 @@ def createSimConfigFlags():
doID = True
doITk = True
doCALO = True
doMUON = True
doMUON = (prevFlags.Sim.ISF.Simulator not in [SimulationFlavour.ATLFAST3F_ACTSMT, SimulationFlavour.ATLFAST3F_G4MS])
elif prevFlags.Sim.ISF.Simulator.usesFastCaloSim() or prevFlags.Sim.LArParameterization is LArParameterization.FastCaloSim:
doID = False
doITk = False
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment