atlas-ftag-tools 0.2.0__py3-none-any.whl → 0.2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {atlas_ftag_tools-0.2.0.dist-info → atlas_ftag_tools-0.2.1.dist-info}/METADATA +1 -1
- {atlas_ftag_tools-0.2.0.dist-info → atlas_ftag_tools-0.2.1.dist-info}/RECORD +8 -8
- {atlas_ftag_tools-0.2.0.dist-info → atlas_ftag_tools-0.2.1.dist-info}/WHEEL +1 -1
- ftag/__init__.py +1 -1
- ftag/flavours.yaml +60 -13
- ftag/wps/discriminant.py +6 -0
- {atlas_ftag_tools-0.2.0.dist-info → atlas_ftag_tools-0.2.1.dist-info}/entry_points.txt +0 -0
- {atlas_ftag_tools-0.2.0.dist-info → atlas_ftag_tools-0.2.1.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
|
|
1
|
-
ftag/__init__.py,sha256=
|
1
|
+
ftag/__init__.py,sha256=aCC6idmHdlETdgAFN4PeESN67WpeVqo85Nledw9VkH4,629
|
2
2
|
ftag/cli_utils.py,sha256=w3TtQmUHSyAKChS3ewvOtcSDAUJAZGIIomaNi8f446U,298
|
3
3
|
ftag/cuts.py,sha256=a0BJj4cVRunc-hFLPloGvNoSFvRmZg2kVLv7sA0iAaI,2817
|
4
4
|
ftag/flavour.py,sha256=qvgp4DarOdcQgjae_NWnd81k_YqdmFY74lOKky2lpb8,3568
|
5
|
-
ftag/flavours.yaml,sha256=
|
5
|
+
ftag/flavours.yaml,sha256=h0A2cw-je1oCe-rh5qhuL1BhDNhu2aLkf7W9y-Cpy3g,6959
|
6
6
|
ftag/git_check.py,sha256=Y-XqM80CVXZ5ZKrDdZcYOJt3X64uU6W3OP6Z0D7AZU0,1663
|
7
7
|
ftag/mock.py,sha256=9V6sAT4_t-rhR67q9KHaj1NKAeqU7lQjWxiOxEzk8Sw,4338
|
8
8
|
ftag/region.py,sha256=ANv0dGI2W6NJqD9fp7EfqAUReH4FOjc1gwl_Qn8llcM,360
|
@@ -17,10 +17,10 @@ ftag/hdf5/h5split.py,sha256=4Wy6Xc3J58MdD9aBaSZHf5ZcVFnJSkWsm42R5Pgo-R4,2448
|
|
17
17
|
ftag/hdf5/h5utils.py,sha256=-4zKTMtNCrDZr_9Ww7uzfsB7M7muBKpmm_1IkKJnHOI,3222
|
18
18
|
ftag/hdf5/h5writer.py,sha256=wVyurIgfSBtvZTX-v0v3R5-8JOwWK_yF1rUX-RewXzY,4826
|
19
19
|
ftag/wps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
|
-
ftag/wps/discriminant.py,sha256=
|
20
|
+
ftag/wps/discriminant.py,sha256=c2-bal124yY1rZjK87iQHb9RRo4pus6SVue6SfMKrRY,3749
|
21
21
|
ftag/wps/working_points.py,sha256=VTU6OD40ULAJQD0MlD1EZd33q8ociUvFX1YrhgJFvXc,9722
|
22
|
-
atlas_ftag_tools-0.2.
|
23
|
-
atlas_ftag_tools-0.2.
|
24
|
-
atlas_ftag_tools-0.2.
|
25
|
-
atlas_ftag_tools-0.2.
|
26
|
-
atlas_ftag_tools-0.2.
|
22
|
+
atlas_ftag_tools-0.2.1.dist-info/METADATA,sha256=KpKapru-RWOoq01J5sm04jE2brwpoPxDGVPTZoppl8c,5168
|
23
|
+
atlas_ftag_tools-0.2.1.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
|
24
|
+
atlas_ftag_tools-0.2.1.dist-info/entry_points.txt,sha256=LfVLsZHQolqbPnwPgtmc5IQTh527BKkN2v-IpXWTNHw,137
|
25
|
+
atlas_ftag_tools-0.2.1.dist-info/top_level.txt,sha256=qiYQuKcAvMim-31FwkT3MTQu7WQm0s58tPAia5KKWqs,5
|
26
|
+
atlas_ftag_tools-0.2.1.dist-info/RECORD,,
|
ftag/__init__.py
CHANGED
ftag/flavours.yaml
CHANGED
@@ -140,37 +140,84 @@
|
|
140
140
|
colour: "#e76f51"
|
141
141
|
category: lepton-decay
|
142
142
|
|
143
|
+
# PDGID labelling: taken from https://pdg.lbl.gov/2023/reviews/rpp2023-rev-monte-carlo-numbering.pdf
|
144
|
+
- name: D0meson
|
145
|
+
label: $D^0$ in $c$-jet
|
146
|
+
cuts: ["HadronConeExclTruthLabelID == 4", "HadronConeExclTruthLabelPdgId in (421,-421)"]
|
147
|
+
colour: "#FFA500"
|
148
|
+
category: PDGID
|
149
|
+
- name: nonD0meson
|
150
|
+
label: $D^+$, $Ds^+$ or baryon in $c$-jet
|
151
|
+
cuts: ["HadronConeExclTruthLabelID == 4", "HadronConeExclTruthLabelPdgId notin (421,-421)"]
|
152
|
+
colour: "#800080"
|
153
|
+
category: PDGID
|
154
|
+
- name: Dplusmeson
|
155
|
+
label: $D^+$ in $c$-jet
|
156
|
+
cuts: ["HadronConeExclTruthLabelID == 4", "HadronConeExclTruthLabelPdgId in (411,-411)"]
|
157
|
+
colour: "#00FFFF"
|
158
|
+
category: PDGID
|
159
|
+
- name: Dsplusmeson
|
160
|
+
label: $Ds^+$ in $c$-jet
|
161
|
+
cuts: ["HadronConeExclTruthLabelID == 4", "HadronConeExclTruthLabelPdgId in (431,-431)"]
|
162
|
+
colour: "#781DC8"
|
163
|
+
category: PDGID
|
164
|
+
- name: B0meson
|
165
|
+
label: $B^0$ in $b$-jet
|
166
|
+
cuts: ["HadronConeExclTruthLabelID == 5", "HadronConeExclTruthLabelPdgId in (511,-511)"]
|
167
|
+
colour: "#702B1C"
|
168
|
+
category: PDGID
|
169
|
+
- name: Bplusmeson
|
170
|
+
label: $B^0$ in $b$-jet
|
171
|
+
cuts: ["HadronConeExclTruthLabelID == 5", "HadronConeExclTruthLabelPdgId in (521,-521)"]
|
172
|
+
colour: "#C81D4A"
|
173
|
+
category: PDGID
|
174
|
+
- name: Bs0meson
|
175
|
+
label: $Bs^0$ in $b$-jet
|
176
|
+
cuts: ["HadronConeExclTruthLabelID == 5", "HadronConeExclTruthLabelPdgId in (531,-531)"]
|
177
|
+
colour: "#1D62C8"
|
178
|
+
category: PDGID
|
179
|
+
|
143
180
|
# lepton isolation
|
144
181
|
## taken from https://gitlab.cern.ch/atlas/athena/-/blob/main/PhysicsAnalysis/AnalysisCommon/TruthClassification/README.md#4-details-about-the-lepton-categories
|
145
182
|
- name: elxprompt
|
146
183
|
label: prompt electrons
|
147
|
-
cuts: ["iffClass
|
184
|
+
cuts: ["iffClass in (2,3)"]
|
148
185
|
colour: tab:red
|
149
186
|
category: isolation
|
187
|
+
- name: elxnoflip
|
188
|
+
label: prompt electrons with no charge-flip
|
189
|
+
cuts: ["iffClass == 2"]
|
190
|
+
colour: darkorange
|
191
|
+
category: isolation
|
150
192
|
- name: elxflip
|
151
193
|
label: prompt electrons with charge-flip
|
152
194
|
cuts: ["iffClass == 3"]
|
153
195
|
colour: tab:orange
|
154
196
|
category: isolation
|
197
|
+
- name: elxphconv
|
198
|
+
label: electrons from prompt photon-conversions
|
199
|
+
cuts: ["iffClass == 5"]
|
200
|
+
colour: tab:purple
|
201
|
+
category: isolation
|
202
|
+
- name: elxnonprompt
|
203
|
+
label: non-prompt electrons
|
204
|
+
cuts: ["iffClass notin (2,3,5)"]
|
205
|
+
colour: "#264653"
|
206
|
+
category: isolation
|
155
207
|
- name: muxprompt
|
156
208
|
label: prompt muons
|
157
|
-
cuts: ["iffClass
|
209
|
+
cuts: ["iffClass in (4,11)"]
|
158
210
|
colour: tab:blue
|
159
211
|
category: isolation
|
212
|
+
- name: muxnoflip
|
213
|
+
label: prompt muons with no charge-flip
|
214
|
+
cuts: ["iffClass == 4"]
|
215
|
+
colour: aqua
|
216
|
+
category: isolation
|
160
217
|
- name: muxflip
|
161
218
|
label: prompt muons with charge-flip
|
162
219
|
cuts: ["iffClass == 11"]
|
163
|
-
colour:
|
164
|
-
category: isolation
|
165
|
-
- name: elxphconv
|
166
|
-
label: electrons from prompt photon-conversions
|
167
|
-
cuts: ["iffClass == 5"]
|
168
|
-
colour: tab:purple
|
169
|
-
category: isolation
|
170
|
-
- name: elxfrommu
|
171
|
-
label: electrons from muons
|
172
|
-
cuts: ["iffClass == 6"]
|
173
|
-
colour: salmon
|
220
|
+
colour: midnightblue
|
174
221
|
category: isolation
|
175
222
|
- name: npxall
|
176
223
|
label: non-prompt lepton
|
ftag/wps/discriminant.py
CHANGED
@@ -53,6 +53,11 @@ def discriminant(
|
|
53
53
|
return np.log((jets[f"{tagger}_{signal.px}"] + epsilon) / (denominator + epsilon))
|
54
54
|
|
55
55
|
|
56
|
+
def tautag_dicriminant(jets, tagger, fb, fc, epsilon=1e-10):
|
57
|
+
fxs = {"pb": fb, "pc": fc, "pu": 1 - fb - fc}
|
58
|
+
return discriminant(jets, tagger, Flavours.taujets, fxs, epsilon=epsilon)
|
59
|
+
|
60
|
+
|
56
61
|
def btag_discriminant(jets, tagger, fc, ftau=0, epsilon=1e-10):
|
57
62
|
fxs = {"pc": fc, "ptau": ftau, "pu": 1 - fc - ftau}
|
58
63
|
return discriminant(jets, tagger, Flavours.bjets, fxs, epsilon=epsilon)
|
@@ -99,6 +104,7 @@ def get_discriminant(
|
|
99
104
|
tagger_funcs: dict[str, Callable] = {
|
100
105
|
"bjets": btag_discriminant,
|
101
106
|
"cjets": ctag_discriminant,
|
107
|
+
"taujets": tautag_dicriminant,
|
102
108
|
"hbb": hbb_discriminant,
|
103
109
|
"hcc": hcc_discriminant,
|
104
110
|
}
|
File without changes
|
File without changes
|