diff --git a/Simulation/Digitization/python/DigiAlgConfig.py b/Simulation/Digitization/python/DigiAlgConfig.py index ae61ae9f9683e3c120236a93f1ee683699bdddc6..cbac1ef3a7fc309e34954d5d8704aa744a862759 100644 --- a/Simulation/Digitization/python/DigiAlgConfig.py +++ b/Simulation/Digitization/python/DigiAlgConfig.py @@ -179,6 +179,22 @@ def getSplitInDetPileUpTools(): PileUpToolsList += [ "TRTDigitizationToolPU" ] 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(): """ This is for testing the fast chain with full digitization in split PU mode without merging pileup @@ -379,6 +395,22 @@ def getSplitPileUpToolsList(): PileUpToolsList += [ "MergeRecoTimingObjTool" ] 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(): PileUpToolsList = [] ## Truth information @@ -459,6 +491,10 @@ def getSplitPileUpToolsAlg(name="SplitPileUpToolsAlg", **kwargs): kwargs.setdefault('PileUpTools', getSplitPileUpToolsList() ) return getStandardPileUpToolsAlg(name, **kwargs) +def getSplitSFPileUpToolsAlg(name="SplitSFPileUpToolsAlg", **kwargs): + kwargs.setdefault('PileUpTools', getSplitSFPileUpToolsList() ) + return getStandardPileUpToolsAlg(name, **kwargs) + def getStandardSignalOnlyTruthPileUpToolsAlg(name="StandardSignalOnlyTruthPileUpToolsAlg", **kwargs): kwargs.setdefault('PileUpTools', getStandardSignalOnlyTruthPileUpToolsList() ) return getStandardPileUpToolsAlg(name, **kwargs) diff --git a/Simulation/Digitization/python/DigiOutput.py b/Simulation/Digitization/python/DigiOutput.py index 0b4f1521e7f72d0ead983851028597fdcfe7a8f3..08e7afa176661d4f3fefd80471161bff3f1fe59b 100644 --- a/Simulation/Digitization/python/DigiOutput.py +++ b/Simulation/Digitization/python/DigiOutput.py @@ -34,7 +34,7 @@ def getStreamRDO_ItemList(log): if standardDigiConfig(): noFastDigi = set(keys).isdisjoint(set(digitizationFlags.experimentalDigi())) 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 def fastPixelDigiOutputExpected(): diff --git a/Simulation/Digitization/python/DigitizationConfigDb.py b/Simulation/Digitization/python/DigitizationConfigDb.py index a791db8ec48534ca9d14fde3238da646dd2ac514..e95e5364e89d3f22999b0c6fb9d92c3623c7075b 100644 --- a/Simulation/Digitization/python/DigitizationConfigDb.py +++ b/Simulation/Digitization/python/DigitizationConfigDb.py @@ -30,6 +30,7 @@ addService("Digitization.PileUpConfig.getPileUpEventLoopMgr" , "PileUpEv addAlgorithm("Digitization.DigiAlgConfig.getStandardPileUpToolsAlg" , "StandardPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getFastPileUpToolsAlg" , "FastPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getSplitPileUpToolsAlg" , "SplitPileUpToolsAlg") +addAlgorithm("Digitization.DigiAlgConfig.getSplitSFPileUpToolsAlg" , "SplitSFPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardSignalOnlyTruthPileUpToolsAlg" , "StandardSignalOnlyTruthPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardInTimeOnlyTruthPileUpToolsAlg" , "StandardInTimeOnlyTruthPileUpToolsAlg") addAlgorithm("Digitization.DigiAlgConfig.getStandardInTimeOnlyGeantinoTruthPileUpToolsAlg" , "StandardInTimeOnlyGeantinoTruthPileUpToolsAlg")