aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutils/submit-grid-jobs35
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)