From 14c1b12754534b88d6a94fa8fd42c35900e95bf5 Mon Sep 17 00:00:00 2001 From: Dave Casper <dcasper@uci.edu> Date: Sun, 23 Jun 2024 16:46:59 -0700 Subject: [PATCH] Recommission simulation scripts --- .../Generation/scripts/faser_particlegun.py | 56 ++++++++++++++----- .../Simulation/scripts/faser_simulate.py | 44 ++++++++++----- package_filters.txt | 2 + 3 files changed, 73 insertions(+), 29 deletions(-) diff --git a/Control/CalypsoExample/Generation/scripts/faser_particlegun.py b/Control/CalypsoExample/Generation/scripts/faser_particlegun.py index 4a70ec152..b3206fe42 100755 --- a/Control/CalypsoExample/Generation/scripts/faser_particlegun.py +++ b/Control/CalypsoExample/Generation/scripts/faser_particlegun.py @@ -64,6 +64,14 @@ if __name__ == '__main__': # configFlags.Output.HITSFileName = args.outfile # +# More config flags (R24) +# + configFlags.Common.MsgSourceLength = 30 + configFlags.Input.MCCampaign = Campaign.Unknown + configFlags.Input.TypedCollections = [] + configFlags.Input.MetadataItems = [] + configFlags.Beam.Type = BeamType.Collisions +# # Sim configFlags # configFlags.GeoModel.Layout = "FASER" @@ -240,27 +248,35 @@ if __name__ == '__main__': cfg.merge(FaserParticleGunCfg(configFlags)) from McEventSelector.McEventSelectorConfig import McEventSelectorCfg cfg.merge(McEventSelectorCfg(configFlags)) - -# -# Output file -# - from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg - cfg.merge(PoolWriteCfg(configFlags)) - # -# Shift LOS +# Shift LOS for particle gun (into AthBeginSeq) # - if doShiftLOS: + import McParticleEvent.Pythonizations from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg - cfg.merge(ShiftLOSCfg(configFlags, - xcross = configFlags.Sim.Beam.xangle, - ycross = configFlags.Sim.Beam.yangle, - xshift = configFlags.Sim.Beam.xshift, - yshift = configFlags.Sim.Beam.yshift)) - + xcross = configFlags.Sim.Beam.xangle, ycross = configFlags.Sim.Beam.yangle, + xshift = configFlags.Sim.Beam.xshift, yshift = configFlags.Sim.Beam.yshift), + sequenceName = "AthBeginSeq") +# # +# # Shift LOS +# # + +# if doShiftLOS: +# import McParticleEvent.Pythonizations +# from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg + +# cfg.merge(ShiftLOSCfg(configFlags, +# xcross = configFlags.Sim.Beam.xangle, +# ycross = configFlags.Sim.Beam.yangle, +# xshift = configFlags.Sim.Beam.xshift, +# yshift = configFlags.Sim.Beam.yshift)) +# +# Header conversion seems necessary to write events +# + from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg + cfg.merge(EventInfoCnvAlgCfg(configFlags, disableBeamSpot=True)) # # Add the G4FaserAlg @@ -277,6 +293,16 @@ if __name__ == '__main__': OutputStreamHITS = cfg.getEventAlgo("OutputStreamHITS") OutputStreamHITS.RequireAlgs = ["MuonFilter"] # +# Output file +# + AcceptAlgNames = ['G4FaserAlg'] + from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg + from G4FaserAlg.G4FaserAlgConfig import getG4FaserAlgItemList + cfg.merge(OutputStreamCfg(configFlags, "HITS", ItemList=getG4FaserAlgItemList(configFlags), disableEventTag=True, AcceptAlgs=AcceptAlgNames)) + # Add in-file MetaData + from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg + cfg.merge(SetupMetaDataForStreamCfg(configFlags, "HITS", AcceptAlgs=AcceptAlgNames)) +# # Dump config # from AthenaConfiguration.ComponentFactory import CompFactory diff --git a/Control/CalypsoExample/Simulation/scripts/faser_simulate.py b/Control/CalypsoExample/Simulation/scripts/faser_simulate.py index 411aee146..ba5a4b947 100755 --- a/Control/CalypsoExample/Simulation/scripts/faser_simulate.py +++ b/Control/CalypsoExample/Simulation/scripts/faser_simulate.py @@ -111,6 +111,8 @@ if __name__ == '__main__': from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG, VERBOSE from AthenaCommon.Configurable import Configurable + from Campaigns.Utils import Campaign + from AthenaConfiguration.Enums import BeamType log.setLevel(DEBUG) Configurable.configurableRun3Behavior = 1 # @@ -143,6 +145,14 @@ if __name__ == '__main__': # configFlags.Output.HITSFileName = outfile # +# More config flags (R24) +# + configFlags.Common.MsgSourceLength = 30 + configFlags.Input.MCCampaign = Campaign.Unknown + configFlags.Input.TypedCollections = [] + configFlags.Input.MetadataItems = [] + configFlags.Beam.Type = BeamType.Collisions +# # Sim configFlags # configFlags.GeoModel.Layout = "FASER" @@ -226,9 +236,9 @@ if __name__ == '__main__': from HEPMCReader.HepMCReaderConfig import HepMCReaderCfg if doShiftLOS: - cfg.merge(HepMCReaderCfg(configFlags, McEventKey = "BeamTruthEvent_ATLASCoord")) + cfg.merge(HepMCReaderCfg(configFlags, McEventKey = "BeamTruthEvent_ATLASCoord"), sequenceName = "AthBeginSeq") else: - cfg.merge(HepMCReaderCfg(configFlags)) + cfg.merge(HepMCReaderCfg(configFlags), sequenceName = "AthBeginSeq") from McEventSelector.McEventSelectorConfig import McEventSelectorCfg cfg.merge(McEventSelectorCfg(configFlags)) @@ -244,12 +254,6 @@ if __name__ == '__main__': # Rename old truth collection to add ATLAS coord to can still use BeamTruthEvent for the one in FASER Coords cfg.merge(InputOverwriteCfg("McEventCollection", "BeamTruthEvent", "McEventCollection", "BeamTruthEvent_ATLASCoord")) -# -# Output file -# - from AthenaPoolCnvSvc.PoolWriteConfig import PoolWriteCfg - cfg.merge(PoolWriteCfg(configFlags)) - # # Shift LOS # @@ -258,18 +262,30 @@ if __name__ == '__main__': import McParticleEvent.Pythonizations from GeneratorUtils.ShiftLOSConfig import ShiftLOSCfg cfg.merge(ShiftLOSCfg(configFlags, - xcross = configFlags.Sim.Beam.xangle, - ycross = configFlags.Sim.Beam.yangle, - xshift = configFlags.Sim.Beam.xshift, - yshift = configFlags.Sim.Beam.yshift)) - - + xcross = configFlags.Sim.Beam.xangle, ycross = configFlags.Sim.Beam.yangle, + xshift = configFlags.Sim.Beam.xshift, yshift = configFlags.Sim.Beam.yshift), + sequenceName = "AthAlgSeq") +# +# Header conversion seems necessary to write events +# + from xAODEventInfoCnv.xAODEventInfoCnvConfig import EventInfoCnvAlgCfg + cfg.merge(EventInfoCnvAlgCfg(configFlags, disableBeamSpot=True)) # # Add the G4FaserAlg # from G4FaserAlg.G4FaserAlgConfig import G4FaserAlgCfg cfg.merge(G4FaserAlgCfg(configFlags)) # +# Output file +# + AcceptAlgNames = ['G4FaserAlg'] + from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg + from G4FaserAlg.G4FaserAlgConfig import getG4FaserAlgItemList + cfg.merge(OutputStreamCfg(configFlags, "HITS", ItemList=getG4FaserAlgItemList(configFlags), disableEventTag=True, AcceptAlgs=AcceptAlgNames)) + # Add in-file MetaData + from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg + cfg.merge(SetupMetaDataForStreamCfg(configFlags, "HITS", AcceptAlgs=AcceptAlgNames)) +# # Dump config # from AthenaConfiguration.ComponentFactory import CompFactory diff --git a/package_filters.txt b/package_filters.txt index f5b94017c..c284cbcef 100644 --- a/package_filters.txt +++ b/package_filters.txt @@ -13,11 +13,13 @@ #+Calorimeter/FaserCaloSimEvent +Calorimeter/.* +Control/CalypsoConfiguration ++Control/CalypsoExample/Generation +Control/CalypsoExample/GenEventExample +Control/CalypsoExample/GeoModelTest +Control/CalypsoExample/RDOReadExample +Control/CalypsoExample/Reconstruction +Control/CalypsoExample/SimHitExample ++Control/CalypsoExample/Simulation +Control/CalypsoExample/TrackerDataAccessExample +Control/CalypsoExample/TriggerDataAccessExample +Control/CalypsoExample/WaveformAnalysisExample -- GitLab