# Make a bigger world volume for cavern bg simFlags.WorldZRange.set_Value(26050) else: simFlags.EventFilter.set_On() include("G4AtlasApps/G4Atlas.flat.configuration.py") ## The looper killer is on by default. Disable it if this is requested. if hasattr(runArgs, "enableLooperKiller") and not runArgs.enableLooperKiller: simFlags.OptionalUserActionList.removeAction('G4UA::LooperKillerTool', ['Step']) atlasG4log.warning("The looper killer will NOT be run in this job.") try: from RecAlgs.RecAlgsConf import TimingAlg topSeq += TimingAlg("SimTimerBegin", TimingObjOutputName="EVNTtoHITS_timings") except: atlasG4log.warning( 'Could not add TimingAlg, no timing info will be written out.') from AthenaCommon.CfgGetter import getAlgorithm topSeq += getAlgorithm("BeamEffectsAlg", tryDefaultConfigurable=True) from AthenaCommon.CfgGetter import getAlgorithm topSeq += getAlgorithm("G4AtlasAlg", tryDefaultConfigurable=True) ## Add AMITag MetaData to TagInfoMgr if hasattr(runArgs, 'AMITag'): if runArgs.AMITag != "NONE": from AthenaCommon.AppMgr import ServiceMgr as svcMgr svcMgr.TagInfoMgr.ExtraTagValuePairs += ["AMITag", runArgs.AMITag]
simFlags.RunNumber = simFlags.RunDict.GetRunNumber(runArgs.jobNumber) fast_chain_log.info('Set run number based on dictionary to ' + str(simFlags.RunNumber)) ## removed code block for handling cosmics track record # get top sequence from AthenaCommon.AlgSequence import AlgSequence topSeq = AlgSequence() ## Set Overall per-Algorithm time-limit on the AlgSequence topSeq.TimeOut = 43200 * Units.s try: from RecAlgs.RecAlgsConf import TimingAlg topSeq += TimingAlg("SimTimerBegin", TimingObjOutputName="EVNTtoHITS_timings") except: fast_chain_log.warning( 'Could not add TimingAlg, no timing info will be written out.') from ISF_Config.ISF_jobProperties import ISF_Flags if hasattr(runArgs, 'simulator'): ISF_Flags.Simulator = runArgs.simulator else: ISF_Flags.Simulator = 'MC12G4' #### *********** import ISF_Example code here **************** #### include("ISF_Config/ISF_ConfigJobInclude.py") ## check to see if pileup emulation is being used, if so do post-ISF-config
# Initialise the algorithm sequence from AthenaCommon import CfgGetter from AthenaCommon.AlgSequence import AlgSequence job = AlgSequence() topSequence = job # Set Overall per-Algorithm time-limit on the AlgSequence topSequence.TimeOut = 43200 * Units.s #------------------------- # Timings #------------------------- try: from RecAlgs.RecAlgsConf import TimingAlg job += TimingAlg("OverlayTimerBegin", TimingObjOutputName="HITStoRDO_timings") except Exception: from AthenaCommon.Logging import logging logOverlay = logging.getLogger('Overlay') logOverlay.warning( 'Could not add TimingAlg, no timing info will be written out.') # Copy over timings if needed if not overlayFlags.isDataOverlay(): job += CfgGetter.getAlgorithm("CopyTimings") #------------------------- # Double event selector #------------------------- import AthenaPoolCnvSvc.ReadAthenaPoolDouble from AthenaCommon.AppMgr import ServiceMgr
digitizationFlags.dataRunNumber=runArgs.DataRunNumber from AthenaCommon.AlgSequence import AlgSequence topSeq = AlgSequence() ## Set Overall per-Algorithm time-limit on the AlgSequence topSeq.TimeOut = 43200 * Units.s try: timingOutput = "HITStoRDO_timings" if 'OverlayMT' in digitizationFlags.experimentalDigi(): from OverlayCommonAlgs.OverlayFlags import overlayFlags timingOutput = overlayFlags.bkgPrefix() + timingOutput from RecAlgs.RecAlgsConf import TimingAlg topSeq += TimingAlg("DigiTimerBegin", TimingObjOutputName = timingOutput) except: digilog.warning('Could not add TimingAlg, no timing info will be written out.') include ("Digitization/Digitization.py") if hasattr(runArgs,"AMITag"): from AthenaCommon.AppMgr import ServiceMgr as svcMgr svcMgr.TagInfoMgr.ExtraTagValuePairs.update({"AMITag": runArgs.AMITag}) #========================================================== # Use LZIB for compression of temporary outputs of AthenaMP #========================================================== from AthenaCommon.AppMgr import ServiceMgr as svcMgr; import AthenaPoolCnvSvc.AthenaPool if hasattr(runArgs, "outputRDOFile") and '_000' in runArgs.outputRDOFile: svcMgr.AthenaPoolCnvSvc.PoolAttributes += [ "DatabaseName = '" + athenaCommonFlags.PoolRDOOutput()+ "'; COMPRESSION_ALGORITHM = '1'" ]
# Go for it #-------------------------------------------------------------- if hasattr(runArgs,"DataRunNumber"): if runArgs.DataRunNumber>0: digilog.info( 'Overriding run number to be: %s ', runArgs.DataRunNumber ) digitizationFlags.dataRunNumber=runArgs.DataRunNumber from AthenaCommon.AlgSequence import AlgSequence topSeq = AlgSequence() ## Set Overall per-Algorithm time-limit on the AlgSequence topSeq.TimeOut = 43200 * Units.s try: from RecAlgs.RecAlgsConf import TimingAlg topSeq+=TimingAlg("DigiTimerBegin", TimingObjOutputName = "HITStoRDO_timings") except: digilog.warning('Could not add TimingAlg, no timing info will be written out.') include ("Digitization/Digitization.py") if hasattr(runArgs,"AMITag"): from AthenaCommon.AppMgr import ServiceMgr as svcMgr svcMgr.TagInfoMgr.ExtraTagValuePairs += ["AMITag", runArgs.AMITag ] # Increase max RDO output file size to 10 GB from AthenaCommon.AppMgr import ServiceMgr as svcMgr; import AthenaPoolCnvSvc.AthenaPool svcMgr.AthenaPoolCnvSvc.MaxFileSizes = [ "10000000000" ] #[ "15000000000" ] #Athena complains that 15GB files are not supported