def __init__(self, year): self.year = year if self.year == 2016: pass elif self.year == 2017: pass elif self.year == 2018: SF_file = os.path.expandvars( '$TWHOME/data/btag/DeepJet_102XSF_V2.csv') self.btag_sf = BTagScaleFactor(SF_file, "medium", keep_df=False) # and load the efficiencies self.effs = { 'b': Hist1D.from_json( os.path.expandvars( "$TWHOME/data/btag/Autumn18_b_eff_deepJet.json")), 'c': Hist1D.from_json( os.path.expandvars( "$TWHOME/data/btag/Autumn18_c_eff_deepJet.json")), 'light': Hist1D.from_json( os.path.expandvars( "$TWHOME/data/btag/Autumn18_light_eff_deepJet.json")), }
def test_json(): h1 = Hist1D([0.5], bins=np.arange(1000), label="foo") h2 = Hist1D.from_json(h1.to_json()) assert h1 == h2 assert h1.metadata == h2.metadata h1.to_json(".tmphist1d.json") h2 = Hist1D.from_json(".tmphist1d.json") assert h1 == h2 assert h1.metadata == h2.metadata h1.to_json(".tmphist1d.json.gz") h2 = Hist1D.from_json(".tmphist1d.json.gz") assert h1 == h2 assert h1.metadata == h2.metadata assert os.path.getsize(".tmphist1d.json.gz") < os.path.getsize( ".tmphist1d.json")
set_default_style() # bins = "250,0,750" # fname = "/nfs-7/userdata/namin/tupler_babies/merged/FT/v3.31/output/year_2018/T1TTTT.root" # t = uproot.open(fname)["t"] # mtmin, hypclass = t["mtmin"].array(), t["hyp_class"].array() # mtmin = mtmin[hypclass==3] # Hist1D(mtmin, bins=bins).to_json("hist_mtmin_signal.json") # fname = "/nfs-7/userdata/namin/tupler_babies/merged/FT/v3.31/output/year_2018/TTBAR_PH.root" # t = uproot.open(fname)["t"] # mtmin, hypclass = t["mtmin"].array(), t["hyp_class"].array() # mtmin = mtmin[hypclass==3] # Hist1D(mtmin, bins=bins).to_json("hist_mtmin_ttbar.json") h_signal = Hist1D.from_json("hist_mtmin_signal.json") h_ttbar = Hist1D.from_json("hist_mtmin_ttbar.json") h_signal = h_signal.normalize() h_ttbar = h_ttbar.normalize() fig, ax = plt.subplots() h_signal.plot(histtype="step", label="signal (T1tttt)", color="C3", gradient=True) h_ttbar.plot(histtype="step", label=r"background ($t\bar{t}$ + jets)", color="C0", gradient=True)
def __init__(self, year, UL=True): self.weight = {} if UL: if year == 2016: pass elif year == 2017: pass elif year == 2018: mc = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer20UL18_mc.json')) data = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer20UL18_data.json')) data_up = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer20UL18_data_up.json')) data_down = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer20UL18_data_down.json')) else: if year == 2016: mc = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer16_mc.json')) data = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer16_data.json')) data_up = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer16_data_up.json')) data_down = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Summer16_data_down.json')) elif year == 2017: mc = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Fall17_mc.json')) data = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Fall17_data.json')) data_up = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Fall17_data_up.json')) data_down = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Fall17_data_down.json')) elif year == 2018: mc = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Autumn18_mc.json')) data = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Autumn18_data.json')) data_up = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Autumn18_data_up.json')) data_down = Hist1D.from_json(os.path.expandvars('$TWHOME/data/PU/Autumn18_data_down.json')) self.weight['central'] = data.divide(mc) self.weight['up'] = data_up.divide(mc) self.weight['down'] = data_down.divide(mc)