def downloader(studio, seeds, ampls, angles, tunes, exp_turns, np, setenv=True, deletedata=False): """routine that downloads all the data and stacks it up in a dedicated dictionary""" set_env_castor(setenv) # set environment variables for castor CASTOR_HOME = os.environ.get("CASTOR_HOME") + "/direct_track/" file_list = pre_stage_castor(CASTOR_HOME, studio, seeds, ampls, angles, tunes, exp_turns) delayer(file_list) os.system("rm %s" % file_list) tbt_data = {} # turn by turn data container part = 0 i = 0 for mad_seed in seeds: pID_bias = 0 bunch = {} for amp in ampls: for angle in angles: dest_path = get_data_from_castor(CASTOR_HOME, studio, mad_seed, amp, angle, tunes, exp_turns) head, part = read_allfortbin(pID_bias, basedir="./%s" % dest_path) i = i + 1 pID_bias = np * i bunch.update(part) if deletedata: remove_data(dest_path) tbt_data[mad_seed] = bunch return tbt_data
def downloader(studio, seeds, ampls, angles, tunes, exp_turns, np, setenv=True, deletedata=False): '''routine that downloads all the data and stacks it up in a dedicated dictionary''' set_env_castor(setenv) #set environment variables for castor CASTOR_HOME = os.environ.get('CASTOR_HOME') + '/direct_track/' file_list = pre_stage_castor(CASTOR_HOME, studio, seeds, ampls, angles, tunes, exp_turns) delayer(file_list) os.system('rm %s' % file_list) tbt_data = {} #turn by turn data container part = 0 i = 0 for mad_seed in seeds: pID_bias = 0 bunch = {} for amp in ampls: for angle in angles: dest_path = get_data_from_castor(CASTOR_HOME, studio, mad_seed, amp, angle, tunes, exp_turns) head, part = read_allfortbin(pID_bias, basedir='./%s' % dest_path) i = i + 1 pID_bias = np * i bunch.update(part) if (deletedata): remove_data(dest_path) tbt_data[mad_seed] = bunch return tbt_data
def data_to_dictionary(main_folder, folder_name, folder_max_number): """routine that reads all the data and stacks it up in a dedicated dictionary """ tbt_data = {} # turn by turn data container np = 60 pID_bias = 0 bunch = {} for n in range(folder_max_number + 1): dest_path = os.getcwd() + "/" + main_folder + "/" + folder_name + str(n) print dest_path head, part = read_allfortbin(pID_bias, basedir="%s" % dest_path) pID_bias = np * (n + 1) print "pID_bias=", pID_bias bunch.update(part) print "the tbt data read for this particle is long", len(part) # tbt_data[mad_seed]=bunch # tbt_data=bunch closo = head["closorb"] return bunch, closo