-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[QC-910] Moving windows in asynchronous QC #2014
Conversation
This commit allows to create objects containing data points for adjacent time windows alongside of having an integrated object for the whole run. The window length is set by the usual "cycleDurationSeconds" parameter and the windows are guaranteed not to overlap. The generated objects can be subject to Checks, just as integrated objects. Technically, the commit brings a few major changes as well: - The decision on finishing a cycle is now up to Timekeeper (excluding end of stream), which is still timer-based in sync QC, but data-driven in async QC, i.e. a new cycle is started when a sample does not fall into currently processed window. - The QC file I/O has been refactored by bringing it into a dedicated class - The QC file structure was reorganized by having two directories at the top - "int" and "mw". The first contains the integrated plots in the usual structure. The latter contains moving windows in the hierarchy "mw/<DET>/<TASK>/<MW START>". This should allow for easy usage by any user scripts (at the cost of a bit more complex walking algorithms for reading it back in the QC chain)
Hi @knopers8, thanks a lot! Sorry I missed your message! I see the timestamps are from Sept 20th, does it mean that the timestamps are taken relative to when the run started? I mean, are they taken from the TFs? |
Hi @iravasen, the timestamps are unix timestamps in ms (since epoch). They are computed based on TF IDs, nOrbitPerTF and SOR time from the CCDB ( |
Thank you, sounds already good like this to me. Don't know about the difference in seconds between SOR and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice work. I took some time to read carefully all of it but could not find flaws. I have a few unimportant comments.
This commit allows to create objects containing data points for adjacent time windows alongside of having an integrated object for the whole run. The window length is set by the usual "cycleDurationSeconds" parameter and the windows are guaranteed not to overlap. The generated objects can be subject to Checks, just as integrated objects.
Technically, the commit brings a few major changes as well:
mw/<DET>/<TASK>/<MW START>
. This should allow for easy usage by any user scripts (at the cost of a bit more complex walking algorithms for reading it back in the QC chain)