Releases: JeffersonLab/clas12-qadb
v3.4.0
⭐ Primary Changes ⭐
🟢 Run Group A Spring 18 Outbending QADB is Now Available
Many thanks to Bhawani Singh (@sbhawani) for assistance and cross checking! Thanks also to @raffaelladevita and @baltzell for debugging issues with the scalers!
Pull Request: feat: QADB for RG-A Spring 2018 by @c-dilks in #93
🟢 Run Group A, datasets Fall 18 and Spring 19, now have Helicity Latched Charge
The helicity latched charge is available for these data.
Pull Request: feat: populate RG-A helicity-latched charge by @c-dilks in #88
🏗️ Other Changes 🏗️
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #87
- doc: add issue note for data lacking helicity-latched charge by @c-dilks in #90
- build(deps): bump wtfjoke/setup-groovy from 2 to 3 by @dependabot[bot] in #91
- build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #94
New Contributors
- @sbhawani made their first contribution in #93
- @dependabot[bot] made their first contribution in #87
Full Changelog: v3.3.0...v3.4.0
v3.3.0
⭐ Primary Changes ⭐
🟢 Run Group C Fall 22 and Spring 23 QADBs are Now Available
All RG-C Pass 1 datasets are now available in the QADB, since this release adds Fall 22 and Spring 23. Many thanks to Derek Holmberg (@deholmberg) for assistance and cross checking.
Note: Derek plans to do some additional cross checking for the Summer 22 dataset, so the QADB for those data may change in the next QADB release.
Pull Requests:
- feat: QADB for RG-C fa22 and sp23 by @c-dilks in #77
- fix: RG-C Fa22 and Sp23 cross check with Derek's spreadsheets by @c-dilks in #86
🟢 Helicity-Latched charge is Now Accessible in C++ API
We've had access in the Java API, and with this release we now also have access in the C++ API. See the main README for usage examples.
Note
Not all datasets have helicity-latched charge written in the QADB; we can add it, just ask us. We have already been requested to do this for RG-A Fall 18 and Spring 19, and plan to have this done in the next QADB release.
Pull Requests:
- Added the helicity latched charge information to srcC by @jwgibbs in #83
- doc: add notes about helicity-latched charge by @c-dilks in #85
🟢 Documentation Updates
- More information is added to the dataset tables, including known issues present in older datasets. See the main README
- The dataset tables are also now collapsed; you may click them to expand them
- Example analysis code has also been added to the main README
- Demonstrates tersely how to use the QADB filter
- Demonstrates how to access the Faraday Cup charge (DAQ-gated and helicity-latched)
- The
qaTree.json.tablefiles have a new look, which is more convenient for QADB maintainers; see the main README for how to read this file
Pull Requests:
- doc: add more information to dataset tables by @c-dilks in #79
- doc: collapse run group tables by @c-dilks in #82
- doc: add simple example code by @c-dilks in #80
- style: improve human-readable table files by @c-dilks in #81
🏗️ Other Changes 🏗️
- fix(doc): RG-C run ranges by @c-dilks in #76
- doc: clarify usage of
--datasetsinqadb-infoby @c-dilks in #78 - fix: QADB code comments should say 'QA bin', not 'DST file' by @c-dilks in #84
Full Changelog: v3.2.0...v3.3.0
v3.2.0
⭐ Primary Changes ⭐
🟢 Run Group B Pass 2 QADB is Now Available
All RG-B Pass 2 datasets are now available in the QADB. Many thanks to Derek Holmberg (@deholmberg) for assistance and cross checking.
Pull Request: feat: QADB for RG-B Pass2 by @c-dilks in #61
🟢 Helicity Correction Function
We now have a helicity correction function, QADB::CorrectHelicitySign, which may be used to get the correct helicity sign.
This function allows users to correct the helicity sign from the data, based on QA analysis of the semi-inclusive
'true helicity' = 'helicity from cooked data' * CorrectHelicitySign(run_number, event_number)
This CorrectHelicitySign function returns:
-
$+1$ if the helicity sign is correct (pion beam spin asymmetry sign is correct) -
$-1$ if the helicity sign is not correct (pion beam spin asymmetry sign is not correct, i.e., the QA bin has theBSAWrongdefect bit) -
$0$ if unknown (i.e., the QA bin has theBSAUnknowndefect bit, usually because the run did not have enough statistics for a significant asymmetry)
Important
This is especially relevant for Run Group B, where the correct helicity sign varies between the Spring, Fall, and Winter data sets
Pull Request: feat: helicity correction function QADB::CorrectHelicitySign by @c-dilks in #69
🟢 Helicity-Latched Faraday Cup Charge
With the help of Mike Wood (@jwgibbs), the QADB now provides access to the helicity-latched charge.
- It is now available in RG-C Summer 22 data, and will be available in other RG-C data sets when the QA is performed (scheduled for the next upcoming QADB release)
- If you need this information for another data set, please let us know and we will produce it
- Currently only the Groovy / Java version of the QADB provides access to this charge; Mike Wood is working on supporting the C++ version
Pull Requests:
- feat: add helicity latched charge to RG-C Summer 22 QADB by @c-dilks in #70
- Added the accumulator functions for the FC Helicity-Lathced charge in… by @jwgibbs in #73
🏗️ Other Changes 🏗️
- fix: use static version by @c-dilks in #72
- doc: clarify definition of
SectorLossby @c-dilks in #74 - doc: update status tables by @c-dilks in #75
New Contributors
- @jwgibbs made their first contribution in #73
- @deholmberg made their first contribution in #61
Full Changelog: v3.1.0...v3.2.0
v3.1.0
⭐ Primary Changes ⭐
🟢 Run Group A Pass 2 QADB is Now Available
All RG-A datasets, Fall 2018 inbending+outbending and Spring 2019, are now available in the QADB. Many thanks to Krishna Neupane (@kneupane1) for assistance and cross checking.
Pull Request: feat: RG-A Fa18 Pass2 QA results by @c-dilks in #57
🟢 New tool: qadb-info
This new tool is designed to provide user-friendly access to more general information about the QADB contents, including:
- available datasets
- FC charge info, filtered by QA defects (chosen by user)
- print more info about why the
Miscdefect was assigned for runs - outputs information in both human-readable and machine-readable (
yaml,json, etc.) forms
Simply run it for more information:
bin/qadb-info # or just 'qadb-info' if it's already in your $PATH
This is a new tool, so please send feedback if you find any issues or want any features.
Caution
The Faraday Cup charge from this tool still needs to be cross checked! If you choose to use this in your analysis, let us know if you notice any issues.
Pull Request: feat: script qadb-info to dump some info about the QADB by @c-dilks in #68
🟢 Make it easier to find Misc defect comments
In addition to qadb-info using the misc command, we also now generate tables with the reasons why certain runs have the Misc bit assigned: each dataset directory now has the file miscTable.md which includes the table for that dataset.
Pull Request: feat: generate table with unique comments for Misc by @c-dilks in #58
🏗️ Other Changes 🏗️
- fix(CI): propagate dataset cook version to tests by @c-dilks in #56
- doc: QA ground rules by @c-dilks in #59
- fix: improve
PossiblyNoBeamassignment for RG-A Sp19 by @c-dilks in #60 - fix: pre-commit auto-fix bot cannot use groovy by @c-dilks in #62
- perf(ci): speed up C++/groovy test by @c-dilks in #63
- fix: silenece misleading warnings by @c-dilks in #64
- ci: add more tests by @c-dilks in #65
- ci: check for
.jsonfiles' existence too by @c-dilks in #66 - doc: more detailed data files tables for RG-C,F,K,M by @c-dilks in #67
Full Changelog: v3.0.0...v3.1.0
v3.0.0
⚠️ Breaking Changes ⚠️
🟢 QADB Constructor change
The QADB constructor (both C++ and Groovy versions) now require a string argument, cook:
// new version (v3)
QADB(std::string const& cook, int runnumMin_ = -1, int runnumMax = -1, bool verbose_ = false);
// old version (v2 and v1)
QADB(int runnumMin_ = -1, int runnumMax = -1, bool verbose_ = false);This cook argument may be:
"latest": use the latest available DB (highest Pass number); see the mainREADME.mdfor details"pass1": use Pass 1 only"pass2": use Pass 2 only (if available; as of this release, only RG-A Fall 2018 has a Pass 2 and a Pass 1)
Note: this version is not compatible with clas12root version 1.8.4a and earlier.
Associated pull request: #52
🟢 Removal of text/ files
We have removed the text tables in text/, which have become practically useless with the introduction of new defect bits. See #55 for details.
🏗️ Other Changes 🏗️
- feat: RG-A Spring 2019 Pass 2 QA by @c-dilks in #51
- ci: update actions' versions by @c-dilks in #53
- feat: enable Dependabot for GitHub actions by @c-dilks in #54
Full Changelog: v2.0.0...v3.0.0
QADB 2.0.0
The major version has been increased from v1 to v2, since new QADB databases will provide QA results per "time bin", rather than per DST 5-file; this change is from upstream (clas12-timeline), and no change to the API here has occurred. Several new defect bits have been defined as well. At the moment, only RG-C Summer 2022 (rgc_su22) uses time bins and the new defect bits.
We have deprecated the common criteria sets OkForAsymmetry and Golden, and provided guidance for the preferred method. See #50 for details.
We also plan to deprecate the QADB reader code here (QADB.groovy and QADB.h), in favor of an Iguana algorithm, since this reader code is not thread safe, and is repeated in two different languages.
Primary Changes
- feat: RG-C Summer 2022 QADB by @c-dilks in #49
- feat: deprecate
OkForAsymmetryandGolden, and provide guidance for their replacement by @c-dilks in #50
Additional Changes
- doc: consistent defect bit descriptions by @c-dilks in #44
- fix: source
tschenvironment file from anywhere by @c-dilks in #45 - feat: calculate gap and overlapping charge from Pass 1 QADB by @c-dilks in #47
Full Changelog: v1.3.0...v2.0.0
QADB 1.3.0
New QADB version with Run Group M included from the work of @esteejus
What's Changed
- doc: clarify timeline production code by @c-dilks in #25
- ci: update actions to
v3by @c-dilks in #26 - fix: respect rename
clasqaDB->clas12-qadbby @c-dilks in #29 - doc: add table of available datasets by @c-dilks in #32
- ci: use
groovyv4 by @c-dilks in #35 - fix: rename
env.sh->environ.shby @c-dilks in #36 - fix: trigger CI on pushes to
main, notmasterby @c-dilks in #37 - refactor: consistent data set names by @c-dilks in #34
- ci: cancel in-progress workflows upon new PR commit by @c-dilks in #38
- doc: add timeline links by @c-dilks in #39
- doc: fix spelling by @c-dilks in #40
- doc: small fixes by @c-dilks in #42
- ci: automatically get list of datasets to check by @c-dilks in #43
- feat: add RG-M QA results by @c-dilks in #41
Full Changelog: v1.2.2...v1.3.0
QADB 1.2.2
What's Changed
- remove
rgk_7runs with no charge fromqaTree.jsonin #19 - add CI tests, to check consistency between C++ and Groovy APIs in #16
- add QA criteria result summary file in #23
- update RGA Fall2018 QADB, from Sangbaek #20
Full Changelog: v1.2.1...v1.2.2
QADB 1.2.1
QADB 1.2.0
Add Forward Tagger (FT) defect bits