def __init__( self, era_choices = ('2016', '2017', '2018'), default_num_parallel_jobs = 16, max_help_position = 45, isAddMEM = False, ): super(tthAnalyzeParser, self).__init__( formatter_class = lambda prog: SmartFormatter(prog, max_help_position = max_help_position) ) self.add_argument('-e', '--era', type = str, dest = 'era', metavar = 'era', choices = era_choices, default = None, required = True, help = 'R|Era of data/MC (choices: %s)' % tthAnalyzeParser.cat(era_choices), ) self.add_argument('-v', '--version', type = str, dest = 'version', metavar = 'version', default = None, required = True, help = 'R|Analysis version (e.g. %s)' % datetime.date.today().strftime('%Y%b%d'), ) self.add_argument('-f', '--filter', type = condition_type, dest = 'filter', metavar = 'condition', default = None, required = False, help = 'R|Filter samples based on condition <key>:<regex> (allowed keys: %s)' % \ (', '.join(ALLOWED_CONDITION_KEYS)) ) run_parser = self.add_mutually_exclusive_group() self.add_argument('-d', '--dry-run', dest = 'dry_run', action = 'store_true', default = False, help = 'R|Do not submit the jobs, just generate the necessary shell scripts' if isAddMEM else \ 'R|Run addMEM without actually computing the MEM score', ) self.add_argument('-R', '--running-method', type = str, dest = 'running_method', metavar = 'method', default = 'sbatch', required = False, choices = [ 'sbatch', 'makefile' ], help = 'R|Running method', ) self.add_argument('-J', '--num-parallel-jobs', type = positive_int_type, dest = 'num_parallel_jobs', metavar = 'number', required = False, default = default_num_parallel_jobs, help = 'R|Number of parallel makefile targets', ) run_parser.add_argument('-E', '--no-exec', dest = 'no_exec', action = 'store_true', default = False, help = 'R|Do not submit the jobs (ignore prompt)', ) run_parser.add_argument('-A', '--auto-exec', dest = 'auto_exec', action = 'store_true', default = False, help = 'R|Automatically submit the jobs (ignore prompt)', ) self.add_argument('-C', '--not-check-output-files', dest = 'not_check_input_files', action = 'store_true', default = False, help = 'R|Do not check each output file while generating the config files', ) self.add_argument('-D', '--debug', dest = 'debug', action = 'store_true', default = False, help = 'R|Enable debugging flag in the analysis', )
ktJHEP = [1.0, 1.0, 1.0, 1.0, 1.5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.5, 1.0, 1.0] c2JHEP = [0.0, -1.0, 0.5, -1.5, -3.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.0, 0.0, 1.0] cgJHEP = [0.0, 0.0, -0.8, 0.0, 0.0, 0.8, 0.2, 0.2, -1.0, -0.6, 0.0, 1.0, 0.0] c2gJHEP = [ 0.0, 0.0, 0.6, -0.8, 0.0, -1.0, -0.2, -0.2, 1.0, 0.6, 0.0, -1.0, 0.0 ] assert (nof_weights == len(klJHEP)) assert (nof_weights == len(ktJHEP)) assert (nof_weights == len(c2JHEP)) assert (nof_weights == len(cgJHEP)) assert (nof_weights == len(c2gJHEP)) if __name__ == '__main__': parser = argparse.ArgumentParser( formatter_class=lambda prog: SmartFormatter(prog, max_help_position=55 )) parser.add_argument( '-e', '--era', type=str, dest='era', metavar='year', required=True, choices=['2016', '2017', '2018'], help='R|Era', ) parser.add_argument( '-t', '--type', type=str, dest='type',
Returns: int, If the argument is truly a positive integer Otherwise the method raises argparse.ArgumentTypeError ''' try: i_int = int(i) except ValueError: raise argparse.ArgumentTypeError("Not an integer: {0}".format(i)) if i_int <= 0: raise argparse.ArgumentTypeError("Not a positive integer: {0}".format(i_int)) return i_int if __name__ == '__main__': parser = argparse.ArgumentParser(formatter_class = lambda prog: SmartFormatter(prog, max_help_position = 45)) group = parser.add_mutually_exclusive_group() parser.add_argument('-i', '--input', metavar = 'file', required = True, type = str, default = '', help = 'R|Path to RLE numbers') parser.add_argument('-e', '--era', metavar = 'era', required = True, type = str, choices = [ '2016', '2017', '2018' ], help = 'R|Era') parser.add_argument('-s', '--sample-name', metavar = 'name', required = True, type = str, default = '', help = 'R|Sample name') parser.add_argument('-o', '--output', metavar = 'file', required = True, type = str, default = '', help = 'R|Path to output ROOT file') group.add_argument ('-d', '--directory', metavar = 'directory', type = str, default = '', help = 'R|Directory containing all RLE numbers (dump_rle_parallel.py output)') group.add_argument ('-n', '--nof-files', metavar = 'number', type = positive_int, default = 10, help = 'R|Number of files per job (relevant only if -d option is not used)') parser.add_argument('-D', '--debug', dest = 'debug', action = 'store_true', default = False, help = 'R|Perform a RLE-based test to see if all events are correctly selected')