diff options
-rwxr-xr-x | utils/submit-grid-jobs | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/utils/submit-grid-jobs b/utils/submit-grid-jobs index 37b3303..1acb9a7 100755 --- a/utils/submit-grid-jobs +++ b/utils/submit-grid-jobs @@ -116,8 +116,15 @@ if __name__ == '__main__': parser.add_argument("--min-nhit", type=int, help="minimum nhit to fit an event", default=100) parser.add_argument("--max-particles", type=int, help="maximum number of particles to fit for", default=3) parser.add_argument("--skip-second-event", action='store_true', help="only fit the first event after a MAST bank", default=False) + parser.add_argument("--state", type=str, help="state file", default=None) args = parser.parse_args() + if args.state is None: + home = os.path.expanduser("~") + args.state = join(home,'state.txt') + + args.state = abspath(args.state) + # get the current working directory home_dir = os.getcwd() @@ -126,6 +133,24 @@ if __name__ == '__main__': args.dqxx_dir = abspath(args.dqxx_dir) for filename in args.filenames: + filename = abspath(filename) + + head, tail = split(filename) + root, ext = splitext(tail) + + try: + with open(args.state) as f: + state = yaml.load(f.read(),Loader=Loader) + except IOError: + state = None + + if state is None: + state = [] + + if tail in state: + print("skipping %s" % filename) + continue + if args.skip_second_event: output = check_output([join(args.dir,"zdab-cat"),"--skip-second-event",filename]) else: @@ -133,11 +158,6 @@ if __name__ == '__main__': data = yaml.load(output,Loader=Loader) - filename = abspath(filename) - - head, tail = split(filename) - root, ext = splitext(tail) - new_dir = "%s_%s" % (root,ID.hex) os.mkdir(new_dir) @@ -152,4 +172,9 @@ if __name__ == '__main__': if nhit >= args.min_nhit: submit_job(filename, run, gtid, args.dir, args.dqxx_dir, args.min_nhit, args.max_particles) + state.append(tail) + + with open(args.state,"w") as f: + f.write(yaml.dump(state,default_flow_style=False)) + os.chdir(home_dir) |