Skip to content
Snippets Groups Projects
Commit 67b6204d authored by Vakhtang Tsulaia's avatar Vakhtang Tsulaia
Browse files

Merge branch 'PileUpEventLoopMgr_CA_master' into 'master'

Updates for the ComponentAccumulator-based configuration of Pile-up Digitization jobs

See merge request atlas/athena!37996
parents 17dcc201 fd016702
No related branches found
No related tags found
No related merge requests found
......@@ -22,9 +22,8 @@ def MainServicesMiniCfg(loopMgr='AthenaEventLoopMgr', masterSequence='AthAlgSeq'
return cfg
def MainServicesCfg(cfgFlags):
def MainServicesCfg(cfgFlags, LoopMgr='AthenaEventLoopMgr'):
# Run a serial job for threads=0
LoopMgr = 'AthenaEventLoopMgr'
if cfgFlags.Concurrency.NumThreads>0:
if cfgFlags.Concurrency.NumConcurrentEvents==0:
# In a threaded job this will mess you up because no events will be processed
......
......@@ -133,6 +133,22 @@ def BeamEffectsAlgCfg(ConfigFlags, **kwargs):
return acc
def BeamSpotFixerAlgCfg(ConfigFlags, **kwargs):
from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
acc = BeamSpotCondAlgCfg(ConfigFlags)
kwargs.setdefault('InputKey', 'Input_EventInfo')
if ConfigFlags.Digitization.PileUpPremixing:
kwargs.setdefault('OutputKey', ConfigFlags.Overlay.BkgPrefix + 'EventInfo')
else:
kwargs.setdefault('OutputKey', 'EventInfo')
alg = CompFactory.Simulation.BeamSpotFixerAlg(name="BeamSpotFixerAlg", **kwargs)
acc.addEventAlgo(alg, sequenceName="AthAlgSeq", primary=True)
return acc
if __name__ == "__main__":
from AthenaCommon.Logging import log
from AthenaCommon.Constants import DEBUG
......
......@@ -11,11 +11,17 @@ from Digitization.RunDependentConfigNew import (
maxNevtsPerXing,
LumiProfileSvcCfg, NoProfileSvcCfg,
)
from BeamEffects.BeamEffectsAlgConfig import BeamSpotFixerAlgCfg
def PileUpConfigdSFMT(name):
"""Local wrapper for dSFMT RNG service"""
return dSFMT(name + " OFFSET 340 123 345")
seedOffset = " OFFSET 340 123 345"
if name=="PileUpCollXingStream":
seedOffset = " OFFSET 340 123 345"
if name=="BEAMINT":
seedOffset = " OFFSET 340 678 91011"
return dSFMT(name + seedOffset)
def StepArrayBMCfg(flags, name="StepArrayBM", **kwargs):
......@@ -37,7 +43,7 @@ def FixedArrayBMCfg(flags, name="FixedArrayBM", **kwargs):
def ArrayBMCfg(flags, name="ArrayBM", **kwargs):
acc = ComponentAccumulator()
kwargs.setdefault("IntensityPattern", flags.Digitization.PU.BeamIntensityPattern)
acc.merge(PileUpConfigdSFMT("PileUpCollXingStream"))
acc.merge(PileUpConfigdSFMT("BEAMINT"))
kwargs.setdefault("RandomSvc", acc.getService("AtDSFMTGenSvc"))
acc.addService(CompFactory.ArrayBM(name, **kwargs))
return acc
......@@ -259,7 +265,8 @@ def BeamHaloCacheCfg(flags, name="BeamHaloCache", **kwargs):
def PileUpEventLoopMgrCfg(flags, name="PileUpEventLoopMgr", **kwargs):
acc = ComponentAccumulator()
acc = BeamSpotFixerAlgCfg(flags) # Needed currently for running on 21.0 HITS
# SubDet By SubDet (default) or Xing By Xing Pile-up?
kwargs.setdefault("XingByXing", flags.Digitization.DoXingByXingPileUp)
# Bunch Structure
......
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