Skip to content

DumpTPCchannelStatusDB: module to dump on screen TPC channel status #811

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

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

PetrilloAtWork
Copy link
Member

The new art module DumpTPCchannelStatusDB is able to dump the content of the TPC channel status service provider lariov::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 ICARUS ChannelStatusService configuration and dumps the channel status information pertaining the most recent time. This is today's output:

Status of 55296 channels for 1 timestamps:
=== BEGIN TIMESTAMP: 2000000000000000000 =======================================
Counting 118 BAD channels: 167 1795 1796 1824 1826 1828 1830 1860 1888 1889 1890 1891 1922 2013 2806 3725 3743 4262 5572 8523 8524 8525 8526 8527 8945 9180 9387 9391 9664 10138 12051 14028 14403 15307 15737 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026 16027 16028 16029 16030 16031 16937 17201 19580 23225 23457 23984 23985 25662 27219 27231 27335 27967 28640 28804 28805 28806 28807 28808 28809 28810 30705 31316 31317 31726 34220 38294 41501 41975 42851 43231 43518 44051 44410 49216 50080 50081 50082 50083 50084 50085 50086 50087 50088 50089 50090 50091 50092 50093 50094 50095 50096 50097 50098 50099 50100 50101 50102 50103 50104 50105 50106 50107 50108 50109 50110 50111 50673 51900
Counting 0 NOISY channels.
Counting 53066 good channels.
=== END   TIMESTAMP: 2000000000000000000 =======================================

It pull request comes with two kind-of-art-independent algorithms.
One, lariov::TPCSIOVchannelStatusDBdumper, is the backend of the module DumpTPCchannelStatusDB and works only with SIOVChannelStatusProvider, using its specific interface to select the timestamps. It should not be used on the art-managed service ChannelStatusService, since the algorithm and art will compete in setting the timestamps.
The other, lariov::TPCchannelStatusDBdumper, works with any ChannelStatusProvider (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 a produce() or analyze() 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:

  • @SFBayLaser, the in-house channel status mapping expert
  • @dtorretta56 because her request this afternoon triggered this code

It comes with two kind-of-art-independent algorithms.
@PetrilloAtWork PetrilloAtWork added the enhancement New feature or request label Mar 12, 2025
@SFBayLaser
Copy link
Contributor

Surprise! I am a reviewer! How would I have known this if I didn't happen to look here?

Copy link
Contributor

@SFBayLaser SFBayLaser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to not only output the channel number, but provide an option to output in electronics space values?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants