This repository has been archived by the owner on Dec 15, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 53
/
ak15_points_pf_sv.yaml
116 lines (109 loc) · 3.91 KB
/
ak15_points_pf_sv.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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
selection:
### use `&`, `|`, `~` for logical operations on numpy arrays
### can use functions from `math`, `np` (numpy), and `awkward` in the expression
(jet_tightId==1) & (jet_no<2) & (fj_sdmass_fromsubjets>=30) & (fj_sdmass_fromsubjets<260) & (fj_pt>170) & (fj_pt<1200) & (((sample_isQCD==0) & (fj_isQCD==0)) | ((sample_isQCD==1) & (fj_isQCD==1)))
new_variables:
### [format] name: formula
### can use functions from `math`, `np` (numpy), and `awkward` in the expression
pfcand_mask: awkward.JaggedArray.ones_like(pfcand_etarel)
sv_mask: awkward.JaggedArray.ones_like(sv_etarel)
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:
inputs:
pf_points:
length: 100
vars:
- pfcand_etarel
- pfcand_phirel
pf_features:
length: 100
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)]
- [pfcand_pt_log_nopuppi, 0.6, 0.6]
- [pfcand_e_log_nopuppi, 1, 0.6]
- pfcand_etarel
- pfcand_phirel
- [pfcand_abseta, 0.7, 1.4]
- pfcand_charge
- [pfcand_VTX_ass, 4, 0.3]
- pfcand_lostInnerHits
- [pfcand_normchi2, 5, 0.2]
- [pfcand_quality, 0, 0.2]
- [pfcand_dz, 0, 170]
- [pfcand_dzsig, 0, 1.2]
- [pfcand_dxy, 0.0, 250]
- [pfcand_dxysig, 0, 1.6]
- [pfcand_btagEtaRel, 2, 0.4]
- [pfcand_btagPtRatio, 0, 1]
- [pfcand_btagPParRatio, 0, 1]
- [pfcand_btagSip3dVal, 0, 230]
- [pfcand_btagSip3dSig, 0, 1]
- [pfcand_btagJetDistVal, 0, 145]
pf_mask:
length: 100
vars:
- pfcand_mask
sv_points:
length: 10
vars:
- sv_etarel
- sv_phirel
sv_features:
length: 10
vars:
- [sv_pt_log, 3, 0.6]
- [sv_mass, 3, 0.3]
- sv_etarel
- sv_phirel
- [sv_abseta, 0.7, 1.4]
- [sv_ntracks, 3, 1]
- [sv_normchi2, 1, 0.5]
- [sv_dxy, 0.25, 0.4]
- [sv_dxysig, 6.7, 0.03]
- [sv_d3d, 0.4, 0.3]
- [sv_d3dsig, 6.7, 0.03]
sv_mask:
length: 10
vars:
- sv_mask
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_H_bb, label_H_cc, label_H_qq,
label_QCD_bb, label_QCD_cc, label_QCD_b, label_QCD_c, label_QCD_others,
]
### [option 2] otherwise use `custom` to define the label, then `value` is a map
# type: custom
# value:
# target_mass: np.where(fj_isQCD, fj_genjet_sdmass, fj_gen_mass)
observers:
- event_no
- fj_pt
- fj_eta
- fj_phi
- fj_sdmass_fromsubjets
- npfcands
weights:
### [option 1] use precomputed weights stored in the input files
# use_precomputed_weights: true
# weight_branches: [weight, class_weight]
### [option 2] compute weights on-the-fly using reweighting histograms
use_precomputed_weights: false
reweight_method: flat
reweight_vars:
fj_pt: [170, 203, 242, 289, 346, 413, 493, 589, 704, 841, 1004, 1200]
fj_sdmass_fromsubjets: [30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260]
reweight_classes: [fj_isQCD, label_H_bb, label_H_cc, label_H_qq]
class_weights: [1, 1, 1, 1]
reweight_hists: