Copyevpack ---------- Copyevpack.py is similar to copyd0om.py, except that is operates at the EVPACK physical record level, not the d0om level. Consequently, it can only be used for EVPACK format files, not DSPACK format files. Copyevpack.py has fewer options, since it does not understand the contents of events. However, it does have access to the collision id., which is stored in the EVPACK header. Copyevpack.py is much faster than copyd0om.py, since it does not incur any d0om overhead, especially when writing events. It is intended primarily as a file merging and splitting tool, especially on the farm. Here is copyevpack.py's help message: % copyevpack.py Usage: copyevpack.py - Input file. - Output file (optional). - Options Known options: -dump - Dump evpack headers. -key - Dump evpack keys. -id - Same as -key. -skip n - Skip n events. -copy n - Copy n events. -files n - Copy at most n files. -max_per_file n - Maximum n events per file (for file splitting). -sync - Synchronize output file advance with input files. -input_files_per_file - Number of input files per output file. -sort type - Sort type (sequential, numeric, reverse_sequential, reverse_numeric, random) Examples: 1. Basic copy, one evpack file to another file. % copyevpack.py in.ds out.ds 2. Merging files. % copyevpack.py "*.ds" out.ds # Wildcard. % copyevpack.py "*.ds" out.ds -files 10 # A wildcard subset. % cpoyevpack.py "in1.ds in2.ds" out.ds # A command line list of files. % copyevpack.py listfile:list.dat out.ds # A list file (one file per line). 3. Splitting files. % copyevpack.py in.ds "out1.ds out2.ds out3.ds" -max_per_file 100 % copyevpack.py in.ds listfile:list.dat -max_per_file 100 4. Dump evpack record keys (= collision ids.) % copyevpack.py in.ds -key % copyevpack.py in.ds -id 5. Copy a subset of events. % copyevpack.py in.ds out.ds -skip 10 -copy 1 # Extract 11th event.