File indexing completed on 2025-08-06 08:11:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 require 'fileutils'
0013
0014
0015 in_path = "./individual_files/run6n100pt2040pim_forPtCheck"
0016 in_pref = "sPhenixG4_run6n100pt2040pim_embedScanOnHighPtCheck_embedOnly"
0017 in_suff = "_g4svtx_eval.root"
0018
0019
0020 out_pref = "sPhenixG4_forPtCheck_embedOnly"
0021 out_suff = "_g4svtxeval.run6n100pt2040pim.d8m5y2023"
0022 out_root = ".root"
0023 out_list = ".list"
0024
0025
0026 chunks = [
0027 "000",
0028 "001",
0029 "002",
0030 "003",
0031 "004",
0032 ]
0033
0034
0035 labels = [
0036 "0000s",
0037 "0100s",
0038 "0200s",
0039 "0300s",
0040 "0400s",
0041 ]
0042
0043
0044 num_chunks = chunks.size
0045 in_pattern = Array.new(num_chunks)
0046 list_files = Array.new(num_chunks)
0047 root_files = Array.new(num_chunks)
0048
0049
0050 chunks.each_with_index do |chunk, iChunk|
0051
0052
0053 in_pattern[iChunk] = in_path + "/" + in_pref + chunk + "*" + in_suff
0054 in_pattern[iChunk].gsub!("//", "/")
0055 in_pattern[iChunk].gsub!("..", ".")
0056
0057
0058 list_files[iChunk] = out_pref + labels[iChunk] + out_suff + out_list
0059 list_files[iChunk].gsub!("//", "/")
0060 list_files[iChunk].gsub!("..", ".")
0061
0062
0063 root_files[iChunk] = out_pref + labels[iChunk] + out_suff + out_root
0064 root_files[iChunk].gsub!("//", "/")
0065 root_files[iChunk].gsub!("..", ".")
0066
0067
0068 File.open(list_files[iChunk], "w") { |list|
0069 Dir[in_pattern[iChunk]].each do |file|
0070 list.puts file
0071 end
0072 }
0073
0074
0075 num_files = Dir[in_pattern[iChunk]].size
0076
0077
0078 system("root -b -q \'MergeFiles.C(#{num_files}, \"#{list_files[iChunk]}\", \"#{root_files[iChunk]}\")\'")
0079
0080
0081 end
0082
0083