Pedestal fit logging errors in protoDUNE DP processing
I received the following from Slavic:
I get Minuit error from the pedestal fit. Error in <TMinuitMinimizer::GetHessianMatrix>: Hessian matrix has not been computed - status 1 Error in <ROOT::Math::Fitter::ApplyWeightCorrection>: Previous fit has no valid Covariance matrix But these are probably due to the fact that some channels have no data are all 0s. I will have to provide correct channelstatusservice configuration to exclude them.
#1 Updated by David Adams 26 days ago
The message apparently come from fitting a histogram with no entries. I saw a few channels with the problem (e.g. run 1153, event 1082, channel 3840) where the ADC counts all fall in one bin after rebinning by 10 and the histogram range is set incorrectly. I fixed the cause of the problem and added a check that will broadcast a warning message (search for "WARNING") when the peak bin is outside the fit histogram range.
I also added a warning message when the pedestal fit returns nonzero status. This does not catch the above problem--there Root calls the error handler that prints the observed messages but the fit returns 0. This check did catch many channels with all contents in one ADC bin. I modified the code to assign values instead of fitting in this case.
#2 Updated by David Adams 26 days ago
- Status changed from Work in progress to Feedback
I verified the above event runs without any warning or error messages and that a few of the histograms look ok.
I have committed the above changes after verifying all unit test pass.
Christoph or Tingjun, please let me know if the Jenkins tests show any significant changes.