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
53 merge requests!78751Including CTP Monitoring in GLobal Monitoring,!78241Draft: FPGATrackSim: GenScan code refactor,!78236Draft: Switching Streams https://its.cern.ch/jira/browse/ATR-27417,!78056AFP monitoring: new synchronization and cleaning,!78041AFP monitoring: new synchronization and cleaning,!77990Updating TRT chip masks for L1TRT trigger simulation - ATR-28372,!77733Draft: add new HLT NN JVT, augmented with additional tracking information,!77731Draft: Updates to ZDC reconstruction,!77728Draft: updates to ZDC reconstruction,!77522Draft: sTGC Pad Trigger Emulator,!76725ZdcNtuple: Fix cppcheck warning.,!76611L1CaloFEXByteStream: Fix out-of-bounds array accesses.,!76475Punchthrough AF3 implementation in FastG4,!76474Punchthrough AF3 implementation in FastG4,!76343Draft: MooTrackBuilder: Recalibrate NSW hits in refine method,!75729New implementation of ZDC nonlinear FADC correction.,!75703Draft: Update to HI han config for HLT jets,!75184Draft: Update file heavyions_run.config,!74430Draft: Fixing upper bound for Delayed Jet Triggers,!73963Changing the path of the histograms to "Expert" area,!73875updating ID ART reference plots,!73874AtlasCLHEP_RandomGenerators: Fix cppcheck warnings.,!73449Add muon detectors to DarkJetPEBTLA partial event building,!73343Draft: [TrigEgamma] Add photon ringer chains on bootstrap mechanism,!72972Update L1Calo Jet Trigger Efficiency Monitoring algorithm,!72336Fixed TRT calibration crash,!72176Draft: Improving L1TopoOnline chain that now gets no-empty plots. Activating it by default,!72012Draft: Separate JiveXMLConfig.py into Config files,!71876Fix MET trigger name in MissingETMonitoring,!71820Draft: Adding new TLA End-Of-Fill (EOF) chains and removing obsolete DIPZ chains,!71279Draft: ATR-29330: Move L1_4J15 and the HLT chains seeded by it in the MC Menu,!70990Updates to pulse analysis to support new 2016 p+Pb analysis and 2023 Pb+Pb analysis,!70948[TrigEGam] Adding egamma chains to be monitored,!70777Draft: sTGC offline raw monitoring: strip efficiency re-implementation,!70654Update JetMonitoringStandard.py,!70442Draft: Harmonize output folders+collections in ID Alignment monitoring and update DQM han config,!70269Draft: Initial Preparations for mc23e mu-distribution,!70047More test chains for delayed jets,!69944Draft: Avoid additional ONNX thread spawning for FastCaloSim,!69935Draft: New efficiency DQ criteria for HLTmuon hanconfig,!69795Some updates to the LArSuperCell Monitoring...,!69643Draft: added back ditau chain for commissioning,!69589Draft: Rely on callables to deffer createion of sequences in HLT menu generation,!69450Draft: Adding WP Scan GN2 vs GN1,!69449Draft: Adding the Working Point Scan chains,!69341Draft: Removing BKee Triggers from CPS Group (ATR-19501),!69292Draft:Make InDetTimeCollection recording optional,!69228Updating LAr EM NTuple creation to CA based configuration,!69154gFEX: fix bug in gTower class,!69149Fix bug in gTower class,!69128Delayed jets, additional chains, ATR-28836,!69112Update test_q443.sh to use correct CA option,!69081Sim_tf - Toggle container output depending on whether AMDB or PhaseII style geometry is loaded
...@@ -31,8 +31,9 @@ def MuonGeoModelCfg(flags): ...@@ -31,8 +31,9 @@ def MuonGeoModelCfg(flags):
if flags.Muon.usePhaseIIGeoSetup: if flags.Muon.usePhaseIIGeoSetup:
from MuonGeoModelR4.MuonGeoModelConfig import MuonGeoModelCfg as MuonGeoModelCfgR4 from MuonGeoModelR4.MuonGeoModelConfig import MuonGeoModelCfg as MuonGeoModelCfgR4
result.merge(MuonGeoModelCfgR4(flags)) result.merge(MuonGeoModelCfgR4(flags))
from MuonGeometryCnv.MuonReadoutGeomCnvCfg import MuonReadoutGeometryCnvAlgCfg if flags.Common.ProductionStep != ProductionStep.Simulation:
result.merge(MuonReadoutGeometryCnvAlgCfg(flags)) from MuonGeometryCnv.MuonReadoutGeomCnvCfg import MuonReadoutGeometryCnvAlgCfg
result.merge(MuonReadoutGeometryCnvAlgCfg(flags))
return result return result
result.merge(MuonGeoModelToolCfg(flags)) result.merge(MuonGeoModelToolCfg(flags))
......
...@@ -61,3 +61,5 @@ def SimHitContainerListCfg(flags): ...@@ -61,3 +61,5 @@ def SimHitContainerListCfg(flags):
simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")] simHitContainers+=[("CSCSimHitCollection", "CSC_Hits")]
return simHitContainers 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): ...@@ -37,9 +37,10 @@ def ActsGeomContextAlgCfg(flags, name="ActsGeomContextAlg", **kwargs):
result.merge(ActsMuonAlignCondAlgCfg(flags)) result.merge(ActsMuonAlignCondAlgCfg(flags))
inAlignContainers = [] inAlignContainers = []
if flags.Detector.GeometryMDT: inAlignContainers += ["MdtActsAlignContainer"] if (flags.Muon.enableAlignment or flags.Muon.applyMMPassivation):
if flags.Detector.GeometryRPC: inAlignContainers += ["RpcActsAlignContainer"] if flags.Detector.GeometryMDT: inAlignContainers += ["MdtActsAlignContainer"]
if flags.Detector.GeometryTGC: inAlignContainers += ["TgcActsAlignContainer"] if flags.Detector.GeometryRPC: inAlignContainers += ["RpcActsAlignContainer"]
if flags.Detector.GeometryTGC: inAlignContainers += ["TgcActsAlignContainer"]
kwargs.setdefault("AlignKeys", inAlignContainers) kwargs.setdefault("AlignKeys", inAlignContainers)
the_alg = CompFactory.ActsMuonGeomContextAlg(name, **kwargs) the_alg = CompFactory.ActsMuonGeomContextAlg(name, **kwargs)
......
...@@ -11,13 +11,11 @@ def setupTestOutputCfg(flags,**kwargs): ...@@ -11,13 +11,11 @@ def setupTestOutputCfg(flags,**kwargs):
# ============================= # =============================
# Define contents of the format # Define contents of the format
# ============================= # =============================
sim_containers = ["xMdtSimHits", "xRpcSimHits", "xTgcSimHits","xMmSimHits","xStgcSimHits"] from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
container_items = ["xAOD::TruthParticleContainer#", container_items = ["xAOD::TruthParticleContainer#",
"xAOD::TruthParticleAuxContainer#", "xAOD::TruthParticleAuxContainer#",
"McEventCollection#"] "McEventCollection#"] + OutputSimContainersCfg(flags)
for cont in sim_containers:
container_items +=[ "xAOD::MuonSimHitContainer#{cont}".format(cont = cont),
"xAOD::MuonSimHitAuxContainer#{cont}Aux.".format(cont = cont)]
from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
kwargs.setdefault("ItemList", container_items) kwargs.setdefault("ItemList", container_items)
......
...@@ -90,6 +90,7 @@ def SetupSensitiveDetectorsCfg(flags): ...@@ -90,6 +90,7 @@ def SetupSensitiveDetectorsCfg(flags):
result.setPrivateTools(tools) result.setPrivateTools(tools)
return result return result
### Name of the container names written by the R4 sensitive detectors
def SimHitContainerListCfg(flags): def SimHitContainerListCfg(flags):
simHitContainers = [] simHitContainers = []
if flags.Detector.EnableMDT: if flags.Detector.EnableMDT:
...@@ -101,6 +102,25 @@ def SimHitContainerListCfg(flags): ...@@ -101,6 +102,25 @@ def SimHitContainerListCfg(flags):
if flags.Detector.EnableTGC: if flags.Detector.EnableTGC:
simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits")] simHitContainers+=[("xAOD::MuonSimHitContainer", "xRawTgcSimHits")]
if flags.Detector.EnablesTGC: 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 outContainers +=[ f"xAOD::MuonSimHitContainer#{cont}" for cont in containerNames]
\ No newline at end of file outContainers +=[ f"xAOD::MuonSimHitAuxContainer#{cont}Aux." for cont in containerNames]
return outContainers
...@@ -69,13 +69,16 @@ def Kernel_GenericSimulatorMTCfg(flags, name="ISF_Kernel_GenericSimulatorMT", ** ...@@ -69,13 +69,16 @@ def Kernel_GenericSimulatorMTCfg(flags, name="ISF_Kernel_GenericSimulatorMT", **
kwargs.setdefault("InputEvgenCollection", "BeamTruthEvent") kwargs.setdefault("InputEvgenCollection", "BeamTruthEvent")
kwargs.setdefault("OutputTruthCollection", "TruthEvent") kwargs.setdefault("OutputTruthCollection", "TruthEvent")
from SimulationConfig.SimEnums import CalibrationRun from SimulationConfig.SimEnums import CalibrationRun
from G4AtlasTools.G4AtlasToolsConfig import SimHitContainerListCfg
ExtraOutputs = SimHitContainerListCfg(flags)
if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]: if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]:
# Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly. # Needed to ensure that DeadMaterialCalibrationHitsMerger is scheduled correctly.
kwargs.setdefault("ExtraOutputs", [ ExtraOutputs+=[
( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitActive_DEAD' ), ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitActive_DEAD' ),
( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitDeadMaterial_DEAD' ), ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitDeadMaterial_DEAD' ),
( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitInactive_DEAD' ) ( 'CaloCalibrationHitContainer', 'StoreGateSvc+LArCalibrationHitInactive_DEAD' )
]) ]
kwargs.setdefault("ExtraOutputs", ExtraOutputs )
if flags.Sim.ISF.Simulator.isQuasiStable(): if flags.Sim.ISF.Simulator.isQuasiStable():
if "QuasiStablePatcher" not in kwargs: if "QuasiStablePatcher" not in kwargs:
......
...@@ -70,24 +70,14 @@ def getStreamHITS_ItemList(flags): ...@@ -70,24 +70,14 @@ def getStreamHITS_ItemList(flags):
# HGTD # HGTD
if flags.Detector.EnableHGTD: if flags.Detector.EnableHGTD:
ItemList += ["SiHitCollection#HGTD_Hits"] ItemList += ["SiHitCollection#HGTD_Hits"]
#CSC
if flags.Detector.EnableCSC: if flags.Detector.GeometryMuon:
ItemList+=["CSCSimHitCollection#CSC_Hits"] if flags.Muon.usePhaseIIGeoSetup:
#MDT from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg import OutputSimContainersCfg
if flags.Detector.EnableMDT: ItemList += OutputSimContainersCfg(flags)
ItemList+=["MDTSimHitCollection#MDT_Hits"] else:
#RPC from MuonG4SD.MuonG4SDConfig import OutputSimContainersCfg
if flags.Detector.EnableRPC: ItemList += OutputSimContainersCfg(flags)
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"]
return ItemList return ItemList
......
...@@ -92,25 +92,15 @@ def getStreamHITS_ItemList(flags): ...@@ -92,25 +92,15 @@ def getStreamHITS_ItemList(flags):
"TileHitVector#TileHitVec_G4", "TileHitVector#TileHitVec_G4",
"TileHitVector#TileHitVec_FastCaloSim"] "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.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"] ItemList += ["TrackRecordCollection#MuonExitLayer"]
if flags.Detector.EnableLucid: 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