legend-dataflow-scripts 0.1.3__py3-none-any.whl → 0.1.4__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: legend-dataflow-scripts
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Python package for the processing scripts for LEGEND-200 data
5
5
  Author-email: George Marshall <ggmarsh@uw.edu>, Luigi Pertoldi <gipert@pm.me>
6
6
  Maintainer: The LEGEND Collaboration
@@ -1,5 +1,5 @@
1
1
  legenddataflowscripts/__init__.py,sha256=hlpvTxSBjOyXlZUyOyYx3VwT5LS6zNzhAZnTmfT3NjU,303
2
- legenddataflowscripts/_version.py,sha256=NIzzV8ZM0W-CSLuEs1weG4zPrn_-8yr1AwwI1iuS6yo,511
2
+ legenddataflowscripts/_version.py,sha256=hcPkC9vIGgfrKK6ft7ysLT7iOCjpFmCBmyKLmXiaZ1g,511
3
3
  legenddataflowscripts/par/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  legenddataflowscripts/par/geds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  legenddataflowscripts/par/geds/dsp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -14,7 +14,7 @@ legenddataflowscripts/par/geds/hit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
14
14
  legenddataflowscripts/par/geds/hit/aoe.py,sha256=4sXRz6UaPD7phihAO3_C42l7fJT8UrhhOZswzO8rAqw,11387
15
15
  legenddataflowscripts/par/geds/hit/ecal.py,sha256=tsIL9FP-aXgM2B1K8ygjcsLeNZ9Yv7je84fT-K7m3vQ,26194
16
16
  legenddataflowscripts/par/geds/hit/lq.py,sha256=td0qVvVRwYbhiA-IhAZYLgTdW6xpTeeE3mrSoWeLw2U,11307
17
- legenddataflowscripts/par/geds/hit/qc.py,sha256=6PpA6aVjd9Gysfz_up7cuWw-ftwDA8F8gNKBcPPq4lc,12409
17
+ legenddataflowscripts/par/geds/hit/qc.py,sha256=16RWhybvnODv4dUuSkO6EDtPvJJJmeFwFaPTgS9N7cs,12746
18
18
  legenddataflowscripts/tier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  legenddataflowscripts/tier/dsp.py,sha256=J_ABEqbQurZHJOg8LV2aporNjZQpPg2bDZG6DkmuAL4,8633
20
20
  legenddataflowscripts/tier/hit.py,sha256=-LCfsqYAYPAuN2OKbPuh4G2P5B4uA4YmQGcqUtbZxis,4989
@@ -25,13 +25,13 @@ legenddataflowscripts/utils/convert_np.py,sha256=8q_K3w3jAREG-9CJlErP3Vca0OYTYAY
25
25
  legenddataflowscripts/utils/log.py,sha256=5v8J7PZJHHoSy12w9e9DkYmqdPvYXj6YfVaMbhvX614,2230
26
26
  legenddataflowscripts/utils/plot_dict.py,sha256=-wfJC5U9OTE1Asazz64kT5Ta008w6UJmDSsr3YAubRM,449
27
27
  legenddataflowscripts/utils/pulser_removal.py,sha256=kuARdp1jf-lsUWcb0_KRDp-ZXzkHNrDCXUc3h7TJm7Q,424
28
- legenddataflowscripts/workflow/__init__.py,sha256=p-57OklNpVYqwMaLctLO8zMvhpXaTILkd3j4CaS_Juk,394
28
+ legenddataflowscripts/workflow/__init__.py,sha256=JhudKYhBT8bXtX4LCqxQCHzUiITpugAtFxePWEtphC4,474
29
29
  legenddataflowscripts/workflow/execenv.py,sha256=O6Z6EH6Yp0JXnwX2wTzduHC9Q9gu-_d1RuuE2pQ5caE,9061
30
30
  legenddataflowscripts/workflow/filedb.py,sha256=rbvOcXUxLbHz177QuDIDAL3aysz-bZDjHOiMsRHssZo,3434
31
31
  legenddataflowscripts/workflow/pre_compile_catalog.py,sha256=cEK0KXh-ClSE2Bo9MK471o79XG22bMY5r-2tIihtCfk,790
32
32
  legenddataflowscripts/workflow/utils.py,sha256=eKE8KIG2ffynZt9fTbI1SVQV85i3aW9GFGh1Nio1iDo,3118
33
- legend_dataflow_scripts-0.1.3.dist-info/METADATA,sha256=ajopD8KYE0gSC2mRkgv3Dc4SCkb5MFc8vhRMLh9WH9A,3122
34
- legend_dataflow_scripts-0.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
35
- legend_dataflow_scripts-0.1.3.dist-info/entry_points.txt,sha256=B197waSm-orA_ZS-9rkxNDsmOHdCn8CbWodnlqXQKRg,1313
36
- legend_dataflow_scripts-0.1.3.dist-info/top_level.txt,sha256=s8E2chjJNYUbrN6whFG_VCsJKySFp1IOXLcUefA7DB0,22
37
- legend_dataflow_scripts-0.1.3.dist-info/RECORD,,
33
+ legend_dataflow_scripts-0.1.4.dist-info/METADATA,sha256=kCV4uTOiqJBCGvMteN0O5b0YGwLCMrZR8DF3LytqCF4,3122
34
+ legend_dataflow_scripts-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
35
+ legend_dataflow_scripts-0.1.4.dist-info/entry_points.txt,sha256=B197waSm-orA_ZS-9rkxNDsmOHdCn8CbWodnlqXQKRg,1313
36
+ legend_dataflow_scripts-0.1.4.dist-info/top_level.txt,sha256=s8E2chjJNYUbrN6whFG_VCsJKySFp1IOXLcUefA7DB0,22
37
+ legend_dataflow_scripts-0.1.4.dist-info/RECORD,,
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.1.3'
21
- __version_tuple__ = version_tuple = (0, 1, 3)
20
+ __version__ = version = '0.1.4'
21
+ __version_tuple__ = version_tuple = (0, 1, 4)
@@ -129,6 +129,7 @@ def build_qc(
129
129
  else:
130
130
  hit_dict_fft = {}
131
131
  plot_dict_fft = {}
132
+ fft_data = None
132
133
 
133
134
  if overwrite is not None:
134
135
  for name in kwarg_dict_fft["cut_parameters"]:
@@ -234,7 +235,7 @@ def build_qc(
234
235
  exp = info["expression"]
235
236
  for key in info.get("parameters", None):
236
237
  exp = re.sub(f"(?<![a-zA-Z0-9]){key}(?![a-zA-Z0-9])", f"@{key}", exp)
237
- if outname not in fft_data:
238
+ if fft_data is not None and outname not in fft_data:
238
239
  fft_data[outname] = fft_data.eval(
239
240
  exp, local_dict=info.get("parameters", None)
240
241
  )
@@ -251,24 +252,34 @@ def build_qc(
251
252
  ((sf_cal) * (1 - sf_cal))
252
253
  / len(data.query("~is_pulser & ~is_recovering"))
253
254
  )
254
- sf_fft = len(fft_data.query(f"{entry} & ~is_recovering")) / len(
255
- fft_data.query("~is_recovering")
256
- )
257
- sf_fft_err = 100 * np.sqrt(
258
- ((sf_fft) * (1 - sf_fft)) / len(fft_data.query("~is_recovering"))
259
- )
260
255
  sf_cal *= 100
261
- sf_fft *= 100
262
-
263
- msg = f"{entry} cut applied: {sf_cal:.2f}% of events passed the cut for cal data, {sf_fft:.2f}% for fft data"
256
+ msg = f"{entry} cut applied: {sf_cal:.2f}% of events passed the cut for cal data"
264
257
  log.info(msg)
258
+
265
259
  qc_results[entry] = {
266
260
  "sf_cal": sf_cal,
267
261
  "sf_cal_err": sf_cal_err,
268
- "sf_fft": sf_fft,
269
- "sf_fft_err": sf_fft_err,
270
262
  }
271
263
 
264
+ if fft_data is not None:
265
+ sf_fft = len(fft_data.query(f"{entry} & ~is_recovering")) / len(
266
+ fft_data.query("~is_recovering")
267
+ )
268
+ sf_fft_err = 100 * np.sqrt(
269
+ ((sf_fft) * (1 - sf_fft)) / len(fft_data.query("~is_recovering"))
270
+ )
271
+ sf_fft *= 100
272
+ msg = f"{entry} cut applied: {sf_fft:.2f}% of events passed the cut for fft data"
273
+
274
+ log.info(msg)
275
+
276
+ qc_results[entry].update(
277
+ {
278
+ "sf_fft": sf_fft,
279
+ "sf_fft_err": sf_fft_err,
280
+ }
281
+ )
282
+
272
283
  out_dict = convert_dict_np_to_float(
273
284
  {"operations": hit_dict, "results": {"qc": qc_results}}
274
285
  )
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from .execenv import execenv_prefix, execenv_pyexe
4
+ from .pre_compile_catalog import pre_compile_catalog
4
5
  from .utils import (
5
6
  as_ro,
6
7
  set_last_rule_name,
@@ -13,6 +14,7 @@ __all__ = [
13
14
  "as_ro",
14
15
  "execenv_prefix",
15
16
  "execenv_pyexe",
17
+ "pre_compile_catalog",
16
18
  "set_last_rule_name",
17
19
  "subst_vars",
18
20
  "subst_vars_impl",