ATLAS Offline Software
Loading...
Searching...
No Matches
rhadd Namespace Reference

Classes

class  haddJob
class  haddStep

Functions

 main ()
 doRecursiveMerge (args)

Variables

 level

Function Documentation

◆ doRecursiveMerge()

rhadd.doRecursiveMerge ( args)
Setup the cascade of merge jobs and execute each level in turn

Definition at line 190 of file rhadd.py.

190def doRecursiveMerge(args):
191 '''Setup the cascade of merge jobs and execute each level in turn'''
192 # First setup the cascade of merge steps
193 jobGraph = []
194 level = 0
195 jobGraph.append(haddStep(bunchNumber = args['bunchNumber'],
196 inputFiles = args['inputFiles'],
197 finalOutputFile = args['outputFile'], level = level))
198
199 while jobGraph[-1].numHadds > 1:
200 level += 1
201 jobGraph.append(haddStep(bunchNumber = args['bunchNumber'],
202 inputFiles = jobGraph[-1].outputFiles,
203 finalOutputFile = args['outputFile'], level = level))
204 logging.debug(jobGraph[-1])
205
206 # Now execute each merge stage in turn
207 for i, jobs in enumerate(jobGraph):
208 logging.info('Executing merge interation step %d', i)
209 jobs.executeAll(args['parallelMerge'])
210
211 logging.info('Final merge completed successfully.')
212
213

◆ main()

rhadd.main ( )

Definition at line 162 of file rhadd.py.

162def main():
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 # Sanity checks
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
int main()
Definition hello.cxx:18

Variable Documentation

◆ level

rhadd.level

Definition at line 38 of file rhadd.py.