diff --git a/Simulation/Digitization/python/DigitizationFlags.py b/Simulation/Digitization/python/DigitizationFlags.py index 4209095bea311ccb52667a142c3a07057243ba50..770f761fdccfd959f177568fae7c79085e5a099e 100755 --- a/Simulation/Digitization/python/DigitizationFlags.py +++ b/Simulation/Digitization/python/DigitizationFlags.py @@ -737,6 +737,14 @@ class TRTRangeCut(JobProperty): allowedValues = [0.05,30.0] StoredValue=0.05 +# +class PileUpPremixing(JobProperty): + """ Run pile-up premixing + """ + statusOn=True + allowedTypes=['bool'] + StoredValue=False + # # Defines the container for the digitization flags class Digitization(JobPropertyContainer): @@ -808,7 +816,7 @@ list_jobproperties=[doInDetNoise,doCaloNoise,doMuonNoise,doFwdNoise,doRadiationD bunchSpacing,initialBunchCrossing,finalBunchCrossing,doXingByXingPileUp,\ simRunNumber,dataRunNumber,BeamIntensityPattern,FixedT0BunchCrossing,cavernIgnoresBeamInt,\ RunAndLumiOverrideList,SignalPatternForSteppingCache, - experimentalDigi,pileupDSID,specialConfiguration,digiSteeringConf,TRTRangeCut] + experimentalDigi,pileupDSID,specialConfiguration,digiSteeringConf,TRTRangeCut,PileUpPremixing] for i in list_jobproperties: jobproperties.Digitization.add_JobProperty(i) diff --git a/Simulation/SimuJobTransforms/python/simTrfArgs.py b/Simulation/SimuJobTransforms/python/simTrfArgs.py index a6aa6cc872d23f0f07dd760978055b92219bf826..ff1d0b811b37893ab30f78c83ec0e60af990ec23 100644 --- a/Simulation/SimuJobTransforms/python/simTrfArgs.py +++ b/Simulation/SimuJobTransforms/python/simTrfArgs.py @@ -69,6 +69,9 @@ def addBasicDigiArgs(parser): parser.add_argument('--AddCaloDigi', type=argFactory(argBool), help='Save Calo Digits too, not just RawChannels.', group='Digi') + parser.add_argument('--PileUpPremixing', + type=argFactory(argBool), + help='Run digitization with pile-up premixing configuration.', group='Digi') ## Add Pile-up related transform arguments to an argparse ArgumentParser def addPileUpTrfArgs(parser): diff --git a/Simulation/SimuJobTransforms/scripts/Digi_tf.py b/Simulation/SimuJobTransforms/scripts/Digi_tf.py index df78dcf61aaa3edbbc7cd35461e7932d5abda782..33581357fd33fd393217411d161e877a12ad80d3 100755 --- a/Simulation/SimuJobTransforms/scripts/Digi_tf.py +++ b/Simulation/SimuJobTransforms/scripts/Digi_tf.py @@ -25,7 +25,7 @@ from SimuJobTransforms.simTrfArgs import addForwardDetTrfArgs, addBasicDigiArgs, import PyJobTransforms.trfArgClasses as trfArgClasses # Prodsys hack... -ListOfDefaultPositionalKeys=['--AFPOn', '--ALFAOn', '--AddCaloDigi', '--DBRelease', '--DataRunNumber', '--FwdRegionOn', '--LucidOn', '--ZDCOn', '--amiConfig', '--amiMetadataTag', '--asetup', '--athena', '--athenaopts', '--beamType', '--bunchSpacing', '--checkEventCount', '--command', '--conditionsTag', '--digiRndmSvc', '--digiSeedOffset1', '--digiSeedOffset2', '--doAllNoise', '--env', '--eventAcceptanceEfficiency', '--execOnly', '--geometryVersion', '--ignoreErrors', '--ignoreFiles', '--ignorePatterns', '--imf', '--inputBeamGasHitsFile', '--inputBeamHaloHitsFile', '--inputCavernHitsFile', '--inputHITSFile', '--inputHighPtMinbiasHitsFile', '--inputLowPtMinbiasHitsFile', '--jobNumber', '--maxEvents', '--numberOfBeamGas', '--numberOfBeamHalo', '--numberOfCavernBkg', '--numberOfHighPtMinBias', '--numberOfLowPtMinBias', '--outputRDOFile', '--outputRDO_FILTFile', '--pileupFinalBunch', '--pileupInitialBunch', '--postExec', '--postInclude', '--preExec', '--preInclude', '--reportName', '--reportType', '--runNumber', '--samplingFractionDbTag', '--showGraph', '--showPath', '--showSteps', '--skipEvents', '--skipFileValidation', '--skipInputFileValidation', '--skipOutputFileValidation', '--tcmalloc', '--testPileUpConfig', '--triggerConfig'] +ListOfDefaultPositionalKeys=['--AFPOn', '--ALFAOn', '--AddCaloDigi', '--DBRelease', '--DataRunNumber', '--FwdRegionOn', '--LucidOn', '--PileUpPremixing', '--ZDCOn', '--amiConfig', '--amiMetadataTag', '--asetup', '--athena', '--athenaopts', '--beamType', '--bunchSpacing', '--checkEventCount', '--command', '--conditionsTag', '--digiRndmSvc', '--digiSeedOffset1', '--digiSeedOffset2', '--doAllNoise', '--env', '--eventAcceptanceEfficiency', '--execOnly', '--geometryVersion', '--ignoreErrors', '--ignoreFiles', '--ignorePatterns', '--imf', '--inputBeamGasHitsFile', '--inputBeamHaloHitsFile', '--inputCavernHitsFile', '--inputHITSFile', '--inputHighPtMinbiasHitsFile', '--inputLowPtMinbiasHitsFile', '--jobNumber', '--maxEvents', '--numberOfBeamGas', '--numberOfBeamHalo', '--numberOfCavernBkg', '--numberOfHighPtMinBias', '--numberOfLowPtMinBias', '--outputRDOFile', '--outputRDO_FILTFile', '--pileupFinalBunch', '--pileupInitialBunch', '--postExec', '--postInclude', '--preExec', '--preInclude', '--reportName', '--reportType', '--runNumber', '--samplingFractionDbTag', '--showGraph', '--showPath', '--showSteps', '--skipEvents', '--skipFileValidation', '--skipInputFileValidation', '--skipOutputFileValidation', '--tcmalloc', '--testPileUpConfig', '--triggerConfig'] @stdTrfExceptionHandler @sigUsrStackTrace diff --git a/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py b/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py index d9406d810f381bf70424daa3cf7b6317deb32d2b..3ebd5a0325a1e53d6c452c7f800453967416f7aa 100644 --- a/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py +++ b/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py @@ -199,6 +199,10 @@ if hasattr(runArgs,"conditionsTag"): if(runArgs.conditionsTag!='NONE'): digitizationFlags.IOVDbGlobalTag = runArgs.conditionsTag +if hasattr(runArgs,"PileUpPremixing"): + digilog.info("Doing pile-up premixing") + digitizationFlags.PileUpPremixing = runArgs.PileUpPremixing + #-------------------------------------------------------------- # Pileup configuration #-------------------------------------------------------------- @@ -405,11 +409,9 @@ if hasattr(runArgs,"outputRDOFile") or hasattr(runArgs,"outputRDO_FILTFile"): athenaCommonFlags.PoolRDOOutput.set_Value_and_Lock( runArgs.outputRDOFile ) elif hasattr(runArgs,"outputRDO_FILTFile"): athenaCommonFlags.PoolRDOOutput.set_Value_and_Lock( runArgs.outputRDO_FILTFile ) - if hasattr(runArgs, "AddCaloDigi"): - AddCaloDigi = runArgs.AddCaloDigi - if AddCaloDigi: - digilog.info("Will write out all LArDigitContainers and TileDigitsContainers to RDO file.") - digitizationFlags.experimentalDigi+=["AddCaloDigi"] + if digitizationFlags.PileUpPremixing or (hasattr(runArgs, "AddCaloDigi") and runArgs.AddCaloDigi): + digilog.info("Will write out all LArDigitContainers and TileDigitsContainers to RDO file.") + digitizationFlags.experimentalDigi+=["AddCaloDigi"] else: digilog.info("no output file (outputRDOFile or outputRDO_FILTFile) specified - switching off output StreamRDO") if not 'DetFlags' in dir():