diff --git a/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/__init__.py b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/__init__.py new file mode 100644 index 00000000..68b5715d --- /dev/null +++ b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/__init__.py @@ -0,0 +1,28 @@ +from order import Campaign +# +# campaign +# + +campaign_run3_2022_postEE_nano_tau_skim_2025_v1 = Campaign( + name="run3_2022_postEE_nano_tau_skim_2025_v1", + id=20221444, # run 2 year 2022 ver 14 #33 is just for separation between different configss + ecm=13.6, + bx=25, + aux={ + "tier": "NanoAOD", + "run": 3, + "year": 2022, + "version": 14, + "tag": "postEE", + "custom": { + "name": "run3_2022_postEE_nano_tau_skim_2025_v1", + "creator": "desy", + "location": "/eos/cms/store/group/phys_higgs/HLepRare/skim_2025_v1/Run3_2022EE" + }, + }, +) + +import cmsdb.campaigns.run3_2022_postEE_nano_tau_skim_2025_v1.bkgs +import cmsdb.campaigns.run3_2022_postEE_nano_tau_skim_2025_v1.data +import cmsdb.campaigns.run3_2022_postEE_nano_tau_skim_2025_v1.signal + diff --git a/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/bkgs.py b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/bkgs.py new file mode 100644 index 00000000..59c16663 --- /dev/null +++ b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/bkgs.py @@ -0,0 +1,218 @@ +# coding: utf-8 + +""" +CMS bkgs datasets from the 2022 post-EE campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_postEE_nano_tau_skim_2025_v1 import campaign_run3_2022_postEE_nano_tau_skim_2025_v1 as cpn # TODO: adjust if needed + +import re +from collections import OrderedDict + +def _base_name(name: str) -> str: + m = re.match(r'^(.*)_ext\d+$', name) + return m.group(1) if m else name + +def _ext_number(s: str) -> int: + m = re.search(r'_ext(\d+)$', s) + return int(m.group(1)) if m else 0 + +def _key_sort_key(key: str): + n = _ext_number(key) + # base (no ext) first, then _ext1, _ext2, ... + return (0, 0) if n == 0 else (1, n) + +def add_merged_datasets(dataset_rows, cpn, procs): + """ + dataset_rows: iterable of (name, key_or_keys, n_evt, n_files, pid, proc) + Groups *_extX with their base sample, then calls cpn.add_dataset once per base. + """ + groups = {} # base_name -> accumulator + for name, key, n_evt, n_files, pid, proc in dataset_rows: + base = _base_name(name) + g = groups.get(base) + if g is None: + g = { + "name": base, + "proc": proc, + "id": None, # prefer non-ext id; fallback to first seen + "keys": OrderedDict(), # preserve insertion order, avoid dups + "n_events": 0, + "n_files": 0, + } + groups[base] = g + + if g["proc"] != proc: + raise ValueError(f"Process mismatch for {base}: {g['proc']} vs {proc}") + + if not re.search(r'_ext\d+$', name): + g["id"] = pid + elif g["id"] is None: + g["id"] = pid + + # --- FIX: accept string OR list of strings for 'key' --- + keys_in = key if isinstance(key, (list, tuple)) else [key] + for k in keys_in: + if not isinstance(k, str): + raise TypeError(f"key must be a string, got {type(k).__name__}: {k}") + g["keys"][k] = True + + g["n_events"] += int(n_evt) + g["n_files"] += int(n_files) + + # emit one add per base sample with sorted keys (base first, then ext1, ext2, ...) + for base, g in groups.items(): + keys = list(g["keys"].keys()) + keys.sort(key=_key_sort_key) + cpn.add_dataset( + name=g["name"], + id=g["id"], + is_data=False, + processes=[getattr(procs, g["proc"])], + keys=keys, + n_files=g["n_files"], + n_events=g["n_events"], + ) + +# ---- your datasets (name, key, n_evt, n_files, pid, proc) ---- +dataset_rows = [ + ("GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 445092, 1, 1221936734, "h_ggf_htt" ), + ("VBFHto2Tau_UncorrelatedDecay_UnFiltered", ["/VBFHto2Tau_UncorrelatedDecay_UnFiltered"], 396754, 1, 3201507122, "h_vbf_htt" ), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 168535477, 139, 1895014020, "dy_m10to50" ), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 275262495, 425, 1078589252, "dy_m50toinf_0j" ), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 151393596, 539, 4189203628, "dy_m50toinf_1j" ), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 84618132, 560, 3905898197, "dy_m50toinf_2j" ), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX"], 143381450, 317, 4072667752, "dy_m50toinf" ), + ("DYto2L_M_50_amcatnloFXFX_ext1", ["/DYto2L_M_50_amcatnloFXFX_ext1"], 240058361, 554, 2565332299, "dy_m50toinf" ), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 100595369, 109, 3729619275, "dy_tautau_m50toinf_0j"), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 87692299, 228, 1740022435, "dy_tautau_m50toinf_1j"), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 112976268, 595, 1993066714, "dy_tautau_m50toinf_2j"), + ("TTto2L2Nu", ["/TTto2L2Nu"], 83445808, 238, 481041747, "tt_dl" ), + ("TTto2L2Nu_ext1", ["/TTto2L2Nu_ext1"], 84236946, 233, 3676565014, "tt_dl" ), + ("TTto4Q", ["/TTto4Q"], 178011279, 466, 954044713, "tt_fh" ), + ("TTto4Q_ext1", ["/TTto4Q_ext1"], 185398097, 458, 1796602938, "tt_fh" ), + ("TTtoLNu2Q", ["/TTtoLNu2Q"], 264626088, 712, 974897688, "tt_sl" ), + ("TTtoLNu2Q_ext1", ["/TTtoLNu2Q_ext1"], 273257101, 739, 2314749232, "tt_sl" ), + ("TWminusto2L2Nu", ["/TWminusto2L2Nu"], 8065066, 20, 3769865861, "st_twchannel_t_dl" ), + ("TWminusto2L2Nu_ext1", ["/TWminusto2L2Nu_ext1"], 8510272, 21, 1220353833, "st_twchannel_t_dl" ), + ("TWminusto4Q", ["/TWminusto4Q"], 13459714, 26, 360718874, "st_twchannel_t_fh" ), + ("TWminusto4Q_ext1", ["/TWminusto4Q_ext1"], 13999444, 27, 3323803668, "st_twchannel_t_fh" ), + ("TWminustoLNu2Q", ["/TWminustoLNu2Q"], 16686824, 38, 3322169806, "st_twchannel_t_sl" ), + ("TWminustoLNu2Q_ext1", ["/TWminustoLNu2Q_ext1"], 15824984, 36, 442938383, "st_twchannel_t_sl" ), + ("TbarWplusto2L2Nu", ["/TbarWplusto2L2Nu"], 8259727, 20, 3186488965, "st_twchannel_tbar_dl" ), + ("TbarWplusto2L2Nu_ext1", ["/TbarWplusto2L2Nu_ext1"], 8522476, 21, 447531145, "st_twchannel_tbar_dl" ), + ("TbarWplusto4Q", ["/TbarWplusto4Q"], 13418632, 25, 1514482258, "st_twchannel_tbar_fh" ), + ("TbarWplusto4Q_ext1", ["/TbarWplusto4Q_ext1"], 12556124, 24, 2343502866, "st_twchannel_tbar_fh" ), + ("TbarWplustoLNu2Q", ["/TbarWplustoLNu2Q"], 16485400, 37, 2606377422, "st_twchannel_tbar_sl" ), + ("TbarWplustoLNu2Q_ext1", ["/TbarWplustoLNu2Q_ext1"], 17271609, 39, 1215783855, "st_twchannel_tbar_sl" ), + ("WW", ["/WW"], 53112080, 53, 443727516, "ww" ), + ("WWW_4F", ["/WWW_4F"], 1345746, 4, 3973511632, "www" ), + ("WWZ_4F", ["/WWZ_4F"], 5249916, 14, 515645709, "wwz" ), + ("WZ", ["/WZ"], 26722782, 26, 1690550817, "wz" ), + ("WZZ", ["/WZZ"], 5229208, 14, 363955451, "wzz" ), + ("WminusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WminusHto2Tau_UncorrelatedDecay_UnFiltered"], 63910, 1, 2986674282, "wh_htt" ), + ("WplusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WplusHto2Tau_UncorrelatedDecay_UnFiltered"], 66154, 1, 2058886370, "wh_htt" ), + ("WtoLNu_amcatnloFXFX", ["/WtoLNu_amcatnloFXFX"], 195475400, 261, 1538031583, "w_lnu" ), + ("ZHto2Tau_UncorrelatedDecay_UnFiltered", ["/ZHto2Tau_UncorrelatedDecay_UnFiltered"], 69650, 1, 1072228519, "zh_htt" ), + ("ZZ", ["/ZZ"], 4043040, 4, 3513629804, "zz" ), + ("ZZZ", ["/ZZZ"], 5063206, 11, 493426600, "zzz" ), +] + +def register_all_datasets(cpn, procs): + add_merged_datasets(dataset_rows, cpn, procs) + +register_all_datasets(cpn, procs) + +# # Each entry: (name, keys, eff(sumw), filter_efficiency, xs_pb, norm_weight, proc_names, rand_id) +datasets = [ + ("DYto2E_MLL_10to50_powheg", ["/DYto2E_MLL_10to50_powheg"], 4764222, 1, 6744, 37.755155994, ["dy_ee_m10to50"], 6796551), + ("DYto2E_MLL_120to200_powheg", ["/DYto2E_MLL_120to200_powheg"], 5184446, 1, 20.2047670897, 0.103944661857, ["dy_ee_m120to200"], 4833479), + ("DYto2E_MLL_1500to2500_powheg", ["/DYto2E_MLL_1500to2500_powheg"], 2053882, 1, 0.00103683585389, 1.34643445164e-05, ["dy_ee_m1500to2500"], 2889932), + ("DYto2E_MLL_200to400_powheg", ["/DYto2E_MLL_200to400_powheg"], 3134891, 1, 2.85386502357, 0.0242807267459, ["dy_ee_m200to400"], 8916126), + ("DYto2E_MLL_2500to4000_powheg", ["/DYto2E_MLL_2500to4000_powheg"], 986486, 1, 5.55187803309e-05, 1.50106565461e-06, ["dy_ee_m2500to4000"], 4683160), + ("DYto2E_MLL_4000to6000_powheg", ["/DYto2E_MLL_4000to6000_powheg"], 1027654, 1, 1.45399663398e-06, 3.77369834814e-08, ["dy_ee_m4000to6000"], 4010344), + ("DYto2E_MLL_400to800_powheg", ["/DYto2E_MLL_400to800_powheg"], 2972468, 1, 0.251136389091, 0.00225342524425, ["dy_ee_m400to800"], 2815323), + ("DYto2E_MLL_50to120_powheg", ["/DYto2E_MLL_50to120_powheg"], 10192192, 1, 2070.87197099, 5.41921462515, ["dy_ee_m50to120"], 9102043), + ("DYto2E_MLL_6000_powheg", ["/DYto2E_MLL_6000_powheg"], 525000, 1, 3.28409124197e-08, 1.66842469292e-09, ["dy_ee_m6000toinf"], 4774705), + ("DYto2E_MLL_800to1500_powheg", ["/DYto2E_MLL_800to1500_powheg"], 2003864, 1, 0.017871653107, 0.000237874112302, ["dy_ee_m800to1500"], 7253508), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 168535477, 1, 20950, 3.31545692899, ["dy_m10to50"], 8397046), + ("DYto2L_M_10to50_madgraphMLM", ["/DYto2L_M_10to50_madgraphMLM"], 520125461, 1, 17380, 0.891235251412, ["dy_m10to50"], 2883396), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_0j"], 7253877), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_1j"], 7761939), + ("DYto2L_M_50_1J_madgraphMLM", ["/DYto2L_M_50_1J_madgraphMLM"], 494841164, 1, 6282.6, 0.338629108915, ["dy_m50toinf_1j"], 7007618), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_2j"], 6190865), + ("DYto2L_M_50_2J_madgraphMLM", ["/DYto2L_M_50_2J_madgraphMLM"], 494841164, 1, 6282.6, 0.338629108915, ["dy_m50toinf_2j"], 7443403), + ("DYto2L_M_50_3J_madgraphMLM", ["/DYto2L_M_50_3J_madgraphMLM"], 494841164, 1, 6282.6, 0.338629108915, ["dy_m50toinf_3j"], 4387517), + ("DYto2L_M_50_4J_madgraphMLM", ["/DYto2L_M_50_4J_madgraphMLM"], 494841164, 1, 6282.6, 0.338629108915, ["dy_m50toinf_4j"], 5290249), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX", "/DYto2L_M_50_amcatnloFXFX_ext1"], 766880474, 1, 6282.6, 0.218505527395, ["dy_m50toinf"], 4498229), + ("DYto2L_M_50_madgraphMLM", ["/DYto2L_M_50_madgraphMLM", "/DYto2L_M_50_madgraphMLM_ext1"], 989682328, 1, 6282.6, 0.169314554458, ["dy_m50toinf"], 9585537), + ("DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_1j_pt100to200"], 5420794), + ("DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_2j_pt100to200"], 7050646), + ("DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_1j_pt200to400"], 6796862), + ("DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_2j_pt200to400"], 3047427), + ("DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_1j_pt400to600"], 5932100), + ("DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_2j_pt400to600"], 4861352), + ("DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_1j_pt40to100"], 6898123), + ("DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_2j_pt40to100"], 7398792), + ("DYto2L_M_50_PTLL_600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_1J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_1j_pt600toinf"], 5873971), + ("DYto2L_M_50_PTLL_600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_2J_amcatnloFXFX"], 383440237, 1, 6282.6, 0.437011054789, ["dy_m50toinf_2j_pt600toinf"], 8474320), + ("DYto2Mu_MLL_10to50_powheg", ["/DYto2Mu_MLL_10to50_powheg"], 4597120, 1, 6744, 39.1275287136, ["dy_mumu_m10to50"], 6850368), + ("DYto2Mu_MLL_120to200_powheg", ["/DYto2Mu_MLL_120to200_powheg"], 4859532, 1, 20.2047670897, 0.110894523667, ["dy_mumu_m120to200"], 4107527), + ("DYto2Mu_MLL_1500to2500_powheg", ["/DYto2Mu_MLL_1500to2500_powheg"], 2006612, 1, 0.00103683585389, 1.37815256981e-05, ["dy_mumu_m1500to2500"], 5017452), + ("DYto2Mu_MLL_200to400_powheg", ["/DYto2Mu_MLL_200to400_powheg"], 3038276, 1, 2.85386502357, 0.0250528364602, ["dy_mumu_m200to400"], 4234363), + ("DYto2Mu_MLL_2500to4000_powheg", ["/DYto2Mu_MLL_2500to4000_powheg"], 1000170, 1, 5.55187803309e-05, 1.4805285635e-06, ["dy_mumu_m2500to4000"], 3005848), + ("DYto2Mu_MLL_4000to6000_powheg", ["/DYto2Mu_MLL_4000to6000_powheg"], 994896, 1, 1.45399663398e-06, 3.89795134593e-08, ["dy_mumu_m4000to6000"], 6012591), + ("DYto2Mu_MLL_400to800_powheg", ["/DYto2Mu_MLL_400to800_powheg"], 2927264, 1, 0.251136389091, 0.00228822355241, ["dy_mumu_m400to800"], 7399608), + ("DYto2Mu_MLL_50to120_powheg", ["/DYto2Mu_MLL_50to120_powheg"], 9669500, 1, 2070.87197099, 5.7121542943, ["dy_mumu_m50to120"], 2548203), + ("DYto2Mu_MLL_6000_powheg", ["/DYto2Mu_MLL_6000_powheg"], 503888, 1, 3.28409124197e-08, 1.73832868372e-09, ["dy_mumu_m6000toinf"], 8983127), + ("DYto2Mu_MLL_800to1500_powheg", ["/DYto2Mu_MLL_800to1500_powheg"], 2088078, 1, 0.017871653107, 0.000228280442673, ["dy_mumu_m800to1500"], 2184627), + ("DYto2Tau_MLL_10to50_powheg", ["/DYto2Tau_MLL_10to50_powheg"], 4815253, 1, 6744, 37.3550350937, ["dy_tautau_m10to50"], 3137851), + ("DYto2Tau_MLL_120to200_powheg", ["/DYto2Tau_MLL_120to200_powheg"], 5194901, 1, 20.2047670897, 0.103735467988, ["dy_tautau_m120to200"], 5205379), + ("DYto2Tau_MLL_1500to2500_powheg", ["/DYto2Tau_MLL_1500to2500_powheg"], 1995673, 1, 0.00103683585389, 1.38570671869e-05, ["dy_tautau_m1500to2500"], 5886395), + ("DYto2Tau_MLL_200to400_powheg", ["/DYto2Tau_MLL_200to400_powheg"], 3009278, 1, 2.85386502357, 0.0252942505641, ["dy_tautau_m200to400"], 5691075), + ("DYto2Tau_MLL_2500to4000_powheg", ["/DYto2Tau_MLL_2500to4000_powheg"], 1049992, 1, 5.55187803309e-05, 1.41027765293e-06, ["dy_tautau_m2500to4000"], 7499225), + ("DYto2Tau_MLL_4000to6000_powheg", ["/DYto2Tau_MLL_4000to6000_powheg"], 1047456, 1, 1.45399663398e-06, 3.70235714174e-08, ["dy_tautau_m4000to6000"], 2583504), + ("DYto2Tau_MLL_400to800_powheg", ["/DYto2Tau_MLL_400to800_powheg"], 3106940, 1, 0.251136389091, 0.00215589436195, ["dy_tautau_m400to800"], 2024719), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 100595369, 1, 1664.68417309, 0.441371777854, ["dy_tautau_m50toinf_0j"], 4419049), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 86891040, 1, 316.240337878, 0.0970717742563, ["dy_tautau_m50toinf_1j"], 2255149), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 107261589, 1, 116.472030231, 0.0289619711742, ["dy_tautau_m50toinf_2j"], 6337789), + ("DYto2Tau_MLL_50to120_powheg", ["/DYto2Tau_MLL_50to120_powheg"], 9961938, 1, 2070.87197099, 5.54447096024, ["dy_tautau_m50to120"], 3696297), + ("DYto2Tau_MLL_6000_powheg", ["/DYto2Tau_MLL_6000_powheg"], 523113, 1, 3.28409124197e-08, 1.67444311991e-09, ["dy_tautau_m6000toinf"], 4342131), + ("DYto2Tau_MLL_800to1500_powheg", ["/DYto2Tau_MLL_800to1500_powheg"], 2078006, 1, 0.017871653107, 0.000229386907533, ["dy_tautau_m800to1500"], 3545402), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay"], 21495773, 0.3848, 3.2759, 0.0015640957279, ["h_ggf_htt"], 7899113), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay"], 448150, 1, 3.2759, 0.194965574093, ["h_ggf_htt"], 9241663), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay"], 20689379, 0.3848, 3.2759, 0.00162505828315, ["h_ggf_htt"], 2232291), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay"], 441570, 1, 3.2759, 0.197870829155, ["h_ggf_htt"], 9098251), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay"], 19599725, 0.3847, 3.2759, 0.00171495821166, ["h_ggf_htt"], 5830906), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 445092, 1, 3.2759, 0.196305083061, ["h_ggf_htt"], 4860650), + ("ST_t_channel_antitop_4f_InclusiveDecays", ["/ST_t_channel_antitop_4f_InclusiveDecays"], 4794814, 1, 75.47, 0.419810486705, ["st_twchannel_tbar_fh"], 9352674), + ("ST_t_channel_top_4f_InclusiveDecays", ["/ST_t_channel_top_4f_InclusiveDecays"], 9368799, 1, 123.8, 0.352441808176, ["st_twchannel_t_fh"], 3486129), + ("ST_tW_antitop_2L2Nu", ["/ST_tW_antitop_2L2Nu", "/ST_tW_antitop_2L2Nu_ext1"], 33564406, 1, 3.8, 0.00301964110433, ["st_twchannel_tbar_dl"], 4106302), + ("ST_tW_antitop_LNu2Q", ["/ST_tW_antitop_LNu2Q", "/ST_tW_antitop_LNu2Q_ext1"], 67514018, 1, 15.9, 0.00628136263494, ["st_twchannel_tbar_sl"], 2944794), + ("ST_tW_top_2L2Nu", ["/ST_tW_top_2L2Nu", "/ST_tW_top_2L2Nu_ext1"], 33150676, 1, 3.8, 0.00305732709644, ["st_twchannel_t_dl"], 3445465), + ("ST_tW_top_LNu2Q", ["/ST_tW_top_LNu2Q", "/ST_tW_top_LNu2Q_ext1"], 65023616, 1, 15.8, 0.0064809201014, ["st_twchannel_t_sl"], 3061303), + ("TTto2L2Nu", ["/TTto2L2Nu", "/TTto2L2Nu_ext1"], 335365592, 1, 98.0438787561, 0.0077974514482, ["tt_dl"], 5946967), + ("TTto4Q", ["/TTto4Q", "/TTto4Q_ext1"], 726818832, 1, 419.807164414, 0.0154054494107, ["tt_fh"], 3730217), + ("TTtoLNu2Q", ["/TTtoLNu2Q", "/TTtoLNu2Q_ext1"], 1075766378, 1, 405.74895683, 0.010059818445, ["tt_sl"], 9746087), + ("VBFHToTauTau_UncorrelatedDecay_Filtered", ["/VBFHToTauTau_UncorrelatedDecay_Filtered"], 14552639, 0.4091, 0.2558, 0.000191795741915, ["h_vbf_htt"], 7583829), + ("VBFHToTauTau_UncorrelatedDecay_UnFiltered", ["/VBFHToTauTau_UncorrelatedDecay_UnFiltered"], 396754, 1, 0.2558, 0.0171960984892, ["h_vbf_htt"], 4736960), + ("WminusHToTauTau_UncorrelatedDecay_Filtered", ["/WminusHToTauTau_UncorrelatedDecay_Filtered"], 1480135, 0.3944, 0.03561, 0.000253080246783, ["wh_htt"], 3347517), + ("WminusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WminusHToTauTau_UncorrelatedDecay_UnFiltered"], 63910, 1, 0.03561, 0.0148611991394, ["wh_htt"], 9878203), + ("WplusHToTauTau_UncorrelatedDecay_Filtered", ["/WplusHToTauTau_UncorrelatedDecay_Filtered"], 2025321, 0.3743, 0.05575, 0.000274803038645, ["wh_htt"], 6460876), + ("WplusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WplusHToTauTau_UncorrelatedDecay_UnFiltered"], 66154, 1, 0.05575, 0.0224770576987, ["wh_htt"], 2287206), + ("WtoLNu_1J_madgraphMLM", ["/WtoLNu_1J_madgraphMLM"], 683448011, 1, 63425.1, 2.47517764694, ["w_lnu_1j"], 3499368), + ("WtoLNu_2J_madgraphMLM", ["/WtoLNu_2J_madgraphMLM"], 683448011, 1, 63425.1, 2.47517764694, ["w_lnu_2j"], 5580405), + ("WtoLNu_3J_madgraphMLM", ["/WtoLNu_3J_madgraphMLM"], 683448011, 1, 63425.1, 2.47517764694, ["w_lnu_ge3j"], 2544423), + ("WtoLNu_4J_madgraphMLM", ["/WtoLNu_4J_madgraphMLM"], 683448011, 1, 63425.1, 2.47517764694, ["w_lnu_ge3j"], 6499767), + ("WtoLNu_madgraphMLM", ["/WtoLNu_madgraphMLM", "/WtoLNu_madgraphMLM_ext1"], 1366896022, 1, 63425.1, 1.23758882347, ["w_lnu"], 9750473), + ("WW", ["/WW"], 53112080, 1, 122.27052, 0.0614015235006, ["ww"], 5571300), + ("WWW_4F", ["/WWW_4F"], 1345746, 1, 0.2328, 0.00461392548074, ["www"], 4542621), + ("WWZ_4F", ["/WWZ_4F"], 5249916, 1, 0.1851, 0.000940382983271, ["wwz"], 4772869), + ("WZ", ["/WZ"], 26722782, 1, 41.1474, 0.0410687445858, ["wz"], 9795625), + ("WZZ", ["/WZZ"], 5229208, 1, 0.06206, 0.0003165385087, ["wzz"], 4295994), + ("ZHToTauTau_UncorrelatedDecay_Filtered", ["/ZHToTauTau_UncorrelatedDecay_Filtered"], 1863291, 0.3933, 0.0592, 0.000333284920558, ["zh_htt"], 4782805), + ("ZHToTauTau_UncorrelatedDecay_UnFiltered", ["/ZHToTauTau_UncorrelatedDecay_UnFiltered"], 69650, 1, 0.0592, 0.0226699876525, ["zh_htt"], 5655544), + ("ZZ", ["/ZZ"], 4043040, 1, 19.431, 0.128185178158, ["zz"], 6022263), + ("ZZZ", ["/ZZZ"], 5063206, 1, 0.01591, 8.38098917958e-05, ["zzz"], 3462972), +] diff --git a/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/data.py b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/data.py new file mode 100644 index 00000000..456929b9 --- /dev/null +++ b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/data.py @@ -0,0 +1,143 @@ +""" +CMS TAUPOG skimmed datasets from the 2022 postEE data-taking campaign +""" +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_postEE_nano_tau_skim_2025_v1 import campaign_run3_2022_postEE_nano_tau_skim_2025_v1 as cpn + +cpn.add_dataset( + name="data_egamma_E", + id=148661479, + is_data=True, + processes=[procs.data_egamma], + keys=["/EGamma_Run2022E",], + n_files=152, + n_events=148661479, + aux={"era": "E"}, + ) + +cpn.add_dataset( + name="data_egamma_F", + id=464077454, + is_data=True, + processes=[procs.data_egamma], + keys=["/EGamma_Run2022F",], + n_files=473, + n_events=464077454, + aux={"era": "F"}, + ) + +cpn.add_dataset( + name="data_egamma_G", + id=76724231, + is_data=True, + processes=[procs.data_egamma], + keys=["/EGamma_Run2022G",], + n_files=78, + n_events=76724231, + aux={"era": "G"}, + ) + +cpn.add_dataset( + name="data_tau_E", + id=30520481, + is_data=True, + processes=[procs.data_tau], + keys=["/Tau_Run2022E",], + n_files=36, + n_events=30520481, + aux={"era": "E"}, + ) + +cpn.add_dataset( + name="data_tau_F", + id=115472800, + is_data=True, + processes=[procs.data_tau], + keys=["/Tau_Run2022F",], + n_files=138, + n_events=115472800, + aux={"era": "F"}, + ) + +cpn.add_dataset( + name="data_tau_G", + id=17838713, + is_data=True, + processes=[procs.data_tau], + keys=["/Tau_Run2022G",], + n_files=22, + n_events=17838713, + aux={"era": "G"}, + ) + +cpn.add_dataset( + name="data_mu_E", + id=141480973, + is_data=True, + processes=[procs.data_mu], + keys=["/Muon_Run2022E",], + n_files=126, + n_events=141480973, + aux={"era": "E"}, + ) + +cpn.add_dataset( + name="data_mu_F", + id=449185088, + is_data=True, + processes=[procs.data_mu], + keys=["/Muon_Run2022F",], + n_files=404, + n_events=449185088, + aux={"era": "F"}, + ) + +cpn.add_dataset( + name="data_mu_G", + id=76689396, + is_data=True, + processes=[procs.data_mu], + keys=["/Muon_Run2022G",], + n_files=70, + n_events=76689396, + aux={"era": "G"}, + ) + +cpn.add_dataset( + name='data_muoneg_E', + id=12868267, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2022E'], + n_files=16, + n_events=12868267, + aux={ + 'era': 'E' + } +) + +cpn.add_dataset( + name='data_muoneg_F', + id=38159099, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2022F'], + n_files=47, + n_events=38159099, + aux={ + 'era': 'F' + } +) + +cpn.add_dataset( + name='data_muoneg_G', + id=6238527, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2022G'], + n_files=8, + n_events=6238527, + aux={ + 'era': 'G' + } +) diff --git a/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/signal.py b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/signal.py new file mode 100644 index 00000000..487ae672 --- /dev/null +++ b/cmsdb/campaigns/run3_2022_postEE_nano_tau_skim_2025_v1/signal.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" +CMS datasets from the 2022 postEE data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_postEE_nano_tau_skim_2025_v1 import campaign_run3_2022_postEE_nano_tau_skim_2025_v1 as cpn + +for mass, n_evt, n_files in [ + (60, 1548280, 2), + (65, 1538378, 2), + (70, 1549752, 2), + (75, 1544788, 2), + (80, 1540563, 2), + (85, 1541992, 2), + (90, 1549802, 2), + (95, 1546280, 2), + (100, 1547719, 2), + (105, 1540584, 2), + (110, 1544176, 2), + (115, 1549860, 2), + (120, 1547781, 2), + (125, 1547076, 2), + (130, 1544919, 2), + (135, 1549880, 2), + (140, 1549870, 2), + (160, 1542876, 2), + (180, 1545018, 3), + (200, 1548504, 3), + (250, 1549952, 3), + (300, 1546483, 3), + (350, 1545112, 3), + (400, 1542280, 3), + (450, 1543046, 3), + (500, 1549968, 3), + (600, 1542452, 4), + (700, 1540296, 4), + (800, 1545880, 4), + (900, 1543092, 4), + (1000, 1549990, 4), + (1100, 1549992, 4), + (1200, 1549316, 4), + (1400, 1549988, 4), + (1600, 1549325, 4), + (1800, 1549976, 4), + (2000, 1536830, 4), + (2300, 1546721, 4), + (2600, 1545307, 4), + (2900, 1544245, 4), + (3200, 1540846, 5), + (3500, 1549103, 5), +]: + cpn.add_dataset( + name=f"h_ggf_htt_{mass}", + id=mass+10**6, + processes=[procs.h_ggf_htt.get_process(f"h_ggf_htt_{mass}")], + keys=[f"/GluGluHto2Tau_M_{mass}_2HDM_II"], + n_files=n_files, + n_events=n_evt, + ) + +for mass, n_evt, n_files in [ + ( 60, 435662, 1), + ( 65, 419828, 1), + ( 70, 415070, 1), + ( 75, 415492, 1), + ( 80, 418890, 1), + ( 85, 415936, 1), + ( 90, 417660, 1), + ( 95, 420199, 1), + ( 100, 418480, 1), + ( 105, 409812, 1), + ( 110, 391724, 1), + ( 115, 416735, 1), + ( 120, 380929, 1), + ( 125, 417760, 1), + ( 130, 421816, 1), + ( 135, 444587, 1), + ( 140, 411656, 1), + ( 160, 404680, 1), + ( 180, 417316, 1), + ( 200, 416364, 1), + ( 250, 202720, 1), + ( 300, 202942, 1), + ( 350, 200128, 1), + ( 400, 198192, 1), + ( 450, 199888, 1), + ( 500, 199889, 1), + ( 600, 99919, 1), + ( 700, 100248, 1), + ( 800, 98954, 1), + ( 900, 96657, 1), + (1000, 97968, 1), + (1100, 96197, 1), + (1200, 50436, 1), + (1400, 50169, 1), + (1600, 49538, 1), + (1800, 48532, 1), + (2000, 47928, 1), + (2300, 46230, 1), + (2600, 45928, 1), + (2900, 45378, 1), + (3200, 43768, 1), + (3500, 44045, 1), +]: + cpn.add_dataset( + name = f"bbh_htt_{mass}", + id = mass+1+10**6, + processes=[procs.bbh_htt.get_process(f"bbh_htt_{mass}")], + keys=[f"/BBHto2Tau_M_{mass}"], + n_files=n_files, + n_events=n_evt, + ) \ No newline at end of file diff --git a/cmsdb/campaigns/run3_2022_postEE_v2_nano_tau_v14/ewk.py b/cmsdb/campaigns/run3_2022_postEE_v2_nano_tau_v14/ewk.py index 4ccd2d28..b0370c01 100644 --- a/cmsdb/campaigns/run3_2022_postEE_v2_nano_tau_v14/ewk.py +++ b/cmsdb/campaigns/run3_2022_postEE_v2_nano_tau_v14/ewk.py @@ -18,7 +18,7 @@ name="dy_lep_madgraph", id=220154049, # is_mc=True, - processes=[procs.dy_lep,procs.dy_z2ee,procs.dy_z2mumu,procs.dy_z2tautau], + processes=[procs.dy_lep], #,procs.dy_z2ee,procs.dy_z2mumu,procs.dy_z2tautau], keys=["/DYto2L_M_50_madgraphMLM","/DYto2L_M_50_madgraphMLM_ext1",], n_files=464, n_events=494841164, diff --git a/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/__init__.py b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/__init__.py new file mode 100644 index 00000000..bea1efe9 --- /dev/null +++ b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/__init__.py @@ -0,0 +1,28 @@ +from order import Campaign +# +# campaign +# + +campaign_run3_2022_preEE_nano_tau_skim_2025_v1 = Campaign( + name="run3_2022_preEE_nano_tau_skim_2025_v1", + id=20221233, # run 2 year 2022 ver 12 #33 is just for separation between different configs + ecm=13.6, + bx=25, + aux={ + "tier": "NanoAOD", + "run": 3, + "year": 2022, + "version": 14, + "tag": "preEE", + "custom": { + "name": "run3_2022_preEE_nano_tau_skim_2025_v1", + "creator": "desy", + "location": "/eos/cms/store/group/phys_higgs/HLepRare/skim_2025_v1/Run3_2022" + }, + }, +) + +import cmsdb.campaigns.run3_2022_preEE_nano_tau_skim_2025_v1.data +import cmsdb.campaigns.run3_2022_preEE_nano_tau_skim_2025_v1.bkgs +import cmsdb.campaigns.run3_2022_preEE_nano_tau_skim_2025_v1.signal + diff --git a/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/bkgs.py b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/bkgs.py new file mode 100644 index 00000000..d7a0e654 --- /dev/null +++ b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/bkgs.py @@ -0,0 +1,224 @@ +# coding: utf-8 + +""" +CMS bkgs datasets from the 2022 pre-EE campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_preEE_nano_tau_skim_2025_v1 import campaign_run3_2022_preEE_nano_tau_skim_2025_v1 as cpn # TODO: adjust if needed +# Merge *_extX datasets with their base sample and register once per base. +# Indentation uses 2 spaces. + +import re +from collections import OrderedDict + +def _base_name(name: str) -> str: + m = re.match(r'^(.*)_ext\d+$', name) + return m.group(1) if m else name + +def _ext_number(s: str) -> int: + m = re.search(r'_ext(\d+)$', s) + return int(m.group(1)) if m else 0 + +def _key_sort_key(key: str): + n = _ext_number(key) + # base (no ext) first, then _ext1, _ext2, ... + return (0, 0) if n == 0 else (1, n) + +def add_merged_datasets(dataset_rows, cpn, procs): + """ + dataset_rows: iterable of (name, key_or_keys, n_evt, n_files, pid, proc) + Groups *_extX with their base sample, then calls cpn.add_dataset once per base. + """ + groups = {} # base_name -> accumulator + for name, key, n_evt, n_files, pid, proc in dataset_rows: + base = _base_name(name) + g = groups.get(base) + if g is None: + g = { + "name": base, + "proc": proc, + "id": None, # prefer non-ext id; fallback to first seen + "keys": OrderedDict(), # preserve insertion order, avoid dups + "n_events": 0, + "n_files": 0, + } + groups[base] = g + + if g["proc"] != proc: + raise ValueError(f"Process mismatch for {base}: {g['proc']} vs {proc}") + + if not re.search(r'_ext\d+$', name): + g["id"] = pid + elif g["id"] is None: + g["id"] = pid + + # --- FIX: accept string OR list of strings for 'key' --- + keys_in = key if isinstance(key, (list, tuple)) else [key] + for k in keys_in: + if not isinstance(k, str): + raise TypeError(f"key must be a string, got {type(k).__name__}: {k}") + g["keys"][k] = True + + g["n_events"] += int(n_evt) + g["n_files"] += int(n_files) + + # emit one add per base sample with sorted keys (base first, then ext1, ext2, ...) + for base, g in groups.items(): + keys = list(g["keys"].keys()) + keys.sort(key=_key_sort_key) + cpn.add_dataset( + name=g["name"], + id=g["id"], + is_data=False, + processes=[getattr(procs, g["proc"])], + keys=keys, + n_files=g["n_files"], + n_events=g["n_events"], + ) + +# ---- your datasets (name, key, n_evt, n_files, pid, proc) ---- +dataset_rows = [ + ("GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 158678, 1, 2693954882, "h_ggf_htt" ), + ("VBFHto2Tau_UncorrelatedDecay_UnFiltered", ["/VBFHto2Tau_UncorrelatedDecay_UnFiltered"], 99878, 1, 896795747, "h_vbf_htt" ), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 52363920, 48, 2602844442, "dy_m10to50" ), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 70152268, 120, 2577421953, "dy_m50toinf_0j" ), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 45431665, 171, 542870889, "dy_m50toinf_1j" ), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 21946124, 154, 824633104, "dy_m50toinf_2j" ), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX"], 48541588, 117, 3909617802, "dy_m50toinf" ), + ("DYto2L_M_50_amcatnloFXFX_ext1", ["/DYto2L_M_50_amcatnloFXFX_ext1"], 66755726, 157, 2411443415, "dy_m50toinf" ), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 31651962, 37, 936866557, "dy_tautau_m50toinf_0j"), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 25513383, 70, 2385291541, "dy_tautau_m50toinf_1j"), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 32763798, 182, 2672935788, "dy_tautau_m50toinf_2j"), + ("TTto2L2Nu", ["/TTto2L2Nu"], 23610071, 69, 3100293127, "tt_dl" ), + ("TTto2L2Nu_ext1", ["/TTto2L2Nu_ext1"], 23890314, 69, 3929317461, "tt_dl" ), + ("TTto4Q", ["/TTto4Q"], 52883494, 139, 2341281799, "tt_fh" ), + ("TTto4Q_ext1", ["/TTto4Q_ext1"], 52146535, 134, 327063403, "tt_fh" ), + ("TTtoLNu2Q", ["/TTtoLNu2Q"], 65881840, 186, 2659018572, "tt_sl" ), + ("TTtoLNu2Q_ext1", ["/TTtoLNu2Q_ext1"], 76380270, 212, 3102673779, "tt_sl" ), + ("TWminusto2L2Nu", ["/TWminusto2L2Nu"], 2386952, 6, 3517241542, "st_twchannel_t_dl" ), + ("TWminusto2L2Nu_ext1", ["/TWminusto2L2Nu_ext1"], 2499916, 7, 4078018809, "st_twchannel_t_dl" ), + ("TWminusto4Q", ["/TWminusto4Q"], 3861851, 8, 1844136267, "st_twchannel_t_fh" ), + ("TWminusto4Q_ext1", ["/TWminusto4Q_ext1"], 3909424, 8, 2351790418, "st_twchannel_t_fh" ), + ("TWminustoLNu2Q", ["/TWminustoLNu2Q"], 4743805, 12, 4145219469, "st_twchannel_t_sl" ), + ("TWminustoLNu2Q_ext1", ["/TWminustoLNu2Q_ext1"], 4900178, 12, 2714373087, "st_twchannel_t_sl" ), + ("TbarWplusto2L2Nu", ["/TbarWplusto2L2Nu"], 2327604, 6, 4158502851, "st_twchannel_tbar_dl" ), + ("TbarWplusto2L2Nu_ext1", ["/TbarWplusto2L2Nu_ext1"], 2435657, 7, 3226081319, "st_twchannel_tbar_dl" ), + ("TbarWplusto4Q", ["/TbarWplusto4Q"], 3762818, 8, 595953404, "st_twchannel_tbar_fh" ), + ("TbarWplusto4Q_ext1", ["/TbarWplusto4Q_ext1"], 3999850, 8, 743954343, "st_twchannel_tbar_fh" ), + ("TbarWplustoLNu2Q", ["/TbarWplustoLNu2Q"], 4366325, 11, 3513411720, "st_twchannel_tbar_sl" ), + ("TbarWplustoLNu2Q_ext1", ["/TbarWplustoLNu2Q_ext1"], 4816386, 12, 2459022081, "st_twchannel_tbar_sl" ), + ("WW", ["/WW"], 15405496, 16, 2536448793, "ww" ), + ("WWW_4F", ["/WWW_4F"], 372028, 1, 1602636030, "www" ), + ("WWZ_4F", ["/WWZ_4F"], 1774030, 5, 2917961763, "wwz" ), + ("WZ", ["/WZ"], 7479528, 8, 3919470500, "wz" ), + ("WZZ", ["/WZZ"], 1806418, 5, 2297343689, "wzz" ), + ("WminusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WminusHto2Tau_UncorrelatedDecay_UnFiltered"], 27789, 1, 1056944567, "wh_htt" ), + ("WplusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WplusHto2Tau_UncorrelatedDecay_UnFiltered"], 28300, 1, 1400713916, "wh_htt" ), + ("WtoLNu_amcatnloFXFX", ["/WtoLNu_amcatnloFXFX"], 55638210, 84, 3758145551, "w_lnu" ), + ("ZHto2Tau_UncorrelatedDecay_UnFiltered", ["/ZHto2Tau_UncorrelatedDecay_UnFiltered"], 28992, 1, 4033200945, "zh_htt" ), + ("ZZ", ["/ZZ"], 1181750, 2, 1546658281, "zz" ), + ("ZZZ", ["/ZZZ"], 1751582, 4, 2151038362, "zzz" ), +] + +def register_all_datasets(cpn, procs): + add_merged_datasets(dataset_rows, cpn, procs) + +register_all_datasets(cpn, procs) + +""" +CMS datasets from the 2022 pre-EE data-taking campaign +Generated from Run3_2022.yaml with _ext1 merged into base samples. +Lumi used for weights: 7980.4 +""" +datasets = [ + ("DYto2E_MLL_10to50_powheg", ["/DYto2E_MLL_10to50_powheg"], 1356076, 1, 6744, 39.6879065775, ["dy_ee_m10to50"], 3213647), + ("DYto2E_MLL_120to200_powheg", ["/DYto2E_MLL_120to200_powheg"], 1482424, 1, 20.2047670897, 0.108769234229, ["dy_ee_m120to200"], 5842743), + ("DYto2E_MLL_1500to2500_powheg", ["/DYto2E_MLL_1500to2500_powheg"], 586670, 1, 0.00103683585389, 1.41039508554e-05, ["dy_ee_m1500to2500"], 9424256), + ("DYto2E_MLL_200to400_powheg", ["/DYto2E_MLL_200to400_powheg"], 864092, 1, 2.85386502357, 0.0263571291414, ["dy_ee_m200to400"], 8810630), + ("DYto2E_MLL_2500to4000_powheg", ["/DYto2E_MLL_2500to4000_powheg"], 290470, 1, 5.55187803309e-05, 1.52532817349e-06, ["dy_ee_m2500to4000"], 5765637), + ("DYto2E_MLL_4000to6000_powheg", ["/DYto2E_MLL_4000to6000_powheg"], 298946, 1, 1.45399663398e-06, 3.88146178167e-08, ["dy_ee_m4000to6000"], 9684601), + ("DYto2E_MLL_400to800_powheg", ["/DYto2E_MLL_400to800_powheg"], 890161, 1, 0.251136389091, 0.00225146781257, ["dy_ee_m400to800"], 4449820), + ("DYto2E_MLL_50to120_powheg", ["/DYto2E_MLL_50to120_powheg"], 2859284, 1, 2070.87197099, 5.77990387709, ["dy_ee_m50to120"], 5391600), + ("DYto2E_MLL_6000_powheg", ["/DYto2E_MLL_6000_powheg"], 145094, 1, 3.28409124197e-08, 1.80630224181e-09, ["dy_ee_m6000toinf"], 9328065), + ("DYto2E_MLL_800to1500_powheg", ["/DYto2E_MLL_800to1500_powheg"], 599902, 1, 0.017871653107, 0.000237743732235, ["dy_ee_m800to1500"], 6366740), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 52363920, 1, 20950, 3.19283544853, ["dy_m10to50"], 6376362), + ("DYto2L_M_10to50_madgraphMLM", ["/DYto2L_M_10to50_madgraphMLM"], 160214290, 1, 17380, 0.865711491778, ["dy_m10to50"], 8427271), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_0j"], 6221204), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_1j"], 6530649), + ("DYto2L_M_50_1J_madgraphMLM", ["/DYto2L_M_50_1J_madgraphMLM"], 144024010, 1, 6282.6, 0.348120157465, ["dy_m50toinf_1j"], 5795415), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_2j"], 3938692), + ("DYto2L_M_50_2J_madgraphMLM", ["/DYto2L_M_50_2J_madgraphMLM"], 144024010, 1, 6282.6, 0.348120157465, ["dy_m50toinf_2j"], 6565747), + ("DYto2L_M_50_3J_madgraphMLM", ["/DYto2L_M_50_3J_madgraphMLM"], 144024010, 1, 6282.6, 0.348120157465, ["dy_m50toinf_3j"], 5146767), + ("DYto2L_M_50_4J_madgraphMLM", ["/DYto2L_M_50_4J_madgraphMLM"], 144024010, 1, 6282.6, 0.348120157465, ["dy_m50toinf_4j"], 4873709), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX", "/DYto2L_M_50_amcatnloFXFX_ext1"], 230594628, 1, 6282.6, 0.217427706252, ["dy_m50toinf"], 8202741), + ("DYto2L_M_50_madgraphMLM", ["/DYto2L_M_50_madgraphMLM", "/DYto2L_M_50_madgraphMLM_ext1"], 288048020, 1, 6282.6, 0.174060078733, ["dy_m50toinf"], 6844596), + ("DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_1j_pt100to200"], 2227527), + ("DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_2j_pt100to200"], 7693263), + ("DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_1j_pt200to400"], 2582152), + ("DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_2j_pt200to400"], 8177082), + ("DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_1j_pt400to600"], 5057765), + ("DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_2j_pt400to600"], 4716917), + ("DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_1j_pt40to100"], 6434572), + ("DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_2j_pt40to100"], 3454671), + ("DYto2L_M_50_PTLL_600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_1J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_1j_pt600toinf"], 5816837), + ("DYto2L_M_50_PTLL_600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_2J_amcatnloFXFX"], 115297314, 1, 6282.6, 0.434855412503, ["dy_m50toinf_2j_pt600toinf"], 5579209), + ("DYto2Mu_MLL_10to50_powheg", ["/DYto2Mu_MLL_10to50_powheg"], 1301142, 1, 6744, 41.3635234279, ["dy_mumu_m10to50"], 8575321), + ("DYto2Mu_MLL_120to200_powheg", ["/DYto2Mu_MLL_120to200_powheg"], 1438952, 1, 20.2047670897, 0.112055248043, ["dy_mumu_m120to200"], 8461388), + ("DYto2Mu_MLL_1500to2500_powheg", ["/DYto2Mu_MLL_1500to2500_powheg"], 590493, 1, 0.00103683585389, 1.4012638335e-05, ["dy_mumu_m1500to2500"], 4854795), + ("DYto2Mu_MLL_200to400_powheg", ["/DYto2Mu_MLL_200to400_powheg"], 849855, 1, 2.85386502357, 0.0267986708722, ["dy_mumu_m200to400"], 3100405), + ("DYto2Mu_MLL_2500to4000_powheg", ["/DYto2Mu_MLL_2500to4000_powheg"], 299274, 1, 5.55187803309e-05, 1.48045628606e-06, ["dy_mumu_m2500to4000"], 7749731), + ("DYto2Mu_MLL_4000to6000_powheg", ["/DYto2Mu_MLL_4000to6000_powheg"], 289198, 1, 1.45399663398e-06, 4.0122942544e-08, ["dy_mumu_m4000to6000"], 6082584), + ("DYto2Mu_MLL_400to800_powheg", ["/DYto2Mu_MLL_400to800_powheg"], 873292, 1, 0.251136389091, 0.00229495843258, ["dy_mumu_m400to800"], 5798998), + ("DYto2Mu_MLL_50to120_powheg", ["/DYto2Mu_MLL_50to120_powheg"], 2763691, 1, 2070.87197099, 5.97982432816, ["dy_mumu_m50to120"], 5936397), + ("DYto2Mu_MLL_6000_powheg", ["/DYto2Mu_MLL_6000_powheg"], 145002, 1, 3.28409124197e-08, 1.80744829364e-09, ["dy_mumu_m6000toinf"], 7515104), + ("DYto2Mu_MLL_800to1500_powheg", ["/DYto2Mu_MLL_800to1500_powheg"], 579456, 1, 0.017871653107, 0.000246132476763, ["dy_mumu_m800to1500"], 8389367), + ("DYto2Tau_MLL_10to50_powheg", ["/DYto2Tau_MLL_10to50_powheg"], 1338709, 1, 6744, 40.2027756592, ["dy_tautau_m10to50"], 7608462), + ("DYto2Tau_MLL_120to200_powheg", ["/DYto2Tau_MLL_120to200_powheg"], 1483110, 1, 20.2047670897, 0.108718923938, ["dy_tautau_m120to200"], 5202380), + ("DYto2Tau_MLL_1500to2500_powheg", ["/DYto2Tau_MLL_1500to2500_powheg"], 599982, 1, 0.00103683585389, 1.37910218112e-05, ["dy_tautau_m1500to2500"], 6616587), + ("DYto2Tau_MLL_200to400_powheg", ["/DYto2Tau_MLL_200to400_powheg"], 872968, 1, 2.85386502357, 0.0260891400762, ["dy_tautau_m200to400"], 9723398), + ("DYto2Tau_MLL_2500to4000_powheg", ["/DYto2Tau_MLL_2500to4000_powheg"], 299996, 1, 5.55187803309e-05, 1.47689327375e-06, ["dy_tautau_m2500to4000"], 4674620), + ("DYto2Tau_MLL_4000to6000_powheg", ["/DYto2Tau_MLL_4000to6000_powheg"], 299998, 1, 1.45399663398e-06, 3.86785069828e-08, ["dy_tautau_m4000to6000"], 6881230), + ("DYto2Tau_MLL_400to800_powheg", ["/DYto2Tau_MLL_400to800_powheg"], 897512, 1, 0.251136389091, 0.00223302734616, ["dy_tautau_m400to800"], 2326867), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 31651962, 1, 1664.68417309, 0.419716337803, ["dy_tautau_m50toinf_0j"], 4766062), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 26576552, 1, 316.240337878, 0.0949605649522, ["dy_tautau_m50toinf_1j"], 6552571), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 32763798, 1, 116.472030231, 0.0283695251099, ["dy_tautau_m50toinf_2j"], 6641250), + ("DYto2Tau_MLL_50to120_powheg", ["/DYto2Tau_MLL_50to120_powheg"], 2907117, 1, 2070.87197099, 5.68480273663, ["dy_tautau_m50to120"], 2284197), + ("DYto2Tau_MLL_6000_powheg", ["/DYto2Tau_MLL_6000_powheg"], 146995, 1, 3.28409124197e-08, 1.78294239582e-09, ["dy_tautau_m6000toinf"], 8137250), + ("DYto2Tau_MLL_800to1500_powheg", ["/DYto2Tau_MLL_800to1500_powheg"], 581124, 1, 0.017871653107, 0.000245426002807, ["dy_tautau_m800to1500"], 6549755), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay"], 7185840, 0.3848, 3.2759, 0.00139995093964, ["h_ggf_htt"], 4043304), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay"], 159712, 1, 3.2759, 0.163688341264, ["h_ggf_htt"], 7023857), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay"], 6424278, 0.3848, 3.2759, 0.00156590724438, ["h_ggf_htt"], 4230014), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay"], 159083, 1, 3.2759, 0.164335550373, ["h_ggf_htt"], 2533580), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay"], 6703604, 0.3847, 3.2759, 0.0015002689838, ["h_ggf_htt"], 8491715), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 158678, 1, 3.2759, 0.164754990358, ["h_ggf_htt"], 5884721), + ("ST_t_channel_antitop_4f_InclusiveDecays", ["/ST_t_channel_antitop_4f_InclusiveDecays"], 1325389, 1, 75.47, 0.45441812781, ["st_twchannel_tbar_fh"], 4936298), + ("ST_t_channel_top_4f_InclusiveDecays", ["/ST_t_channel_top_4f_InclusiveDecays"], 2737505, 1, 123.8, 0.360902909766, ["st_twchannel_t_fh"], 4163552), + ("ST_tW_antitop_2L2Nu", ["/ST_tW_antitop_2L2Nu", "/ST_tW_antitop_2L2Nu_ext1"], 9526522, 1, 3.8, 0.00318327297202, ["st_twchannel_tbar_dl"], 5537868), + ("ST_tW_antitop_LNu2Q", ["/ST_tW_antitop_LNu2Q", "/ST_tW_antitop_LNu2Q_ext1"], 18365422, 1, 15.9, 0.00690909035469, ["st_twchannel_tbar_sl"], 8836702), + ("ST_tW_top_2L2Nu", ["/ST_tW_top_2L2Nu", "/ST_tW_top_2L2Nu_ext1"], 9773736, 1, 3.8, 0.00310275620295, ["st_twchannel_t_dl"], 3680016), + ("ST_tW_top_LNu2Q", ["/ST_tW_top_LNu2Q", "/ST_tW_top_LNu2Q_ext1"], 19287966, 1, 15.8, 0.00653725333195, ["st_twchannel_t_sl"], 9614568), + ("TTto2L2Nu", ["/TTto2L2Nu", "/TTto2L2Nu_ext1"], 95000770, 1, 98.0438787561, 0.00823603187664, ["tt_dl"], 3839014), + ("TTto4Q", ["/TTto4Q", "/TTto4Q_ext1"], 210060058, 1, 419.807164414, 0.0159489106439, ["tt_fh"], 2676905), + ("TTtoLNu2Q", ["/TTtoLNu2Q", "/TTtoLNu2Q_ext1"], 310692304, 1, 405.74895683, 0.0104220121754, ["tt_sl"], 4562330), + ("VBFHToTauTau_UncorrelatedDecay_Filtered", ["/VBFHToTauTau_UncorrelatedDecay_Filtered"], 5082505, 0.4091, 0.2558, 0.000164314869048, ["h_vbf_htt"], 2123082), + ("VBFHToTauTau_UncorrelatedDecay_UnFiltered", ["/VBFHToTauTau_UncorrelatedDecay_UnFiltered"], 99878, 1, 0.2558, 0.0204387985342, ["h_vbf_htt"], 4579965), + ("WminusHToTauTau_UncorrelatedDecay_Filtered", ["/WminusHToTauTau_UncorrelatedDecay_Filtered"], 431839, 0.3944, 0.03561, 0.000259544409267, ["wh_htt"], 3865791), + ("WminusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WminusHToTauTau_UncorrelatedDecay_UnFiltered"], 27789, 1, 0.03561, 0.0102264221095, ["wh_htt"], 6300044), + ("WplusHToTauTau_UncorrelatedDecay_Filtered", ["/WplusHToTauTau_UncorrelatedDecay_Filtered"], 716466, 0.3743, 0.05575, 0.000232430851415, ["wh_htt"], 3570517), + ("WplusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WplusHToTauTau_UncorrelatedDecay_UnFiltered"], 28300, 1, 0.05575, 0.0157211060071, ["wh_htt"], 3975708), + ("WtoLNu_1J_madgraphMLM", ["/WtoLNu_1J_madgraphMLM"], 183585526, 1, 63425.1, 2.75706739561, ["w_lnu_1j"], 2894715), + ("WtoLNu_2J_madgraphMLM", ["/WtoLNu_2J_madgraphMLM"], 183585526, 1, 63425.1, 2.75706739561, ["w_lnu_2j"], 6315414), + ("WtoLNu_3J_madgraphMLM", ["/WtoLNu_3J_madgraphMLM"], 183585526, 1, 63425.1, 2.75706739561, ["w_lnu_ge3j"], 7281391), + ("WtoLNu_4J_madgraphMLM", ["/WtoLNu_4J_madgraphMLM"], 183585526, 1, 63425.1, 2.75706739561, ["w_lnu_ge3j"], 5121808), + ("WtoLNu_madgraphMLM", ["/WtoLNu_madgraphMLM", "/WtoLNu_madgraphMLM_ext1"], 367171052, 1, 63425.1, 1.3785336978, ["w_lnu"], 7869086), + ("WW", ["/WW"], 15405496, 1, 122.27052, 0.063338931626, ["ww"], 9633333), + ("WWW_4F", ["/WWW_4F"], 408136, 1, 0.2328, 0.00455200501794, ["www"], 6412526), + ("WWZ_4F", ["/WWZ_4F"], 1774030, 1, 0.1851, 0.000832664633631, ["wwz"], 6847762), + ("WZ", ["/WZ"], 7479528, 1, 41.1474, 0.0439028653894, ["wz"], 4970310), + ("WZZ", ["/WZZ"], 1806418, 1, 0.06206, 0.000274168893357, ["wzz"], 6584570), + ("ZHToTauTau_UncorrelatedDecay_Filtered", ["/ZHToTauTau_UncorrelatedDecay_Filtered"], 613598, 0.3933, 0.0592, 0.000302821270839, ["zh_htt"], 4149687), + ("ZHToTauTau_UncorrelatedDecay_UnFiltered", ["/ZHToTauTau_UncorrelatedDecay_UnFiltered"], 28992, 1, 0.0592, 0.0162955187638, ["zh_htt"], 4890171), + ("ZZ", ["/ZZ"], 1181750, 1, 19.431, 0.131218237698, ["zz"], 6714642), + ("ZZZ", ["/ZZZ"], 1751582, 1, 0.01591, 7.24877076837e-05, ["zzz"], 3272006), +] diff --git a/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/data.py b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/data.py new file mode 100644 index 00000000..a817010b --- /dev/null +++ b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/data.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" +CMS datasets from the 2022 pre-EE data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_preEE_nano_tau_skim_2025_v1 import campaign_run3_2022_preEE_nano_tau_skim_2025_v1 as cpn + + +""" +CMS datasets from the 2022 post-EE data-taking campaign +""" + +cpn.add_dataset( + name="data_egamma_C", + id=263549470, + is_data=True, + processes=[procs.data_egamma], + keys=['/EGamma_Run2022C'], + n_files=225, + n_events=263549470, + aux={ + 'era': 'C' + } +) + +cpn.add_dataset( + name='data_egamma_D', + id=89134996, + is_data=True, + processes=[procs.data_egamma], + keys=['/EGamma_Run2022D'], + n_files=88, + n_events=89134996, + aux={ + 'era': 'D' + } +) + +cpn.add_dataset( + name='data_mu_C', + id=138329693, + is_data=True, + processes=[procs.data_mu], + keys=['/Muon_Run2022C'], + n_files=122, + n_events=138329693, + aux={ + 'era': 'C' + } +) + +cpn.add_dataset( + name='data_mu_D', + id=75440027, + is_data=True, + processes=[procs.data_mu], + keys=['/Muon_Run2022D'], + n_files=67, + n_events=75440027, + aux={ + 'era': 'D' + } +) + +cpn.add_dataset( + name='data_tau_C', + id=25903135, + is_data=True, + processes=[procs.data_tau], + keys=['/Tau_Run2022C'], + n_files=31, + n_events=25903135, + aux={ + 'era': 'C', + } +) + +cpn.add_dataset( + name='data_tau_D', + id=16686692, + is_data=True, + processes=[procs.data_tau], + keys=['/Tau_Run2022D'], + n_files=19, + n_events=16686692, + aux={ + 'era': 'D', + } +) + +cpn.add_dataset( + name='data_singlemu_C', + id=20162441, + is_data=True, + processes=[procs.data_singlemu], + keys=['/SingleMuon_Run2022C'], + n_files=19, + n_events=20162441, + aux={ + 'era': 'C' + } +) + +cpn.add_dataset( + name='data_muoneg_C', + id=15768439, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2022C'], + n_files=20, + n_events=15768439, + aux={ + 'era': 'C' + } +) + +cpn.add_dataset( + name='data_muoneg_D', + id=8007031, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2022D'], + n_files=10, + n_events=8007031, + aux={ + 'era': 'D' + } +) diff --git a/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/signal.py b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/signal.py new file mode 100644 index 00000000..22dcae96 --- /dev/null +++ b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_2025_v1/signal.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" +CMS datasets from the 2022 pre-EE data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_preEE_nano_tau_skim_2025_v1 import campaign_run3_2022_preEE_nano_tau_skim_2025_v1 as cpn + +for mass, n_evt, n_files in [ + (60, 447803, 1), + (65, 448504, 1), + (70, 448500, 1), + (75, 449940, 1), + (80, 448532, 1), + (85, 448516, 1), + (90, 448516, 1), + (95, 447820, 1), + (100, 449942, 1), + (105, 448536, 1), + (110, 449958, 1), + (115, 447160, 1), + (120, 449175, 1), + (125, 447825, 1), + (130, 449968, 1), + (135, 449970, 1), + (140, 449962, 1), + (160, 449972, 1), + (180, 449279, 1), + (200, 448584, 1), + (250, 448594, 1), + (300, 448598, 1), + (350, 447891, 1), + (400, 449301, 1), + (450, 449992, 1), + (500, 449988, 1), + (600, 449300, 1), + (700, 449994, 1), + (800, 448646, 1), + (900, 448622, 2), + (1000, 446596, 2), + (1100, 447987, 2), + (1200, 447983, 2), + (1400, 446050, 2), + (1600, 448004, 2), + (1800, 448684, 2), + (2000, 446753, 2), + (2300, 449309, 2), + (2600, 449332, 2), + (2900, 446066, 2), + (3200, 449932, 2), + (3500, 449908, 2), +]: + cpn.add_dataset( + name = f"h_ggf_htt_{mass}", + id = mass+10**6, + processes=[procs.h_ggf_htt.get_process(f"h_ggf_htt_{mass}")], + keys=[f"/GluGluHto2Tau_M_{mass}_2HDM_II"], + n_files=n_files, + n_events=n_evt, + ) +for mass, n_evt, n_files in [ + ( 60, 1583042, 2), + ( 65, 1492642, 2), + ( 70, 1489206, 2), + ( 75, 1487760, 3), + ( 80, 1484714, 3), + ( 85, 1497063, 3), + ( 90, 1483354, 3), + ( 95, 1478368, 3), + ( 100, 1505583, 3), + ( 105, 1432292, 3), + ( 110, 1390683, 3), + ( 115, 1493644, 3), + ( 120, 1360136, 3), + ( 125, 1485781, 3), + ( 130, 1494870, 3), + ( 135, 1576296, 4), + ( 140, 1448559, 3), + ( 160, 1421676, 4), + ( 180, 1492050, 4), + ( 200, 1479392, 4), + ( 250, 734856, 2), + ( 300, 727388, 2), + ( 350, 725402, 3), + ( 400, 725498, 3), + ( 450, 724931, 3), + ( 500, 724678, 3), + ( 600, 363674, 2), + ( 700, 364059, 2), + ( 800, 344718, 2), + ( 900, 356994, 2), + (1000, 351902, 2), + (1100, 350776, 2), + (1200, 174536, 1), + (1400, 168578, 1), + (1600, 163656, 1), + (1800, 160994, 1), + (2000, 158742, 1), + (2300, 153938, 1), + (2600, 152304, 1), + (2900, 151656, 1), + (3200, 147944, 1), + (3500, 147021, 1), +]: + cpn.add_dataset( + name = f"bbh_htt_{mass}", + id = mass+1+10**6, + processes=[procs.bbh_htt.get_process(f"bbh_htt_{mass}")], + keys=[f"/BBHto2Tau_M_{mass}"], + n_files=n_files, + n_events=n_evt, + ) \ No newline at end of file diff --git a/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_v2/ewk.py b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_v2/ewk.py index 5c5141a6..a11faff1 100644 --- a/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_v2/ewk.py +++ b/cmsdb/campaigns/run3_2022_preEE_nano_tau_skim_v2/ewk.py @@ -19,7 +19,7 @@ cpn.add_dataset( name='dy_lep_madgraph', #DYto2L_M-50 id=2212016, - processes=[procs.dy_lep, procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], + processes=[procs.dy_lep], #procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], keys=['/DYto2L_M_50_madgraphMLM', '/DYto2L_M_50_madgraphMLM_ext1'], n_files=70+69, n_events=72652311+71371699, diff --git a/cmsdb/campaigns/run3_2022_preEE_nano_tau_v12/ewk.py b/cmsdb/campaigns/run3_2022_preEE_nano_tau_v12/ewk.py new file mode 100644 index 00000000..69927b3c --- /dev/null +++ b/cmsdb/campaigns/run3_2022_preEE_nano_tau_v12/ewk.py @@ -0,0 +1,380 @@ +# coding: utf-8 + +""" +Electroweak datasets for the 2022 pre-EE data-taking campaign +""" + +from order import DatasetInfo + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2022_preEE_nano_tau_v12 import campaign_run3_2022_preEE_nano_tau_v12 as cpn + +#################################################################################################### +# +# Drell-Yan +# +#################################################################################################### + + +cpn.add_dataset( + name='dy_incl', #DYto2L_M-50 + id=2212016, + processes=[procs.dy_lep], # procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], + keys=['/DYto2L_M-50_madgraphMLM', '/DYto2L_M-50_madgraphMLM_ext1'], + n_files=32+31, + n_events=73914947+71371699, + aux=None +) + +cpn.add_dataset( + name='wj_incl', + id=414, + processes=[procs.wj], + keys=['/WtoLNu_madgraphMLM','/WtoLNu_madgraphMLM_ext1'], + n_files=21+24, + n_events=87204163+97491826, + aux={ + "require_triggers" : ["IsoMu24",] + }, +) + +cpn.add_dataset( + name='ww', + id=22120112, + processes=[procs.ww], + keys=['/WW'], + n_files=5, + n_events=15405496, + aux=None +) + +cpn.add_dataset( + name='wz', + id=22120113, + processes=[procs.wz], + keys=['/WZ'], + n_files=3, + n_events=7527043.0, + aux=None +) + +cpn.add_dataset( + name='zz', + id=22120114, + processes=[procs.zz], + keys=['/ZZ'], + n_files=1, + n_events=1181750, + aux=None +) + + + +# # inclusive, LO, forPog +# cpn.add_dataset( +# name="dy_m50toinf_for_pog_madgraph", +# id=14802794, +# processes=[procs.dy_m50toinf], +# keys=[ +# "/DYJetsToLL_M-50_TuneCP5_13p6TeV-madgraphMLM-pythia8/Run3Summer22NanoAODv12-forPOG_130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=51, +# n_events=27096229, +# ) + +# # +# # NLO +# # +# cpn.add_dataset( +# name="dy_m4to10_amcatnlo", +# id=14950158, +# processes=[procs.dy_m4to10], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-4to10_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=624, +# n_events=99285491, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m10to50_amcatnlo", +# id=14803891, +# processes=[procs.dy_m10to50], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-10to50_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=141, +# n_events=67681922, +# ), +# extension=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-10to50_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5_ext1-v1/NANOAODSIM", # noqa +# ], +# n_files=73, +# n_events=47494002, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_amcatnlo", +# id=14796042, +# processes=[procs.dy_m50toinf], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=115, +# n_events=65997137, +# ), +# extension=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5_ext1-v1/NANOAODSIM", # noqa +# ], +# n_files=259, +# n_events=97500666, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_0j_amcatnlo", +# id=14791297, +# processes=[procs.dy_m50toinf_0j], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_0J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=173, +# n_events=105230672, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_1j_amcatnlo", +# id=14791387, +# processes=[procs.dy_m50toinf_1j], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_1J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=196, +# n_events=99076102, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_2j_amcatnlo", +# id=14790870, +# processes=[procs.dy_m50toinf_2j], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_2J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=177, +# n_events=75705368, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_1j_pt40to100_amcatnlo", +# id=14826040, +# processes=[procs.dy_m50toinf_1j_pt40to100], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-40to100_1J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=215, +# n_events=47125505, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_1j_pt100to200_amcatnlo", +# id=14825639, +# processes=[procs.dy_m50toinf_1j_pt100to200], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-100to200_1J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=168, +# n_events=18503737, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_1j_pt200to400_amcatnlo", +# id=14826712, +# processes=[procs.dy_m50toinf_1j_pt200to400], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-200to400_1J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=36, +# n_events=1939721, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_1j_pt400to600_amcatnlo", +# id=14823834, +# processes=[procs.dy_m50toinf_1j_pt400to600], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-400to600_1J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=24, +# n_events=503786, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_1j_pt600toinf_amcatnlo", +# id=14831319, +# processes=[procs.dy_m50toinf_1j_pt600toinf], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-600_1J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=20, +# n_events=508646, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_2j_pt40to100_amcatnlo", +# id=14826102, +# processes=[procs.dy_m50toinf_2j_pt40to100], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-40to100_2J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=81, +# n_events=18752305, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_2j_pt100to200_amcatnlo", +# id=14826076, +# processes=[procs.dy_m50toinf_2j_pt100to200], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-100to200_2J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=174, +# n_events=18592664, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_2j_pt200to400_amcatnlo", +# id=14825454, +# processes=[procs.dy_m50toinf_2j_pt200to400], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-200to400_2J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=55, +# n_events=3549847, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_2j_pt400to600_amcatnlo", +# id=14824816, +# processes=[procs.dy_m50toinf_2j_pt400to600], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-400to600_2J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=27, +# n_events=488707, +# ), +# ), +# ) +# cpn.add_dataset( +# name="dy_m50toinf_2j_pt600toinf_amcatnlo", +# id=14826080, +# processes=[procs.dy_m50toinf_2j_pt600toinf], +# info=dict( +# nominal=DatasetInfo( +# keys=[ +# "/DYto2L-2Jets_MLL-50_PTLL-600_2J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v1/NANOAODSIM", # noqa +# ], +# n_files=29, +# n_events=474576, +# ), +# ), +# ) + + +# #################################################################################################### +# # +# # W boson production +# # +# #################################################################################################### + +# cpn.add_dataset( +# name="w_lnu_amcatnlo", +# id=14803995, +# processes=[procs.w_lnu], +# keys=[ +# "/WtoLNu-2Jets_TuneCP5_13p6TeV_amcatnloFXFX-pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=148, +# n_events=84739011, +# ) + +# # +# # Diboson +# # + +# cpn.add_dataset( +# name="ww_pythia", +# id=14800098, +# processes=[procs.ww], +# keys=[ +# "/WW_TuneCP5_13p6TeV_pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=63, +# n_events=15357390, +# ) + +# cpn.add_dataset( +# name="wz_pythia", +# id=14803901, +# processes=[procs.wz], +# keys=[ +# "/WZ_TuneCP5_13p6TeV_pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=46, +# n_events=7527043, +# ) + +# cpn.add_dataset( +# name="zz_pythia", +# id=14808010, +# processes=[procs.zz], +# keys=[ +# "/ZZ_TuneCP5_13p6TeV_pythia8/Run3Summer22NanoAODv12-130X_mcRun3_2022_realistic_v5-v2/NANOAODSIM", # noqa +# ], +# n_files=21, +# n_events=1181750, +# ) diff --git a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/__init__.py b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/__init__.py new file mode 100644 index 00000000..c07dc28e --- /dev/null +++ b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/__init__.py @@ -0,0 +1,28 @@ +from order import Campaign +# +# campaign +# + +campaign_run3_2023_postBPix_nano_tau_skim_2025_v1 = Campaign( + name="run3_2023_postBPix_nano_tau_skim_2025_v1", + id=20231401, # run 3 year 2022 ver 12 #01 is just for separation between different configs + ecm=13.6, + bx=25, + aux={ + "tier": "NanoAOD", + "run": 3, + "year": 2023, + "version": 14, + "tag": "postBPix", + "custom": { + "name": "run3_2023_postBPix_nano_tau_skim_2025_v1", + "creator": "desy", + "location": "/eos/cms/store/group/phys_higgs/HLepRare/skim_2025_v1/Run3_2023BPix" + }, + }, +) + +import cmsdb.campaigns.run3_2023_postBPix_nano_tau_skim_2025_v1.bkgs +import cmsdb.campaigns.run3_2023_postBPix_nano_tau_skim_2025_v1.data +import cmsdb.campaigns.run3_2023_postBPix_nano_tau_skim_2025_v1.signal + diff --git a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/bkgs.py b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/bkgs.py new file mode 100644 index 00000000..74bd9f26 --- /dev/null +++ b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/bkgs.py @@ -0,0 +1,209 @@ +# coding: utf-8 + +""" +CMS bkgs datasets from the 2023 BPix campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2023_postBPix_nano_tau_skim_2025_v1 import campaign_run3_2023_postBPix_nano_tau_skim_2025_v1 as cpn # TODO: adjust if needed + +import re +from collections import OrderedDict + +def _base_name(name: str) -> str: + m = re.match(r'^(.*)_ext\d+$', name) + return m.group(1) if m else name + +def _ext_number(s: str) -> int: + m = re.search(r'_ext(\d+)$', s) + return int(m.group(1)) if m else 0 + +def _key_sort_key(key: str): + n = _ext_number(key) + # base (no ext) first, then _ext1, _ext2, ... + return (0, 0) if n == 0 else (1, n) + +def add_merged_datasets(dataset_rows, cpn, procs): + """ + dataset_rows: iterable of (name, key_or_keys, n_evt, n_files, pid, proc) + Groups *_extX with their base sample, then calls cpn.add_dataset once per base. + """ + groups = {} # base_name -> accumulator + for name, key, n_evt, n_files, pid, proc in dataset_rows: + base = _base_name(name) + g = groups.get(base) + if g is None: + g = { + "name": base, + "proc": proc, + "id": None, # prefer non-ext id; fallback to first seen + "keys": OrderedDict(), # preserve insertion order, avoid dups + "n_events": 0, + "n_files": 0, + } + groups[base] = g + + if g["proc"] != proc: + raise ValueError(f"Process mismatch for {base}: {g['proc']} vs {proc}") + + if not re.search(r'_ext\d+$', name): + g["id"] = pid + elif g["id"] is None: + g["id"] = pid + + # --- FIX: accept string OR list of strings for 'key' --- + keys_in = key if isinstance(key, (list, tuple)) else [key] + for k in keys_in: + if not isinstance(k, str): + raise TypeError(f"key must be a string, got {type(k).__name__}: {k}") + g["keys"][k] = True + + g["n_events"] += int(n_evt) + g["n_files"] += int(n_files) + + # emit one add per base sample with sorted keys (base first, then ext1, ext2, ...) + for base, g in groups.items(): + keys = list(g["keys"].keys()) + keys.sort(key=_key_sort_key) + cpn.add_dataset( + name=g["name"], + id=g["id"], + is_data=False, + processes=[getattr(procs, g["proc"])], + keys=keys, + n_files=g["n_files"], + n_events=g["n_events"], + ) + +# ---- your datasets (name, key, n_evt, n_files, pid, proc) ---- +dataset_rows = [ + ("GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 103106, 1, 383586099, "h_ggf_htt" ), + ("VBFHto2Tau_UncorrelatedDecay_UnFiltered", ["/VBFHto2Tau_UncorrelatedDecay_UnFiltered"], 199756, 1, 841880829, "h_vbf_htt" ), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 74917918, 71, 2676360070, "dy_m10to50" ), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 76989083, 133, 3770998535, "dy_m50toinf_0j" ), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 42819115, 162, 1497302255, "dy_m50toinf_1j" ), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 23588533, 170, 1212313238, "dy_m50toinf_2j" ), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX"], 63684562, 149, 3178417364, "dy_m50toinf" ), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 35162586, 40, 961141806, "dy_tautau_m50toinf_0j"), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 36023045, 97, 2159151046, "dy_tautau_m50toinf_1j"), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 37570255, 208, 2446290367, "dy_tautau_m50toinf_2j"), + ("TTto2L2Nu", ["/TTto2L2Nu"], 24357456, 70, 4011623041, "tt_dl" ), + ("TTto4Q", ["/TTto4Q"], 52422350, 131, 2259192852, "tt_fh" ), + ("TTtoLNu2Q", ["/TTtoLNu2Q"], 63358614, 174, 3383451082, "tt_sl" ), + ("TWminusto2L2Nu", ["/TWminusto2L2Nu"], 2478922, 7, 208275232, "st_twchannel_t_dl" ), + ("TWminusto4Q", ["/TWminusto4Q"], 3933816, 8, 3326015714, "st_twchannel_t_fh" ), + ("TWminustoLNu2Q", ["/TWminustoLNu2Q"], 4943196, 12, 719181931, "st_twchannel_t_sl" ), + ("TbarWplusto2L2Nu", ["/TbarWplusto2L2Nu"], 2487898, 7, 3918917922, "st_twchannel_tbar_dl" ), + ("TbarWplusto4Q", ["/TbarWplusto4Q"], 3975836, 8, 3760630163, "st_twchannel_tbar_fh" ), + ("TbarWplustoLNu2Q", ["/TbarWplustoLNu2Q"], 5146462, 12, 3475123817, "st_twchannel_tbar_sl" ), + ("WW", ["/WW"], 16545000, 18, 2388590455, "ww" ), + ("WWW_4F", ["/WWW_4F"], 423054, 2, 1386472685, "www" ), + ("WWZ_4F", ["/WWZ_4F"], 1585526, 5, 2697542704, "wwz" ), + ("WZ", ["/WZ"], 8379000, 9, 4042228682, "wz" ), + ("WZZ", ["/WZZ"], 1625116, 5, 587043658, "wzz" ), + ("WminusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WminusHto2Tau_UncorrelatedDecay_UnFiltered"], 28420, 1, 135171825, "wh_htt" ), + ("WplusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WplusHto2Tau_UncorrelatedDecay_UnFiltered"], 28316, 1, 2701689366, "wh_htt" ), + ("WtoLNu_amcatnloFXFX", ["/WtoLNu_amcatnloFXFX"], 64991689, 91, 2516868007, "w_lnu" ), + ("ZHto2Tau_UncorrelatedDecay_UnFiltered", ["/ZHto2Tau_UncorrelatedDecay_UnFiltered"], 29949, 1, 4242094042, "zh_htt" ), + ("ZZ", ["/ZZ"], 1254000, 2, 1161952647, "zz" ), + ("ZZZ", ["/ZZZ"], 1589388, 4, 707067929, "zzz" ), +] + +def register_all_datasets(cpn, procs): + add_merged_datasets(dataset_rows, cpn, procs) + +register_all_datasets(cpn, procs) + +# Each entry: (name, keys, eff(sumw), filter_efficiency, xs_pb, norm_weight, proc_names, rand_id) +datasets = [ + ("DYto2E_MLL_10to50_powheg", ["/DYto2E_MLL_10to50_powheg"], 1353930, 1, 6744, 47.075952228, ["dy_ee_m10to50"], 2160698), + ("DYto2E_MLL_120to200_powheg", ["/DYto2E_MLL_120to200_powheg"], 1461328, 1, 20.2047670897, 0.130672411508, ["dy_ee_m120to200"], 6247350), + ("DYto2E_MLL_1500to2500_powheg", ["/DYto2E_MLL_1500to2500_powheg"], 577980, 1, 0.00103683585389, 1.69541085419e-05, ["dy_ee_m1500to2500"], 6512232), + ("DYto2E_MLL_200to400_powheg", ["/DYto2E_MLL_200to400_powheg"], 863488, 1, 2.85386502357, 0.0312359619795, ["dy_ee_m200to400"], 4543682), + ("DYto2E_MLL_2500to4000_powheg", ["/DYto2E_MLL_2500to4000_powheg"], 277996, 1, 5.55187803309e-05, 1.88746598119e-06, ["dy_ee_m2500to4000"], 8967597), + ("DYto2E_MLL_4000to6000_powheg", ["/DYto2E_MLL_4000to6000_powheg"], 300000, 1, 1.45399663398e-06, 4.58057406259e-08, ["dy_ee_m4000to6000"], 3676513), + ("DYto2E_MLL_400to800_powheg", ["/DYto2E_MLL_400to800_powheg"], 892982, 1, 0.251136389091, 0.00265793712897, ["dy_ee_m400to800"], 9064712), + ("DYto2E_MLL_50to120_powheg", ["/DYto2E_MLL_50to120_powheg"], 2851770, 1, 2070.87197099, 6.86303979558, ["dy_ee_m50to120"], 5137961), + ("DYto2E_MLL_6000_powheg", ["/DYto2E_MLL_6000_powheg"], 150000, 1, 3.28409124197e-08, 2.06919642185e-09, ["dy_ee_m6000toinf"], 3401047), + ("DYto2E_MLL_800to1500_powheg", ["/DYto2E_MLL_800to1500_powheg"], 590856, 1, 0.017871653107, 0.000285864903656, ["dy_ee_m800to1500"], 8901714), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 74917918, 1, 20950, 2.64287176267, ["dy_m10to50"], 2347147), + ("DYto2L_M_10to50_madgraphMLM", ["/DYto2L_M_10to50_madgraphMLM"], 150291788, 1, 17380, 1.09292984125, ["dy_m10to50"], 2592399), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_0j"], 6690046), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_1j"], 3132543), + ("DYto2L_M_50_1J_madgraphMLM", ["/DYto2L_M_50_1J_madgraphMLM"], 69398459, 1, 6282.6, 0.855593243072, ["dy_m50toinf_1j"], 8491178), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_2j"], 8063160), + ("DYto2L_M_50_2J_madgraphMLM", ["/DYto2L_M_50_2J_madgraphMLM"], 69398459, 1, 6282.6, 0.855593243072, ["dy_m50toinf_2j"], 2869724), + ("DYto2L_M_50_3J_madgraphMLM", ["/DYto2L_M_50_3J_madgraphMLM"], 69398459, 1, 6282.6, 0.855593243072, ["dy_m50toinf_3j"], 4117029), + ("DYto2L_M_50_4J_madgraphMLM", ["/DYto2L_M_50_4J_madgraphMLM"], 69398459, 1, 6282.6, 0.855593243072, ["dy_m50toinf_4j"], 5622377), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX", "/DYto2L_M_50_amcatnloFXFX_ext1"], 127369124, 1, 6282.6, 0.466179327731, ["dy_m50toinf"], 3902858), + ("DYto2L_M_50_madgraphMLM", ["/DYto2L_M_50_madgraphMLM", "/DYto2L_M_50_madgraphMLM_ext1"], 138796918, 1, 6282.6, 0.427796621536, ["dy_m50toinf"], 7351278), + ("DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_1j_pt100to200"], 9368032), + ("DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_2j_pt100to200"], 4864612), + ("DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_1j_pt200to400"], 2847670), + ("DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_2j_pt200to400"], 8702112), + ("DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_1j_pt400to600"], 6987201), + ("DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_2j_pt400to600"], 7477740), + ("DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_1j_pt40to100"], 7878585), + ("DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_2j_pt40to100"], 6225014), + ("DYto2L_M_50_PTLL_600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_1J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_1j_pt600toinf"], 4427777), + ("DYto2L_M_50_PTLL_600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_2J_amcatnloFXFX"], 63684562, 1, 6282.6, 0.932358655462, ["dy_m50toinf_2j_pt600toinf"], 6558027), + ("DYto2Mu_MLL_10to50_powheg", ["/DYto2Mu_MLL_10to50_powheg"], 1347608, 1, 6744, 47.2967984755, ["dy_mumu_m10to50"], 8977144), + ("DYto2Mu_MLL_120to200_powheg", ["/DYto2Mu_MLL_120to200_powheg"], 1480694, 1, 20.2047670897, 0.128963346758, ["dy_mumu_m120to200"], 5040304), + ("DYto2Mu_MLL_1500to2500_powheg", ["/DYto2Mu_MLL_1500to2500_powheg"], 599982, 1, 0.00103683585389, 1.63323827299e-05, ["dy_mumu_m1500to2500"], 3614898), + ("DYto2Mu_MLL_200to400_powheg", ["/DYto2Mu_MLL_200to400_powheg"], 887338, 1, 2.85386502357, 0.030396397244, ["dy_mumu_m200to400"], 2322196), + ("DYto2Mu_MLL_2500to4000_powheg", ["/DYto2Mu_MLL_2500to4000_powheg"], 291000, 1, 5.55187803309e-05, 1.80312025054e-06, ["dy_mumu_m2500to4000"], 8464150), + ("DYto2Mu_MLL_4000to6000_powheg", ["/DYto2Mu_MLL_4000to6000_powheg"], 294000, 1, 1.45399663398e-06, 4.67405516591e-08, ["dy_mumu_m4000to6000"], 9358232), + ("DYto2Mu_MLL_400to800_powheg", ["/DYto2Mu_MLL_400to800_powheg"], 890928, 1, 0.251136389091, 0.00266406490009, ["dy_mumu_m400to800"], 9110792), + ("DYto2Mu_MLL_50to120_powheg", ["/DYto2Mu_MLL_50to120_powheg"], 2794886, 1, 2070.87197099, 7.00272247163, ["dy_mumu_m50to120"], 7084025), + ("DYto2Mu_MLL_6000_powheg", ["/DYto2Mu_MLL_6000_powheg"], 150000, 1, 3.28409124197e-08, 2.06919642185e-09, ["dy_mumu_m6000toinf"], 7490730), + ("DYto2Mu_MLL_800to1500_powheg", ["/DYto2Mu_MLL_800to1500_powheg"], 583854, 1, 0.017871653107, 0.000289293202606, ["dy_mumu_m800to1500"], 6235656), + ("DYto2Tau_MLL_10to50_powheg", ["/DYto2Tau_MLL_10to50_powheg"], 1377334, 1, 6744, 46.2760260039, ["dy_tautau_m10to50"], 4244151), + ("DYto2Tau_MLL_120to200_powheg", ["/DYto2Tau_MLL_120to200_powheg"], 1484592, 1, 20.2047670897, 0.128624735796, ["dy_tautau_m120to200"], 5256854), + ("DYto2Tau_MLL_1500to2500_powheg", ["/DYto2Tau_MLL_1500to2500_powheg"], 587970, 1, 0.00103683585389, 1.66660470008e-05, ["dy_tautau_m1500to2500"], 6590560), + ("DYto2Tau_MLL_200to400_powheg", ["/DYto2Tau_MLL_200to400_powheg"], 896382, 1, 2.85386502357, 0.0300897143603, ["dy_tautau_m200to400"], 3788758), + ("DYto2Tau_MLL_2500to4000_powheg", ["/DYto2Tau_MLL_2500to4000_powheg"], 290996, 1, 5.55187803309e-05, 1.80314503604e-06, ["dy_tautau_m2500to4000"], 8110595), + ("DYto2Tau_MLL_4000to6000_powheg", ["/DYto2Tau_MLL_4000to6000_powheg"], 297000, 1, 1.45399663398e-06, 4.62684248746e-08, ["dy_tautau_m4000to6000"], 2968025), + ("DYto2Tau_MLL_400to800_powheg", ["/DYto2Tau_MLL_400to800_powheg"], 880992, 1, 0.251136389091, 0.00269411074482, ["dy_tautau_m400to800"], 8899821), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 35162586, 1, 1664.68417309, 0.44743381843, ["dy_tautau_m50toinf_0j"], 6387708), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 33432375, 1, 316.240337878, 0.0893979991934, ["dy_tautau_m50toinf_1j"], 4839145), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 36561651, 1, 116.472030231, 0.0301074247909, ["dy_tautau_m50toinf_2j"], 2089501), + ("DYto2Tau_MLL_50to120_powheg", ["/DYto2Tau_MLL_50to120_powheg"], 2798486, 1, 2070.87197099, 6.99371410036, ["dy_tautau_m50to120"], 8478558), + ("DYto2Tau_MLL_6000_powheg", ["/DYto2Tau_MLL_6000_powheg"], 150000, 1, 3.28409124197e-08, 2.06919642185e-09, ["dy_tautau_m6000toinf"], 8324966), + ("DYto2Tau_MLL_800to1500_powheg", ["/DYto2Tau_MLL_800to1500_powheg"], 584898, 1, 0.017871653107, 0.000288776835473, ["dy_tautau_m800to1500"], 4134273), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay"], 9103069, 0.3848, 3.2759, 0.00130874678532, ["h_ggf_htt"], 2038943), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay"], 103696, 1, 3.2759, 0.298570156033, ["h_ggf_htt"], 4556055), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay"], 9115963, 0.3848, 3.2759, 0.00130689563904, ["h_ggf_htt"], 9063819), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay"], 103290, 1, 3.2759, 0.299743739955, ["h_ggf_htt"], 6596849), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay"], 8623785, 0.3847, 3.2759, 0.00138112397714, ["h_ggf_htt"], 6277488), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 103106, 1, 3.2759, 0.300278654007, ["h_ggf_htt"], 4577156), + ("ST_t_channel_antitop_4f_InclusiveDecays", ["/ST_t_channel_antitop_4f_InclusiveDecays"], 1375656, 1, 75.47, 0.518492246608, ["st_twchannel_tbar_fh"], 2591338), + ("ST_t_channel_top_4f_InclusiveDecays", ["/ST_t_channel_top_4f_InclusiveDecays"], 2719204, 1, 123.8, 0.430285407053, ["st_twchannel_t_fh"], 7590706), + ("ST_tW_antitop_2L2Nu", ["/ST_tW_antitop_2L2Nu", "/ST_tW_antitop_2L2Nu_ext1"], 4975796, 1, 3.8, 0.00721769943945, ["st_twchannel_tbar_dl"], 2895047), + ("ST_tW_antitop_LNu2Q", ["/ST_tW_antitop_LNu2Q", "/ST_tW_antitop_LNu2Q_ext1"], 10292924, 1, 15.9, 0.0145994374388, ["st_twchannel_tbar_sl"], 3016023), + ("ST_tW_top_2L2Nu", ["/ST_tW_top_2L2Nu", "/ST_tW_top_2L2Nu_ext1"], 4957844, 1, 3.8, 0.00724383421503, ["st_twchannel_t_dl"], 8150753), + ("ST_tW_top_LNu2Q", ["/ST_tW_top_LNu2Q", "/ST_tW_top_LNu2Q_ext1"], 9886392, 1, 15.8, 0.0151041755172, ["st_twchannel_t_sl"], 9156428), + ("TTto2L2Nu", ["/TTto2L2Nu", "/TTto2L2Nu_ext1"], 48714912, 1, 98.0438787561, 0.0190211304933, ["tt_dl"], 3281921), + ("TTto4Q", ["/TTto4Q", "/TTto4Q_ext1"], 104844700, 1, 419.807164414, 0.0378426139889, ["tt_fh"], 5663630), + ("TTtoLNu2Q", ["/TTtoLNu2Q", "/TTtoLNu2Q_ext1"], 152100988, 1, 405.74895683, 0.0252117585916, ["tt_sl"], 8352204), + ("VBFHToTauTau_UncorrelatedDecay_Filtered", ["/VBFHToTauTau_UncorrelatedDecay_Filtered"], 7048003, 0.4091, 0.2558, 0.000140327149234, ["h_vbf_htt"], 5758897), + ("VBFHToTauTau_UncorrelatedDecay_UnFiltered", ["/VBFHToTauTau_UncorrelatedDecay_UnFiltered"], 199756, 1, 0.2558, 0.0121025941649, ["h_vbf_htt"], 9353462), + ("WminusHToTauTau_UncorrelatedDecay_Filtered", ["/WminusHToTauTau_UncorrelatedDecay_Filtered"], 718725, 0.3944, 0.03561, 0.000184681711898, ["wh_htt"], 8245626), + ("WminusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WminusHToTauTau_UncorrelatedDecay_UnFiltered"], 28420, 1, 0.03561, 0.0118420165376, ["wh_htt"], 5934763), + ("WplusHToTauTau_UncorrelatedDecay_Filtered", ["/WplusHToTauTau_UncorrelatedDecay_Filtered"], 952493, 0.3743, 0.05575, 0.000207052590911, ["wh_htt"], 8155148), + ("WplusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WplusHToTauTau_UncorrelatedDecay_UnFiltered"], 28316, 1, 0.05575, 0.0186076158356, ["wh_htt"], 4718628), + ("WtoLNu_1J_madgraphMLM", ["/WtoLNu_1J_madgraphMLM"], 94639090, 1, 63425.1, 6.33385866348, ["w_lnu_1j"], 7745585), + ("WtoLNu_2J_madgraphMLM", ["/WtoLNu_2J_madgraphMLM"], 94639090, 1, 63425.1, 6.33385866348, ["w_lnu_2j"], 6846644), + ("WtoLNu_3J_madgraphMLM", ["/WtoLNu_3J_madgraphMLM"], 94639090, 1, 63425.1, 6.33385866348, ["w_lnu_ge3j"], 3600773), + ("WtoLNu_4J_madgraphMLM", ["/WtoLNu_4J_madgraphMLM"], 94639090, 1, 63425.1, 6.33385866348, ["w_lnu_ge3j"], 8964533), + ("WtoLNu_madgraphMLM", ["/WtoLNu_madgraphMLM", "/WtoLNu_madgraphMLM_ext1"], 189278180, 1, 63425.1, 3.16692933174, ["w_lnu"], 9455910), + ("WW", ["/WW"], 16545000, 1, 122.27052, 0.069844586553, ["ww"], 7360906), + ("WWW_4F", ["/WWW_4F"], 423054, 1, 0.2328, 0.0052007374945, ["www"], 3179315), + ("WWZ_4F", ["/WWZ_4F"], 1585526, 1, 0.1851, 0.00110334368531, ["wwz"], 3571402), + ("WZ", ["/WZ"], 8379000, 1, 41.1474, 0.0464117528822, ["wz"], 5510474), + ("WZZ", ["/WZZ"], 1625116, 1, 0.06206, 0.000360915196208, ["wzz"], 9411219), + ("ZHToTauTau_UncorrelatedDecay_Filtered", ["/ZHToTauTau_UncorrelatedDecay_Filtered"], 1007812, 0.3933, 0.0592, 0.000218345321707, ["zh_htt"], 3721829), + ("ZHToTauTau_UncorrelatedDecay_UnFiltered", ["/ZHToTauTau_UncorrelatedDecay_UnFiltered"], 29949, 1, 0.0592, 0.0186817322782, ["zh_htt"], 2626154), + ("ZZ", ["/ZZ"], 1254000, 1, 19.431, 0.146445279904, ["zz"], 9460037), + ("ZZZ", ["/ZZZ"], 1589388, 1, 0.01591, 9.46058545805e-05, ["zzz"], 8594335), +] + diff --git a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/data.py b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/data.py new file mode 100644 index 00000000..d2c7f883 --- /dev/null +++ b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/data.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" +CMS datasets from the 2023 postBPix E data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2023_postBPix_nano_tau_skim_2025_v1 import campaign_run3_2023_postBPix_nano_tau_skim_2025_v1 as cpn + + +cpn.add_dataset( + name='data_egamma_2023_D', + id=105892646 + 22657211 + 105850543 + 22653287, + is_data=True, + processes=[procs.data_egamma], + keys=['/EGamma0_Run2023D_v1', '/EGamma0_Run2023D_v2', '/EGamma1_Run2023D_v1', '/EGamma1_Run2023D_v2'], + n_files=117 + 26 + 117 + 26, + n_events= 105892646 + 22657211 + 105850543 + 22653287, + aux={ + 'era': 'D' + } +) + + +cpn.add_dataset( + name='data_mu_2023_D', + id=100211533 + 21462916 + 100281976 + 21463645, + is_data=True, + processes=[procs.data_mu], + keys=['/Muon0_Run2023D_v1', '/Muon0_Run2023D_v2', '/Muon1_Run2023D_v1', '/Muon1_Run2023D_v2'], + n_files= 94 + 21 + 95 + 21, + n_events= 100211533 + 21462916 + 100281976 + 21463645, + aux={ + 'era': 'D' + } +) + +cpn.add_dataset( + name='data_tau_2023_D', + id=32092659 + 7246202, + is_data=True, + processes=[procs.data_tau], + keys=['/Tau_Run2023D_v1', '/Tau_Run2023D_v2'], + n_files= 45 + 11, + n_events= 32092659 + 7246202, + aux={ + 'era': 'D', + } +) + +cpn.add_dataset( + name='data_muoneg_2023_D', + id=17530531 + 3751587, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2023D_v1','/MuonEG_Run2023D_v2'], + n_files=23 + 5, + n_events=17530531 + 3751587, + aux={ + 'era': 'D' + } +) + diff --git a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/signal.py b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/signal.py new file mode 100644 index 00000000..24a8e759 --- /dev/null +++ b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_2025_v1/signal.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" +CMS datasets from the 2022 pre-EE data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2023_postBPix_nano_tau_skim_2025_v1 import campaign_run3_2023_postBPix_nano_tau_skim_2025_v1 as cpn + +for mass, n_evt, n_files in [ + (60, 659868, 1), + (65, 653896, 1), + (70, 641910, 1), + (75, 659884, 1), + (80, 656910, 1), + (85, 644910, 1), + (90, 659916, 1), + (95, 659916, 1), + (100, 659932, 1), + (105, 656934, 1), + (110, 641950, 1), + (115, 644946, 1), + (120, 659954, 1), + (125, 650928, 1), + (130, 650956, 1), + (135, 659946, 1), + (140, 656928, 1), + (160, 653946, 1), + (180, 656938, 1), + (200, 644964, 1), + (250, 647964, 2), + (300, 656988, 2), + (350, 650992, 2), + (400, 650990, 2), + (450, 659984, 2), + (500, 644990, 2), + (600, 653992, 2), + (700, 638996, 2), + (800, 656998, 2), + (900, 656994, 2), + (1000, 644988, 2), + (1100, 656998, 2), + (1200, 632994, 2), + (1400, 653986, 2), + (1600, 653994, 2), + (1800, 645986, 2), + (2000, 633980, 2), + (2300, 635990, 2), + (2600, 655966, 2), + (2900, 643946, 2), + (3200, 647914, 2), + (3500, 651910, 2), +]: + cpn.add_dataset( + name = f"h_ggf_htt_{mass}", + id = mass+10**6, + processes=[procs.h_ggf_htt.get_process(f"h_ggf_htt_{mass}")], + keys=[f"/GluGluHto2Tau_M_{mass}_2HDM_II"], + n_files=n_files, + n_events=n_evt, + ) + +for mass, n_evt, n_files in [ + ( 60, 696528, 1), + ( 65, 630304, 1), + ( 70, 656188, 1), + ( 75, 642706, 1), + ( 80, 657690, 1), + ( 85, 652658, 1), + ( 90, 645712, 1), + ( 95, 652900, 1), + ( 100, 642000, 2), + ( 105, 633848, 2), + ( 110, 600708, 2), + ( 115, 648956, 2), + ( 120, 587674, 2), + ( 125, 658030, 2), + ( 130, 655830, 2), + ( 135, 690810, 2), + ( 140, 640456, 2), + ( 160, 626436, 2), + ( 180, 652020, 2), + ( 200, 648262, 2), + ( 250, 322106, 1), + ( 300, 317582, 1), + ( 350, 314964, 1), + ( 400, 318468, 1), + ( 450, 313394, 1), + ( 500, 319074, 1), + ( 600, 182740, 1), + ( 800, 180982, 1), + ( 700, 179602, 1), + ( 900, 179452, 1), + (1000, 175690, 1), + (1100, 175428, 1), + (1200, 74178, 1), + (1400, 70136, 1), + (1600, 68530, 1), + (1800, 68916, 1), + (2000, 66230, 1), + (2300, 66002, 1), + (2600, 65480, 1), + (2900, 62648, 1), + (3200, 61766, 1), + (3500, 62720, 1), +]: + cpn.add_dataset( + name = f"bbh_htt_{mass}", + id = mass+1+10**6, + processes=[procs.bbh_htt.get_process(f"bbh_htt_{mass}")], + keys=[f"/BBHto2Tau_M_{mass}"], + n_files=n_files, + n_events=n_evt, + ) \ No newline at end of file diff --git a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/data.py b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/data.py index 5184efc2..a081244e 100644 --- a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/data.py +++ b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/data.py @@ -1,7 +1,7 @@ # coding: utf-8 """ -CMS datasets from the 2023 preBPix E data-taking campaign +CMS datasets from the 2023 postBPix E data-taking campaign """ import cmsdb.processes as procs @@ -10,7 +10,7 @@ """ -CMS datasets from the 2023 preBPix data-taking campaign /eos/cms/store/group/phys_higgs/HLepRare/skim_2024_v2/Run3_2023/ +CMS datasets from the 2023 postBPix data-taking campaign /eos/cms/store/group/phys_higgs/HLepRare/skim_2024_v2/Run3_2023/ """ cpn.add_dataset( diff --git a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/ewk.py b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/ewk.py index d9bec983..4c9f2415 100644 --- a/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/ewk.py +++ b/cmsdb/campaigns/run3_2023_postBPix_nano_tau_skim_v2/ewk.py @@ -19,7 +19,7 @@ cpn.add_dataset( name='dy_lep_madgraph', #DYto2L_M-50 id=2212013, - processes=[procs.dy_lep, procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], + processes=[procs.dy_lep],# procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], keys=['/DYto2L_M_50_madgraphMLM'], n_files=68, n_events=69398459, diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/__init__.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/__init__.py new file mode 100644 index 00000000..0893e8bd --- /dev/null +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/__init__.py @@ -0,0 +1,28 @@ +from order import Campaign +# +# campaign +# + +campaign_run3_2023_preBPix_nano_tau_skim_2025_v1 = Campaign( + name="run3_2023_preBPix_nano_tau_skim_2025_v1", + id=320231201, + ecm=13.6, + bx=25, + aux={ + "tier": "NanoAOD", + "run": 3, + "year": 2023, + "version": 14, + "tag": "preBPix", + "custom": { + "name": "run3_2023_preBPix_nano_tau_skim_2025_v1", + "creator": "desy", + "location": "/eos/cms/store/group/phys_higgs/HLepRare/skim_2025_v1/Run3_2023" + }, + }, +) + +import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_2025_v1.bkgs +import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_2025_v1.data +import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_2025_v1.signal + diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/bkgs.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/bkgs.py new file mode 100644 index 00000000..84ce3325 --- /dev/null +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/bkgs.py @@ -0,0 +1,209 @@ +# coding: utf-8 + +""" +CMS bkgs datasets from the 2023 campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_2025_v1 import campaign_run3_2023_preBPix_nano_tau_skim_2025_v1 as cpn + +import re +from collections import OrderedDict + +def _base_name(name: str) -> str: + m = re.match(r'^(.*)_ext\d+$', name) + return m.group(1) if m else name + +def _ext_number(s: str) -> int: + m = re.search(r'_ext(\d+)$', s) + return int(m.group(1)) if m else 0 + +def _key_sort_key(key: str): + n = _ext_number(key) + # base (no ext) first, then _ext1, _ext2, ... + return (0, 0) if n == 0 else (1, n) + +def add_merged_datasets(dataset_rows, cpn, procs): + """ + dataset_rows: iterable of (name, key_or_keys, n_evt, n_files, pid, proc) + Groups *_extX with their base sample, then calls cpn.add_dataset once per base. + """ + groups = {} # base_name -> accumulator + for name, key, n_evt, n_files, pid, proc in dataset_rows: + base = _base_name(name) + g = groups.get(base) + if g is None: + g = { + "name": base, + "proc": proc, + "id": None, # prefer non-ext id; fallback to first seen + "keys": OrderedDict(), # preserve insertion order, avoid dups + "n_events": 0, + "n_files": 0, + } + groups[base] = g + + if g["proc"] != proc: + raise ValueError(f"Process mismatch for {base}: {g['proc']} vs {proc}") + + if not re.search(r'_ext\d+$', name): + g["id"] = pid + elif g["id"] is None: + g["id"] = pid + + # --- FIX: accept string OR list of strings for 'key' --- + keys_in = key if isinstance(key, (list, tuple)) else [key] + for k in keys_in: + if not isinstance(k, str): + raise TypeError(f"key must be a string, got {type(k).__name__}: {k}") + g["keys"][k] = True + + g["n_events"] += int(n_evt) + g["n_files"] += int(n_files) + + # emit one add per base sample with sorted keys (base first, then ext1, ext2, ...) + for base, g in groups.items(): + keys = list(g["keys"].keys()) + keys.sort(key=_key_sort_key) + cpn.add_dataset( + name=g["name"], + id=g["id"], + is_data=False, + processes=[getattr(procs, g["proc"])], + keys=keys, + n_files=g["n_files"], + n_events=g["n_events"], + ) +# ---- your datasets (name, key, n_evt, n_files, pid, proc) ---- +dataset_rows = [ + ("GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHto2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 159160, 1, 1782707149, "h_ggf_htt" ), + ("VBFHto2Tau_UncorrelatedDecay_UnFiltered", ["/VBFHto2Tau_UncorrelatedDecay_UnFiltered"], 299664, 1, 3714290882, "h_vbf_htt" ), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 149951901, 141, 2806293010, "dy_m10to50" ), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 155735461, 266, 4205285285, "dy_m50toinf_0j" ), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 90103222, 348, 1130124365, "dy_m50toinf_1j" ), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 47134234, 337, 1377910324, "dy_m50toinf_2j" ), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX"], 103978251, 243, 236301853, "dy_m50toinf" ), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 68706683, 77, 19259918, "dy_tautau_m50toinf_0j"), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 57833582, 157, 3101571558, "dy_tautau_m50toinf_1j"), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 94739940, 521, 2846053279, "dy_tautau_m50toinf_2j"), + ("TTto2L2Nu", ["/TTto2L2Nu"], 47713334, 141, 2034526151, "tt_dl" ), + ("TTto4Q", ["/TTto4Q"], 104112654, 262, 1193746585, "tt_fh" ), + ("TTtoLNu2Q", ["/TTtoLNu2Q"], 151416926, 418, 1609808012, "tt_sl" ), + ("TWminusto2L2Nu", ["/TWminusto2L2Nu"], 4984812, 13, 2144094551, "st_twchannel_t_dl" ), + ("TWminusto4Q", ["/TWminusto4Q"], 7918700, 16, 2961019086, "st_twchannel_t_fh" ), + ("TWminustoLNu2Q", ["/TWminustoLNu2Q"], 9649924, 23, 1501271580, "st_twchannel_t_sl" ), + ("TbarWplusto2L2Nu", ["/TbarWplusto2L2Nu"], 4906798, 13, 412025122, "st_twchannel_tbar_dl" ), + ("TbarWplusto4Q", ["/TbarWplusto4Q"], 7969722, 16, 2591972628, "st_twchannel_tbar_fh" ), + ("TbarWplustoLNu2Q", ["/TbarWplustoLNu2Q"], 9550319, 23, 1043914345, "st_twchannel_tbar_sl" ), + ("WW", ["/WW"], 33507000, 36, 798180476, "ww" ), + ("WWW_4F", ["/WWW_4F"], 849916, 3, 2469152864, "www" ), + ("WWZ_4F", ["/WWZ_4F"], 3275962, 9, 1632014525, "wwz" ), + ("WZ", ["/WZ"], 16770000, 17, 1361197249, "wz" ), + ("WZZ", ["/WZZ"], 3251476, 9, 3046016889, "wzz" ), + ("WminusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WminusHto2Tau_UncorrelatedDecay_UnFiltered"], 66292, 1, 349669845, "wh_htt" ), + ("WplusHto2Tau_UncorrelatedDecay_UnFiltered", ["/WplusHto2Tau_UncorrelatedDecay_UnFiltered"], 64190, 1, 342803527, "wh_htt" ), + ("WtoLNu_amcatnloFXFX", ["/WtoLNu_amcatnloFXFX"], 135956411, 191, 2145010577, "w_lnu" ), + ("ZHto2Tau_UncorrelatedDecay_UnFiltered", ["/ZHto2Tau_UncorrelatedDecay_UnFiltered"], 69949, 1, 3203188888, "zh_htt" ), + ("ZZ", ["/ZZ"], 2517000, 3, 3834398348, "zz" ), + ("ZZZ", ["/ZZZ"], 3201470, 8, 3176535082, "zzz" ), +] + +def register_all_datasets(cpn, procs): + add_merged_datasets(dataset_rows, cpn, procs) + +register_all_datasets(cpn, procs) + +# Each entry: (name, keys, eff(sumw), filter_efficiency, xs_pb, norm_weight, proc_names, rand_id) +datasets = [ + ("DYto2E_MLL_10to50_powheg", ["/DYto2E_MLL_10to50_powheg"], 2724758, 1, 6744, 44.0416125028, ["dy_ee_m10to50"], 3826561), + ("DYto2E_MLL_120to200_powheg", ["/DYto2E_MLL_120to200_powheg"], 2960190, 1, 20.2047670897, 0.12145288836, ["dy_ee_m120to200"], 9449626), + ("DYto2E_MLL_1500to2500_powheg", ["/DYto2E_MLL_1500to2500_powheg"], 1153954, 1, 0.00103683585389, 1.59880352111e-05, ["dy_ee_m1500to2500"], 4393436), + ("DYto2E_MLL_200to400_powheg", ["/DYto2E_MLL_200to400_powheg"], 1723816, 1, 2.85386502357, 0.0294588716135, ["dy_ee_m200to400"], 7861303), + ("DYto2E_MLL_2500to4000_powheg", ["/DYto2E_MLL_2500to4000_powheg"], 589996, 1, 5.55187803309e-05, 1.67442012693e-06, ["dy_ee_m2500to4000"], 4979462), + ("DYto2E_MLL_4000to6000_powheg", ["/DYto2E_MLL_4000to6000_powheg"], 593000, 1, 1.45399663398e-06, 4.36297067539e-08, ["dy_ee_m4000to6000"], 4010870), + ("DYto2E_MLL_400to800_powheg", ["/DYto2E_MLL_400to800_powheg"], 1785988, 1, 0.251136389091, 0.00250210018628, ["dy_ee_m400to800"], 6223128), + ("DYto2E_MLL_50to120_powheg", ["/DYto2E_MLL_50to120_powheg"], 5785264, 1, 2070.87197099, 6.36947524812, ["dy_ee_m50to120"], 5468473), + ("DYto2E_MLL_6000_powheg", ["/DYto2E_MLL_6000_powheg"], 297000, 1, 3.28409124197e-08, 1.96757978315e-09, ["dy_ee_m6000toinf"], 2962828), + ("DYto2E_MLL_800to1500_powheg", ["/DYto2E_MLL_800to1500_powheg"], 1191706, 1, 0.017871653107, 0.000266851216144, ["dy_ee_m800to1500"], 6882928), + ("DYto2L_M_10to50_amcatnloFXFX", ["/DYto2L_M_10to50_amcatnloFXFX"], 149951901, 1, 20950, 2.48602583571, ["dy_m10to50"], 4466947), + ("DYto2L_M_10to50_madgraphMLM", ["/DYto2L_M_10to50_madgraphMLM"], 306998077, 1, 17380, 1.00736696145, ["dy_m10to50"], 5134546), + ("DYto2L_M_50_0J_amcatnloFXFX", ["/DYto2L_M_50_0J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_0j"], 7202051), + ("DYto2L_M_50_1J_amcatnloFXFX", ["/DYto2L_M_50_1J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_1j"], 8770027), + ("DYto2L_M_50_1J_madgraphMLM", ["/DYto2L_M_50_1J_madgraphMLM"], 130559088, 1, 6282.6, 0.856260457334, ["dy_m50toinf_1j"], 7818051), + ("DYto2L_M_50_2J_amcatnloFXFX", ["/DYto2L_M_50_2J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_2j"], 5090154), + ("DYto2L_M_50_2J_madgraphMLM", ["/DYto2L_M_50_2J_madgraphMLM"], 130559088, 1, 6282.6, 0.856260457334, ["dy_m50toinf_2j"], 7425746), + ("DYto2L_M_50_3J_madgraphMLM", ["/DYto2L_M_50_3J_madgraphMLM"], 130559088, 1, 6282.6, 0.856260457334, ["dy_m50toinf_3j"], 4176207), + ("DYto2L_M_50_4J_madgraphMLM", ["/DYto2L_M_50_4J_madgraphMLM"], 130559088, 1, 6282.6, 0.856260457334, ["dy_m50toinf_4j"], 2195316), + ("DYto2L_M_50_amcatnloFXFX", ["/DYto2L_M_50_amcatnloFXFX", "/DYto2L_M_50_amcatnloFXFX_ext1"], 207956502, 1, 6282.6, 0.537576768819, ["dy_m50toinf"], 4738802), + ("DYto2L_M_50_madgraphMLM", ["/DYto2L_M_50_madgraphMLM", "/DYto2L_M_50_madgraphMLM_ext1"], 261118176, 1, 6282.6, 0.428130228667, ["dy_m50toinf"], 2009051), + ("DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_1J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_1j_pt100to200"], 3449849), + ("DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_100to200_2J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_2j_pt100to200"], 7809318), + ("DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_1J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_1j_pt200to400"], 6097173), + ("DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_200to400_2J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_2j_pt200to400"], 4508300), + ("DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_1J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_1j_pt400to600"], 4638967), + ("DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_400to600_2J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_2j_pt400to600"], 3359451), + ("DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_1J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_1j_pt40to100"], 9138248), + ("DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_40to100_2J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_2j_pt40to100"], 7934215), + ("DYto2L_M_50_PTLL_600_1J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_1J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_1j_pt600toinf"], 4693403), + ("DYto2L_M_50_PTLL_600_2J_amcatnloFXFX", ["/DYto2L_M_50_PTLL_600_2J_amcatnloFXFX"], 103978251, 1, 6282.6, 1.07515353764, ["dy_m50toinf_2j_pt600toinf"], 6393491), + ("DYto2Mu_MLL_10to50_powheg", ["/DYto2Mu_MLL_10to50_powheg"], 2752462, 1, 6744, 43.5983261531, ["dy_mumu_m10to50"], 2475669), + ("DYto2Mu_MLL_120to200_powheg", ["/DYto2Mu_MLL_120to200_powheg"], 2966092, 1, 20.2047670897, 0.121211218531, ["dy_mumu_m120to200"], 5598540), + ("DYto2Mu_MLL_1500to2500_powheg", ["/DYto2Mu_MLL_1500to2500_powheg"], 1190936, 1, 0.00103683585389, 1.54915605742e-05, ["dy_mumu_m1500to2500"], 9911614), + ("DYto2Mu_MLL_200to400_powheg", ["/DYto2Mu_MLL_200to400_powheg"], 1768750, 1, 2.85386502357, 0.0287104871968, ["dy_mumu_m200to400"], 9438078), + ("DYto2Mu_MLL_2500to4000_powheg", ["/DYto2Mu_MLL_2500to4000_powheg"], 599994, 1, 5.55187803309e-05, 1.6465184272e-06, ["dy_mumu_m2500to4000"], 7280703), + ("DYto2Mu_MLL_4000to6000_powheg", ["/DYto2Mu_MLL_4000to6000_powheg"], 558000, 1, 1.45399663398e-06, 4.63663371059e-08, ["dy_mumu_m4000to6000"], 2560620), + ("DYto2Mu_MLL_400to800_powheg", ["/DYto2Mu_MLL_400to800_powheg"], 1795008, 1, 0.251136389091, 0.00248952701464, ["dy_mumu_m400to800"], 6431005), + ("DYto2Mu_MLL_50to120_powheg", ["/DYto2Mu_MLL_50to120_powheg"], 5742092, 1, 2070.87197099, 6.41736423795, ["dy_mumu_m50to120"], 5855483), + ("DYto2Mu_MLL_6000_powheg", ["/DYto2Mu_MLL_6000_powheg"], 300000, 1, 3.28409124197e-08, 1.94790398532e-09, ["dy_mumu_m6000toinf"], 9262020), + ("DYto2Mu_MLL_800to1500_powheg", ["/DYto2Mu_MLL_800to1500_powheg"], 1178762, 1, 0.017871653107, 0.000269781512626, ["dy_mumu_m800to1500"], 5682128), + ("DYto2Tau_MLL_10to50_powheg", ["/DYto2Tau_MLL_10to50_powheg"], 2726694, 1, 6744, 44.0103421946, ["dy_tautau_m10to50"], 4937323), + ("DYto2Tau_MLL_120to200_powheg", ["/DYto2Tau_MLL_120to200_powheg"], 2933334, 1, 20.2047670897, 0.122564844506, ["dy_tautau_m120to200"], 9008554), + ("DYto2Tau_MLL_1500to2500_powheg", ["/DYto2Tau_MLL_1500to2500_powheg"], 1163964, 1, 0.00103683585389, 1.58505393501e-05, ["dy_tautau_m1500to2500"], 9103869), + ("DYto2Tau_MLL_200to400_powheg", ["/DYto2Tau_MLL_200to400_powheg"], 1786556, 1, 2.85386502357, 0.0284243394718, ["dy_tautau_m200to400"], 6961881), + ("DYto2Tau_MLL_2500to4000_powheg", ["/DYto2Tau_MLL_2500to4000_powheg"], 599992, 1, 5.55187803309e-05, 1.64652391567e-06, ["dy_tautau_m2500to4000"], 8831391), + ("DYto2Tau_MLL_4000to6000_powheg", ["/DYto2Tau_MLL_4000to6000_powheg"], 593998, 1, 1.45399663398e-06, 4.35564027237e-08, ["dy_tautau_m4000to6000"], 2770000), + ("DYto2Tau_MLL_400to800_powheg", ["/DYto2Tau_MLL_400to800_powheg"], 1794884, 1, 0.251136389091, 0.00248969900422, ["dy_tautau_m400to800"], 3787641), + ("DYto2Tau_MLL_50_0J_amcatnloFXFX", ["/DYto2Tau_MLL_50_0J_amcatnloFXFX"], 68706683, 1, 1664.68417309, 0.431128223377, ["dy_tautau_m50toinf_0j"], 5509319), + ("DYto2Tau_MLL_50_1J_amcatnloFXFX", ["/DYto2Tau_MLL_50_1J_amcatnloFXFX"], 55789337, 1, 316.240337878, 0.100864804545, ["dy_tautau_m50toinf_1j"], 7319203), + ("DYto2Tau_MLL_50_2J_amcatnloFXFX", ["/DYto2Tau_MLL_50_2J_amcatnloFXFX"], 87552487, 1, 116.472030231, 0.0236715526531, ["dy_tautau_m50toinf_2j"], 8744175), + ("DYto2Tau_MLL_50to120_powheg", ["/DYto2Tau_MLL_50to120_powheg"], 5706960, 1, 2070.87197099, 6.45686948075, ["dy_tautau_m50to120"], 4223727), + ("DYto2Tau_MLL_6000_powheg", ["/DYto2Tau_MLL_6000_powheg"], 294000, 1, 3.28409124197e-08, 1.98765712788e-09, ["dy_tautau_m6000toinf"], 4036035), + ("DYto2Tau_MLL_800to1500_powheg", ["/DYto2Tau_MLL_800to1500_powheg"], 1142774, 1, 0.017871653107, 0.000278277415645, ["dy_tautau_m800to1500"], 4990905), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_Filtered_ProdAndDecay"], 16406657, 0.3848, 3.2759, 0.00136715950715, ["h_ggf_htt"], 6631120), + ("GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_CPodd_UnFiltered_ProdAndDecay"], 159652, 1, 3.2759, 0.36511515421, ["h_ggf_htt"], 7634543), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_Filtered_ProdAndDecay"], 18105720, 0.3848, 3.2759, 0.00123886358002, ["h_ggf_htt"], 7355543), + ("GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_MM_UnFiltered_ProdAndDecay"], 158922, 1, 3.2759, 0.366792291816, ["h_ggf_htt"], 4729795), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_Filtered_ProdAndDecay"], 17266134, 0.3847, 3.2759, 0.00129876716824, ["h_ggf_htt"], 8942784), + ("GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay", ["/GluGluHTo2Tau_UncorrelatedDecay_SM_UnFiltered_ProdAndDecay"], 159160, 1, 3.2759, 0.366243808746, ["h_ggf_htt"], 3368828), + ("ST_t_channel_antitop_4f_InclusiveDecays", ["/ST_t_channel_antitop_4f_InclusiveDecays"], 2662016, 1, 75.47, 0.50447224209, ["st_twchannel_tbar_fh"], 8456062), + ("ST_t_channel_top_4f_InclusiveDecays", ["/ST_t_channel_top_4f_InclusiveDecays"], 5437414, 1, 123.8, 0.405136927223, ["st_twchannel_t_fh"], 6106248), + ("ST_tW_antitop_2L2Nu", ["/ST_tW_antitop_2L2Nu", "/ST_tW_antitop_2L2Nu_ext1"], 9813596, 1, 3.8, 0.00689015524992, ["st_twchannel_tbar_dl"], 3714936), + ("ST_tW_antitop_LNu2Q", ["/ST_tW_antitop_LNu2Q", "/ST_tW_antitop_LNu2Q_ext1"], 19038070, 1, 15.9, 0.0148609916867, ["st_twchannel_tbar_sl"], 3918709), + ("ST_tW_top_2L2Nu", ["/ST_tW_top_2L2Nu", "/ST_tW_top_2L2Nu_ext1"], 9969624, 1, 3.8, 0.00678232198125, ["st_twchannel_t_dl"], 3173010), + ("ST_tW_top_LNu2Q", ["/ST_tW_top_LNu2Q", "/ST_tW_top_LNu2Q_ext1"], 19299848, 1, 15.8, 0.0145672235346, ["st_twchannel_t_sl"], 8945583), + ("TTto2L2Nu", ["/TTto2L2Nu", "/TTto2L2Nu_ext1"], 95426668, 1, 98.0438787561, 0.0182820255087, ["tt_dl"], 9726906), + ("TTto4Q", ["/TTto4Q", "/TTto4Q_ext1"], 208225308, 1, 419.807164414, 0.0358748355583, ["tt_fh"], 3442904), + ("TTtoLNu2Q", ["/TTtoLNu2Q", "/TTtoLNu2Q_ext1"], 302833852, 1, 405.74895683, 0.0238411158137, ["tt_sl"], 7035163), + ("VBFHToTauTau_UncorrelatedDecay_Filtered", ["/VBFHToTauTau_UncorrelatedDecay_Filtered"], 12453012, 0.4091, 0.2558, 0.000149530298158, ["h_vbf_htt"], 7518841), + ("VBFHToTauTau_UncorrelatedDecay_UnFiltered", ["/VBFHToTauTau_UncorrelatedDecay_UnFiltered"], 299664, 1, 0.2558, 0.0151893627529, ["h_vbf_htt"], 6468594), + ("WminusHToTauTau_UncorrelatedDecay_Filtered", ["/WminusHToTauTau_UncorrelatedDecay_Filtered"], 1248957, 0.3944, 0.03561, 0.000200094420942, ["wh_htt"], 6292268), + ("WminusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WminusHToTauTau_UncorrelatedDecay_UnFiltered"], 66292, 1, 0.03561, 0.00955838321366, ["wh_htt"], 8781372), + ("WplusHToTauTau_UncorrelatedDecay_Filtered", ["/WplusHToTauTau_UncorrelatedDecay_Filtered"], 1802553, 0.3743, 0.05575, 0.000205991946783, ["wh_htt"], 7748239), + ("WplusHToTauTau_UncorrelatedDecay_UnFiltered", ["/WplusHToTauTau_UncorrelatedDecay_UnFiltered"], 64190, 1, 0.05575, 0.0154543620502, ["wh_htt"], 2297394), + ("WtoLNu_1J_madgraphMLM", ["/WtoLNu_1J_madgraphMLM"], 191075090, 1, 63425.1, 5.90650633424, ["w_lnu_1j"], 6461648), + ("WtoLNu_2J_madgraphMLM", ["/WtoLNu_2J_madgraphMLM"], 191075090, 1, 63425.1, 5.90650633424, ["w_lnu_2j"], 8622383), + ("WtoLNu_3J_madgraphMLM", ["/WtoLNu_3J_madgraphMLM"], 191075090, 1, 63425.1, 5.90650633424, ["w_lnu_ge3j"], 9741512), + ("WtoLNu_4J_madgraphMLM", ["/WtoLNu_4J_madgraphMLM"], 191075090, 1, 63425.1, 5.90650633424, ["w_lnu_ge3j"], 4794660), + ("WtoLNu_madgraphMLM", ["/WtoLNu_madgraphMLM", "/WtoLNu_madgraphMLM_ext1"], 382150180, 1, 63425.1, 2.95325316712, ["w_lnu"], 7748250), + ("WW", ["/WW"], 33507000, 1, 122.27052, 0.064932152472, ["ww"], 4810610), + ("WWW_4F", ["/WWW_4F"], 849916, 1, 0.2328, 0.00487394424861, ["www"], 6958670), + ("WWZ_4F", ["/WWZ_4F"], 3275962, 1, 0.1851, 0.00100540525195, ["wwz"], 5052833), + ("WZ", ["/WZ"], 16770000, 1, 41.1474, 0.0436599186404, ["wz"], 4536647), + ("WZZ", ["/WZZ"], 3251476, 1, 0.06206, 0.000339629030016, ["wzz"], 7103464), + ("ZHToTauTau_UncorrelatedDecay_Filtered", ["/ZHToTauTau_UncorrelatedDecay_Filtered"], 1803008, 0.3933, 0.0592, 0.000229784952613, ["zh_htt"], 6327436), + ("ZHToTauTau_UncorrelatedDecay_UnFiltered", ["/ZHToTauTau_UncorrelatedDecay_UnFiltered"], 69949, 1, 0.0592, 0.015059612003, ["zh_htt"], 7920214), + ("ZZ", ["/ZZ"], 2517000, 1, 19.431, 0.137367983313, ["zz"], 3167509), + ("ZZZ", ["/ZZZ"], 3201470, 1, 0.01591, 8.84289217141e-05, ["zzz"], 6588648), +] + + diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/data.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/data.py new file mode 100644 index 00000000..164779a8 --- /dev/null +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/data.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" +CMS datasets from the 2023 preBPix data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_2025_v1 import campaign_run3_2023_preBPix_nano_tau_skim_2025_v1 as cpn + + +cpn.add_dataset( + name='data_egamma_Cv123', + id=67598081 + 17233307 + 21993048 + 67530273 + 17230822 + 21987586, + is_data=True, + processes=[procs.data_egamma], + keys=['/EGamma0_Run2023C_v1', '/EGamma0_Run2023C_v2', '/EGamma0_Run2023C_v3', '/EGamma1_Run2023C_v1', '/EGamma1_Run2023C_v2', '/EGamma1_Run2023C_v3'], + n_files= 69 + 19 + 24 + 70 + 19 + 24, + n_events= 67598081 + 17233307 + 21993048 + 67530273 + 17230822 + 21987586, + aux={ + 'era': 'C', + 'jec_era': 'Cv123' + } +) + +cpn.add_dataset( + name='data_egamma_Cv4', + id=160108119 + 159997174, + is_data=True, + processes=[procs.data_egamma], + keys=['/EGamma0_Run2023C_v4', '/EGamma1_Run2023C_v4'], + n_files=171 + 171, + n_events= 160108119 + 159997174, + aux={ + 'era': 'C', + 'jec_era': 'Cv4' + } +) + +cpn.add_dataset( + name='data_mu_Cv123', + id=54715896 + 17063451 + 20015377 + 54621922 + 17059895 + 20010429, + is_data=True, + processes=[procs.data_mu], + keys=['/Muon0_Run2023C_v1', '/Muon0_Run2023C_v2', '/Muon0_Run2023C_v3', '/Muon1_Run2023C_v1', '/Muon1_Run2023C_v2', '/Muon1_Run2023C_v3'], + n_files=50 + 16 + 19 + 50 + 16 + 13, + n_events= 54715896 + 17063451 + 20015377 + 54621922 + 17059895 + 20010429, + aux={ + 'era': 'C', + 'jec_era': 'Cv123' + } +) + + +cpn.add_dataset( + name='data_mu_Cv4', + id=138943783 + 138834244, + is_data=True, + processes=[procs.data_mu], + keys=['/Muon0_Run2023C_v4', '/Muon1_Run2023C_v4'], + n_files= 134 + 134, + n_events= 138943783 + 138834244, + aux={ + 'era': 'C', + 'jec_era': 'Cv4' + } +) + + +cpn.add_dataset( + name='data_tau_Cv123', + id=14484171 + 5178955 + 6470602, + is_data=True, + processes=[procs.data_tau], + keys=['/Tau_Run2023C_v1', '/Tau_Run2023C_v2', '/Tau_Run2023C_v3'], + n_files=22 + 8 + 10, + n_events= 14484171 + 5178955 + 6470602, + aux={ + 'era': 'C', + 'jec_era': 'Cv123' + } +) + +cpn.add_dataset( + name='data_tau_Cv4', + id=45176805, + is_data=True, + processes=[procs.data_tau], + keys=['/Tau_Run2023C_v4'], + n_files= 67, + n_events= 45176805, + aux={ + 'era': 'C', + 'jec_era': 'Cv4' + } +) + +cpn.add_dataset( + name='data_muoneg_Cv123', + id=9772655 + 2735170 + 3502967, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2023C_v1','/MuonEG_Run2023C_v2','/MuonEG_Run2023C_v3','/MuonEG_Run2023C_v4'], + n_files= 13 + 4 + 5, + n_events= 9772655 + 2735170 + 3502967, + aux={ + 'era': 'C', + 'jec_era': 'Cv123', + } +) + +cpn.add_dataset( + name='data_muoneg_Cv4', + id=24205121, + is_data=True, + processes=[procs.data_muoneg], + keys=['/MuonEG_Run2023C_v4'], + n_files=32, + n_events=24205121 , + aux={ + 'era': 'C', + 'jec_era': 'Cv4', + } +) \ No newline at end of file diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/signal.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/signal.py new file mode 100644 index 00000000..81580e91 --- /dev/null +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_2025_v1/signal.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" +CMS datasets from the 2023 preBPix data-taking campaign +""" + +import cmsdb.processes as procs +from cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_2025_v1 import campaign_run3_2023_preBPix_nano_tau_skim_2025_v1 as cpn + +for mass, n_evt, n_files in [ + (60, 1333754, 1), + (65, 1339748, 2), + (70, 1321800, 2), + (75, 1330830, 2), + (80, 1330824, 2), + (85, 1270832, 2), + (90, 1330842, 2), + (95, 1333850, 2), + (100, 1336860, 2), + (105, 1333854, 2), + (110, 1327884, 2), + (115, 1312866, 2), + (120, 1297886, 2), + (125, 1327874, 2), + (130, 1330894, 2), + (135, 1339912, 2), + (140, 1321874, 2), + (160, 1336924, 2), + (180, 1339914, 2), + (200, 1318950, 2), + (250, 1318954, 3), + (300, 1333964, 3), + (350, 1285978, 3), + (400, 1333960, 3), + (450, 1315970, 3), + (500, 1333970, 3), + (600, 1336986, 3), + (700, 1330956, 3), + (800, 1336986, 4), + (900, 1309982, 4), + (1000, 1300986, 4), + (1100, 1339980, 4), + (1200, 1336990, 4), + (1400, 1330982, 4), + (1600, 1339978, 4), + (1800, 1329988, 4), + (2000, 1335954, 4), + (2300, 1335954, 4), + (2600, 1325910, 4), + (2900, 1339890, 4), + (3200, 1329868, 4), + (3500, 1331800, 4), +]: + cpn.add_dataset( + name=f"h_ggf_htt_{mass}", + id=mass+10**6, + processes=[procs.h_ggf_htt.get_process(f"h_ggf_htt_{mass}")], + keys=[f"/GluGluHto2Tau_M_{mass}_2HDM_II"], + n_files=n_files, + n_events=n_evt, + ) + +for mass, n_evt, n_files in [ + ( 60, 1393352, 2), + ( 65, 1303488, 2), + ( 70, 1298442, 2), + ( 75, 1314952, 2), + ( 80, 1279098, 2), + ( 85, 1273280, 2), + ( 90, 1291376, 2), + ( 95, 1317238, 2), + ( 100, 1317346, 3), + ( 105, 1243440, 3), + ( 110, 1213300, 3), + ( 115, 1306638, 3), + ( 120, 1156316, 3), + ( 125, 1277508, 3), + ( 130, 1314794, 3), + ( 135, 1393848, 3), + ( 140, 1274984, 3), + ( 160, 1238758, 3), + ( 180, 1289636, 3), + ( 200, 1277230, 3), + ( 250, 641164, 2), + ( 300, 627320, 2), + ( 350, 640218, 2), + ( 400, 623322, 2), + ( 450, 628958, 2), + ( 500, 631984, 2), + ( 600, 362588, 2), + ( 700, 363304, 2), + ( 800, 361948, 2), + ( 900, 356111, 2), + (1000, 355050, 2), + (1100, 349160, 2), + (1200, 147924, 1), + (1400, 140006, 1), + (1600, 138626, 1), + (1800, 138038, 1), + (2000, 132146, 1), + (2300, 132456, 1), + (2600, 130590, 1), + (2900, 128440, 1), + (3200, 126766, 1), + (3500, 120850, 1), +]: + cpn.add_dataset( + name = f"bbh_htt_{mass}", + id = mass+1+10**6, + processes=[procs.bbh_htt.get_process(f"bbh_htt_{mass}")], + keys=[f"/BBHto2Tau_M_{mass}"], + n_files=n_files, + n_events=n_evt, + ) \ No newline at end of file diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/__init__.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/__init__.py index 0737da29..12a9581c 100644 --- a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/__init__.py +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/__init__.py @@ -24,6 +24,6 @@ import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.ewk import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.data -import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.top -import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.higgs import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.signal +import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.higgs +import cmsdb.campaigns.run3_2023_preBPix_nano_tau_skim_v2.top \ No newline at end of file diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/ewk.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/ewk.py index c873f2d5..75f45d15 100644 --- a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/ewk.py +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/ewk.py @@ -20,7 +20,7 @@ cpn.add_dataset( name='dy_lep_madgraph', #DYto2L_M-50 id=2212013, - processes=[procs.dy_lep, procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], + processes=[procs.dy_lep], #procs.dy_z2ee, procs.dy_z2mumu, procs.dy_z2tautau,], keys=['/DYto2L_M_50_madgraphMLM'], n_files=128, n_events=130559088, diff --git a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/signal.py b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/signal.py index 6b76a483..4eae47d8 100644 --- a/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/signal.py +++ b/cmsdb/campaigns/run3_2023_preBPix_nano_tau_skim_v2/signal.py @@ -1,7 +1,7 @@ # coding: utf-8 """ -CMS datasets from the 2022 Pre_BPix data-taking campaign +CMS datasets from the 2023 Pre_BPix data-taking campaign """ import cmsdb.processes as procs diff --git a/cmsdb/processes/__init__.py b/cmsdb/processes/__init__.py index 74724215..6c1cee76 100644 --- a/cmsdb/processes/__init__.py +++ b/cmsdb/processes/__init__.py @@ -5,18 +5,12 @@ """ # provisioning imports -from cmsdb.processes.combined_procs import * # noqa +# from cmsdb.processes.combined_procs import * # noqa from cmsdb.processes.data import * # noqa from cmsdb.processes.top import * # noqa -from cmsdb.processes.ewk import * # noqa +# from cmsdb.processes.ewk import * # noqa from cmsdb.processes.qcd import * # noqa from cmsdb.processes.higgs import * # noqa -from cmsdb.processes.httcp import * # noqa - - -# from cmsdb.processes.hh import * # noqa -# from cmsdb.processes.hh2bbtautau import * # noqa -# from cmsdb.processes.hh2bbvv import * # noqa -# from cmsdb.processes.mttbar import * # noqa -# from cmsdb.processes.azh import * # noqa -# from cmsdb.processes.hhh import * # noqa +# from cmsdb.processes.httcp import * # noqa +from cmsdb.processes.ewk_uhh import * # noqa +from cmsdb.processes.dy_tautau_nj import * # noqa diff --git a/cmsdb/processes/dy_tautau_nj.py b/cmsdb/processes/dy_tautau_nj.py new file mode 100644 index 00000000..e8bc1baf --- /dev/null +++ b/cmsdb/processes/dy_tautau_nj.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" +EWK-related process definitions. + +Some DY processes contain phasespace ranges in auxiliary fields. Each each is inclusive in the lower +bound and exclusive in the upper bound, i.e. (a, b) means a <= x < b: + +- mll: dilepton invariant mass range +- ptll: dilepton pt range +- njets: number of extra jets on generator level (mostly NLO) +""" + +__all__ = [ +"dy_tautau_m50toinf_0j", "dy_tautau_m50toinf_1j", "dy_tautau_m50toinf_2j", +] + + +from order import Process +from scinum import Number + +import cmsdb.constants as const +from cmsdb.util import multiply_xsecs + + +dy_tautau_m50toinf_0j = Process( + name="dy_tautau_m50toinf_0j", + id=51650, + xsecs={ + 13.6: Number(1664.684), + }, + aux={ + "lep_id": 15, + "mll": (50.0, const.inf), + }, +) + +dy_tautau_m50toinf_1j = Process( + name="dy_tautau_m50toinf_1j", + id=51651, + xsecs={ + 13.6: Number(316.240), + }, + aux={ + "lep_id": 15, + "mll": (50.0, const.inf), + }, +) + +dy_tautau_m50toinf_2j = Process( + name="dy_tautau_m50toinf_2j", + id=51652, + xsecs={ + 13.6: Number(116.472), + }, + aux={ + "lep_id": 15, + "mll": (50.0, const.inf), + }, +) \ No newline at end of file diff --git a/cmsdb/processes/ewk_uhh.py b/cmsdb/processes/ewk_uhh.py new file mode 100644 index 00000000..71e7cd24 --- /dev/null +++ b/cmsdb/processes/ewk_uhh.py @@ -0,0 +1,2266 @@ +# coding: utf-8 + +""" +EWK-related process definitions. + +Some DY processes contain phasespace ranges in auxiliary fields. Each each is inclusive in the lower +bound and exclusive in the upper bound, i.e. (a, b) means a <= x < b: + +- mll: dilepton invariant mass range +- ptll: dilepton pt range +- njets: number of extra jets on generator level (mostly NLO) +""" + +__all__ = [ # noqa: F822 + "dy", + "dy_m4to10", + "dy_m10to50", + "dy_m50toinf", "dy_m50toinf_0j", "dy_m50toinf_1j", "dy_m50toinf_2j", "dy_m50toinf_ge3j", + "dy_m50toinf_3j", "dy_m50toinf_4j", "dy_m50toinf_ge3j", + "dy_m50toinf_1j_pt0to40", "dy_m50toinf_1j_pt40to100", "dy_m50toinf_1j_pt100to200", + "dy_m50toinf_1j_pt200to400", "dy_m50toinf_1j_pt400to600", "dy_m50toinf_1j_pt600toinf", + "dy_m50toinf_2j_pt0to40", "dy_m50toinf_2j_pt40to100", "dy_m50toinf_2j_pt100to200", + "dy_m50toinf_2j_pt200to400", "dy_m50toinf_2j_pt400to600", "dy_m50toinf_2j_pt600toinf", + "dy_0j", "dy_1j", "dy_2j", + "dy_m50toinf_ht70to100", "dy_m50toinf_ht100to200", "dy_m50toinf_ht200to400", + "dy_m50toinf_ht400to600", "dy_m50toinf_ht600to800", "dy_m50toinf_ht800to1200", + "dy_m50toinf_ht1200to2500", "dy_m50toinf_ht2500toinf", + "dy_pt0to50", "dy_pt50to100", "dy_pt100to250", "dy_pt250to400", + "dy_pt400to650", "dy_pt650toinf", + "dy_m4to50_ht40to70", "dy_m4to50_ht70to100", "dy_m4to50_ht100to400", "dy_m4to50_ht400to800", + "dy_m4to50_ht800to1500", "dy_m4to50_ht1500to2500", "dy_m4to50_ht2500toinf", + "dy_m50toinf_pt40to100", "dy_m50toinf_pt100to200", "dy_m50toinf_pt200to400", + "dy_m50toinf_pt400to600", "dy_m50toinf_pt600toinf", + "dy_ee", "dy_mumu", "dy_tautau", + "dy_ee_m10to50", "dy_ee_m50toinf", "dy_ee_m50to120", "dy_ee_m120to200", "dy_ee_m200to400", + "dy_ee_m400to800", "dy_ee_m800to1500", "dy_ee_m1500to2500", "dy_ee_m2500to4000", + "dy_ee_m4000to6000", "dy_ee_m6000toinf", + "dy_mumu_m10to50", "dy_mumu_m50toinf", "dy_mumu_m50to120", "dy_mumu_m120to200", "dy_mumu_m200to400", + "dy_mumu_m400to800", "dy_mumu_m800to1500", "dy_mumu_m1500to2500", "dy_mumu_m2500to4000", + "dy_mumu_m4000to6000", "dy_mumu_m6000toinf", + "dy_tautau_m10to50", "dy_tautau_m50toinf", "dy_tautau_m50to120", "dy_tautau_m120to200", "dy_tautau_m200to400", + "dy_tautau_m400to800", "dy_tautau_m800to1500", "dy_tautau_m1500to2500", "dy_tautau_m2500to4000", + "dy_tautau_m4000to6000", "dy_tautau_m6000toinf","dy_tautau_m50toinf_0j", "dy_tautau_m50toinf_1j", "dy_tautau_m50toinf_2j", + "dy_ee_m50toinf_0j", "dy_ee_m50toinf_1j", "dy_ee_m50toinf_2j", "dy_ee_m50toinf_ge3j", + # *[ + # f"dy_{ll}_m50toinf_{nj}j" + # for ll in ["ee", "mumu", "tautau"] + # for nj in ["0", "1", "2", "ge3"] + # ], + # *[ + # f"dy_{ll}_m50toinf_{nj}j_pt{pt}" + # for ll in ["ee", "mumu", "tautau"] + # for nj in ["1", "2"] + # for pt in ["0to40", "40to100", "100to200", "200to400", "400to600", "600toinf"] + # ], + # *[ + # f"dy_tautau_m50toinf_{nj}j_{fname}" + # for nj in ["0", "1", "2", "ge3"] + # for fname in ["filtered", "nonfiltered"] + # ], + # *[ + # f"dy_tautau_m50toinf_{nj}j_pt{pt}_{fname}" + # for nj in ["1", "2"] + # for pt in ["0to40", "40to100", "100to200", "200to400", "400to600", "600toinf"] + # for fname in ["filtered", "nonfiltered"] + # ], + "z", + "z_nunu", + "z_nunu_ht100to200", "z_nunu_ht200to400", "z_nunu_ht400to600", + "z_nunu_ht600to800", "z_nunu_ht800to1200", "z_nunu_ht1200to2500", + "z_nunu_ht2500toinf", + "z_qq", + "z_qq_ht200to400", "z_qq_ht400to600", "z_qq_ht600to800", "z_qq_ht800toinf", + "z_qq_1j_pt100to200", "z_qq_2j_pt100to200", "z_qq_1j_pt200to400", "z_qq_2j_pt200to400", + "z_qq_1j_pt400to600", "z_qq_2j_pt400to600", "z_qq_1j_pt600toinf", "z_qq_2j_pt600toinf", + "z_vbf", "z_vbf_zll", "z_vbf_zll_m50toinf", + "w", + "w_taunu", "w_munu", + "w_lnu", + "w_lnu_0j", + "w_lnu_ht70to100", "w_lnu_ht100to200", "w_lnu_ht200to400", "w_lnu_ht400to600", + "w_lnu_ht600to800", "w_lnu_ht800to1200", "w_lnu_ht1200to2500", "w_lnu_ht2500toinf", + "w_lnu_1j", "w_lnu_1j_pt0to40", "w_lnu_1j_pt40to100", "w_lnu_1j_pt100to200", "w_lnu_1j_pt200to400", + "w_lnu_1j_pt400to600", "w_lnu_1j_pt600toinf", + "w_lnu_2j", "w_lnu_2j_pt0to40", "w_lnu_2j_pt40to100", "w_lnu_2j_pt100to200", "w_lnu_2j_pt200to400", + "w_lnu_2j_pt400to600", "w_lnu_2j_pt600toinf", "w_lnu_ge3j", + "w_vbf", "w_vbf_wlnu", + "ewk", + "ewk_wp_lnu_m50toinf", "ewk_wm_lnu_m50toinf", "ewk_z_ll_m50toinf", + "vv", + "zz", + "zz_zqq_zll", "zz_zll_znunu", "zz_zll_zll", "zz_zqq_zqq", "zz_znunu_zqq", + "wz", "wz_wlnu_zll", "wz_wqq_zll", "wz_wlnu_zqq", + "ww", + "ww_dl", "ww_sl", "ww_fh", + "vvv", + "zzz", "wzz", "wwz", "www", +] + + +from order import Process +from scinum import Number + +import cmsdb.constants as const +from cmsdb.util import multiply_xsecs + + +# +# Drell-Yan +# + +dy = Process( + name="dy", + id=50000, + label="Drell-Yan", +) + +# NNLO cross section, based on: +# https://twiki.cern.ch/twiki/bin/viewauth/CMS/StandardModelCrossSectionsat13TeV?rev=28 +# and for 13.6 TeV, based on: +# https://twiki.cern.ch/twiki/bin/viewauth/CMS/MATRIXCrossSectionsat13p6TeV?rev=12 + +# if needed for scaling from NLO to NNLO: +# NLO cross section, based on GenXSecAnalyzer for +# DYJetsToLL_M-50_TuneCP5_13TeV-amcatnloFXFX-pythia8 (Summer20UL16, NLO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +dy_m50toinf_nlo_13tev_xsec = Number(6421.0, {"tot": 11.25}) + +# if needed for scaling from LO to NNLO: +# LO cross section, based on GenXSecAnalyzer for DYJetsToLL_M-50_TuneCP5_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +dy_m50toinf_lo_13tev_xsec = Number(5395.0, {"tot": 1.858}) + +# 13.6 TeV LO and NLO cross sections are based on GenXSecAnalyzer with CMSSW_13_0_13 +# using command ./calculateXsectionAndFilterEfficiency.sh -f datasets.txt -c Run3Summer22MiniAODv4-130X_mcRun3_2022_realistic_v5-v2 -n 5000000 # noqa +# or -c Run3Summer22MiniAODv4-130X_mcRun3_2022_realistic_v5-v1 when needed +dy_m4to10_nlo_13p6tev_xsec = Number(141600, {"tot": 79.81}) # xsdb: Number(141500, {"tot": 301.9}) +dy_m10to50_nlo_13p6tev_xsec = Number(21170.0, {"tot": 18.38}) # xsdb: Number(20950.0, {"tot": 183.5}) +dy_m50toinf_nlo_13p6tev_xsec = Number(6728.0, {"tot": 6.981}) # xsdb: Number(6688.0, {"tot": 83.99}) + +dy_m10to50_lo_13p6tev_xsec = Number(17410, {"tot": 2.393}) +dy_m50toinf_lo_13p6tev_xsec = Number(5450, {"tot": 1.872}) + +dy_m50toinf = dy.add_process( + name="dy_m50toinf", + id=51100, + xsecs={ + # nnlo + 13: Number(6077.22, { + "integration": 1.49, + "scale": 0.02j, + "pdf": 14.78, + }), + # nnlo + 13.6: const.n_leps * Number(2091.7, { + "scale": (0.008j, 0.013j), + "pdf": 0.01j, + }), + }, + aux={ + "mll": (50.0, const.inf), + }, +) +# compute k-factors for scaling from LO and NLO to NNLO (which is used for the process cross section above) +# ! NOTE: this assumes that the k-factor does not significantly depend on mll +# ! NOTE: this was tested for 10to50 w.r.t. 50toinf +dy_k_factor_lo_to_nnlo = { + 13: dy_m50toinf.get_xsec(13) / dy_m50toinf_lo_13tev_xsec, + 13.6: dy_m50toinf.get_xsec(13.6) / dy_m50toinf_lo_13p6tev_xsec, +} +dy_k_factor_nlo_to_nnlo = { + 13: dy_m50toinf.get_xsec(13) / dy_m50toinf_nlo_13tev_xsec, + 13.6: dy_m50toinf.get_xsec(13.6) / dy_m50toinf_nlo_13p6tev_xsec, +} + +dy_m4to10 = dy.add_process( + name="dy_m4to10", + id=51002, + xsecs={ + 13.6: dy_m4to10_nlo_13p6tev_xsec * dy_k_factor_nlo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 10.0), + }, +) + +dy_m4to50 = dy.add_process( + name="dy_m4to50", + id=51004, + aux={ + "mll": (4.0, 50.0), + }, +) + +dy_m10to50 = dy.add_process( + name="dy_m10to50", + id=51001, + xsecs={ + 13.6: dy_m10to50_nlo_13p6tev_xsec * dy_k_factor_nlo_to_nnlo[13.6], + }, + aux={ + "mll": (10.0, 50.0), + }, +) + +# +# N-jet binned Drell-Yan (scaled to NNLO) +# + +# 13.6 TeV xsecs based on XSDB for datasets DYto2L-4Jets_MLL-50_{i}J_TuneCP5_13p6TeV_madgraphMLM-pythia8 +# e.g. https://xsdb-temp.app.cern.ch/xsdb/?columns=39911424¤tPage=0&pageSize=10&searchQuery=DAS%3DDYto2L-4Jets_MLL-50_1J_TuneCP5_13p6TeV_madgraphMLM-pythia8 # noqa +# 13 TeV: based on GenXSecAnalyzer +# for datasets DY{i}JetsToLL_M-50_MatchEWPDG20_TuneCP5_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa + +dy_m50toinf_0j = dy_m50toinf.add_process( + name="dy_m50toinf_0j", + id=51110, + xsecs={ + # NLO xsec taken from https://xsdb-temp.app.cern.ch/xsdb/?columns=39911424¤tPage=0&pageSize=10&searchQuery=DAS%3DDYto2L-2Jets_MLL-50_0J_TuneCP5_13p6TeV_amcatnloFXFX-pythia8 # noqa + 13.6: Number(5378, {"tot": 8.007}) * dy_k_factor_nlo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "njets": (0, 1), + }, +) + +dy_m50toinf_1j = dy_m50toinf.add_process( + name="dy_m50toinf_1j", + id=51111, + xsecs={ + 13: Number(926.8, { + "tot": 0.3597, + }) * dy_k_factor_lo_to_nnlo[13], + # 13.6: Number(1017, {"tot": 6.264}) * dy_k_factor_nlo_to_nnlo[13.6], + 13.6: Number(973.1, {"tot": 2.613}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + }, +) + +dy_m50toinf_2j = dy_m50toinf.add_process( + name="dy_m50toinf_2j", + id=51112, + xsecs={ + 13: Number(294.5, { + "tot": 0.1223, + }) * dy_k_factor_lo_to_nnlo[13], + # 13.6: Number(385.5, {"tot": 3.858}) * dy_k_factor_nlo_to_nnlo[13.6], + 13.6: Number(312.4, {"tot": 0.915}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + }, +) + +dy_m50toinf_3j = dy_m50toinf.add_process( + name="dy_m50toinf_3j", + id=51113, + xsecs={ + 13: Number(86.53, { + "tot": 0.03853, + }) * dy_k_factor_lo_to_nnlo[13], + 13.6: Number(93.93, {"tot": 0.2858}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "njets": (3, 4), + }, +) + +dy_m50toinf_4j = dy_m50toinf.add_process( + name="dy_m50toinf_4j", + id=51114, + xsecs={ + 13: Number(41.21, { + "tot": 0.02392, + }) * dy_k_factor_lo_to_nnlo[13], + 13.6: Number(45.43, {"tot": 0.1393}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "njets": (4, 5), + }, +) + +dy_m50toinf_ge3j = dy_m50toinf.add_process( + name="dy_m50toinf_ge3j", + id=51115, + aux={ + "mll": (50.0, const.inf), + "njets": (3, const.inf), + }, +) + +# based on GenXSecAnalyzer +# for DYJetsToLL_{i}J_TuneCP5_13TeV-amcatnloFXFX-pythia8 (Summer20UL16, NLO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +dy_0j = dy.add_process( + name="dy_0j", + id=51200, + xsecs={ + 13: Number(5134.0, { + "tot": 5.365, + }), + }, + aux={ + "njets": (0, 1), + }, +) + +dy_1j = dy.add_process( + name="dy_1j", + id=51300, + xsecs={ + 13: Number(952.7, { + "tot": 2.174, + }), + }, + aux={ + "njets": (1, 2), + }, +) + +dy_2j = dy.add_process( + name="dy_2j", + id=51400, + xsecs={ + 13: Number(359.1, { + "tot": 1.533, + }), + }, + aux={ + "njets": (2, 3), + }, +) + +dy_m50toinf_1j_pt0to40 = dy_m50toinf_1j.add_process( + name="dy_m50toinf_1j_pt0to40", + id=511110, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + "ptll": (0.0, 40.0), + }, +) + +dy_m50toinf_1j_pt40to100 = dy_m50toinf_1j.add_process( + name="dy_m50toinf_1j_pt40to100", + id=511111, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + "ptll": (40.0, 100.0), + }, +) + +dy_m50toinf_1j_pt100to200 = dy_m50toinf_1j.add_process( + name="dy_m50toinf_1j_pt100to200", + id=511112, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + "ptll": (100.0, 200.0), + }, +) + +dy_m50toinf_1j_pt200to400 = dy_m50toinf_1j.add_process( + name="dy_m50toinf_1j_pt200to400", + id=511113, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + "ptll": (200.0, 400.0), + }, +) + +dy_m50toinf_1j_pt400to600 = dy_m50toinf_1j.add_process( + name="dy_m50toinf_1j_pt400to600", + id=511114, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + "ptll": (400.0, 600.0), + }, +) + +dy_m50toinf_1j_pt600toinf = dy_m50toinf_1j.add_process( + name="dy_m50toinf_1j_pt600toinf", + id=511115, + aux={ + "mll": (50.0, const.inf), + "njets": (1, 2), + "ptll": (600.0, const.inf), + }, +) + +dy_m50toinf_2j_pt0to40 = dy_m50toinf_2j.add_process( + name="dy_m50toinf_2j_pt0to40", + id=511120, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + "ptll": (0.0, 40.0), + }, +) + +dy_m50toinf_2j_pt40to100 = dy_m50toinf_2j.add_process( + name="dy_m50toinf_2j_pt40to100", + id=511121, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + "ptll": (40.0, 100.0), + }, +) + +dy_m50toinf_2j_pt100to200 = dy_m50toinf_2j.add_process( + name="dy_m50toinf_2j_pt100to200", + id=511122, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + "ptll": (100.0, 200.0), + }, +) + +dy_m50toinf_2j_pt200to400 = dy_m50toinf_2j.add_process( + name="dy_m50toinf_2j_pt200to400", + id=511123, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + "ptll": (200.0, 400.0), + }, +) + +dy_m50toinf_2j_pt400to600 = dy_m50toinf_2j.add_process( + name="dy_m50toinf_2j_pt400to600", + id=511124, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + "ptll": (400.0, 600.0), + }, +) + +dy_m50toinf_2j_pt600toinf = dy_m50toinf_2j.add_process( + name="dy_m50toinf_2j_pt600toinf", + id=511125, + aux={ + "mll": (50.0, const.inf), + "njets": (2, 3), + "ptll": (600.0, const.inf), + }, +) + +# LO cross sections, scaled to NNLO + +# based on xsecdb: +# https://xsecdb-xsdb-official.app.cern.ch/xsdb/?columns=58393344¤tPage=0&pageSize=10&searchQuery=process_name%3DDYto2L-4Jets_MLL-50_PT.%2A +# based on xsecdb: +# https://xsecdb-xsdb-official.app.cern.ch/xsdb/?columns=58393344¤tPage=0&pageSize=10&searchQuery=process_name%3DDYto2L-4Jets_MLL-4to50.%2A + +dy_m4to50_ht40to70 = dy_m4to50.add_process( + name="dy_m4to50_ht40to70", + id=510040, + xsecs={ + 13.6: Number(911.4, {"tot": 2.547}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (40.0, 70.0), + }, +) + +dy_m4to50_ht70to100 = dy_m4to50.add_process( + name="dy_m4to50_ht70to100", + id=510041, + xsecs={ + 13.6: Number(346.6, {"tot": 0.9889}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (70.0, 100.0), + }, +) + +dy_m4to50_ht100to400 = dy_m4to50.add_process( + name="dy_m4to50_ht100to400", + id=510042, + xsecs={ + 13.6: Number(316.8, {"tot": 0.9199}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (100.0, 400.0), + }, +) + +dy_m4to50_ht400to800 = dy_m4to50.add_process( + name="dy_m4to50_ht400to800", + id=510043, + xsecs={ + 13.6: Number(5.649, {"tot": 0.01686}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (400.0, 800.0), + }, +) + +dy_m4to50_ht800to1500 = dy_m4to50.add_process( + name="dy_m4to50_ht800to1500", + id=510044, + xsecs={ + 13.6: Number(0.4204, {"tot": 0.001262}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (800.0, 1500.0), + }, +) + +dy_m4to50_ht1500to2500 = dy_m4to50.add_process( + name="dy_m4to50_ht1500to2500", + id=510045, + xsecs={ + 13.6: Number(0.02079, {"tot": 0.00006233}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (1500.0, 2500.0), + }, +) + +dy_m4to50_ht2500toinf = dy_m4to50.add_process( + name="dy_m4to50_ht2500toinf", + id=510046, + xsecs={ + 13.6: Number(0.00107, {"tot": 0.000003204}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (4.0, 50.0), + "htt": (2500.0, const.inf), + }, +) + +dy_m50toinf_pt40to100 = dy_m50toinf.add_process( + name="dy_m50toinf_pt40to100", + id=511001, + xsecs={ + 13.6: Number(403.7, {"tot": 1.143}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "ptll": (40.0, 100.0), + }, +) + +dy_m50toinf_pt100to200 = dy_m50toinf.add_process( + name="dy_m50toinf_pt100to200", + id=511002, + xsecs={ + 13.6: Number(58.46, {"tot": 0.173}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "ptll": (100.0, 200.0), + }, +) + +dy_m50toinf_pt200to400 = dy_m50toinf.add_process( + name="dy_m50toinf_pt200to400", + id=511003, + xsecs={ + 13.6: Number(6.678, {"tot": 0.02018}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "ptll": (200.0, 400.0), + }, +) + +dy_m50toinf_pt400to600 = dy_m50toinf.add_process( + name="dy_m50toinf_pt400to600", + id=511004, + xsecs={ + 13.6: Number(0.3833, {"tot": 0.00117}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "ptll": (400.0, 600.0), + }, +) + +dy_m50toinf_pt600toinf = dy_m50toinf.add_process( + name="dy_m50toinf_pt600toinf", + id=511005, + xsecs={ + 13.6: Number(0.06843, {"tot": 0.0002102}) * dy_k_factor_lo_to_nnlo[13.6], + }, + aux={ + "mll": (50.0, const.inf), + "ptll": (600.0, const.inf), + }, +) + +# based on GenXSecAnalyzer +# for DYJetsToLL_M-50_HT-{i}to{j}_TuneCP5_PSweights_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v2 -n 5000000 # noqa +dy_m50toinf_ht70to100 = dy_m50toinf.add_process( + name="dy_m50toinf_ht70to100", + id=51121, + xsecs={ + 13: Number(139.9, {"tot": 0.5747}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (70.0, 100.0), + }, +) + +dy_m50toinf_ht100to200 = dy_m50toinf.add_process( + name="dy_m50toinf_ht100to200", + id=51122, + xsecs={ + 13: Number(140.1, {"tot": 0.5875}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (100.0, 200.0), + }, +) + +dy_m50toinf_ht200to400 = dy_m50toinf.add_process( + name="dy_m50toinf_ht200to400", + id=51123, + xsecs={ + 13: Number(38.38, {"tot": 0.01628}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (200.0, 400.0), + }, +) + +dy_m50toinf_ht400to600 = dy_m50toinf.add_process( + name="dy_m50toinf_ht400to600", + id=51124, + xsecs={ + 13: Number(5.212, {"tot": 0.003149}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (400.0, 600.0), + }, +) + +dy_m50toinf_ht600to800 = dy_m50toinf.add_process( + name="dy_m50toinf_ht600to800", + id=51125, + xsecs={ + 13: Number(1.266, {"tot": 0.0007976}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (600.0, 800.0), + }, +) + +dy_m50toinf_ht800to1200 = dy_m50toinf.add_process( + name="dy_m50toinf_ht800to1200", + id=51126, + xsecs={ + 13: Number(0.5684, {"tot": 0.0003515}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (800.0, 1200.0), + }, +) + +dy_m50toinf_ht1200to2500 = dy_m50toinf.add_process( + name="dy_m50toinf_ht1200to2500", + id=51127, + xsecs={ + 13: Number(0.1332, {"tot": 0.00009084}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (1200.0, 2500.0), + }, +) + +dy_m50toinf_ht2500toinf = dy_m50toinf.add_process( + name="dy_m50toinf_ht2500toinf", + id=51128, + xsecs={ + 13: Number(0.002977, {"tot": 0.000003412}) * dy_k_factor_lo_to_nnlo[13], + }, + aux={ + "mll": (50.0, const.inf), + "htt": (2500.0, const.inf), + }, +) + +# based on GenXSecAnalyzer +# for DYJetsToLL_LHEFilterPtZ-{i}To{j}_MatchEWPDG20_TuneCP5_13TeV-amcatnloFXFX-pythia8 (Summer20UL16, NLO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v2 -n 5000000 # noqa +dy_pt0to50 = dy.add_process( + name="dy_pt0to50", + id=51510, + xsecs={ + 13: Number(1494.0, { + "tot": 1.751, + }), + }, + aux={ + "ptll": (0.0, 50.0), + }, +) + +dy_pt50to100 = dy.add_process( + name="dy_pt50to100", + id=51520, + xsecs={ + 13: Number(398.3, { + "tot": 0.5600, + }), + }, + aux={ + "ptll": (50.0, 100.0), + }, +) + +dy_pt100to250 = dy.add_process( + name="dy_pt100to250", + id=51530, + xsecs={ + 13: Number(96.58, { + "tot": 0.1370, + }), + }, + aux={ + "ptll": (100.0, 250.0), + }, +) + +dy_pt250to400 = dy.add_process( + name="dy_pt250to400", + id=51540, + xsecs={ + 13: Number(3.738, { + "tot": 0.005305, + }), + }, + aux={ + "ptll": (250.0, 400.0), + }, +) + +dy_pt400to650 = dy.add_process( + name="dy_pt400to650", + id=51550, + xsecs={ + 13: Number(0.5050, { + "tot": 0.0008169, + }), + }, + aux={ + "ptll": (400.0, 650.0), + }, +) + +dy_pt650toinf = dy.add_process( + name="dy_pt650toinf", + id=51560, + xsecs={ + 13: Number(0.04763, { + "tot": 0.00007206, + }), + }, + aux={ + "ptll": (650.0, const.inf), + }, +) + +# +# NNLO decays split into specific leptons +# (cross sections from xsdb) +# + +dy_ee = dy.add_process( + name="dy_ee", + id=50100, + aux={ + "lep_id": 11, + }, +) + +dy_mumu = dy.add_process( + name="dy_mumu", + id=50200, + aux={ + "lep_id": 13, + }, +) + +dy_tautau = dy.add_process( + name="dy_tautau", + id=50300, + aux={ + "lep_id": 15, + }, +) + +# 2 e +dy_ee_m10to50 = dy_ee.add_process( + name="dy_ee_m10to50", + id=51810, + xsecs={ + 13.6: dy_m10to50.get_xsec(13.6) / const.n_leps, + }, + aux={ + "lep_id": 11, + "mll": (10.0, 50.0), + }, +) + +dy_ee_m50toinf = dy_ee.add_process( + name="dy_ee_m50toinf", + id=51800, + xsecs={ + 13.6: dy_m50toinf.get_xsec(13.6) / const.n_leps, + }, + aux={ + "lep_id": 11, + "mll": (50.0, const.inf), + }, +) +dy_ee_m50toinf.add_parent_process(dy_m50toinf) + +dy_ee_m50to120 = dy_ee_m50toinf.add_process( + name="dy_ee_m50to120", + id=51811, + xsecs={ + 13.6: Number(2219, { + "tot": 0.2327, + }), + }, + aux={ + "lep_id": 11, + "mll": (50.0, 120), + }, +) + +dy_ee_m120to200 = dy_ee_m50toinf.add_process( + name="dy_ee_m120to200", + id=51812, + xsecs={ + 13.6: Number(21.65, { + "tot": 0.003184, + }), + }, + aux={ + "lep_id": 11, + "mll": (120.0, 200.0), + }, +) + +dy_ee_m200to400 = dy_ee_m50toinf.add_process( + name="dy_ee_m200to400", + id=51813, + xsecs={ + 13.6: Number(3.058, { + "tot": 0.000465, + }), + }, + aux={ + "lep_id": 11, + "mll": (200.0, 400.0), + }, +) + +dy_ee_m400to800 = dy_ee_m50toinf.add_process( + name="dy_ee_m400to800", + id=51814, + xsecs={ + 13.6: Number(0.2691, { + "tot": 0.00004215, + }), + }, + aux={ + "lep_id": 11, + "mll": (400.0, 800.0), + }, +) + +dy_ee_m800to1500 = dy_ee_m50toinf.add_process( + name="dy_ee_m800to1500", + id=51815, + xsecs={ + 13.6: Number(0.01915, { + "tot": 0.000003085, + }), + }, + aux={ + "lep_id": 11, + "mll": (800.0, 1500.0), + }, +) + +dy_ee_m1500to2500 = dy_ee_m50toinf.add_process( + name="dy_ee_m1500to2500", + id=51816, + xsecs={ + 13.6: Number(0.001111, { + "tot": 1.787e-7, + }), + }, + aux={ + "lep_id": 11, + "mll": (1500.0, 2500.0), + }, +) + +dy_ee_m2500to4000 = dy_ee_m50toinf.add_process( + name="dy_ee_m2500to4000", + id=51817, + xsecs={ + 13.6: Number(0.00005949, { + "tot": 9.162e-9, + }), + }, + aux={ + "lep_id": 11, + "mll": (2500.0, 4000.0), + }, +) + +dy_ee_m4000to6000 = dy_ee_m50toinf.add_process( + name="dy_ee_m4000to6000", + id=51818, + xsecs={ + 13.6: Number(0.000001558, { + "tot": 2.078e-10, + }), + }, + aux={ + "lep_id": 11, + "mll": (4000.0, 6000.0), + }, +) + +dy_ee_m6000toinf = dy_ee_m50toinf.add_process( + name="dy_ee_m6000toinf", + id=51619, + xsecs={ + 13.6: Number(3.519e-8, { + "tot": 6.811e-12, + }), + }, + aux={ + "lep_id": 11, + "mll": (6000.0, const.inf), + }, +) + +# normalize ee mll bins to nnlo expectation from inclusive m50toinf / 3 +dy_ee_m_procs = [ + dy_ee_m50to120, + dy_ee_m120to200, + dy_ee_m200to400, + dy_ee_m400to800, + dy_ee_m800to1500, + dy_ee_m1500to2500, + dy_ee_m2500to4000, + dy_ee_m4000to6000, + dy_ee_m6000toinf, +] +dy_ee_m_corr_13p6 = ( + (dy_m50toinf.get_xsec(13.6) / const.n_leps) / + sum(proc.get_xsec(13.6) for proc in dy_ee_m_procs) +) +for proc in dy_ee_m_procs: + proc.xsecs[13.6] *= dy_ee_m_corr_13p6 + +# 2 mu +dy_mumu_m10to50 = dy_mumu.add_process( + name="dy_mumu_m10to50", + id=51620, + xsecs={ + 13.6: dy_m10to50.get_xsec(13.6) / const.n_leps, + }, + aux={ + "lep_id": 13, + "mll": (10.0, 50.0), + }, +) + +dy_mumu_m50toinf = dy_mumu.add_process( + name="dy_mumu_m50toinf", + id=51621, + aux={ + "lep_id": 13, + "mll": (50.0, const.inf), + }, +) +dy_mumu_m50toinf.add_parent_process(dy_m50toinf) + +dy_mumu_m50to120 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m50to120", + id=51622, + xsecs={ + 13.6: Number(2219, { + "tot": 0.2327, + }), + }, + aux={ + "lep_id": 13, + "mll": (50.0, 120.0), + }, +) + +dy_mumu_m120to200 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m120to200", + id=51623, + xsecs={ + 13.6: Number(21.65, { + "tot": 0.003184, + }), + }, + aux={ + "lep_id": 13, + "mll": (120.0, 200.0), + }, +) + +dy_mumu_m200to400 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m200to400", + id=51624, + xsecs={ + 13.6: Number(3.058, { + "tot": 0.000465, + }), + }, + aux={ + "lep_id": 13, + "mll": (200.0, 400.0), + }, +) + +dy_mumu_m400to800 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m400to800", + id=51625, + xsecs={ + 13.6: Number(0.2691, { + "tot": 0.00004215, + }), + }, + aux={ + "lep_id": 13, + "mll": (400.0, 800.0), + }, +) + +dy_mumu_m800to1500 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m800to1500", + id=51626, + xsecs={ + 13.6: Number(0.01915, { + "tot": 0.000003085, + }), + }, + aux={ + "lep_id": 13, + "mll": (800.0, 1500.0), + }, +) + +dy_mumu_m1500to2500 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m1500to2500", + id=51627, + xsecs={ + 13.6: Number(0.001111, { + "tot": 1.787e-7, + }), + }, + aux={ + "lep_id": 13, + "mll": (1500.0, 2500.0), + }, +) + +dy_mumu_m2500to4000 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m2500to4000", + id=51628, + xsecs={ + 13.6: Number(0.00005949, { + "tot": 9.162e-9, + }), + }, + aux={ + "lep_id": 13, + "mll": (2500.0, 4000.0), + }, +) + +dy_mumu_m4000to6000 = dy_mumu_m50toinf.add_process( + name="dy_mumu_m4000to6000", + id=51629, + xsecs={ + 13.6: Number(0.000001558, { + "tot": 2.078e-10, + }), + }, + aux={ + "lep_id": 13, + "mll": (4000.0, 6000.0), + }, +) + +dy_mumu_m6000toinf = dy_mumu_m50toinf.add_process( + name="dy_mumu_m6000toinf", + id=51630, + xsecs={ + 13.6: Number(3.519e-8, { + "tot": 6.811e-12, + }), + }, + aux={ + "lep_id": 13, + "mll": (6000.0, const.inf), + }, +) + +# normalize mumu mll bins to nnlo expectation from inclusive m50toinf / 3 +dy_mumu_m_procs = [ + dy_mumu_m50to120, + dy_mumu_m120to200, + dy_mumu_m200to400, + dy_mumu_m400to800, + dy_mumu_m800to1500, + dy_mumu_m1500to2500, + dy_mumu_m2500to4000, + dy_mumu_m4000to6000, + dy_mumu_m6000toinf, +] +dy_mumu_m_corr_13p6 = ( + (dy_m50toinf.get_xsec(13.6) / const.n_leps) / + sum(proc.get_xsec(13.6) for proc in dy_mumu_m_procs) +) +for proc in dy_mumu_m_procs: + proc.xsecs[13.6] *= dy_mumu_m_corr_13p6 + +# 2 tau +dy_tautau_m10to50 = dy_tautau.add_process( + name="dy_tautau_m10to50", + id=51631, + xsecs={ + 13.6: dy_m10to50.get_xsec(13.6) / const.n_leps, + }, + aux={ + "lep_id": 15, + "mll": (10.0, 50.0), + }, +) + +dy_tautau_m50toinf = dy_tautau.add_process( + name="dy_tautau_m50toinf", + id=51632, + aux={ + "lep_id": 15, + "mll": (50.0, const.inf), + }, +) + +dy_tautau_m50toinf.add_parent_process(dy_m50toinf) + +dy_tautau_m50to120 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m50to120", + id=51633, + xsecs={ + 13.6: Number(2219, { + "tot": 0.2327, + }), + }, + aux={ + "lep_id": 15, + "mll": (50.0, 120.0), + }, +) + +dy_tautau_m120to200 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m120to200", + id=51634, + xsecs={ + 13.6: Number(21.65, { + "tot": 0.003184, + }), + }, + aux={ + "lep_id": 15, + "mll": (120.0, 200.0), + }, +) + +dy_tautau_m200to400 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m200to400", + id=51635, + xsecs={ + 13.6: Number(3.058, { + "tot": 0.000465, + }), + }, + aux={ + "lep_id": 15, + "mll": (200.0, 400.0), + }, +) + +dy_tautau_m400to800 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m400to800", + id=51636, + xsecs={ + 13.6: Number(0.2691, { + "tot": 0.00004215, + }), + }, + aux={ + "lep_id": 15, + "mll": (400.0, 800.0), + }, +) + +dy_tautau_m800to1500 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m800to1500", + id=51637, + xsecs={ + 13.6: Number(0.01915, { + "tot": 0.000003085, + }), + }, + aux={ + "lep_id": 15, + "mll": (800.0, 1500.0), + }, +) + +dy_tautau_m1500to2500 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m1500to2500", + id=51638, + xsecs={ + 13.6: Number(0.001111, { + "tot": 1.787e-7, + }), + }, + aux={ + "lep_id": 15, + "mll": (1500.0, 2500.0), + }, +) + +dy_tautau_m2500to4000 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m2500to4000", + id=51639, + xsecs={ + 13.6: Number(0.00005949, { + "tot": 9.162e-9, + }), + }, + aux={ + "lep_id": 15, + "mll": (2500.0, 4000.0), + }, +) + +dy_tautau_m4000to6000 = dy_tautau_m50toinf.add_process( + name="dy_tautau_m4000to6000", + id=51640, + xsecs={ + 13.6: Number(0.000001558, { + "tot": 2.078e-10, + }), + }, + aux={ + "lep_id": 15, + "mll": (4000.0, 6000.0), + }, +) + +dy_tautau_m6000toinf = dy_tautau_m50toinf.add_process( + name="dy_tautau_m6000toinf", + id=51641, + xsecs={ + 13.6: Number(3.519e-8, { + "tot": 6.811e-12, + }), + }, + aux={ + "lep_id": 15, + "mll": (6000.0, const.inf), + }, +) + +# normalize tautau mll bins to nnlo expectation from inclusive m50toinf / 3 +dy_tautau_m_procs = [ + dy_tautau_m50to120, + dy_tautau_m120to200, + dy_tautau_m200to400, + dy_tautau_m400to800, + dy_tautau_m800to1500, + dy_tautau_m1500to2500, + dy_tautau_m2500to4000, + dy_tautau_m4000to6000, + dy_tautau_m6000toinf, +] +dy_tautau_m_corr_13p6 = ( + (dy_m50toinf.get_xsec(13.6) / const.n_leps) / + sum(proc.get_xsec(13.6) for proc in dy_tautau_m_procs) +) +for proc in dy_tautau_m_procs: + proc.xsecs[13.6] *= dy_tautau_m_corr_13p6 + +# lepton decays, with jet multiplicity bins, and optionally also pt bins +dy_ll_m_id = 51660 +for ll, lid, split_filtered in [("ee", 11, False), ("mumu", 13, False), ("tautau", 15, True)]: + dy_ll_m = locals()[f"dy_{ll}_m50toinf"] + # jet multiplicity bins + for nj, nj_range, split_pt in [ + ("0j", (0, 1), False), + ("1j", (1, 2), True), + ("2j", (2, 3), True), + ("ge3j", (3, const.inf), False), + ]: + dy_ll_m_nj = locals()[f"dy_{ll}_m50toinf_{nj}"] = dy_ll_m.add_process( + name=f"dy_{ll}_m50toinf_{nj}", + id=(dy_ll_m_id := dy_ll_m_id + 1), + aux={ + "lep_id": lid, + "mll": (50.0, const.inf), + "njets": nj_range, + }, + ) + dy_ll_m_nj.add_parent_process(locals()[f"dy_m50toinf_{nj}"]) + # split into filtered / nonfiltered + if split_filtered: + for fname in ["filtered", "nonfiltered"]: + locals()[f"dy_{ll}_m50toinf_{nj}_{fname}"] = dy_ll_m_nj.add_process( + name=f"dy_{ll}_m50toinf_{nj}_{fname}", + id=(dy_ll_m_id := dy_ll_m_id + 1), + aux={ + "lep_id": lid, + "mll": (50.0, const.inf), + "njets": nj_range, + "filtered": fname == "filtered", + }, + ) + # split into pt bins + if split_pt: + for pt, pt_range in [ + ("0to40", (0.0, 40.0)), + ("40to100", (40.0, 100.0)), + ("100to200", (100.0, 200.0)), + ("200to400", (200.0, 400.0)), + ("400to600", (400.0, 600.0)), + ("600toinf", (600.0, const.inf)), + ]: + dy_ll_m_nj_pt = locals()[f"dy_{ll}_m50toinf_{nj}_pt{pt}"] = dy_ll_m_nj.add_process( + name=f"dy_{ll}_m50toinf_{nj}_pt{pt}", + id=(dy_ll_m_id := dy_ll_m_id + 1), + aux={ + "lep_id": lid, + "mll": (50.0, const.inf), + "njets": nj_range, + "ptll": pt_range, + }, + ) + dy_ll_m_nj_pt.add_parent_process(locals()[f"dy_m50toinf_{nj}_pt{pt}"]) + # split into filtered / nonfiltered + # (see fragment in https://cms-pdmv-prod.web.cern.ch/mcm/requests?prepid=HIG-Run3Summer22EEwmLHEGS-01476&page=0&shown=140737488355327) # noqa + if split_filtered: + for fname in ["filtered", "nonfiltered"]: + dy_ll_m_nj_pt_f = locals()[f"dy_{ll}_m50toinf_{nj}_pt{pt}_{fname}"] = dy_ll_m_nj_pt.add_process( + name=f"dy_{ll}_m50toinf_{nj}_pt{pt}_{fname}", + id=(dy_ll_m_id := dy_ll_m_id + 1), + aux={ + "lep_id": lid, + "mll": (50.0, const.inf), + "njets": nj_range, + "ptll": pt_range, + "filtered": fname == "filtered", + }, + ) + dy_ll_m_nj_pt_f.add_parent_process(locals()[f"dy_{ll}_m50toinf_{nj}_{fname}"]) + +# +# Z boson (no photon/DY) +# + +z = Process( + name="z", + id=55000, + label="Z + jets", +) + +# Z -> neutrinos + +z_nunu = z.add_process( + name="z_nunu", + id=55100, + label=rf"{z.label} (Z $\rightarrow$ $\nu\nu$)", +) + +# 13 TeV Xsecs based on GenXSecAnalyzer +# for ZJetsToNuNu_HT-{i}To{j}_TuneCP5_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +z_nunu_ht100to200 = z_nunu.add_process( + name="z_nunu_ht100to200", + id=55110, + xsecs={ + 13: Number(266.1, { + "tot": 0.1117, + }), + }, +) + +z_nunu_ht200to400 = z_nunu.add_process( + name="z_nunu_ht200to400", + id=55120, + xsecs={ + 13: Number(73.00, { + "tot": 0.04408, + }), + }, +) + +z_nunu_ht400to600 = z_nunu.add_process( + name="z_nunu_ht400to600", + id=55130, + xsecs={ + 13: Number(9.915, { + "tot": 0.004229, + }), + }, +) + +z_nunu_ht600to800 = z_nunu.add_process( + name="z_nunu_ht600to800", + id=55140, + xsecs={ + 13: Number(2.409, { + "tot": 0.001678, + }), + }, +) + +z_nunu_ht800to1200 = z_nunu.add_process( + name="z_nunu_ht800to1200", + id=55150, + xsecs={ + 13: Number(1.077, { + "tot": 0.001295, + }), + }, +) + +z_nunu_ht1200to2500 = z_nunu.add_process( + name="z_nunu_ht1200to2500", + id=55160, + xsecs={ + 13: Number(0.2495, { + "tot": 0.0007030, + }), + }, +) + +z_nunu_ht2500toinf = z_nunu.add_process( + name="z_nunu_ht2500toinf", + id=55170, + xsecs={ + 13: Number(0.005614, { + "tot": 0.00001616, + }), + }, +) + +# Z -> quarks + +# 13 TeV Xsecs based on GenXSecAnalyzer +# for ZJetsToQQ_HT-{i}to{j}_TuneCP5_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v2 -n 5000000 # noqa +z_qq = z.add_process( + name="z_qq", + id=55200, + label=rf"{z.label} (Z $\rightarrow$ $\text{{q}}\overline{{\text{{q}}}}$)", +) + +z_qq_ht200to400 = z_qq.add_process( + name="z_qq_ht200to400", + id=55210, + xsecs={ + 13: Number(1012.0, {"total": 0.4260}), + }, +) + +z_qq_ht400to600 = z_qq.add_process( + name="z_qq_ht400to600", + id=55220, + xsecs={ + 13: Number(114.5, {"total": 0.04884}), + }, +) + +z_qq_ht600to800 = z_qq.add_process( + name="z_qq_ht600to800", + id=55230, + xsecs={ + 13: Number(25.38, {"total": 0.01088}), + }, +) + +z_qq_ht800toinf = z_qq.add_process( + name="z_qq_ht800toinf", + id=55240, + xsecs={ + 13: Number(12.92, {"total": 0.005923}), + }, +) + +z_qq_1j_pt100to200 = z_qq.add_process( + name="z_qq_1j_pt100to200", + id=55261, + xsecs={ + # XSDB + 13.6: Number(302.0, {"total": 1.493}), + }, +) + +z_qq_2j_pt100to200 = z_qq.add_process( + name="z_qq_2j_pt100to200", + id=55262, + xsecs={ + # XSDB + 13.6: Number(343.9, {"total": 2.979}), + }, +) + +z_qq_1j_pt200to400 = z_qq.add_process( + name="z_qq_1j_pt200to400", + id=55263, + xsecs={ + # XSDB + 13.6: Number(21.64, {"total": 0.1029}), + }, +) + +z_qq_2j_pt200to400 = z_qq.add_process( + name="z_qq_2j_pt200to400", + id=55264, + xsecs={ + # XSDB + 13.6: Number(48.36, {"total": 0.375}), + }, +) + +z_qq_1j_pt400to600 = z_qq.add_process( + name="z_qq_1j_pt400to600", + id=55265, + xsecs={ + # XSDB + 13.6: Number(0.7376, {"total": 0.003183}), + }, +) + +z_qq_2j_pt400to600 = z_qq.add_process( + name="z_qq_2j_pt400to600", + id=55266, + xsecs={ + # XSDB + 13.6: Number(2.683, {"total": 0.01553}), + }, +) + +z_qq_1j_pt600toinf = z_qq.add_process( + name="z_qq_1j_pt600toinf", + id=55267, + xsecs={ + # XSDB + 13.6: Number(0.08717, {"total": 0.0003566}), + }, +) + +z_qq_2j_pt600toinf = z_qq.add_process( + name="z_qq_2j_pt600toinf", + id=55268, + xsecs={ + # XSDB + 13.6: Number(0.4459, {"total": 0.002084}), + }, +) + +# dedicated vbf production (pp -> z + qq) +z_vbf = z.add_process( + name="z_vbf", + id=55300, + label=f"{z.label} (VBF)", +) + +z_vbf_zll = z_vbf.add_process( + name="z_vbf_zll", + id=55310, + label=r"Z $\rightarrow ll$ (VBF)", +) + +z_vbf_zll_m50toinf = z_vbf_zll.add_process( + name="z_vbf_zll_m50toinf", + id=55313, + xsecs={ + # based on GenXSecAnalyzer + 13.6: Number(7.769000, {"tot": 0.002434}), + }, + aux={ + "mll": (50.0, const.inf), + }, +) + +# +# W boson +# + +w = Process( + name="w", + id=6000, + label="W + jets", + # TODO, or use w.set_xsec(13, w_lnu.get_xsec(13) / const.br_w.lep) below? +) + + +w_taunu = w.add_process( + name="w_taunu", + id=6010, + label=rf"{w.label} ($W \rightarrow tau\nu$)", +) + +w_munu = w.add_process( + name="w_munu", + id=6020, + label=rf"{w.label} ($W \rightarrow mu\nu$)", +) + + +# NNLO cross section, based on: +# https://twiki.cern.ch/twiki/bin/view/CMS/StandardModelCrossSectionsat13TeV?rev=27 +# and for 13.6 TeV, based on: +# https://twiki.cern.ch/twiki/bin/viewauth/CMS/MATRIXCrossSectionsat13p6TeV?rev=12 + +wm_lnu_xs_13p6 = const.n_leps * Number(9009.5, { + "scale": (0.014j, 0.012j), + "pdf": 0.008j, +}) +wp_lnu_xs_13p6 = const.n_leps * Number(12122.5, { + "scale": (0.011j, 0.014), + "pdf": 0.007j, +}) + +w_lnu = w.add_process( + name="w_lnu", + id=6100, + label=rf"{w.label} ($W \rightarrow l\nu$)", + xsecs={ + 13: const.n_leps * Number(20508.9, { + "scale": (165.7, 88.2), + "pdf": 770.9, + }), + # addition necessary due to absence of combined value + 13.6: wm_lnu_xs_13p6 + wp_lnu_xs_13p6, + }, +) + +# LO cross section, needed for scaling to NNLO: +# based on GenXSecAnalyzer +# for WJetsToLNu_TuneCP5_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +w_lnu_lo_13tev_xsec = Number(54070.0, {"tot": 18.32}) + +# ht bins based on GenXSecAnalyzer +# for WJetsToLNu_HT-{i}To{j}_TuneCP5_13TeV-madgraphMLM-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +# LO cross sections, scaled to NNLO +w_lnu_ht70to100 = w_lnu.add_process( + name="w_lnu_ht70to100", + id=6110, + xsecs={ + 13: Number(1270.0, {"tot": 0.5259}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (70.0, 100.0), + }, +) + +w_lnu_ht100to200 = w_lnu.add_process( + name="w_lnu_ht100to200", + id=6120, + xsecs={ + 13: Number(1254.0, {"tot": 0.5274}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (100.0, 200.0), + }, +) + +w_lnu_ht200to400 = w_lnu.add_process( + name="w_lnu_ht200to400", + id=6130, + xsecs={ + 13: Number(336.6, {"tot": 0.1528}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (200.0, 400.0), + }, +) + +w_lnu_ht400to600 = w_lnu.add_process( + name="w_lnu_ht400to600", + id=6140, + xsecs={ + 13: Number(45.21, {"tot": 0.02966}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (400.0, 600.0), + }, +) + +w_lnu_ht600to800 = w_lnu.add_process( + name="w_lnu_ht600to800", + id=6150, + xsecs={ + 13: Number(10.98, {"tot": 0.006997}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (600.0, 800.0), + }, +) + +w_lnu_ht800to1200 = w_lnu.add_process( + name="w_lnu_ht800to1200", + id=6160, + xsecs={ + 13: Number(4.927, {"tot": 0.003229}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (800.0, 1200.0), + }, +) + +w_lnu_ht1200to2500 = w_lnu.add_process( + name="w_lnu_ht1200to2500", + id=6170, + xsecs={ + 13: Number(1.157, {"tot": 0.0007663}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (1200.0, 2500.0), + }, +) + +# this ht bin needs the command: +# ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v2 -n 5000000 # noqa +w_lnu_ht2500toinf = w_lnu.add_process( + name="w_lnu_ht2500toinf", + id=6180, + xsecs={ + 13: Number(0.02624, {"tot": 0.00002981}) * w_lnu.get_xsec(13) / w_lnu_lo_13tev_xsec, + }, + aux={ + "ht": (2500.0, const.inf), + }, +) + +w_lnu_0j = w_lnu.add_process( + name="w_lnu_0j", + id=610000, + label=rf"{w_lnu.label[:-1]}, 0j)", + aux={ + "njets": (0, 1), + }, +) + +w_lnu_1j = w_lnu.add_process( + name="w_lnu_1j", + id=610010, + label=rf"{w_lnu.label[:-1]}, 1j)", + aux={ + "njets": (1, 2), + }, +) + +w_lnu_2j = w_lnu.add_process( + name="w_lnu_2j", + id=610020, + label=rf"{w_lnu.label[:-1]}, 2j)", + aux={ + "njets": (2, 3), + }, +) + +w_lnu_1j_pt0to40 = w_lnu_1j.add_process( + name="w_lnu_1j_pt0to40", + id=6100100, # FIXME: come up with better id + label=w_lnu_1j.label, + aux={ + "njets": (1, 2), + "ptll": (0.0, 40.0), + }, +) + +w_lnu_1j_pt40to100 = w_lnu_1j.add_process( + name="w_lnu_1j_pt40to100", + id=610011, + label=w_lnu_1j.label, + aux={ + "njets": (1, 2), + "ptll": (40.0, 100.0), + }, +) + +w_lnu_1j_pt100to200 = w_lnu_1j.add_process( + name="w_lnu_1j_pt100to200", + id=610012, + label=w_lnu_1j.label, + aux={ + "njets": (1, 2), + "ptll": (100.0, 200.0), + }, +) + +w_lnu_1j_pt200to400 = w_lnu_1j.add_process( + name="w_lnu_1j_pt200to400", + id=610013, + label=w_lnu_1j.label, + aux={ + "njets": (1, 2), + "ptll": (200.0, 400.0), + }, +) + +w_lnu_1j_pt400to600 = w_lnu_1j.add_process( + name="w_lnu_1j_pt400to600", + id=610014, + label=w_lnu_1j.label, + aux={ + "njets": (1, 2), + "ptll": (400.0, 600.0), + }, +) + +w_lnu_1j_pt600toinf = w_lnu_1j.add_process( + name="w_lnu_1j_pt600toinf", + id=610015, + label=w_lnu_1j.label, + aux={ + "njets": (1, 2), + "ptll": (600.0, const.inf), + }, +) + +w_lnu_2j_pt0to40 = w_lnu_2j.add_process( + name="w_lnu_2j_pt0to40", + id=6100200, # FIXME: come up with better id + label=w_lnu_2j.label, + aux={ + "njets": (2, 3), + "ptll": (0.0, 40.0), + }, +) + +w_lnu_2j_pt40to100 = w_lnu_2j.add_process( + name="w_lnu_2j_pt40to100", + id=610021, + label=w_lnu_2j.label, + aux={ + "njets": (2, 3), + "ptll": (40.0, 100.0), + }, +) + +w_lnu_2j_pt100to200 = w_lnu_2j.add_process( + name="w_lnu_2j_pt100to200", + id=610022, + label=w_lnu_2j.label, + aux={ + "njets": (2, 3), + "ptll": (100.0, 200.0), + }, +) + +w_lnu_2j_pt200to400 = w_lnu_2j.add_process( + name="w_lnu_2j_pt200to400", + id=610023, + label=w_lnu_2j.label, + aux={ + "njets": (2, 3), + "ptll": (200.0, 400.0), + }, +) + +w_lnu_2j_pt400to600 = w_lnu_2j.add_process( + name="w_lnu_2j_pt400to600", + id=610024, + label=w_lnu_2j.label, + aux={ + "njets": (2, 3), + "ptll": (400.0, 600.0), + }, +) + +w_lnu_2j_pt600toinf = w_lnu_2j.add_process( + name="w_lnu_2j_pt600toinf", + id=610025, + label=w_lnu_2j.label, + aux={ + "njets": (2, 3), + "ptll": (600.0, const.inf), + }, +) + +w_lnu_ge3j = w_lnu.add_process( + name="w_lnu_ge3j", + id=610026, + aux={ + "njets": (3, const.inf), + }, +) + +# dedicated vbf production (pp -> w + qq) +w_vbf = w.add_process( + name="w_vbf", + id=6300, + label=f"{w.label} (VBF)", +) + +w_vbf_wlnu = w_vbf.add_process( + name="w_vbf_wlnu", + id=6310, + label=r"W $\rightarrow l\nu$ (VBF)", + xsecs={ + # based on GenXSecAnalyzer + 13.6: Number(41.0400, {"tot": 0.1968}), + }, +) + +w_vbf.set_xsec(13.6, w_vbf_wlnu.get_xsec(13.6) / const.br_w.lep) + +# +# EWK radiations +# TODO: EWK is inaccurate, use dedicated z_vbf and w_vbf processes instead +# + +ewk = Process( + name="ewk", + id=7000, + label="EWK", + # TODO: Sum over the other? maybe with scaled w xsec to inclusive? +) + +# based on GenXSecAnalyzer +# for EWKWPlus2Jets_WToLNu_M-50_TuneCP5_withDipoleRecoil_13TeV-madgraph-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +ewk_wp_lnu_m50toinf = ewk.add_process( + name="ewk_wp_lnu_m50toinf", + id=7100, + xsecs={ + 13: Number(39.07, {"tot": 0.006454}), + }, +) + +# based on GenXSecAnalyzer +# for EWKWMinus2Jets_WToLNu_M-50_TuneCP5_withDipoleRecoil_13TeV-madgraph-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +ewk_wm_lnu_m50toinf = ewk.add_process( + name="ewk_wm_lnu_m50toinf", + id=7200, + xsecs={ + 13: Number(32.10, {"tot": 0.005308}), + }, +) + +# based on GenXSecAnalyzer +# for EWKZ2Jets_ZToLL_M-50_TuneCP5_withDipoleRecoil_13TeV-madgraph-pythia8 (Summer20UL16, LO) +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +ewk_z_ll_m50toinf = ewk.add_process( + name="ewk_z_ll_m50toinf", + id=7300, + xsecs={ + 13: Number(6.206, {"tot": 0.002081}), + }, +) + + +# +# Di-boson +# + +vv = Process( + name="vv", + id=8000, + label="Di-Boson", +) + +# ZZ 13 TeV xsec values at nNNLO from +zz = vv.add_process( + name="zz", + id=8100, + label="ZZ", + xsecs={ + # https://link.springer.com/article/10.1007/JHEP03(2019)070#preview, table 3, nNNLO + 13: Number(24.97, {"scale": (0.029j, 0.027j)}), + # no theory prediction found yet, so take accurate value at 13 TeV and scale by the ratio + # of XSDB values at https://xsdb-temp.app.cern.ch/xsdb/?columns=67108863¤tPage=0&pageSize=40&searchQuery=process_name%3D%5EZZ_TuneCP5_13.%2Bpythia8%24 # noqa + 13.6: Number(24.97, {"scale": (0.029j, 0.027j)}) * (12.75 / 12.14), + }, +) + +zz_zqq_zll = zz.add_process( + name="zz_zqq_zll", + id=8110, + xsecs=multiply_xsecs(zz, const.br_zz.llqq), +) + +zz_zll_znunu = zz.add_process( + name="zz_zll_znunu", + id=8120, + xsecs=multiply_xsecs(zz, const.br_zz.llnunu), +) + +zz_zll_zll = zz.add_process( + name="zz_zll_zll", + id=8130, + xsecs=multiply_xsecs(zz, const.br_zz.llll), +) + +zz_zqq_zqq = zz.add_process( + name="zz_zqq_zqq", + id=8140, + xsecs=multiply_xsecs(zz, const.br_zz.qqqq), +) + +zz_znunu_zqq = zz.add_process( + name="zz_znunu_zqq", + id=8150, + xsecs=multiply_xsecs(zz, const.br_zz.qqnunu), +) + +# WZ xsec values at NLO from https://arxiv.org/pdf/1105.0020.pdf v1 +wp_z_xsec = { + 13: Number(28.55, {"scale": (0.041j, 0.032j)}), +} + +wm_z_xsec = { + 13: Number(18.19, {"scale": (0.041j, 0.033j)}), +} + +# old value before update: +# https://cms.cern.ch/iCMS/jsp/db_notes/noteInfo.jsp?cmsnoteid=CMS%20AN-2019/197 (v3) Number(25.56) (LO) +wz = vv.add_process( + name="wz", + id=8200, + label="WZ", + xsecs={ + # as a remark, the W cross section calculation from + # https://twiki.cern.ch/twiki/bin/viewauth/CMS/StandardModelCrossSectionsat13TeV?rev=28 + # shows a permille difference in the values calculated directly and the ones added from w+ and w- + 13: wp_z_xsec[13] + wm_z_xsec[13], + # 13.6 from GenXSecAnalyzer: + 13.6: Number(29.17, { + "tot": 0.005941, # xsdb: Number(29.1, {"tot": 0.1318}), + }), + }, +) + +wz_wlnu_zll = wz.add_process( + name="wz_wlnu_zll", + id=8210, + xsecs=multiply_xsecs(zz, const.br_w.lep * const.br_z.clep), +) + +wz_wqq_zll = wz.add_process( + name="wz_wqq_zll", + id=8220, + xsecs=multiply_xsecs(zz, const.br_w.had * const.br_z.clep), +) + + +# no additional cut found in generator card in MCM: +# dataset: /WZTo1L1Nu2Q_4f_TuneCP5_13TeV-amcatnloFXFX-pythia8/RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v2/MINIAODSIM # noqa +# therefore, value obtained from branching ratio. +# Log for GenXSecAnalyzer of +# for WZTo1L1Nu2Q_4f_TuneCP5_13TeV-amcatnloFXFX-pythia8 (Summer20UL16, NLO) -> value : Number(9.159, {"tot": 0.008259}) +# also available, but not used here +wz_wlnu_zqq = wz.add_process( + name="wz_wlnu_zqq", + id=8230, + xsecs={ + 13: wz.get_xsec(13) * const.br_w.lep * const.br_z.qq, # value around 10.65 + }, +) + +# NNLO QCD from https://twiki.cern.ch/twiki/bin/view/CMS/StandardModelCrossSectionsat13TeV?rev=28 +# itself from https://arxiv.org/pdf/1408.5243.pdf v1 + +# old value before update: +# https://cms.cern.ch/iCMS/jsp/db_notes/noteInfo.jsp?cmsnoteid=CMS%20AN-2019/197 (v3) Number(75.91) (LO) +ww = vv.add_process( + name="ww", + id=8300, + label="WW", + xsecs={ + 13: Number(118.7, {"scale": (0.025j, 0.022j)}), + # 13.6 from GenXSecAnalyzer: + 13.6: Number(80.22, { + "tot": 0.01677, # xsdb: Number(80.23, {"tot": 0.3733}) + }), + }, +) + +# update vv cross section +for cme in [13]: + vv.set_xsec(cme, ww.get_xsec(cme) + wz.get_xsec(cme) + zz.get_xsec(cme)) + +# no additional cut found in generator card: +# https://raw.githubusercontent.com/cms-sw/genproductions/master/bin/Powheg/production/2017/13TeV/WWTo2L2Nu_NNPDF31nnlo_13TeV/WWTo2L2Nu_NNPDF31nnlo_13TeV.input # noqa +# therefore, value obtained from branching ratio. +# Log for GenXSecAnalyzer of +# WWTo2L2Nu_TuneCP5_13TeV-powheg-pythia8 (Summer20UL16, NLO) with Number(11.09, {"tot": 0.00704}) +# also available, but not used here +ww_dl = ww.add_process( + name="ww_dl", + id=8310, + xsecs={ + 13: ww.get_xsec(13) * const.br_ww.dl, # value around 12.6 for comparison to GenXSecAnalyzer NLO result + }, +) + +# no additional cut found in generator card in MCM: +# dataset: /WWTo1L1Nu2Q_4f_TuneCP5_13TeV-amcatnloFXFX-pythia8/RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v2/MINIAODSIM # noqa +# therefore, value obtained from branching ratio. +# Log for GenXSecAnalyzer of +# for WWTo1L1Nu2Q_4f_TuneCP5_13TeV-amcatnloFXFX-pythia8 (Summer20UL16, NLO) -> value : Number(50.94, {"tot": 0.042}) +# also available, but not used here +ww_sl = ww.add_process( + name="ww_sl", + id=8320, + xsecs={ + 13: ww.get_xsec(13) * const.br_ww.sl, # value around 50.06 for comparison to GenXSecAnalyzer NLO result + }, +) + +# no additional cut found in generator card in MCM: +# dataset: /WWTo4Q_4f_TuneCP5_13TeV-amcatnloFXFX-pythia8/RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v3/MINIAODSIM # noqa +# therefore, value obtained from branching ratio. +# Log for GenXSecAnalyzer of +# for WWTo4Q_4f_TuneCP5_13TeV-amcatnloFXFX-pythia8 (Summer20UL16, NLO) -> value : Number(51.53, {"tot": 0.04349}) +# also available, but not used here +ww_fh = ww.add_process( + name="ww_fh", + id=8330, + xsecs={ + 13: ww.get_xsec(13) * const.br_ww.fh, # value around 53.94 for comparison to GenXSecAnalyzer NLO result + }, +) + + +# +# Triple-boson +# + +vvv = Process( + name="vvv", + id=9000, + label="Triple-Boson", + # xsecs set below as sum over individual processes +) + +# based on GenXSecAnalyzer +# for ZZZ_TuneCP5_13TeV-amcatnlo-pythia8 (Summer20UL16, NLO) +# remark: calculated xsec has lower error for sample without ext-1 as not all events were used for calculation of ext-1 +# therefore the value for the sample without ext-1 is taken +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17-v1 -n 5000000 # noqa +zzz = vvv.add_process( + name="zzz", + id=9100, + xsecs={ + 13: Number(0.01476, {"tot": 2.347 * 10**(-6)}), + # 13.6 from GenXSecAnalyzer: + # similar values also found in http://cms.cern.ch/iCMS/jsp/openfile.jsp?tp=draft&files=AN2023_179_v6.pdf + # same value as xsdb obtained + 13.6: Number(0.01591, { + "tot": 0.000007828, + }), + }, +) + +# based on GenXSecAnalyzer +# for WZZ_TuneCP5_13TeV-amcatnlo-pythia8 (Summer20UL16, NLO, ext-1) +# remark: calculated xsec is the same for simple sample and ext-1 sample +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17_ext1-v1 -n 5000000 # noqa +wzz = vvv.add_process( + name="wzz", + id=9200, + xsecs={ + 13: Number(0.05709, {"tot": 6.213 * 10**(-5)}), + # 13.6 from GenXSecAnalyzer: + # similar values also found in http://cms.cern.ch/iCMS/jsp/openfile.jsp?tp=draft&files=AN2023_179_v6.pdf + # same value as xsdb obtained + 13.6: Number(0.06206, { + "tot": 0.00003689, + }), + }, +) + +# based on GenXSecAnalyzer +# for WWZ_4F_TuneCP5_13TeV-amcatnlo-pythia8 (Summer20UL16, NLO, ext-1) +# remark: calculated xsec is the same for simple sample and ext-1 sample +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17_ext1-v1 -n 5000000 # noqa +wwz = vvv.add_process( + name="wwz", + id=9300, + xsecs={ + 13: Number(0.1707, {"tot": 0.0001757}), + # 13.6 from GenXSecAnalyzer: + # similar values also found in http://cms.cern.ch/iCMS/jsp/openfile.jsp?tp=draft&files=AN2023_179_v6.pdf + # same value as xsdb obtained + 13.6: Number(0.1851, { + "tot": 0.00009482, + }), + }, +) + +# based on GenXSecAnalyzer +# for WWW_4F_TuneCP5_13TeV-amcatnlo-pythia8 (Summer20UL16, NLO, ext-1) +# remark: calculated xsec is the same for simple sample and ext-1 sample +# using command ./calculateXSectionAndFilterEfficiency.sh -f datasets.txt -c RunIISummer20UL16MiniAODv2-106X_mcRun2_asymptotic_v17_ext1-v1 -n 5000000 # noqa +www = vvv.add_process( + name="www", + id=9400, + xsecs={ + 13: Number(0.2158, {"tot": 0.0002479}), + # 13.6 from GenXSecAnalyzer: + # similar values also found in http://cms.cern.ch/iCMS/jsp/openfile.jsp?tp=draft&files=AN2023_179_v6.pdf + # same value as xsdb obtained + 13.6: Number(0.2328, { + "tot": 0.0001247, + }), + }, +) + +# update vvv cross section +for cme in [13]: + vvv.set_xsec(cme, www.get_xsec(cme) + wwz.get_xsec(cme) + wzz.get_xsec(cme) + zzz.get_xsec(cme)) + diff --git a/cmsdb/processes/higgs.py b/cmsdb/processes/higgs.py index bde16305..952f46f8 100644 --- a/cmsdb/processes/higgs.py +++ b/cmsdb/processes/higgs.py @@ -255,7 +255,7 @@ "tth_hzz4l", "tth_hzz2l2nu", "tth_hzz2l2q", "tth_hzz2q2nu", "tth_hzz4nu", "tth_hzz4q", "tth_hzg_zll", "tth_hzg_zqq", "tth_hzg_znunu", # TODO: the following processes are not yet implemented in full combination - "bbh", "ttvh", "ttzh", "ttwh", "thw", "thq", "thb", + "bbh","bbh_htt","ttvh", "ttzh", "ttwh", "thw", "thq", "thb", ] @@ -1445,6 +1445,21 @@ aux={"production_mode_parent": h}, ) +bbh_htt = add_decay_process(bbh, h_decay_map.htt) + +bbh_htt_xsecs = { + ecm: bbh_htt.get_xsec(ecm) + for ecm in bbh_htt.xsecs.keys() +} +for mass in signal_masses: + proc = bbh_htt.add_process( + name=f"bbh_htt_{mass}", + id=mass+1+10**8, + xsecs=bbh_htt_xsecs, + ) + # define a variable like bbh_htt_60, bbh_htt_65, … + setattr(this_module, f"bbh_htt_{mass}", proc) + ttvh = h.add_process( name="ttvh", id=110000,