def parse_args(): # feel free to ammend it! parser = argparse.ArgumentParser( description="""WARNING: SOON TO BE REPLACED BY \"mc_multinest.py\". Run mcpp with multinest. Note you can set using files like this: "./test_multinest.py @command_line_options.txt". For more info see the documentation on python's argparse function. """, formatter_class=argparse.ArgumentDefaultsHelpFormatter, fromfile_prefix_chars="@", ) # FIXME: I'm not happy yet with how files are read in mcpp = parser.add_argument_group("mcpp arguments") multinest = parser.add_argument_group("multinest settings", "For more info see README of Multinest") # mastercode specific arguments mcpp.add_argument( "--tmp-dir", dest="tmp_dir", action="store", type=str, default=None, help="directory where temporary files get stored", ) mcpp.add_argument( "--verbose", "-v", dest="verbose", action="store", nargs="+", help="verbosity, e.g. parameters, X, errors, multinest, or mcpp verbosity", default=[], ) mcpp.add_argument( "--output-root", "-o", dest="root_out", action="store", default="chains/", help="output root directory " ) mcpp.add_argument("--root-prefix", action="store", default="cmssm-multinest-step-", help="output root file prefix ") mcpp.add_argument( "--suppress-mc-info", dest="suppress_info", action="store_true", default=False, help="suppress dumping the multinest parameters. Not recommended", ) mcpp.add_argument( "--pickle-out", dest="pickle_out", action="store_true", default=False, help="This is what we want. Store points to pickled dictionaries: unique_string.pkl", ) mcpp.add_argument("--data-set", dest="data_set", action="store", default="mc8", help="data set for X^2 calculation") mcpp.add_argument("--model", default="cMSSM", help="Model that SoftSUSY takes", choices=["cMSSM", "NUHM1"]) mcpp.add_argument( "--m0-range", action="store", nargs=2, type=float, default=[0.0, 4000.0], help="parameter range: m0" ) mcpp.add_argument( "--m12-range", action="store", nargs=2, type=float, default=[0.0, 4000.0], help="parameter range: m12" ) mcpp.add_argument( "--A0-range", action="store", nargs=2, type=float, default=[-5000.0, 5000.0], help="parameter range: A0" ) mcpp.add_argument( "--tanb-range", action="store", nargs=2, type=float, default=[1.0, 62.0], help="parameter range: tanb" ) mcpp.add_argument( "--mt-range", action="store", nargs=2, type=float, default=[171.4, 175], help="parameter range: mt" ) mcpp.add_argument( "--mz-range", action="store", nargs=2, type=float, default=[91.1833, 91.1917], help="parameter range: mz" ) mcpp.add_argument( "--delta-alpha-had-range", action="store", nargs=2, type=float, default=[0.02729, 0.02769], help="parameter range: delta_alpha_had", ) mcpp.add_argument( "--mh2-range", action="store", nargs=2, type=float, default=[-2e7, 2e7], help="parameter range: mh2 (when model=NUHM1),note: further than ever", ) # multinest specific arguments multinest.add_argument( "--multinest-dir", action="store", default="chains", help="directory for storing mulinest parameters " ) multinest.add_argument( "--evidence-tolerance", "--tol", "-t", action="store", type=float, default=0.5, help="evidence tolerance" ) multinest.add_argument( "--sampling-efficiency", action="store", type=float, default=0.8, help="0.8 and 0.3 are recommended for parameter estimation & evidence evalutaion respectively.", ) multinest.add_argument( "--null-log-evidence", action="store", type=float, default=-1e90, help="do not change, see README" ) multinest.add_argument("--log-zero", action="store", type=float, default=-1e100, help="do not change, see README") multinest.add_argument( "--n-live-points", "-l", action="store", type=int, default=10, help="very important setting: the number of living points ", ) multinest.add_argument("--max-iter", "-i", action="store", type=int, default=1, help="maximum number of iterations") multinest.add_argument( "--context", action="store", type=int, default=0, help="the user can pass info using context, probably not needed", ) multinest.add_argument( "--max-modes", action="store", type=int, default=100, help="maximum number of modes, to do with memory; see README", ) multinest.add_argument("--n-iter-before-update", action="store", type=int, default=100, help="n_iter_before_update") multinest.add_argument( "--seed", "-s", action="store", type=int, default=-1, help="seed (negative for seed from sys clock) " ) multinest.add_argument( "--resume", "-R", dest="resume", action="store_true", default=False, help=" resume existing jobs using parameters from multinest dir", ) multinest.add_argument( "--multimodal", action="store", type=bool, default=True, help="do mode separation? Usually want this on." ) multinest.add_argument( "--const-efficiency-mode", action="store", type=bool, default=False, help="Constant efficientcy mode; see README", ) multinest.add_argument( "--write-output", action="store", type=bool, default=True, help="write output files? Probably yes" ) multinest.add_argument( "--init-MPI", action="store", type=bool, default=False, help="relevant only if compiling with MPI" ) return parser.parse_args()
def parse_args(): # feel free to ammend it! parser = argparse.ArgumentParser( description='''Run mcpp with multinest. Note you can set using files like this: "./test_multinest.py @command_line_options.txt". For more info see the documentation on python's argparse function. ''', formatter_class=argparse.ArgumentDefaultsHelpFormatter, fromfile_prefix_chars='@') #FIXME: I'm not happy yet with how files are read in mcpp = parser.add_argument_group('mcpp arguments') multinest = parser.add_argument_group('multinest settings','For more info see README of Multinest') #mastercode specific arguments mcpp.add_argument('--predictors',default='default',choices=User.predictors.predictors.keys(), help='specify key from \'predictors\' dictionary in User/predictors.py') mcpp.add_argument('--tmp-dir', dest='tmp_dir', action='store', type=str, default=None, help='directory where temporary files get stored') mcpp.add_argument('--storage-dict', help='specify json file containing observable id to array id map') mcpp.add_argument('--verbose' , '-v', dest='verbose' , action='store', nargs="+", help='verbosity, e.g. parameters, X, errors, multinest, or mcpp verbosity',default=[]) mcpp.add_argument('--output-root' , '-o', dest='root_out', action='store', default='chains/', help='output root directory ') # mcpp.add_argument('--root-prefix' , action='store', # default='cmssm-multinest-step-', help='output root file prefix ') mcpp.add_argument('--suppress-mc-info', dest='suppress_info', action='store_true', default=False, help='suppress dumping the multinest parameters. Not recommended') mcpp.add_argument('--pickle-out', dest='pickle_out', action='store_true', default=False, help='This is what we want. Store points to pickled dictionaries: unique_string.pkl') mcpp.add_argument('--data-set' , dest='data_set' , action='store', default="pmssm_with_Oh2", help='data set for X^2 calculation') mcpp.add_argument('--model', default='pMSSM8', help='Model that SoftSUSY takes', choices=['cMSSM','neg-mu-cMSSM','NUHM1','neg-mu-NUHM1','pMSSM8','pMSSM10']) mcpp.add_argument('--nuisance-parameter-ranges', default='User/nuisance_parameter_ranges.json', help='json file with parameter ranges for mt,mz,delta_alpha_had') mcpp.add_argument('--cmssm-ranges', default='User/cmssm_ranges.json', help='json file with parameter ranges for m0,m12,tanb,A0') mcpp.add_argument('--nuhm1-ranges', default='User/nuhm1_ranges.json', help='json file with parameter ranges for m0,m12,tanb,A0,mh2') mcpp.add_argument('--pmssm8-ranges', default='User/pmssm8_ranges.json', help='json file with parameter ranges for msq12,msq3,msl,M1,A,MA,tanb,mu') mcpp.add_argument('--pmssm10-ranges', default='User/pmssm10_ranges.json', help='json file with parameter ranges for msq12,msq3,msl,M1,M2,M3,A,MA,tanb,mu') mcpp.add_argument('--soft-flat-priors',action='store_true',help='extend flat prior with gaussian tails') #multinest specific arguments multinest.add_argument('--multinest-dir' , action='store', default="chains", help='directory for storing mulinest parameters ') multinest.add_argument('--evidence-tolerance' ,'--tol' , '-t', action='store', type=float, default=0.5, help='evidence tolerance') multinest.add_argument('--sampling-efficiency', action='store', type=float, default=0.8, help='0.8 and 0.3 are recommended for parameter estimation & evidence evalutaion respectively.') multinest.add_argument('--null-log-evidence', action='store', type=float, default=-1e90, help='do not change, see README') multinest.add_argument('--log-zero', action='store', type=float, default=-1e100, help='do not change, see README') multinest.add_argument('--n-live-points', '-l', action='store', type=int, default=10, help='very important setting: the number of living points ') multinest.add_argument('--max-iter', '-i', action='store', type=int, default=1, help='maximum number of iterations') multinest.add_argument('--context', action='store', type=int, default=0, help='the user can pass info using context, probably not needed') multinest.add_argument('--max-modes', action='store', type=int, default=100, help='maximum number of modes, to do with memory; see README') multinest.add_argument('--n-iter-before-update', action='store', type=int, default=100, help='n_iter_before_update') multinest.add_argument('--seed', '-s', action='store', type=int, default=-1, help='seed (negative for seed from sys clock) ') multinest.add_argument('--resume','-R', dest='resume', action='store_true', default=False, help=' resume existing jobs using parameters from multinest dir') multinest.add_argument('--multimodal', action='store',type=bool, default=True, help='do mode separation? Usually want this on.') multinest.add_argument('--const-efficiency-mode', action='store',type=bool, default=False, help='Constant efficientcy mode; see README') multinest.add_argument('--write-output', action='store',type=bool, default=True, help='write output files? Probably yes') multinest.add_argument('--init-MPI', action='store',type=bool, default=False, help='relevant only if compiling with MPI') return parser.parse_args()