import glob,os,time,sys pandapath=os.environ.get('PANDAPATH') sys.path.append(pandapath+'/macro/tpc/FOPI/python/argparse-1.2.1') import argparse parser=argparse.ArgumentParser(description='merge all cosmics reco parts') parser.add_argument('--path',help='path to the data folder where the runfolders should be created (default=%(default)s)',type=str,default='outfiles_e12/Data/Cosmics') parser.add_argument('--parts',help='the folder name of the parts (inside path) (default=%(default)s)',type=str,default='parts') args=parser.parse_args() path=args.path partpath=args.path+'/'+args.parts patterns={} files=glob.glob(partpath+'/*.reco.root') print 'looking for all patterns' for f in files: patt=f.split('/')[-1] pattbegin=patt.find('runC_') soff=5 eoff=9 if pattbegin==-1: pattbegin=patt.find('run_') soff-=1 eoff-=1 pattend=patt.find('part_') run=patt[pattbegin+soff:pattbegin+eoff] patt=patt[pattbegin+eoff:pattend] if patterns.get(patt,None)==None: patterns[patt]=run else: if patterns[patt].find(run)==-1: patterns[patt]+=","+run print 'the found patterns are:' for p in patterns: print p print "corresponding runs:",patterns[p] print print 'now merging' for p in patterns: command='' command+='python FOPI/BatchTools/mergerecofiles.py --runwise --run ' command+=patterns[p]+' ' command+=partpath+' ' command+='--out '+p+'.reco.root ' command+='--pattern '+p os.system(command)