Exemple #1
0
def combine_cards_pth_ggH_lastBinDroppedHgg(args):
    out_card = 'suppliedInput/combination_pth_ggH_lastBinDroppedHgg_{0}.txt'.format(
        core.datestr())
    combine_cards(out_card, 'hgg=' + LatestPaths.card.pth_ggH.hgg,
                  'hzz=' + LatestPaths.card.pth_ggH.hzz,
                  '--xc=recoPt_600p0_10000p0_.*')
    drop_pdfindices(out_card)
Exemple #2
0
def combine_cards_Top_last2BinsDropped(args):
    hgg_cat_pats = [
        'recoPt_350p0_600p0',
        'recoPt_600p0_10000p0',
    ]

    decay_channel = differentialutils.get_decay_channel_tag(args)
    out_card = 'suppliedInput/Top_{0}_pth_ggH_{1}_last2BinsDropped.txt'.format(
        decay_channel, core.datestr())

    cmd = []
    if args.combWithHbb or args.combination or args.hgg:
        cmd.append('hgg=' + LatestPaths.card.pth_ggH.hgg)
        for cat_pat in hgg_cat_pats:
            cmd.append('--xc={0}.*'.format(cat_pat))
    if args.combWithHbb or args.hbb:
        cmd.append('hbb=' + LatestPaths.card.pth_ggH.hbb)
    if args.combWithHbb or args.combination or args.hzz:
        cmd.append('hzz=' + LatestPaths.card.pth_ggH.hzz)

    combine_cards(out_card, *cmd)

    # Have to manually remove the
    if args.combWithHbb or args.combination or args.hgg:
        drop_pdfindices(out_card, hgg_cat_pats)
Exemple #3
0
def combine_cards_Yukawa(args):
    hgg_cat_pats = [
        'recoPt_120p0_200p0',
        'recoPt_200p0_350p0',
        'recoPt_350p0_600p0',
        'recoPt_600p0_10000p0',
    ]
    hzz_cat_pats = [
        'hzz_PTH_GT200_cat2e2mu',
        'hzz_PTH_GT200_cat4e',
        'hzz_PTH_GT200_cat4mu',
    ]

    decay_channel = differentialutils.get_decay_channel_tag(args)
    out_card = 'suppliedInput/Yukawa_{0}_pth_ggH_{1}.txt'.format(
        decay_channel, core.datestr())

    cmd = []
    if args.combination or args.hzz:
        cmd.append('hzz=' + LatestPaths.card.pth_ggH.hzz)
        for cat_pat in hzz_cat_pats:
            cmd.append('--xc={0}.*'.format(cat_pat))
    if args.combination or args.hgg:
        cmd.append('hgg=' + LatestPaths.card.pth_ggH.hgg)
        for cat_pat in hgg_cat_pats:
            cmd.append('--xc={0}.*'.format(cat_pat))

    combine_cards(out_card, *cmd)

    # Have to manually remove the pdf indices
    if args.combWithHbb or args.combination or args.hgg:
        drop_pdfindices(out_card, hgg_cat_pats)
    def __init__(self):
        self.variations = []
        self.do_wrt_central = False
        self.last_bin_is_overflow = False
        self.tags = []

        self.outdir = None
        self.default_outdir = 'out/scalecorrelations_{0}'.format(core.datestr())
Exemple #5
0
def combine_cards_Top_noBinsDropped(args):
    decay_channel = differentialutils.get_decay_channel_tag(args)
    out_card = 'suppliedInput/Top_{0}_pth_ggH_{1}_noBinsDropped.txt'.format(
        decay_channel, core.datestr())
    cmd = []
    if args.combWithHbb or args.combination or args.hgg:
        cmd.append('hgg=' + LatestPaths.card.pth_ggH.hgg)
    if args.combWithHbb or args.hbb:
        cmd.append('hbb=' + LatestPaths.card.pth_ggH.hbb)
    if args.combWithHbb or args.combination or args.hzz:
        cmd.append('hzz=' + LatestPaths.card.pth_ggH.hzz)
    combine_cards(out_card, *cmd)
Exemple #6
0
def combine_cards_for_observable(args, obsname):
    decay_channel = differentialutils.get_decay_channel_tag(args)
    out_card = 'suppliedInput/{0}_{1}_{2}.txt'.format(decay_channel, obsname,
                                                      core.datestr())
    cmd = []
    if args.combWithHbb or args.combination or args.hgg:
        cmd.append('hgg=' + LatestPaths.card[obsname].hgg)
    if args.combWithHbb or args.combination or args.hzz:
        cmd.append('hzz=' + LatestPaths.card[obsname].hzz)
    if args.combWithHbb or args.hbb:
        cmd.append('hbb=' + LatestPaths.card[obsname].hbb)
    combine_cards(out_card, *cmd)
Exemple #7
0
def combine_pth_smH(args):
    decay_channel = differentialutils.get_decay_channel_tag(args)
    out_card = 'suppliedInput/{0}_pth_smH_{1}.txt'.format(
        decay_channel, core.datestr())
    cmd = []
    if args.combWithHbb or args.combination or args.hgg:
        cmd.append('hgg=' + LatestPaths.card.pth_ggH.hgg
                   )  # use ggH, but use special scaling in T2WS
    if args.combWithHbb or args.hbb:
        cmd.append('hbb=' + LatestPaths.card.pth_ggH.hbb
                   )  # use ggH, but use special scaling in T2WS
    if args.combWithHbb or args.combination or args.hzz:
        cmd.append('hzz=' + LatestPaths.card.pth_smH.hzz)
    combine_cards(out_card, *cmd)
Exemple #8
0
    def __init__(self, card=None, model_file=None, model_name=None, name=None):
        super(T2WS, self).__init__()
        self.name = name
        self.card = card
        self.ignore_xH = True

        self.model_file = self.default_model_file
        if not (model_file is None):
            self.model_file = model_file

        if model_name is None:
            if self.model_file == T2WS.default_model_file:
                self.model_name = 'multiSignalModel'
            else:
                base = basename(self.model_file).replace('.py', '')
                self.model_name = base[0].lower() + base[1:]
        else:
            self.model_name = model_name

        self.outdir = 'workspaces_{0}'.format(core.datestr())
        self.output_ws = None
        self.tags = []
        self.extra_options = []
        self.map_options = []
Exemple #9
0
 def get_outpath(self):
     outpath = 'out/theories_{0}_{1}'.format(
         core.datestr(),
         '_'.join(self.tags),
     )
     return outpath
Exemple #10
0
 def __init__(self, *args, **kwargs):
     super(CombineCorrMat, self).__init__(*args, **kwargs)
     self.subDirectory = 'out/corrmats_{0}'.format(core.datestr())
Exemple #11
0
 def __init__(self, *args, **kwargs):
     super(CombineOnlyPostfit, self).__init__(*args, **kwargs)
     self.subDirectory = 'out/postfits_{0}'.format(core.datestr())
     self.onBatch = True
Exemple #12
0
def base_config(args):
    config = combine.CombineConfig(args)
    config.subDirectory = 'out/corrmats_{0}'.format(core.datestr())
    config.queue = 'short.q'
    config.onBatch = False
    return config
Exemple #13
0
def fix_extension_for_txt(out):
    if not out.endswith('.txt'): out += '.txt'
    out = out.replace('.txt', '_{0}.txt'.format(core.datestr()))
    return out