Functions | |
def | addArguments |
def | matching_process |
def | remove_procs_and_systs_with_zero_yield |
Variables | |
tuple | log = logging.getLogger(__name__) |
tuple | parser |
tuple | args = parser.parse_args() |
tuple | clear_output_dir = raw_input("Do you really want to clear the output directory? [yes]") |
tuple | sample_settings = samples.Samples() |
tuple | systematics_factory = systematics.SystematicsFactory() |
list | www_output_dirs_postfit = [] |
list | www_output_dirs_weightbin = [] |
list | www_output_dirs_parabola = [] |
string | tmp_input_root_filename_template = "input/${ANALYSIS}_${CHANNEL}_${BIN}_${SYSTEMATIC}_${ERA}.root" |
string | input_root_filename_template = "input/${ANALYSIS}_${CHANNEL}_${BIN}_${ERA}.root" |
string | bkg_histogram_name_template = "${BIN}/${PROCESS}" |
string | sig_histogram_name_template = "${BIN}/${PROCESS}${MASS}" |
string | bkg_syst_histogram_name_template = "${BIN}/${PROCESS}_${SYSTEMATIC}" |
string | sig_syst_histogram_name_template = "${BIN}/${PROCESS}${MASS}_${SYSTEMATIC}" |
list | datacard_filename_templates = ["datacards/${BIN}/${ANALYSIS}_${CHANNEL}_${BIN}_${ERA}.txt"] |
string | output_root_filename_template = "datacards/common/${ANALYSIS}.input_${ERA}.root" |
quantity = args.quantity | |
list | categories = [channel+"_"+category for channel in args.channels for category in args.categories[0]] |
dictionary | mapping_category2binid = {} |
tuple | datacards = qcdfactorsdatacards.QcdFactorsDatacards(quantity, args.era, mapping_category2binid) |
tuple | channel = category.split("_") |
useRelaxedIsolation = False | |
tuple | output_file |
list | input_plot_configs = [] |
list | hadd_commands = [] |
tuple | datacards_per_channel_category = qcdfactorsdatacards.QcdFactorsDatacards(cb=datacards.cb.cp().channel([channel]).bin([category]), mapping_category2binid=mapping_category2binid) |
list | tmp_output_files = [] |
tuple | nominal = (shape_systematic == "nominal") |
list | list_of_samples = [datacards.configs.process2sample(process) for process in list_of_samples] |
string | systematic = "nominal" |
string | samples = "\", \"" |
category = category, | |
dictionary | merged_config = {} |
tuple | config_rest |
histogram_name_template = bkg_histogram_name_templateifnominalelsebkg_syst_histogram_name_template | |
tuple | PROCESS = datacards.configs.sample2process(sample) |
BIN = category, | |
SYSTEMATIC = systematic | |
tuple | systematics_settings = systematics_factory.get(shape_systematic) |
tuple | config_ztt |
tuple | MASS = str(shift) |
tuple | tmp_output_file |
DST = output_file, | |
string | SRC = " " |
tuple | output_files = list(set([os.path.join(config["output_dir"], config["filename"]+".root") for config in input_plot_configs[:args.n_plots[0]]])) |
update_systematics = True | |
tuple | processes = datacards.cb.cp() |
float | add_threshold = 0.1 |
dictionary | datacards_cbs = {} |
tuple | datacards_workspaces = datacards.text2workspace(datacards_cbs, n_processes=args.n_processes) |
VERBOSITY = args.combine_verbosity, | |
STABLE = datacards.stable_options | |
tuple | BINNING = int((args.shift_ranges[1]-args.shift_ranges[0])/args.shift_binning) |
tuple | RANGE = str(args.shift_ranges[0]) |
tuple | datacards_postfit_shapes = datacards.postfit_shapes_fromworkspace(datacards_cbs, datacards_workspaces, True, args.n_processes, "--sampling" + (" --print" if args.n_processes <= 1 else "")) |
list | postfit_plot_configs = [] |
list | bkg_plotting_order = ["ZTT", "ZL", "ZJ", "TTT","TTJJ", "VVT", "VVJ", "W", "QCD"] |
tuple | postfit_shapes = datacards_postfit_shapes.get("fit_s", {}) |
tuple | decayMode = category.split("_") |
tuple | weightBin = int(category.split("_")[-1].split(weight_type+"bin")[-1]) |
list | bkg_process = datacards_cbs[datacard] |
list | sig_process = datacards_cbs[datacard] |
dictionary | config = {} |
tuple | processes_to_plot = list(processes) |
list | parabola_plot_configs = [] |
list | weightbin_plot_configs = [] |
tuple | filename_mlfit = os.path.join(os.path.dirname(datacard), "mlfit.root") |
tuple | file_mlfit = ROOT.TFile(filename_mlfit) |
tuple | tree_mlfit = file_mlfit.Get("tree_fit_sb") |
tuple | filename_multidimfit = os.path.join(os.path.dirname(datacard), "higgsCombineTest.MultiDimFit.mH0.root") |
tuple | file_multidimfit = ROOT.TFile(filename_multidimfit) |
tuple | tree_multidimfit = file_multidimfit.Get("limit") |
list | mes_list = [] |
list | deltaNLL_list = [] |
list | deltaNLLshifted_list = [] |
list | min_nll = deltaNLL_list[0] |
list | min_shift = mes_list[0] |
list | mes_list_nll_belowX = [] |
list | nll_belowX = [] |
int | nllMax = 10 |
found2sigmaLow = True | |
tuple | err2sigmaLow = abs((mes_list[index-1]+mes_list[index])/2.0 - min_shift) |
found1sigmaLow = True | |
tuple | err1sigmaLow = abs((mes_list[index-1]+mes_list[index])/2.0 - min_shift) |
found1sigmaHi = True | |
tuple | err1sigmaHi = abs((mes_list[index]+mes_list[index+1])/2.0 - min_shift) |
found2sigmaHi = True | |
tuple | err2sigmaHi = abs((mes_list[index]+mes_list[index+1])/2.0 - min_shift) |
list | xvaluesF = [] |
string | xvalues = "" |
string | yvalues = "" |
list | xvaluesF_belowX = [] |
tuple | RooFitGraph_Parabola |
tuple | fitf = ROOT.TF1("f1","pol2",min(xvaluesF_belowX),max(xvaluesF_belowX)) |
tuple | minimumScanFit = fitf.GetMinimumX(min(xvaluesF_belowX),max(xvaluesF_belowX)) |
tuple | minimumScanFitY = fitf.GetMinimum(min(xvaluesF_belowX),max(xvaluesF_belowX)) |
tuple | sigmaScanFit = abs(fitf.GetX(minimumScanFitY+1)-minimumScanFit) |
tuple | graphfilename = os.path.join(os.path.dirname(datacard), "parabola_" + category + ("_tightenedMassWindow" if args.tighten_mass_window else "")+".root") |
tuple | graphfile = ROOT.TFile(graphfilename, "RECREATE") |
list | weight_bins_loop = weight_binsifargs.no_inclusiveelseweight_bins[1:] |
list | weight_ranges_loop = weight_rangesifargs.no_inclusiveelseweight_ranges[1:] |
string | xval = "0.7395 2.2185" |
string | xerrsval = "0.7395 0.7395" |
list | xbinsF = [0.7395, 2.2185] |
list | xerrsF = [0.7395, 0.7395] |
tuple | RooFitGraph_Linear |
tuple | fit_polZero = ROOT.TF1("f2","pol0",min(xbinsF),max(xbinsF)) |
tuple | fit_polOne = ROOT.TF1("f3","pol1",min(xbinsF),max(xbinsF)) |
tuple | polZero_filename = os.path.join(args.output_dir, "datacards/result_fit_" + ("eta" if args.eta_binning else "pt") + "_pol0_" + decayMode + "_" + quantity + ".root") |
tuple | polZero_file = ROOT.TFile(polZero_filename, "RECREATE") |
tuple | polOne_filename = os.path.join(args.output_dir, "datacards/result_fit_" + ("eta" if args.eta_binning else "pt") + "_pol1_" + decayMode + "_" + quantity + ".root") |
tuple | polOne_file = ROOT.TFile(polOne_filename, "RECREATE") |
string | row_format = "{:^22}" |
string | polZero_string1 = "%1.2f" |
string | polZero_string2 = "%1.2f" |
string | polOne_string1 = "%1.2f" |
string | polOne_string2 = "%1.2f" |
tuple | subpath = os.path.normpath(output_dir) |
list | output_filenames = [] |
tuple | www = args.wwwif(subpath == "tauEsStudies_datacards") |
output_dir = output_dir, | |
export_json = False, | |
def makePlots_datacardsQCDfactors.addArguments | ( | parser | ) |
def makePlots_datacardsQCDfactors.matching_process | ( | obj1, | |
obj2 | |||
) |
def makePlots_datacardsQCDfactors.remove_procs_and_systs_with_zero_yield | ( | proc | ) |
float makePlots_datacardsQCDfactors.add_threshold = 0.1 |
tuple makePlots_datacardsQCDfactors.args = parser.parse_args() |
makePlots_datacardsQCDfactors.BIN = category, |
tuple makePlots_datacardsQCDfactors.BINNING = int((args.shift_ranges[1]-args.shift_ranges[0])/args.shift_binning) |
string makePlots_datacardsQCDfactors.bkg_histogram_name_template = "${BIN}/${PROCESS}" |
list makePlots_datacardsQCDfactors.bkg_plotting_order = ["ZTT", "ZL", "ZJ", "TTT","TTJJ", "VVT", "VVJ", "W", "QCD"] |
list makePlots_datacardsQCDfactors.bkg_process = datacards_cbs[datacard] |
string makePlots_datacardsQCDfactors.bkg_syst_histogram_name_template = "${BIN}/${PROCESS}_${SYSTEMATIC}" |
list makePlots_datacardsQCDfactors.categories = [channel+"_"+category for channel in args.channels for category in args.categories[0]] |
tuple makePlots_datacardsQCDfactors.category = category, |
tuple makePlots_datacardsQCDfactors.channel = category.split("_") |
tuple makePlots_datacardsQCDfactors.clear_output_dir = raw_input("Do you really want to clear the output directory? [yes]") |
dictionary makePlots_datacardsQCDfactors.config = {} |
tuple makePlots_datacardsQCDfactors.config_rest |
tuple makePlots_datacardsQCDfactors.config_ztt |
list makePlots_datacardsQCDfactors.datacard_filename_templates = ["datacards/${BIN}/${ANALYSIS}_${CHANNEL}_${BIN}_${ERA}.txt"] |
tuple makePlots_datacardsQCDfactors.datacards = qcdfactorsdatacards.QcdFactorsDatacards(quantity, args.era, mapping_category2binid) |
dictionary makePlots_datacardsQCDfactors.datacards_cbs = {} |
tuple makePlots_datacardsQCDfactors.datacards_per_channel_category = qcdfactorsdatacards.QcdFactorsDatacards(cb=datacards.cb.cp().channel([channel]).bin([category]), mapping_category2binid=mapping_category2binid) |
tuple makePlots_datacardsQCDfactors.datacards_postfit_shapes = datacards.postfit_shapes_fromworkspace(datacards_cbs, datacards_workspaces, True, args.n_processes, "--sampling" + (" --print" if args.n_processes <= 1 else "")) |
tuple makePlots_datacardsQCDfactors.datacards_workspaces = datacards.text2workspace(datacards_cbs, n_processes=args.n_processes) |
tuple makePlots_datacardsQCDfactors.decayMode = category.split("_") |
list makePlots_datacardsQCDfactors.deltaNLL_list = [] |
list makePlots_datacardsQCDfactors.deltaNLLshifted_list = [] |
makePlots_datacardsQCDfactors.DST = output_file, |
tuple makePlots_datacardsQCDfactors.err1sigmaHi = abs((mes_list[index]+mes_list[index+1])/2.0 - min_shift) |
tuple makePlots_datacardsQCDfactors.err1sigmaLow = abs((mes_list[index-1]+mes_list[index])/2.0 - min_shift) |
tuple makePlots_datacardsQCDfactors.err2sigmaHi = abs((mes_list[index]+mes_list[index+1])/2.0 - min_shift) |
tuple makePlots_datacardsQCDfactors.err2sigmaLow = abs((mes_list[index-1]+mes_list[index])/2.0 - min_shift) |
makePlots_datacardsQCDfactors.export_json = False, |
tuple makePlots_datacardsQCDfactors.file_mlfit = ROOT.TFile(filename_mlfit) |
tuple makePlots_datacardsQCDfactors.file_multidimfit = ROOT.TFile(filename_multidimfit) |
tuple makePlots_datacardsQCDfactors.filename_mlfit = os.path.join(os.path.dirname(datacard), "mlfit.root") |
tuple makePlots_datacardsQCDfactors.filename_multidimfit = os.path.join(os.path.dirname(datacard), "higgsCombineTest.MultiDimFit.mH0.root") |
tuple makePlots_datacardsQCDfactors.fitf = ROOT.TF1("f1","pol2",min(xvaluesF_belowX),max(xvaluesF_belowX)) |
makePlots_datacardsQCDfactors.found1sigmaHi = True |
makePlots_datacardsQCDfactors.found1sigmaLow = True |
makePlots_datacardsQCDfactors.found2sigmaHi = True |
makePlots_datacardsQCDfactors.found2sigmaLow = True |
tuple makePlots_datacardsQCDfactors.graphfile = ROOT.TFile(graphfilename, "RECREATE") |
tuple makePlots_datacardsQCDfactors.graphfilename = os.path.join(os.path.dirname(datacard), "parabola_" + category + ("_tightenedMassWindow" if args.tighten_mass_window else "")+".root") |
list makePlots_datacardsQCDfactors.hadd_commands = [] |
makePlots_datacardsQCDfactors.histogram_name_template = bkg_histogram_name_templateifnominalelsebkg_syst_histogram_name_template |
list makePlots_datacardsQCDfactors.input_plot_configs = [] |
string makePlots_datacardsQCDfactors.input_root_filename_template = "input/${ANALYSIS}_${CHANNEL}_${BIN}_${ERA}.root" |
list makePlots_datacardsQCDfactors.list_of_samples = [datacards.configs.process2sample(process) for process in list_of_samples] |
tuple makePlots_datacardsQCDfactors.log = logging.getLogger(__name__) |
dictionary makePlots_datacardsQCDfactors.mapping_category2binid = {} |
tuple makePlots_datacardsQCDfactors.MASS = str(shift) |
tuple makePlots_datacardsQCDfactors.merged_config = {} |
list makePlots_datacardsQCDfactors.mes_list = [] |
list makePlots_datacardsQCDfactors.mes_list_nll_belowX = [] |
list makePlots_datacardsQCDfactors.min_nll = deltaNLL_list[0] |
list makePlots_datacardsQCDfactors.min_shift = mes_list[0] |
tuple makePlots_datacardsQCDfactors.minimumScanFit = fitf.GetMinimumX(min(xvaluesF_belowX),max(xvaluesF_belowX)) |
tuple makePlots_datacardsQCDfactors.minimumScanFitY = fitf.GetMinimum(min(xvaluesF_belowX),max(xvaluesF_belowX)) |
list makePlots_datacardsQCDfactors.nll_belowX = [] |
int makePlots_datacardsQCDfactors.nllMax = 10 |
tuple makePlots_datacardsQCDfactors.nominal = (shape_systematic == "nominal") |
makePlots_datacardsQCDfactors.output_dir = output_dir, |
tuple makePlots_datacardsQCDfactors.output_file |
list makePlots_datacardsQCDfactors.output_filenames = [] |
tuple makePlots_datacardsQCDfactors.output_files = list(set([os.path.join(config["output_dir"], config["filename"]+".root") for config in input_plot_configs[:args.n_plots[0]]])) |
string makePlots_datacardsQCDfactors.output_root_filename_template = "datacards/common/${ANALYSIS}.input_${ERA}.root" |
list makePlots_datacardsQCDfactors.parabola_plot_configs = [] |
tuple makePlots_datacardsQCDfactors.parser |
tuple makePlots_datacardsQCDfactors.polOne_file = ROOT.TFile(polOne_filename, "RECREATE") |
tuple makePlots_datacardsQCDfactors.polOne_filename = os.path.join(args.output_dir, "datacards/result_fit_" + ("eta" if args.eta_binning else "pt") + "_pol1_" + decayMode + "_" + quantity + ".root") |
string makePlots_datacardsQCDfactors.polOne_string1 = "%1.2f" |
string makePlots_datacardsQCDfactors.polOne_string2 = "%1.2f" |
tuple makePlots_datacardsQCDfactors.polZero_file = ROOT.TFile(polZero_filename, "RECREATE") |
tuple makePlots_datacardsQCDfactors.polZero_filename = os.path.join(args.output_dir, "datacards/result_fit_" + ("eta" if args.eta_binning else "pt") + "_pol0_" + decayMode + "_" + quantity + ".root") |
string makePlots_datacardsQCDfactors.polZero_string1 = "%1.2f" |
string makePlots_datacardsQCDfactors.polZero_string2 = "%1.2f" |
list makePlots_datacardsQCDfactors.postfit_plot_configs = [] |
tuple makePlots_datacardsQCDfactors.postfit_shapes = datacards_postfit_shapes.get("fit_s", {}) |
tuple makePlots_datacardsQCDfactors.PROCESS = datacards.configs.sample2process(sample) |
list makePlots_datacardsQCDfactors.processes = datacards.cb.cp() |
list makePlots_datacardsQCDfactors.processes_to_plot = list(processes) |
makePlots_datacardsQCDfactors.quantity = args.quantity |
tuple makePlots_datacardsQCDfactors.RANGE = str(args.shift_ranges[0]) |
tuple makePlots_datacardsQCDfactors.RooFitGraph_Linear |
tuple makePlots_datacardsQCDfactors.RooFitGraph_Parabola |
string makePlots_datacardsQCDfactors.row_format = "{:^22}" |
tuple makePlots_datacardsQCDfactors.sample_settings = samples.Samples() |
string makePlots_datacardsQCDfactors.samples = "\", \"" |
list makePlots_datacardsQCDfactors.sig_process = datacards_cbs[datacard] |
string makePlots_datacardsQCDfactors.sig_syst_histogram_name_template = "${BIN}/${PROCESS}${MASS}_${SYSTEMATIC}" |
tuple makePlots_datacardsQCDfactors.sigmaScanFit = abs(fitf.GetX(minimumScanFitY+1)-minimumScanFit) |
string makePlots_datacardsQCDfactors.SRC = " " |
makePlots_datacardsQCDfactors.STABLE = datacards.stable_options |
tuple makePlots_datacardsQCDfactors.subpath = os.path.normpath(output_dir) |
makePlots_datacardsQCDfactors.systematic = "nominal" |
makePlots_datacardsQCDfactors.SYSTEMATIC = systematic |
tuple makePlots_datacardsQCDfactors.systematics_factory = systematics.SystematicsFactory() |
tuple makePlots_datacardsQCDfactors.systematics_settings = systematics_factory.get(shape_systematic) |
string makePlots_datacardsQCDfactors.tmp_input_root_filename_template = "input/${ANALYSIS}_${CHANNEL}_${BIN}_${SYSTEMATIC}_${ERA}.root" |
tuple makePlots_datacardsQCDfactors.tmp_output_file |
list makePlots_datacardsQCDfactors.tmp_output_files = [] |
tuple makePlots_datacardsQCDfactors.tree_mlfit = file_mlfit.Get("tree_fit_sb") |
tuple makePlots_datacardsQCDfactors.tree_multidimfit = file_multidimfit.Get("limit") |
makePlots_datacardsQCDfactors.update_systematics = True |
makePlots_datacardsQCDfactors.useRelaxedIsolation = False |
makePlots_datacardsQCDfactors.VERBOSITY = args.combine_verbosity, |
list makePlots_datacardsQCDfactors.weight_bins_loop = weight_binsifargs.no_inclusiveelseweight_bins[1:] |
list makePlots_datacardsQCDfactors.weight_ranges_loop = weight_rangesifargs.no_inclusiveelseweight_ranges[1:] |
tuple makePlots_datacardsQCDfactors.weightBin = int(category.split("_")[-1].split(weight_type+"bin")[-1]) |
list makePlots_datacardsQCDfactors.weightbin_plot_configs = [] |
tuple makePlots_datacardsQCDfactors.www = args.wwwif(subpath == "tauEsStudies_datacards") |
list makePlots_datacardsQCDfactors.www_output_dirs_parabola = [] |
list makePlots_datacardsQCDfactors.www_output_dirs_postfit = [] |
list makePlots_datacardsQCDfactors.www_output_dirs_weightbin = [] |
list makePlots_datacardsQCDfactors.xbinsF = [0.7395, 2.2185] |
list makePlots_datacardsQCDfactors.xerrsF = [0.7395, 0.7395] |
string makePlots_datacardsQCDfactors.xerrsval = "0.7395 0.7395" |
string makePlots_datacardsQCDfactors.xval = "0.7395 2.2185" |
string makePlots_datacardsQCDfactors.xvalues = "" |
list makePlots_datacardsQCDfactors.xvaluesF = [] |
list makePlots_datacardsQCDfactors.xvaluesF_belowX = [] |
string makePlots_datacardsQCDfactors.yvalues = "" |