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

Fix SplitPileUpToolsAlg and add SplitSFPileUpToolsAlg

Adding the missing conditions folder configuration to the
`PixelDigitizationToolHS` `CfgGetter` method. This fixes
running digitization with the `SplitPileUpToolsAlg`.
This runs full digitization for both pile-up and hard-scatter.
Then added a new configuration called `SplitSFPileUpToolsAlg`
which runs full digitization for hard-scatter and fast digitization
for pile-up.

These changes are part of the work for ATLASSIM-3737.

Former-commit-id: 86cde12241b0399c48762844a0a86dde93e6b5be
parent b5545167
No related branches found
No related tags found
No related merge requests found
...@@ -179,6 +179,22 @@ def getSplitInDetPileUpTools(): ...@@ -179,6 +179,22 @@ def getSplitInDetPileUpTools():
PileUpToolsList += [ "TRTDigitizationToolPU" ] PileUpToolsList += [ "TRTDigitizationToolPU" ]
return PileUpToolsList return PileUpToolsList
def getSplitSFInDetPileUpTools():
from AthenaCommon.DetFlags import DetFlags
PileUpToolsList = []
if DetFlags.digitize.BCM_on():
PileUpToolsList += [ "BCM_DigitizationTool" ]
if DetFlags.digitize.pixel_on():
PileUpToolsList += [ "PixelDigitizationToolHS" ]
PileUpToolsList += [ "PixelFastDigitizationToolPU" ]
if DetFlags.digitize.SCT_on():
PileUpToolsList += [ "SCT_DigitizationToolHS" ]
PileUpToolsList += [ "SCT_FastDigitizationToolPU" ]
if DetFlags.digitize.TRT_on():
PileUpToolsList += [ "TRTDigitizationToolHS" ]
PileUpToolsList += [ "TRTFastDigitizationToolPU" ]
return PileUpToolsList
def getSplitNoMergeInDetPileUpTools(): def getSplitNoMergeInDetPileUpTools():
""" This is for testing the fast chain with full digitization in split PU mode without """ This is for testing the fast chain with full digitization in split PU mode without
merging pileup merging pileup
...@@ -379,6 +395,22 @@ def getSplitPileUpToolsList(): ...@@ -379,6 +395,22 @@ def getSplitPileUpToolsList():
PileUpToolsList += [ "MergeRecoTimingObjTool" ] PileUpToolsList += [ "MergeRecoTimingObjTool" ]
return PileUpToolsList return PileUpToolsList
def getSplitSFPileUpToolsList():
PileUpToolsList = []
## Truth information
PileUpToolsList += getStandardTruthPileUpTools()
## Forward Detector Digitization
PileUpToolsList += getStandardForwardPileUpTools()
## Inner Detector Digitization - non-standard
PileUpToolsList += getSplitSFInDetPileUpTools()
## Calo Digitization
PileUpToolsList += getStandardCaloPileUpTools()
## Muon System Digitization
PileUpToolsList += getStandardMuonPileUpTools()
## RecoTimingObj
PileUpToolsList += [ "MergeRecoTimingObjTool" ]
return PileUpToolsList
def getSplitNoMergePileUpToolsList(): def getSplitNoMergePileUpToolsList():
PileUpToolsList = [] PileUpToolsList = []
## Truth information ## Truth information
...@@ -459,6 +491,10 @@ def getSplitPileUpToolsAlg(name="SplitPileUpToolsAlg", **kwargs): ...@@ -459,6 +491,10 @@ def getSplitPileUpToolsAlg(name="SplitPileUpToolsAlg", **kwargs):
kwargs.setdefault('PileUpTools', getSplitPileUpToolsList() ) kwargs.setdefault('PileUpTools', getSplitPileUpToolsList() )
return getStandardPileUpToolsAlg(name, **kwargs) return getStandardPileUpToolsAlg(name, **kwargs)
def getSplitSFPileUpToolsAlg(name="SplitSFPileUpToolsAlg", **kwargs):
kwargs.setdefault('PileUpTools', getSplitSFPileUpToolsList() )
return getStandardPileUpToolsAlg(name, **kwargs)
def getStandardSignalOnlyTruthPileUpToolsAlg(name="StandardSignalOnlyTruthPileUpToolsAlg", **kwargs): def getStandardSignalOnlyTruthPileUpToolsAlg(name="StandardSignalOnlyTruthPileUpToolsAlg", **kwargs):
kwargs.setdefault('PileUpTools', getStandardSignalOnlyTruthPileUpToolsList() ) kwargs.setdefault('PileUpTools', getStandardSignalOnlyTruthPileUpToolsList() )
return getStandardPileUpToolsAlg(name, **kwargs) return getStandardPileUpToolsAlg(name, **kwargs)
......
...@@ -34,7 +34,7 @@ def getStreamRDO_ItemList(log): ...@@ -34,7 +34,7 @@ def getStreamRDO_ItemList(log):
if standardDigiConfig(): if standardDigiConfig():
noFastDigi = set(keys).isdisjoint(set(digitizationFlags.experimentalDigi())) noFastDigi = set(keys).isdisjoint(set(digitizationFlags.experimentalDigi()))
else: else:
noFastDigi = set(['SplitNoMergeFFPileUpToolsAlg', 'SplitNoMergeSFPileUpToolsAlg', 'SplitNoMergeFSPileUpToolsAlg', 'FastPileUpToolsAlg']).isdisjoint(set([digitizationFlags.digiSteeringConf.get_Value()])) noFastDigi = set(['SplitNoMergeFFPileUpToolsAlg', 'SplitNoMergeSFPileUpToolsAlg', 'SplitNoMergeFSPileUpToolsAlg', 'FastPileUpToolsAlg', 'SplitSFPileUpToolsAlg']).isdisjoint(set([digitizationFlags.digiSteeringConf.get_Value()]))
return not noFastDigi return not noFastDigi
def fastPixelDigiOutputExpected(): def fastPixelDigiOutputExpected():
......
...@@ -30,6 +30,7 @@ addService("Digitization.PileUpConfig.getPileUpEventLoopMgr" , "PileUpEv ...@@ -30,6 +30,7 @@ addService("Digitization.PileUpConfig.getPileUpEventLoopMgr" , "PileUpEv
addAlgorithm("Digitization.DigiAlgConfig.getStandardPileUpToolsAlg" , "StandardPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardPileUpToolsAlg" , "StandardPileUpToolsAlg")
addAlgorithm("Digitization.DigiAlgConfig.getFastPileUpToolsAlg" , "FastPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getFastPileUpToolsAlg" , "FastPileUpToolsAlg")
addAlgorithm("Digitization.DigiAlgConfig.getSplitPileUpToolsAlg" , "SplitPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getSplitPileUpToolsAlg" , "SplitPileUpToolsAlg")
addAlgorithm("Digitization.DigiAlgConfig.getSplitSFPileUpToolsAlg" , "SplitSFPileUpToolsAlg")
addAlgorithm("Digitization.DigiAlgConfig.getStandardSignalOnlyTruthPileUpToolsAlg" , "StandardSignalOnlyTruthPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardSignalOnlyTruthPileUpToolsAlg" , "StandardSignalOnlyTruthPileUpToolsAlg")
addAlgorithm("Digitization.DigiAlgConfig.getStandardInTimeOnlyTruthPileUpToolsAlg" , "StandardInTimeOnlyTruthPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardInTimeOnlyTruthPileUpToolsAlg" , "StandardInTimeOnlyTruthPileUpToolsAlg")
addAlgorithm("Digitization.DigiAlgConfig.getStandardInTimeOnlyGeantinoTruthPileUpToolsAlg" , "StandardInTimeOnlyGeantinoTruthPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardInTimeOnlyGeantinoTruthPileUpToolsAlg" , "StandardInTimeOnlyGeantinoTruthPileUpToolsAlg")
......
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