Closed wenqiang-gu closed 3 months ago
@weihythu @HaiwangYu Do you have any comments?
[per discussion with Wenqiang] bad channel mask converts global channel indexing to OspChannel prior to ROI formation in OmniBusSigproc. Hence, this should not be a problem.
It appears that ROI_formation and ROI_refinement would have troubles to locate a channel in the
bad_ch_map
if an experiment has more than one anode? Note,bad_ch_map
is basically a copy of ChannelMaskMap["bad"] from upstream workflow.For example, in ROI_formation::find_ROI_by_decon_itself(), the value of
offset
is calculated using plane ID and it will be used to determine the global offset in thebad_ch_map
.https://github.com/WireCell/wire-cell-toolkit/blob/1a00d641b90d500238c4696bc204f45905c2a454/sigproc/src/ROI_formation.cxx#L394-L403
https://github.com/WireCell/wire-cell-toolkit/blob/1a00d641b90d500238c4696bc204f45905c2a454/sigproc/src/ROI_formation.cxx#L416-L418
*However, if there are more than one anode, the global offset should be calcualted using anode ID as well, isn't it? e.g., for ProtoDUNE HD, it should be something like `offset_v = 2560 (anode-1) + nwire_u`?**
Note: I am not sure if this would be a problem for other experiment, but since ProtoDUNE has zeroed bad regions during noise filtering, so this won't be a big problem for signal processing.