WireCell / wire-cell-toolkit

Toolkit for Liquid Argon TPC Simulation and Reconstruction
https://wirecell.github.io/
Other
7 stars 22 forks source link

bad_ch_map for experiments with multiple anodes #326

Closed wenqiang-gu closed 3 months ago

wenqiang-gu commented 3 months ago

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 the bad_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.

wenqiang-gu commented 3 months ago

@weihythu @HaiwangYu Do you have any comments?

weihythu commented 3 months ago

[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.

wenqiang-gu commented 3 months ago

https://github.com/WireCell/wire-cell-toolkit/blob/1a00d641b90d500238c4696bc204f45905c2a454/sigproc/src/OmnibusSigProc.cxx#L1425