cms-gem-daq-project / gem-plotting-tools

Repository for GEM commissioning plotting tools
GNU General Public License v3.0
1 stars 26 forks source link

Automatically catch and report bad DAC scan fits #260

Closed AndrewLevin closed 4 years ago

AndrewLevin commented 4 years ago

Automatically catches cases where a DAC vs ADC fit is low-quality

Description

If a DAC fit has chisquare value greater than 100 (a value which can be configured in anaInfo.py), then an exception is thrown.

Types of changes

Motivation and Context

DAC scan fits in which there appears to be a dead bit have been reported by the QC7 team e.g.

http://cmsonline.cern.ch/cms-elog/1093542

and currently they would go undetected if the nominal DAC values based on the bad fit happen to be in the allowed range of the DAC.

How Has This Been Tested?

I have tested it on some old DAC scan data:

/data/bigdisk/GEM-Data-Taking/GE11_QC8/dacScanV3/2019.09.18.10.05/dacScanV3.root

and it seems to catch the bad DAC fits properly. For the bad DAC scan fit reported in

http://cmsonline.cern.ch/cms-elog/1093542

I found that the chisquare value is 1400, while it is typically less than 10 in other cases.

Screenshots (if appropriate):

Checklist:

jsturdy commented 4 years ago

What is the current behaviour of the usual tools in the case of the error condition being met? Printing of a warning and continuing?

AndrewLevin commented 4 years ago

testConnectivity.py has an option acceptBadDACBiases which allows the user to choose whether to continue or stop when the out of range DAC values are found. I have added a similar option acceptBadDACFits and I will make a pull request to vfatqc-python-scripts once that is tested.

jsturdy commented 4 years ago

@AndrewLevin, does this need to wait on your testing results?

AndrewLevin commented 4 years ago

It is ready now, along with https://github.com/cms-gem-daq-project/vfatqc-python-scripts/pull/285

jsturdy commented 4 years ago

@AndrewLevin can you rebase this?

jsturdy commented 4 years ago

@AndrewLevin can you rebase this?

As the vfatqc PR, i'll just squash around this