def ensureJobOptions(self): # Check the runArgs: if self._runArgsFile is None: msg.warning('No runArgs available') if not findFile(os.environ["JOBOPTSEARCHPATH"], self._runArgsFile): msg.warning('Could not find runArgs file %s' % self._runArgsFile) # Check the skeleton(s): for skeleton in self._exe._skeleton: if not findFile(os.environ["JOBOPTSEARCHPATH"], skeleton): msg.warning('Could not find job options skeleton file %s' % skeleton)
def main(): if len(sys.argv) < 2: msg.error('No test argument was given') sys.exit(1) if 'DATAPATH' not in os.environ: msg.error( 'There is no DATAPATH to search along - is the release setup?') sys.exit(1) testScript = os.path.join('JobTransforms/test', sys.argv[1]) pathToTestScript = findFile(os.environ['DATAPATH'], testScript) if pathToTestScript is None: msg.error('Test {0} was not found along DATAPATH'.format(testScript)) sys.exit(1) msg.info('Found test {0} here: {1}'.format(sys.argv[1], pathToTestScript)) os.execv(pathToTestScript, sys.argv[1:])
#-------------------------------------------------------------- # FTK algorithm inclusions #-------------------------------------------------------------- from AthenaCommon.AppMgr import ToolSvc from TrigFTKSim.TrigFTKSimConf import FTKDetectorTool, FTKDumpCondAlgo print "Add FTKDetector tool" FTKDet = FTKDetectorTool() FTKDet.FTK_BadModuleMapPath = "badModulemap_12LiblHW3D_FTK.bmap" FTKDet.ATLAS_BadModuleMapPath = "badModulemap_12LinlHW3D_ATLAS.bmap" FTKDet.dumpAllModules = True from PyJobTransforms.trfUtils import findFile pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12LiblHW.pmap') FTKDet.pmap_path = pmap_path rmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12Libl64TmodB.tmap') FTKDet.rmap_path = rmap_path ToolSvc += FTKDet FTKDumpCond = FTKDumpCondAlgo( "FTKDumpCondAlgo" , OutputLevel=INFO) FTKDumpCond.IBLMode = 1 FTKDumpCond.DumpBadModules = True FTKDumpCond.DumpGlobalToLocalMap = True FTKDumpCond.DumpModulePositions = True theJob += FTKDumpCond print theJob
if hasattr(runArgs, "maxEvents"): ftkLog.info("Setting number of events: %d" % runArgs.maxEvents) theApp.EvtMax = runArgs.maxEvents else: ftkLog.info("Running on all the events") theApp.EvtMax = -1 from AthenaCommon.AlgSequence import AlgSequence alg = AlgSequence() # Helper function from transforms from PyJobTransforms.trfUtils import findFile # this dictionary describe the standard position for common files, this allow # a shorter command line when standard files are used ftkBaseConfigDir = findFile(os.environ['DATAPATH'], 'ftk_configuration') if ftkBaseConfigDir is None: ftkLog.warning( 'Failed to find ftk_configuration directory searching along $DATAPATH - all paths must now be given explicitly' ) standardConfBaseDir = {} else: ftkLog.info( 'Found ftk_configuration directory {0}'.format(ftkBaseConfigDir)) standardConfBaseDir = { 'loadHWConf_path': os.path.join(ftkBaseConfigDir, 'hwsdev_file'), 'pmap_path': os.path.join(ftkBaseConfigDir, 'map_files') } # -------------------------------------------------------------- # FTK algorithm inclusions
# #FTKDet.OutputLevel=DEBUG from TrigFTKBankGen.TrigFTKBankGenConf import * #FTKBankGen= FTKBankGenAlgo("FTKBankGenAlgo", OutputLevel=DEBUG) FTKBankGen = FTKBankGenAlgo("FTKBankGenAlgo", OutputLevel=FATAL) #MC11 for 8L #FTKBankGen.pmap_path = "../../../TrigFTKSim/config/map_file/raw_8Lc.pmap" #FTKBankGen.rmap_path = "../../../TrigFTKSim/config/map_file/raw_11L.tmap" #MC11 for 11L #FTKBankGen.pmap_path = "../../../TrigFTKSim/config/map_file/raw_11L.pmap" #FTKBankGen.rmap_path = "../../../TrigFTKSim/config/map_file/raw_11L.tmap" from PyJobTransforms.trfUtils import findFile pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12LiblHW3D.pmap') print "Using PMAP:", pmap_path rmap_path = findFile( os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12Libl32TmodB_3D_t13.tmap') #rmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12Libl64TmodB_3D_t13.tmap') #rmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12Libl64TmodB_3D_t1.tmap') print "Using RMAP:", rmap_path #MC11 for IBL FTKBankGen.pmap_path = pmap_path FTKBankGen.rmap_path = rmap_path FTKBankGen.IBLMode = 2 #MC12 for IBL #FTKBankGen.pmap_path = "../../../TrigFTKSim/config/map_file/raw_8LcIblEXPtoIBL.pmap"
############################################################### # # DumpSp job options file # #============================================================== # Helper function from transforms from PyJobTransforms.trfUtils import findFile pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_11L.pmap') print "Using PMAP:", pmap_path rmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_11L.rmap') print "Using RMAP:", rmap_path from AthenaCommon.AlgSequence import AlgSequence theJob = AlgSequence() from FastTrackSimWrap.FastTrackSimWrapConf import FTKRegionalWrapper if hasattr(runArgs, "outputNTUP_FTKIPFile"): OutputNTUP_FTKIPFile = runArgs.outputNTUP_FTKIPFile else: OutputNTUP_FTKIPFile = "ftksim_8Reg_wrap.root" from TrigFTKSim.TrigFTKSimConf import FTK_SGHitInput FTKSGInput = FTK_SGHitInput() FTKSGInput.ReadTruthTracks = True ToolSvc += FTKSGInput print "Output file", OutputNTUP_FTKIPFile
#FTKMerger = FTKMergerAlgo( "FTKMergerAlgo" , OutputLevel=INFO) FTKMergerAlgo = Algorithm("FTKMergerAlgo") #FTKMerger.force_merge = True # true only for tests or well known reason #FTKMergerAlgo.useStandalone = True #FTKMerger.SingleProces = True #FTKMergerAlgo.doMerging = True # Map path from PyJobTransforms.trfUtils import findFile import os.path print runArgs if hasattr(runArgs, 'pmap_path'): if os.path.exists(runArgs.pmap_path): FTKMergerAlgo.pmap_path = runArgs.pmap_path else: stdpath = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/' + runArgs.pmap_path) if not os.path.exists(stdpath): raise RuntimeError, 'PMAP %s file not find' % runArgs.pmap_path FTKMergerAlgo.pmap_path = stdpath else: raise RuntimeError, "PMAP wasn't not set. Abort" FTKMergerAlgo.NBanks = 1 FTKMergerAlgo.NSubRegions = 1 ###Set Hit Warrior parameter FTKMergerAlgo.HitWarrior = 2 # Default 2 FTKMergerAlgo.KeepRejected = 0 # >0 enable HW debug feature if hasattr(runArgs, "FTKOldFormat"): FTKMergerAlgo.mergeTrackBName = "FTKBankMerged" else: FTKMergerAlgo.mergeTrackBName = "FTKMergedTracksStream"
############################################################### # # FTKRegionalWrapper job options file # #============================================================== # Locate the tmap and pmap files from PyJobTransforms.trfUtils import findFile pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_ITkExample.pmap') rmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_ITkExample.tmap') print "Using PMAP:", pmap_path print "Using RMAP:", rmap_path from AthenaCommon.AlgSequence import AlgSequence theJob = AlgSequence() from FastTrackSimWrap.FastTrackSimWrapConf import FTKRegionalWrapper if hasattr(runArgs,"outputNTUP_FTKIPFile") : OutputNTUP_FTKIPFile = runArgs.outputNTUP_FTKIPFile else : OutputNTUP_FTKIPFile = "ftksim_ITk_wrap.root" from AthenaCommon.AppMgr import ToolSvc from TrigFTKSim.TrigFTKSimConf import FTK_SGHitInput FTKSGInput = FTK_SGHitInput(maxEta=3.0, minPt=4*GeV) FTKSGInput.OutputLevel = DEBUG FTKSGInput.ReadTruthTracks = True FTKSGInput.DoOutFileRawHits = True ToolSvc += FTKSGInput
from AthenaCommon.AppMgr import ServiceMgr from GaudiSvc.GaudiSvcConf import THistSvc ServiceMgr += THistSvc() svcMgr.THistSvc.Output += [ "PhysVal DATAFILE='" + runArgs.outputNTUP_PHYSVALFile + "' OPT='RECREATE'" ] monMan.FileKey = "PhysVal" # Schedule individual validations from PyJobTransforms.trfUtils import findFile for validationType, enabled in iteritems(validationDict): if enabled: JOFile = 'PhysValMonitoring/PhysVal{0}_jobOptions.py'.format( validationType) if findFile(os.environ['JOBOPTSEARCHPATH'], JOFile): rec.UserAlgs += [JOFile] else: skelLog.fatal( "Job options file for {0} ({1}) was not found in JOBOPTSEARCHPATH!" .format(validationType, JOFile)) raise RuntimeError( 'Cannot find JobOptions for {0} slice -- is the name correct?'. format(validationType)) ## Pre-exec if hasattr(runArgs, "preExec"): skelLog.info("transform pre-exec") for cmd in runArgs.preExec: skelLog.info(cmd) exec(cmd)
# FTK algorithm inclusions #-------------------------------------------------------------- from AthenaCommon.AppMgr import ToolSvc from PyJobTransforms.trfUtils import findFile from TrigFTKSim.TrigFTKSimConf import * from TrigFTKBankGen.TrigFTKBankGenConf import * print "Add FTK_SGHitInput tool" FTKSGHit = FTK_SGHitInput() FTKSGHit.ReadTruthTracks = True FTKSGHit.OutputLevel = INFO # DEBUG FTKSGHit.DoOutFileRawHits = True ToolSvc += FTKSGHit FTKBankGen = FTKBankGenAlgo("FTKBankGenAlgo", OutputLevel=DEBUG) FTKBankGen.pmap_path = findFile( os.environ['DATAPATH'], "ftk_configuration/map_files/raw_ITkExample.pmap") FTKBankGen.rmap_path = findFile( os.environ['DATAPATH'], "ftk_configuration/map_files/raw_ITkExample.tmap") FTKBankGen.IBLMode = 0 FTKBankGen.ITkMode = True FTKBankGen.const_test_mode = False FTKBankGen.Clustering = False FTKBankGen.SaveClusterContent = False FTKBankGen.DiagClustering = True FTKBankGen.PixelClusteringMode = 0 FTKBankGen.Ibl3DRealistic = False FTKBankGen.DuplicateGanged = True FTKBankGen.GangedPatternRecognition = False FTKBankGen.PT_THRESHOLD = 4.0
setattr(runArgs, "eightLayer", True) FTKConstGenAlgo.eightLayer = runArgs.eightLayer FTKConstGenAlgo.nbank = runArgs.NBanks if not hasattr(runArgs, "allregions"): setattr(runArgs, "allregions", False) FTKConstGenAlgo.allregion = runArgs.allregions if not hasattr(runArgs, "bankregion"): setattr(runArgs, "bankregion", 0) FTKConstGenAlgo.region = runArgs.bankregion # if the previous option is True this line is not important from PyJobTransforms.trfUtils import findFile pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/' + runArgs.pmap_12L) # 12L pmap for OfflineID #pmap_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_12LiblHW.pmap')# 12L pmap for HWlikeID print "Using PMAP 12L:", pmap_path pmap_8L_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/' + runArgs.pmap_8L) # 8L pmap for OfflineID #pmap_8L_path = findFile(os.environ['DATAPATH'], 'ftk_configuration/map_files/raw_8LcIbl123.pmap')# 8L pmap for HWlikeID print "Using PMAP 8L :", pmap_8L_path FTKConstGenAlgo.pmap_path = pmap_path FTKConstGenAlgo.pmap_8L_path = pmap_8L_path FTKConstGenAlgo.LayerChange_path = runArgs.inputFTKMatrixFile[0] #FTKConstGenAlgo.OutputFileName = runArgs.outputFTKGoodMatrixFile job += FTKConstGenAlgo