You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1) Greater flexibility to set the timeframe length in orbits.
The `--orbitsPerTF` options now,
* either takes a precise integer number
* or a comma-separated string of triples f:t:o
which denote to use `o` orbits when the interaction rate falls between
`f` (inclusive) and `t` (exclusive)
example: `--orbitsPerTF 0:10000:32,10001:10000000:8` will apply
32 orbit-sizes timeframes when the interaction rate is below 10kHz, otherwise
8 orbits.
This improvement caused a larger refactoring of the code, because we now
need to query the interaction rate twice.
2) Improvements in the bad-data exlusion treatment:
* We now report the global fraction of run-space excluded by the list
* We now determine each line, wether the treatment is in orbits or in timestamps
print(f"This run as globally {total_excluded_fraction} of it's data marked to be exluded")
416
+
returnexcluded
367
417
368
418
defmain():
369
419
parser=argparse.ArgumentParser(description='Creates an O2DPG simulation workflow, anchored to a given LHC run. The workflows are time anchored at regular positions within a run as a function of production size, split-id and cycle.')
@@ -375,10 +425,10 @@ def main():
375
425
parser.add_argument("--split-id", type=int, help="The split id of this job within the whole production --prod-split)", default=0)
376
426
parser.add_argument("-tf", type=int, help="number of timeframes per job", default=1)
377
427
parser.add_argument("--ccdb-IRate", type=bool, help="whether to try fetching IRate from CCDB/CTP", default=True)
378
-
parser.add_argument("--trig-eff", type=float, dest="trig_eff", help="Trigger eff needed for IR", default=-1.0)
428
+
parser.add_argument("--trig-eff", type=float, dest="trig_eff", help="Trigger eff needed for IR (default is automatic mode)", default=-1.0)
379
429
parser.add_argument("--run-time-span-file", type=str, dest="run_span_file", help="Run-time-span-file for exclusions of timestamps (bad data periods etc.)", default="")
380
430
parser.add_argument("--invert-irframe-selection", action='store_true', help="Inverts the logic of --run-time-span-file")
381
-
parser.add_argument("--orbitsPerTF", type=int, help="Force a certain orbits-per-timeframe number; Automatically taken from CCDB if not given.", default=-1)
431
+
parser.add_argument("--orbitsPerTF", type=str, help="Force a certain orbits-per-timeframe number; Automatically taken from CCDB if not given.", default="")
382
432
parser.add_argument('forward', nargs=argparse.REMAINDER) # forward args passed to actual workflow creation
383
433
args=parser.parse_args()
384
434
print (args)
@@ -394,31 +444,20 @@ def main():
394
444
run_start=GLOparams["SOR"]
395
445
run_end=GLOparams["EOR"]
396
446
397
-
# overwrite with some external choices
398
-
ifargs.orbitsPerTF!=-1:
399
-
print("Adjusting orbitsPerTF from "+str(GLOparams["OrbitsPerTF"]) +" to "+str(args.orbitsPerTF))
400
-
GLOparams["OrbitsPerTF"] =args.orbitsPerTF
401
-
402
-
# determine timestamp, and production offset for the final MC job to run
0 commit comments