Skip to content
Snippets Groups Projects
Commit 0a5cdc48 authored by Johannes Junggeburth's avatar Johannes Junggeburth :dog2: Committed by Frank Winklmeier
Browse files

Sim_tf - Toggle container output depending on whether AMDB or PhaseII style geometry is loaded

Sim_tf - Toggle container output depending on whether AMDB or PhaseII style geometry is loaded
parent eb5391a4
No related branches found
No related tags found
No related merge requests found
......@@ -31,8 +31,9 @@ def MuonGeoModelCfg(flags):
if flags.Muon.usePhaseIIGeoSetup:
from MuonGeoModelR4.MuonGeoModelConfig import MuonGeoModelCfg as MuonGeoModelCfgR4
result.merge(MuonGeoModelCfgR4(flags))
from MuonGeometryCnv.MuonReadoutGeomCnvCfg import MuonReadoutGeometryCnvAlgCfg
result.merge(MuonReadoutGeometryCnvAlgCfg(flags))
if flags.Common.ProductionStep != ProductionStep.Simulation:
from MuonGeometryCnv.MuonReadoutGeomCnvCfg import MuonReadoutGeometryCnvAlgCfg
result.merge(MuonReadoutGeometryCnvAlgCfg(flags))
return result
result.merge(MuonGeoModelToolCfg(flags))
......
......@@ -61,3 +61,5 @@ def SimHitContainerListCfg(flags):
simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")]
return simHitContainers
def OutputSimContainersCfg(flags):
return [f"{contType}#{contName}" for contType, contName in SimHitContainerListCfg(flags) ]
......@@ -37,9 +37,10 @@ def ActsGeomContextAlgCfg(flags, name="ActsGeomContextAlg", **kwargs):
result.merge(ActsMuonAlignCondAlgCfg(flags))
inAlignContainers = []
if flags.Detector.GeometryMDT: inAlignContainers += ["MdtActsAlignContainer"]
if flags.Detector.GeometryRPC: inAlignContainers += ["RpcActsAlignContainer"]
if flags.Detector.GeometryTGC: inAlignContainers += ["TgcActsAlignContainer"]
if (flags.Muon.enableAlignment or flags.Muon.applyMMPassivation):
if flags.Detector.GeometryMDT: inAlignContainers += ["MdtActsAlignContainer"]
if flags.Detector.GeometryRPC: inAlignContainers += ["RpcActsAlignContainer"]
if flags.Detector.GeometryTGC: inAlignContainers += ["TgcActsAlignContainer"]
kwargs.setdefault("AlignKeys", inAlignContainers)
the_alg = CompFactory.ActsMuonGeomContextAlg(name, **kwargs)
......
......@@ -11,13 +11,11 @@ def setupTestOutputCfg(flags,**kwargs):
# =============================
# Define contents of the format
# =============================
sim_containers = ["xMdtSimHits", "xRpcSimHits", "xTgcSimHits","xMmSimHits","xStgcSimHits"]
from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
container_items = ["xAOD::TruthParticleContainer#",
"xAOD::TruthParticleAuxContainer#",
"McEventCollection#"]
for cont in sim_containers:
container_items +=[ "xAOD::MuonSimHitContainer#{cont}".format(cont = cont),
"xAOD::MuonSimHitAuxContainer#{cont}Aux.".format(cont = cont)]
"McEventCollection#"] + OutputSimContainersCfg(flags)
from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
kwargs.setdefault("ItemList", container_items)
......
......@@ -90,6 +90,7 @@ def SetupSensitiveDetectorsCfg(flags):
result.setPrivateTools(tools)
return result
### Name of the container names written by the R4 sensitive detectors
def SimHitContainerListCfg(flags):
simHitContainers = []
if flags.Detector.EnableMDT:
......@@ -101,6 +102,25 @@ def SimHitContainerListCfg(flags):
if flags.Detector.EnableTGC:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits")]
if flags.Detector.EnablesTGC:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits")]
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawStgcSimHits")]
return simHitContainers
### Returns the list of Container names written to the HITS file
def OutputSimContainersCfg(flags):
outContainers = []
containerNames = []
if flags.Detector.EnableMDT:
containerNames+=["xMdtSimHits"]
if flags.Detector.EnableMM:
containerNames+=["xMmSimHits"]
if flags.Detector.EnableRPC:
containerNames+=["xRpcSimHits"]
if flags.Detector.EnableTGC:
containerNames+=["xTgcSimHits"]
if flags.Detector.EnablesTGC:
containerNames+=["xStgcSimHits"]
return simHitContainers
\ No newline at end of file
outContainers +=[ f"xAOD::MuonSimHitContainer#{cont}" for cont in containerNames]
outContainers +=[ f"xAOD::MuonSimHitAuxContainer#{cont}Aux." for cont in containerNames]
return outContainers
......@@ -69,13 +69,16 @@ def Kernel_GenericSimulatorMTCfg(flags, name="ISF_Kernel_GenericSimulatorMT", **
kwargs.setdefault("InputEvgenCollection", "BeamTruthEvent")
kwargs.setdefault("OutputTruthCollection", "TruthEvent")
from SimulationConfig.SimEnums import CalibrationRun
from G4AtlasTools.G4AtlasToolsConfig import SimHitContainerListCfg
ExtraOutputs = SimHitContainerListCfg(flags)
if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]:
# Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly.
kwargs.setdefault("ExtraOutputs", [
ExtraOutputs+=[
( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitActive_DEAD' ),
( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitDeadMaterial_DEAD' ),
( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitInactive_DEAD' )
])
]
kwargs.setdefault("ExtraOutputs", ExtraOutputs )
if flags.Sim.ISF.Simulator.isQuasiStable():
if "QuasiStablePatcher" not in kwargs:
......
......@@ -70,24 +70,14 @@ def getStreamHITS_ItemList(flags):
# HGTD
if flags.Detector.EnableHGTD:
ItemList += ["SiHitCollection#HGTD_Hits"]
#CSC
if flags.Detector.EnableCSC:
ItemList+=["CSCSimHitCollection#CSC_Hits"]
#MDT
if flags.Detector.EnableMDT:
ItemList+=["MDTSimHitCollection#MDT_Hits"]
#RPC
if flags.Detector.EnableRPC:
ItemList+=["RPCSimHitCollection#RPC_Hits"]
#TGC
if flags.Detector.EnableTGC:
ItemList+=["TGCSimHitCollection#TGC_Hits"]
#STGC
if flags.Detector.EnablesTGC:
ItemList+=["sTGCSimHitCollection#sTGC_Hits"]
#MM
if flags.Detector.EnableMM:
ItemList+=["MMSimHitCollection#MM_Hits"]
if flags.Detector.GeometryMuon:
if flags.Muon.usePhaseIIGeoSetup:
from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
ItemList += OutputSimContainersCfg(flags)
else:
from MuonG4SD.MuonG4SDConfig import OutputSimContainersCfg
ItemList += OutputSimContainersCfg(flags)
return ItemList
......
......@@ -92,25 +92,15 @@ def getStreamHITS_ItemList(flags):
"TileHitVector#TileHitVec_G4",
"TileHitVector#TileHitVec_FastCaloSim"]
if flags.Detector.EnableRPC:
ItemList += ["RPCSimHitCollection#*"]
if flags.Detector.EnableTGC:
ItemList += ["TGCSimHitCollection#*"]
if flags.Detector.EnableMDT:
ItemList += ["MDTSimHitCollection#*"]
if flags.Detector.EnableCSC:
ItemList += ["CSCSimHitCollection#*"]
if flags.Detector.EnablesTGC:
ItemList += ["sTGCSimHitCollection#*"]
if flags.Detector.EnableMM:
ItemList += ["MMSimHitCollection#*"]
if flags.Detector.EnableMuon:
if flags.Muon.usePhaseIIGeoSetup:
from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
ItemList += OutputSimContainersCfg(flags)
else:
from MuonG4SD.MuonG4SDConfig import OutputSimContainersCfg
ItemList += OutputSimContainersCfg(flags)
ItemList += ["TrackRecordCollection#MuonExitLayer"]
if flags.Detector.EnableLucid:
......
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