Skip to content

Commit d1f28d8

Browse files
author
Luigi Dello Stritto
committed
Your commit message
1 parent 8f9a9d8 commit d1f28d8

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

machine_learning_hep/data/data_run3/database_ml_parameters_LcToPKPi_CrystalBall.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,23 +82,23 @@ LcpKpi:
8282
#extra:
8383
#fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated
8484
tags:
85-
isstd: {var: fFlagMcMatchRec, req: [[1], []], level: mc}
86-
ismcsignal: {var: fFlagMcMatchRec, req: [[1], []], abs: true, level: mc}
87-
ismcbkg: {var: fFlagMcMatchRec, req: [[], [1]], abs: true, level: mc}
88-
ismcprompt: {var: fOriginMcRec, req: [[0], []], level: mc}
89-
ismcfd: {var: fOriginMcRec, req: [[1], []], level: mc}
85+
isstd: {var: fFlagMcMatchRec, req: 17, level: mc}
86+
ismcsignal: {var: fFlagMcMatchRec, req: 17, abs: true, level: mc}
87+
ismcbkg: {var: ismcsignal, req: 0, level: mc}
88+
ismcprompt: {var: fOriginMcRec, req: 1, level: mc}
89+
ismcfd: {var: fOriginMcRec, req: 2, level: mc}
9090
swap: {cand: fCandidateSelFlag, var_swap: fIsCandidateSwapped, vars: [ismcsignal, ismcprompt, ismcfd], level: mc}
9191

9292
gen:
9393
level: mc
9494
trees:
9595
O2hflcpbase: [fIndexHFLCMCCOLLBASES, fPt, fY, fEta, fPhi, fFlagMcMatchGen, fOriginMcGen]
9696
tags:
97-
isstd: {var: fFlagMcMatchGen, req: [[1], []], level: mc}
98-
ismcsignal: {var: fFlagMcMatchGen, req: [[1], []], abs: true, level: mc}
99-
ismcbkg: {var: fFlagMcMatchGen, req: [[], [1]], abs: true, level: mc}
100-
ismcprompt: {var: fOriginMcGen, req: [[0], []], level: mc}
101-
ismcfd: {var: fOriginMcGen, req: [[1], []], level: mc}
97+
isstd: {var: fFlagMcMatchGen, req: 17, level: mc}
98+
ismcsignal: {var: fFlagMcMatchGen, req: 17, abs: true, level: mc}
99+
ismcbkg: {var: ismcsignal, req: 0, level: mc}
100+
ismcprompt: {var: fOriginMcGen, req: 1, level: mc}
101+
ismcfd: {var: fOriginMcGen, req: 2, level: mc}
102102
#extra:
103103
#fY: log((sqrt(2.28646**2 + (fPt * cosh(fEta))**2) + fPt * sinh(fEta)) / sqrt(2.28646**2 + fPt**2)) #TODO : change mass or make sure Lc mass is updated
104104

machine_learning_hep/processer.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import uproot
3333
from pandas.api.types import is_numeric_dtype
3434

35-
from .bitwise import tag_bit_df
3635
from .io import dump_yaml_from_dict
3736
from .logger import get_logger
3837
from .utilities import (
@@ -217,8 +216,8 @@ def __init__(
217216
# Potentially mask certain values (e.g. nsigma TOF of -999)
218217
self.p_mask_values = datap["ml"].get("mask_values", None)
219218

220-
self.bins_skimming = np.array(list(zip(self.lpt_anbinmin, self.lpt_anbinmax)), "d")
221-
self.bins_analysis = np.array(list(zip(self.lpt_finbinmin, self.lpt_finbinmax)), "d")
219+
self.bins_skimming = np.array(list(zip(self.lpt_anbinmin, self.lpt_anbinmax, strict=False)), "d")
220+
self.bins_analysis = np.array(list(zip(self.lpt_finbinmin, self.lpt_finbinmax, strict=False)), "d")
222221
bin_matching = [
223222
[ptrange[0] <= bin[0] and ptrange[1] >= bin[1] for ptrange in self.bins_skimming].index(True)
224223
for bin in self.bins_analysis
@@ -251,7 +250,7 @@ def __init__(
251250
for ipt in range(self.p_nptfinbins):
252251
mlsel_multi = [
253252
f"y_test_prob{self.p_modelname}{label.replace('-', '_')} {comp} {probcut}"
254-
for label, comp, probcut in zip(self.class_labels, comps, self.lpt_probcutfin[ipt])
253+
for label, comp, probcut in zip(self.class_labels, comps, self.lpt_probcutfin[ipt], strict=False)
255254
]
256255
self.l_selml.append(" and ".join(mlsel_multi))
257256

@@ -375,7 +374,7 @@ def dfread(rdir, trees, cols, idx_name=None):
375374
cols = [cols]
376375
# if all(type(var) is str for var in vars): vars = [vars]
377376
df = None
378-
for tree, col in zip([rdir[name] for name in trees], cols):
377+
for tree, col in zip([rdir[name] for name in trees], cols, strict=False):
379378
try:
380379
data = tree.arrays(expressions=col, library="np")
381380
dfnew = pd.DataFrame(columns=col, data=data)
@@ -396,7 +395,7 @@ def dfread(rdir, trees, cols, idx_name=None):
396395

397396
def dfappend(name: str, dfa):
398397
"""Append DF row-wise"""
399-
dfs[name] = pd.concat([dfs.get(name, None), dfa])
398+
dfs[name] = pd.concat([dfs.get(name), dfa])
400399

401400
def dfmerge(dfl, dfr, **kwargs):
402401
"""Merge dfl and dfr"""
@@ -437,7 +436,7 @@ def dfuse(df_spec):
437436
if dfuse(df_spec):
438437
trees = []
439438
cols = []
440-
for tree, spec in zip(df_spec["trees"].keys(), df_spec["trees"].values()):
439+
for tree, spec in zip(df_spec["trees"].keys(), df_spec["trees"].values(), strict=False):
441440
if isinstance(spec, list):
442441
trees.append(tree)
443442
cols.append(spec)
@@ -467,9 +466,15 @@ def dfuse(df_spec):
467466
self.logger.debug(" %s -> tags", df_name)
468467
for tag, value in df_spec["tags"].items():
469468
if dfuse(value):
470-
dfs[df_name][tag] = np.array(
471-
tag_bit_df(dfs[df_name], value["var"], value["req"], value.get("abs", False)), dtype=int
472-
)
469+
var = dfs[df_name][value["var"]]
470+
471+
if value.get("abs", False):
472+
var = var.abs()
473+
474+
dfs[df_name][tag] = (var == value["req"]).astype(int)
475+
476+
# dfs[df_name][tag] = np.array(
477+
# tag_bit_df(dfs[df_name], value["var"], value["req"], value.get("abs", False)), dtype=int)
473478

474479
if "swap" in df_spec:
475480
self.logger.debug(" %s -> swap", df_name)

0 commit comments

Comments
 (0)