Bug #23820
WireCell::Waveform::percentile throws an exception when only a subset of ProtoDUNE-SP channels report data
0%
Description
I have a feature of the raw decoder for ProtoDUNE-SP that will only decode a subset of the input channels. In the standard reco chain, we call the WireCell toolkit to do 2D deconvolution. I figured I'd try it with the first 200 channels in a ProtoDUNE-SP event, which are all U-plane wires in APA 3. Inside OminibusSigProc, median is called which calls percentile which looks up wave.at(wave.size()*percentage) in my case with percentage=0.5. This throws an out-of-range exception. Would be good to bulletproof this a bit better so it doesn't crash the program. I surmise 2D deconvolution doesn't work with only a subset of channels, but I thought I'd given it enough. Does it need all channels in a FEMB to work? We are slowly marking channels bad.