|
108 | 108 | parser.add_argument('--force-n-workers', dest='force_n_workers', action='store_true', help='by default, number of workers is re-computed ' |
109 | 109 | 'for given interaction rate; ' |
110 | 110 | 'pass this to avoid that') |
111 | | -parser.add_argument('-mod',help='Active modules (deprecated)', default='--skipModules ZDC') |
| 111 | +parser.add_argument('--skipModules',nargs="*", help="List of modules to skip in geometry budget (and therefore processing)", default=["ZDC"]) |
112 | 112 | parser.add_argument('--with-ZDC', action='store_true', help='Enable ZDC in workflow') |
113 | 113 | parser.add_argument('-seed',help='random seed number', default=None) |
114 | 114 | parser.add_argument('-o',help='output workflow file', default='workflow.json') |
@@ -408,7 +408,21 @@ def extractVertexArgs(configKeyValuesStr, finalDiamondDict): |
408 | 408 |
|
409 | 409 | NTIMEFRAMES=int(args.tf) |
410 | 410 | NWORKERS=args.n_workers |
411 | | -MODULES = "--skipModules ZDC" if not isActive("ZDC") else "" |
| 411 | + |
| 412 | +# Processing skipped material budget (modules): |
| 413 | +# - If user did NOT specify --with-ZDC |
| 414 | +# - AND ZDC is not already in the list |
| 415 | +# --> append ZDC automatically |
| 416 | +if args.with_ZDC: |
| 417 | + # User wants ZDC to *not* be skipped → ensure it's removed |
| 418 | + args.skipModules = [m for m in args.skipModules if m != "ZDC"] |
| 419 | +else: |
| 420 | + # If user did not request --with-ZDC, |
| 421 | + # auto-append ZDC unless already present |
| 422 | + if "ZDC" not in args.skipModules: |
| 423 | + args.skipModules.append("ZDC") |
| 424 | + |
| 425 | +SKIPMODULES = " ".join(["--skipModules"] + args.skipModules) if len(args.skipModules) > 0 else "" |
412 | 426 | SIMENGINE=args.e |
413 | 427 | BFIELD=args.field |
414 | 428 | RNDSEED=args.seed # typically the argument should be the jobid, but if we get None the current time is used for the initialisation |
@@ -716,7 +730,7 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True, runcommand=True): |
716 | 730 | bkgsimneeds = [BKG_CONFIG_task['name'], GRP_TASK['name'], PreCollContextTask['name']] |
717 | 731 | BKGtask=createTask(name='bkgsim', lab=["GEANT"], needs=bkgsimneeds, cpu=NWORKERS) |
718 | 732 | BKGtask['cmd']='${O2_ROOT}/bin/o2-sim -e ' + SIMENGINE + ' -j ' + str(NWORKERS) + ' -n ' + str(NBKGEVENTS) \ |
719 | | - + ' -g ' + str(GENBKG) + ' ' + str(MODULES) + ' -o bkg ' + str(INIBKG) \ |
| 733 | + + ' -g ' + str(GENBKG) + ' ' + str(SKIPMODULES) + ' -o bkg ' + str(INIBKG) \ |
720 | 734 | + ' --field ccdb ' + str(CONFKEYBKG) \ |
721 | 735 | + ('',' --timestamp ' + str(args.timestamp))[args.timestamp!=-1] + ' --run ' + str(args.run) \ |
722 | 736 | + ' --vertexMode ' + vtxmode_sgngen \ |
@@ -947,7 +961,7 @@ def getDPL_global_options(bigshm=False, ccdbbackend=True, runcommand=True): |
947 | 961 | sgnmem = 6000 if COLTYPE == 'PbPb' else 4000 |
948 | 962 | SGNtask=createTask(name='sgnsim_'+str(tf), needs=signalneeds, tf=tf, cwd='tf'+str(tf), lab=["GEANT"], |
949 | 963 | relative_cpu=7/8, n_workers=NWORKERS_TF, mem=str(sgnmem)) |
950 | | - sgncmdbase = '${O2_ROOT}/bin/o2-sim -e ' + str(SIMENGINE) + ' ' + str(MODULES) + ' -n ' + str(NSIGEVENTS) + ' --seed ' + str(TFSEED) \ |
| 964 | + sgncmdbase = '${O2_ROOT}/bin/o2-sim -e ' + str(SIMENGINE) + ' ' + str(SKIPMODULES) + ' -n ' + str(NSIGEVENTS) + ' --seed ' + str(TFSEED) \ |
951 | 965 | + ' --field ccdb -j ' + str(NWORKERS_TF) + ' ' + str(CONFKEY) + ' ' + str(INIFILE) + ' -o ' + signalprefix + ' ' + embeddinto \ |
952 | 966 | + ' --detectorList ' + args.detectorList \ |
953 | 967 | + ('', ' --timestamp ' + str(args.timestamp))[args.timestamp!=-1] + ' --run ' + str(args.run) |
|
0 commit comments