25def get_parser():
26 parser = argparse.ArgumentParser(usage='%(prog)s [options] FILE',
27 description=__doc__,
28 formatter_class=lambda prog: argparse.HelpFormatter(prog, max_help_position=36, width=100))
29 parser.add_argument('file',
30 metavar='FILE',
31 help='input ByteStream file')
32 parser.add_argument('--outputName', '-o',
33 metavar='NAME', action='store',
34 help='Output file name base. If not specified, created automatically from metadata')
35 parser.add_argument('--copyFrom', '-c',
36 metavar='FILE', action='store',
37 help='Copy metadata from other ByteStream file')
38 parser.add_argument('--numEvents', '-n',
39 metavar='NUM', action='store', type=int,
40 help='Copy only first NUM events from input to output')
41 parser.add_argument('--runNumber', '-r',
42 metavar='NUM', action='store', type=int,
43 help='Change run number')
44 parser.add_argument('--stream', '-s',
45 metavar='NAME', action='store',
46 help='Change stream name')
47 parser.add_argument('--projectTag', '-p',
48 metavar='TAG', action='store',
49 help='Change project tag')
50 parser.add_argument('--beamType', '-b',
51 metavar='TYPE', action='store',
52 choices=beam_type_dict.keys(),
53 help='Change beam type, possible values are: %(choices)s')
54 parser.add_argument('--beamEnergy', '-e',
55 metavar='ENERGY', action='store', type=int,
56 help='Change beam energy')
57 parser.add_argument('--lumiBlock', '-l',
58 metavar='LB', action='store', type=int,
59 help='Change lumi block number')
60 parser.add_argument('--triggerType', '-t',
61 metavar='TT', action='store', type=int,
62 help='Change trigger type')
63 parser.add_argument('--detectorMask', '-m',
64 metavar='MASK', action='store', type=int,
65 help='Change detector mask')
66 parser.add_argument('--verbose', '-v',
67 action='store_true',
68 help='Increase output verbosity')
69 return parser
70
71