forked from jet-universe/particle_transformer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
JetClass_full.yaml
95 lines (89 loc) · 2.94 KB
/
JetClass_full.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
selection:
### use `&`, `|`, `~` for logical operations on numpy arrays
### can use functions from `math`, `np` (numpy), and `awkward` in the expression
new_variables:
### [format] name: formula
### can use functions from `math`, `np` (numpy), and `awkward` in the expression
part_mask: ak.ones_like(part_energy)
part_pt: np.hypot(part_px, part_py)
part_pt_log: np.log(part_pt)
part_e_log: np.log(part_energy)
part_logptrel: np.log(part_pt/jet_pt)
part_logerel: np.log(part_energy/jet_energy)
part_deltaR: np.hypot(part_deta, part_dphi)
part_d0: np.tanh(part_d0val)
part_dz: np.tanh(part_dzval)
preprocess:
### method: [manual, auto] - whether to use manually specified parameters for variable standardization
method: manual
### data_fraction: fraction of events to use when calculating the mean/scale for the standardization
data_fraction: 0.5
inputs:
pf_points:
length: 128
pad_mode: wrap
vars:
- [part_deta, null]
- [part_dphi, null]
pf_features:
length: 128
pad_mode: wrap
vars:
### [format 1]: var_name (no transformation)
### [format 2]: [var_name,
### subtract_by(optional, default=None, no transf. if preprocess.method=manual, auto transf. if preprocess.method=auto),
### multiply_by(optional, default=1),
### clip_min(optional, default=-5),
### clip_max(optional, default=5),
### pad_value(optional, default=0)]
- [part_pt_log, 1.7, 0.7]
- [part_e_log, 2.0, 0.7]
- [part_logptrel, -4.7, 0.7]
- [part_logerel, -4.7, 0.7]
- [part_deltaR, 0.2, 4.0]
- [part_charge, null]
- [part_isChargedHadron, null]
- [part_isNeutralHadron, null]
- [part_isPhoton, null]
- [part_isElectron, null]
- [part_isMuon, null]
- [part_d0, null]
- [part_d0err, 0, 1, 0, 1]
- [part_dz, null]
- [part_dzerr, 0, 1, 0, 1]
- [part_deta, null]
- [part_dphi, null]
pf_vectors:
length: 128
pad_mode: wrap
vars:
- [part_px, null]
- [part_py, null]
- [part_pz, null]
- [part_energy, null]
pf_mask:
length: 128
pad_mode: constant
vars:
- [part_mask, null]
labels:
### type can be `simple`, `custom`
### [option 1] use `simple` for binary/multi-class classification, then `value` is a list of 0-1 labels
type: simple
value: [label_QCD, label_Hbb, label_Hcc, label_Hgg, label_H4q, label_Hqql, label_Zqq, label_Wqq, label_Tbqq, label_Tbl]
### [option 2] otherwise use `custom` to define the label, then `value` is a map
# type: custom
# value:
# truth_label: label.argmax(1)
observers:
- jet_pt
- jet_eta
- jet_phi
- jet_energy
- jet_nparticles
- jet_sdmass
- jet_tau1
- jet_tau2
- jet_tau3
- jet_tau4
weights: