163 parser = argparse.ArgumentParser(description='Recursive wrapper around the ROOT hadd script.',
164 epilog='Return codes: 0 All OK; 1 Problem with hadd; 2 Invalid arguments')
165 parser.add_argument('outputFile', help='Single merged output file')
166 parser.add_argument('inputFiles', nargs='+', help='Input files to merge')
167 parser.add_argument('-n', '--bunchNumber', type=int, help='File batching number for single hadds', default=10)
168 parser.add_argument('-p', '--parallelMerge', type=int,
169 help='Number of merges to do in parallel (experimental, please do not use in production)', default=1)
170
171 args = vars(parser.parse_args(sys.argv[1:]))
172
173 logging.debug(args)
174
175
176 if args['bunchNumber'] <= 1:
177 logging.error('bunchNumber parameter must be greater than 1')
178 sys.exit(2)
179
180 if args['parallelMerge'] < 1:
181 logging.error('parallelMerge parameter must be greater than 1')
182 sys.exit(2)
183
184
185 doRecursiveMerge(args)
186
187 sys.exit(0)
188
189