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

Iterative trimming algorithm for QC8 fails immediately #285

Closed ElizabethRoseStarling closed 4 years ago

ElizabethRoseStarling commented 4 years ago

Brief summary of issue

When the trimming algorithm for QC8 is launched, it successfully goes through a single iteration of taking the S-Curves on all chambers, but fails when it reaches the first analysis step.

Types of issue

Expected Behavior

The algorithm should take a single S-Curve of each detector specified by the chamber mask in the calling command. It should then analyze those S-Curves, and repeat the process up to the specified number (3) of times.

Current Behavior

When the trimming algorithm for QC8 is launched, it reports in the terminal:

[gemuser@gem904qc8daq ~]$ run_scans.py itertrim 1 2 0x4 --maxIter 3 --sigmaOffset -4 --highTrimCutoff 50 --highTrimWeight 50 --highNoiseCut 1.5 --heavy Open pickled address table if available /opt/cmsgemos/etc/maps//amc_address_table_top.pickle... Initializing AMC gem-shelf01-amc02 opened connection 31 Jan 2020 14:27:56.703 [7f8409c5a740] INFO - wrappers::runCommand <> - Executing command: mkdir -p /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//2020.01.31.14.27 31 Jan 2020 14:27:56.739 [7f8409c5a740] INFO - wrappers::runCommand <> - Executing command: chmod g+rw /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//2020.01.31.14.27 31 Jan 2020 14:27:56.769 [7f8409c5a740] INFO - wrappers::runCommand <> - Executing command: unlink /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//current 31 Jan 2020 14:27:56.797 [7f8409c5a740] INFO - wrappers::runCommand <> - Executing command: ln -s 2020.01.31.14.27 /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//current iterativeTrimming shelf1 slot2 0x4 31 Jan 2020 14:27:56.872 [7f8409c5a740] INFO - wrappers::runCommand <> - Executing command: iterativeTrim.py 1 2 0x4 --chMax=127 --chMin=0 --latency=33 --maxIter=3 --nevts=100 --vfatmask=0xffffff --sigmaOffset=-4.0 --highTrimCutoff=50 --highTrimWeight=50.0 --highNoiseCut=1.5 --heavy 31 Jan 2020 14:28:14.526 [7f8409c5a740] INFO - wrappers::runCommand <> - Executing command: chmod -R g+rw /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//2020.01.31.14.27 Finished iterativeTrimming on shelf1 slot2 in ohMask: 0x4 Good-bye

But the scanLog reports:

Open pickled address table if available /opt/cmsgemos/etc/maps//amc_address_table_top.pickle...
Initializing AMC gem-shelf01-amc02 Opened connection ^[[1m^[[92m31 Jan 2020 14:19:28.534 [7f2795ff2740] INFO - wrappers::runCommand <> - ^[[1m^[[96mExecuting command: mkdir -p /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//2020.01.31.14.19^[[0m^[[0m ^[[1m^[[92m31 Jan 2020 14:19:28.566 [7f2795ff2740] INFO - wrappers::runCommand <> - ^[[1m^[[96mExecuting command: chmod g+rw /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//2020.01.31.14.19^[[0m^[[0m ^[[1m^[[92m31 Jan 2020 14:19:28.592 [7f2795ff2740] INFO - wrappers::runCommand <> - ^[[1m^[[96mExecuting command: unlink /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//current^[[0m^[[0m ^[[1m^[[92m31 Jan 2020 14:19:28.619 [7f2795ff2740] INFO - wrappers::runCommand <> - ^[[1m^[[96mExecuting command: ln -s 2020.01.31.14.19 /data/bigdisk/GEM-Data-Taking/GE11_QC8//GE11-X-L-CERN-0024/itertrim//current^[[0m^[[0m Open pickled address table if available /opt/cmsgemos/etc/maps//amc_address_table_top.pickle... Initializing AMC gem-shelf01-amc02 Open pickled address table if available /opt/cmsgemos/etc/maps//amc_address_table_top.pickle... Initializing AMC gem-shelf01-amc02 Traceback (most recent call last): File "/opt/cmsgemos/bin/iterativeTrim.py", line 413, in scurveFitResults = iterativeTrim(args,dict_dirPaths,identifier,dict_chanRegData=dict_chanRegArray[iterNum-1], dict_calFiles=None) File "/opt/cmsgemos/bin/iterativeTrim.py", line 59, in iterativeTrim cArray_trimVal = (c_uint32vfatsPerGemVariant[gemType]CHANNELS_PER_VFAT)(*dict_chanRegData[ohN]["ARM_TRIM_AMPLITUDE"]) TypeError: expected c_uint_Array_24 instance, got numpy.uint8

Steps to Reproduce (for bugs)

  1. From the gem904qc8daq machine, configure the chambers for trimming: confAllChambers.py --shelf=1 --vfatConfig --chConfig --applyMasks --run
  2. Launch the following command for each column in QC8: run_scans.py itertrim X Y 0xABC --maxIter 3 --sigmaOffset -4 --highTrimCutoff 50 --highTrimWeight 50 --highNoiseCut 1.5 --heavy
  3. Reference scanLog.log for each of the chambers.

Possible Solution (for bugs)

Context (for feature requests)

Your Environment

lpetre-ulb commented 4 years ago

Fixed in https://github.com/cms-gem-daq-project/vfatqc-python-scripts/pull/296.