import ROOT, glob, math, sys, os pandapath=os.environ.get('PANDAPATH') sys.path.append(pandapath+'/macro/tpc/FOPI/python/argparse-1.2.1') sys.path.append(pandapath+'/macro/tpc/FOPI/mberger') import argparse parser=argparse.ArgumentParser(description='Create all dist maps from comsol field maps in a folder') parser.add_argument('path',help='the path where the comsol field maps are',type=str) parser.add_argument('--nz',help='binningin z',type=int,default=728) parser.add_argument('--nr',help='binningin r',type=int,default=105) parser.add_argument('--zStep',help='number of steps in z per file',type=int,default=10) parser.add_argument('--merge',help='merge devmaps, dont submit',action='store_true') parser.add_argument('--final',help='merge without test',action='store_true') parser.add_argument('--e18',help='set to e18 array mode',action='store_true') args=parser.parse_args() if os.path.isfile('stopDevmap'): os.system('rm stopDevmap') fieldmaps=glob.glob(args.path+'/*out.txt') errfiles=glob.glob('./devMapErrors*') for fmap in fieldmaps: print 'starting',fmap if os.path.isfile('stopDevmap'): exit() words=fmap.split('_') field=words[-3].split('ar')[0] gain=words[-3].split('ar')[1] #print field,gain parfile='tpc/FOPI/par/tpc.'+str(field)+'ar'+str(gain)+'MC.par' fmap_base=fmap.split('/')[-1] fmap_base=fmap_base.replace("out.txt","") while fmap_base[-1]=='_': fmap_base=fmap_base[0:-1] print fmap_base command='' command+='python FOPI/BatchTools/submitCreateDevMap.py ' command+=fmap+' ' if os.path.isfile(parfile): command+=parfile+' ' else: print 'parfile not found',parfile continue command+=fmap_base+' ' if args.nz!=-1: command+='--nz '+str(args.nz)+' ' if args.nr!=-1: command+='--nr '+str(args.nr)+' ' if args.e18: found=False for err in errfiles: if err.find(fmap_base)!=-1: found=True if not found: command+='--array ' else: command+='--e12 ' command+='--zStep '+str(args.zStep)+' ' for err in errfiles: if err.find(fmap_base)!=-1: command+='--specfile '+err+' ' command+='--settings devmapSettings.txt' mcommand='' mcommand+='python FOPI/BatchTools/mergeDevMap2.py ' if args.e18: mcommand+='outfiles/dev_field/parts/ ' else: mcommand+='outfiles_e12/dev_field/parts/ ' mcommand+=fmap_base+' ' if args.final: mcommand+='' else: mcommand+='--test --rm' if args.merge: print mcommand os.system(mcommand) else: print command print '' os.system(command)