You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In JANA1, users use the janadump or hd_dump plugins to inspect data event-by-event. Right now, we are manually using hd_dump for discrepancy testing our halld_recon port.
In JANA2, we have several different tools that capture different pieces of the necessary functionality but definitely need reorganization:
The ported hd_dump
JInspector
regressiontest
JCsvWriter
We also should consider whether we can simply reuse ePIC's capybara tool for detecting discrepancies instead.
Requirements:
Experiment-agnostic. Leverages JObject::Summarize to incorporate users' preferred formatting and also be consistent with janaview.
Accessible from inside a debugger (without restarting the process)
Accessible when running in interactive mode (i.e. JApplicationInspector)
Outputs ASCII tables, pretty-printed JSON, or CSV, depending on user config
Outputs to a separate file, not to stdout, so that other log messages don't pollute our diff
Works with topologies that use multiple event levels (e.g. TimesliceExample).
Sorts outputs by event number so that output is deterministic even when multithreading is enabled
Nice-to-haves:
Works with PODIO data (without needing to know about the exact PODIO datamodel)
Obvious problems with the existing tools:
JCsvWriter only works on one collection at a time and can't be made into its own plugin due to how it uses templates. This is an easy fix, although JCsvWriter should probably be outright replaced by a subset of JInspector anyhow.
JEventSource implements nevents/nskip in a way which makes all of these tools very inefficient. Adding random file access and O(1) nskip will fix this.
regressiontest attempts to do a diff itself, which it probably shouldn't
The text was updated successfully, but these errors were encountered:
In JANA1, users use the
janadump
orhd_dump
plugins to inspect data event-by-event. Right now, we are manually usinghd_dump
for discrepancy testing ourhalld_recon
port.In JANA2, we have several different tools that capture different pieces of the necessary functionality but definitely need reorganization:
We also should consider whether we can simply reuse ePIC's
capybara
tool for detecting discrepancies instead.Requirements:
JObject::Summarize
to incorporate users' preferred formatting and also be consistent withjanaview
.Nice-to-haves:
Obvious problems with the existing tools:
regressiontest
attempts to do a diff itself, which it probably shouldn'tThe text was updated successfully, but these errors were encountered: