Ecal ANN-based single channel recovery, take 2

new pull request after comments from reco.
Replaces #2287