parser.add_option("--stol", "--sig-tolerance", dest="stol", default=0.10, type="float", help="Report nuisances whose sigma changes by more than this amount") parser.add_option("--vtol2", "--val-tolerance2", dest="vtol2", default=2.0, type="float", help="Report severely nuisances whose value changes by more than this amount of sigmas") parser.add_option("--stol2", "--sig-tolerance2", dest="stol2", default=0.50, type="float", help="Report severely nuisances whose sigma changes by more than this amount") parser.add_option("-a", "--all", dest="show_all_parameters", default=False, action="store_true", help="Print all nuisances, even the ones which are unchanged w.r.t. pre-fit values.") parser.add_option("-A", "--abs", dest="absolute_values", default=False, action="store_true", help="Report also absolute values of nuisance values and errors, not only the ones normalized to the input sigma") parser.add_option("-p", "--poi", dest="poi", default="r", type="string", help="Name of signal strength parameter (default is 'r' as per text2workspace.py)") parser.add_option("-f", "--format", dest="format", default="text", type="string", help="Output format ('text', 'latex', 'twiki'") parser.add_option("-g", "--histogram", dest="plotfile", default=None, type="string", help="If true, plot the pulls of the nuisances to the given file.") parser.add_option("", "--pullDef", dest="pullDef", default="", type="string", help="Choose the definition of the pull, see python/calculate_pulls.py for options") (options, args) = parser.parse_args() if len(args) == 0: parser.print_usage() exit(1) if options.pullDef!="" and options.pullDef not in CP.allowed_methods(): exit("Method %s not allowed, choose one of [%s]"%(options.pullDef,",".join(CP.allowed_methods()))) setUpString = "diffNuisances run on %s, at %s with the following options ... "%(args[0],datetime.datetime.utcnow())+str(options) file = ROOT.TFile(args[0]) if file == None: raise RuntimeError, "Cannot open file %s" % args[0] fit_s = file.Get("fit_s") fit_b = file.Get("fit_b") prefit = file.Get("nuisances_prefit") if fit_s == None or fit_s.ClassName() != "RooFitResult": raise RuntimeError, "File %s does not contain the output of the signal fit 'fit_s'" % args[0] if fit_b == None or fit_b.ClassName() != "RooFitResult": raise RuntimeError, "File %s does not contain the output of the background fit 'fit_b'" % args[0] if prefit == None or prefit.ClassName() != "RooArgSet": raise RuntimeError, "File %s does not contain the prefit nuisances 'nuisances_prefit'" % args[0] isFlagged = {}
parser.add_option( "", "--sortBy", dest="sortBy", default="impact", type='string', help= "choose 'correlation' or 'impact' to sort rows by correlation with or impact on --poi (largest to smallest absolute)" ) (options, args) = parser.parse_args() if len(args) == 0: parser.print_usage() exit(1) if options.pullDef != "" and options.pullDef not in CP.allowed_methods(): exit("Method %s not allowed, choose one of [%s]" % (options.pullDef, ",".join(CP.allowed_methods()))) if options.pullDef and options.absolute_values: print "Pulls are always defined as absolute, will modify --absolute_values to False for you" options.absolute_values = False if options.pullDef: options.show_all_parameters = True if options.sortBy not in ['correlation', 'impact']: exit("choose one of [ %s ] for --sortBy" % (",".join()['correlation', 'impact'])) setUpString = "diffNuisances run on %s, at %s with the following options ... " % ( args[0], datetime.datetime.utcnow()) + str(options)
parser.add_option("--stol", "--sig-tolerance", dest="stol", default=0.10, type="float", help="Report nuisances whose sigma changes by more than this amount") parser.add_option("--vtol2", "--val-tolerance2", dest="vtol2", default=2.0, type="float", help="Report severely nuisances whose value changes by more than this amount of sigmas") parser.add_option("--stol2", "--sig-tolerance2", dest="stol2", default=0.50, type="float", help="Report severely nuisances whose sigma changes by more than this amount") parser.add_option("-a", "--all", dest="show_all_parameters", default=False, action="store_true", help="Print all nuisances, even the ones which are unchanged w.r.t. pre-fit values.") parser.add_option("-A", "--abs", dest="absolute_values", default=False, action="store_true", help="Report also absolute values of nuisance values and errors, not only the ones normalized to the input sigma") parser.add_option("-p", "--poi", dest="poi", default="r", type="string", help="Name of signal strength parameter (default is 'r' as per text2workspace.py)") parser.add_option("-f", "--format", dest="format", default="text", type="string", help="Output format ('text', 'latex', 'twiki'") parser.add_option("-g", "--histogram", dest="plotfile", default=None, type="string", help="If true, plot the pulls of the nuisances to the given file.") parser.add_option("", "--pullDef", dest="pullDef", default="", type="string", help="Choose the definition of the pull, see python/calculate_pulls.py for options") (options, args) = parser.parse_args() if len(args) == 0: parser.print_usage() exit(1) if options.pullDef!="" and options.pullDef not in CP.allowed_methods(): exit("Method %s not allowed, choose one of [%s]"%(options.pullDef,",".join(CP.allowed_methods()))) if options.pullDef and options.absolute_values : print "Pulls are always defined as absolute, will modify --absolute_values to False for you" options.absolute_values = False if options.pullDef : options.show_all_parameters=True setUpString = "diffNuisances run on %s, at %s with the following options ... "%(args[0],datetime.datetime.utcnow())+str(options) file = ROOT.TFile(args[0]) if file == None: raise RuntimeError, "Cannot open file %s" % args[0] fit_s = file.Get("fit_s") fit_b = file.Get("fit_b") prefit = file.Get("nuisances_prefit") if fit_s == None or fit_s.ClassName() != "RooFitResult": raise RuntimeError, "File %s does not contain the output of the signal fit 'fit_s'" % args[0]