DumpTPCchannelStatusDB: module to dump on screen TPC channel status #811
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The new art module
DumpTPCchannelStatusDB
is able to dump the content of the TPC channel status service providerlariov::SIOVChannelStatusProvider
(the one used by ICARUS) on screen for the timestamps specified in configuration.A self-standing job configuration
dump_tpc_channelstatus_latest_icarus.fcl
is provided, which uses the standard ICARUSChannelStatusService
configuration and dumps the channel status information pertaining the most recent time. This is today's output:It pull request comes with two kind-of-art-independent algorithms.
One,
lariov::TPCSIOVchannelStatusDBdumper
, is the backend of the moduleDumpTPCchannelStatusDB
and works only withSIOVChannelStatusProvider
, using its specific interface to select the timestamps. It should not be used on the art-managed serviceChannelStatusService
, since the algorithm and art will compete in setting the timestamps.The other,
lariov::TPCchannelStatusDBdumper
, works with anyChannelStatusProvider
(including the one managed by art) and dumps only the current channel status, whatever time it refers to (ChannelStatusProvider
interface does not have the concept of time). This is a dumping algorithm suitable to be used in aproduce()
oranalyze()
module method, since it will not change the status of the service it is dumping.Note that while the algorithms are art-independent, unfortunately the service providers are not, because of the small detail that they need the total number of TPC channels, and they ask it directly to
WireReadout
art service. It is a simple change to have this parameter passed to the providers rather than discovered by the algorithm, so it should be requested if access to this database with high level interface is desired in gallery (and Python).Reviewers: