Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix APV shot cleaner for 10bit #24961

Merged
merged 1 commit into from Oct 25, 2018

Conversation

pieterdavid
Copy link
Contributor

As discussed in https://hypernews.cern.ch/HyperNews/CMS/get/tier0-Ops/2029/1/1/1/2/1/1/1/1.html point 4: a fix for the APV shot cleaner (which performs an "emergency zero-suppression") for 10bit data.
The problem was that 254 and 255 have special meanings in 8-bit truncation, see https://github.com/cms-sw/cmssw/blob/master/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripFedZeroSuppression.h#L38 (saturated strips, 254-1022 or even above), so values above 253 were not CM-subtracted here.
The fix exploits this by concluding that if any digi is larger than 255, the 8bit scheme is not used, and all digis can be CM-subtracted (for typical hybrid data the baseline is above 500). The hypothetical case of 10bit data with all digis below 254 is also handled correctly; only if the largest digi is 254 or 255 the detection doesn't work (but this should not happen in practice).
Changes expected: none, expect for data taken in hybrid mode on which the (hybrid-adjusted) zero-suppression and repacking was not run in the HLT (like 324623, possibly also cosmics during the HI run).

CC: @icali

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

@perrotta
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 22, 2018

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/31205/console Started: 2018/10/22 22:41

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @pieterdavid (Pieter David) for master.

It involves the following packages:

RecoLocalTracker/SiStripClusterizer

@perrotta, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@echabert, @makortel, @felicepantaleo, @forthommel, @yduhm, @GiacomoSguazzoni, @gbenelli, @rovere, @VinInn, @alesaggio, @gpetruc, @ebrondol, @threus, @mmusich this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-24961/31205/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 32
  • DQMHistoTests: Total histograms compared: 2994843
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2994644
  • DQMHistoTests: Total skipped: 197
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
  • Checked 134 log files, 14 edm output root files, 32 DQM output files

@fabiocos
Copy link
Contributor

@perrotta @slava77 what is the plan here? To try to get this solution of the observed problem in a quick patch?

@@ -133,9 +133,10 @@ void SiStripApvShotCleaner::subtractCM(){
return;

//Subtract the median
const bool is10bit = apvDigis[0].adc() > 255; // approximation; definitely 10bit in this case
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following your intentions explained in the PR description, I would expect here

const bool is10bit = apvDigis[0].adc() > 255;
for(size_t i=1; i<stripsForMedian;++i) is10bit |= apvDigis[i].adc() > 255;

Did I understand it correctly?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but they are sorted by decreasing adc here (from https://github.com/cms-sw/cmssw/pull/24961/files#diff-af819317b5a71697a837cc86996841edL115 , to calculate the median) so the first is the largest (the implementation of this method could clearly be improved, but I wanted to keep the patch minimal).

@perrotta
Copy link
Contributor

+1

  • The fix implements what written in the description
  • The issue of the blind spot in 10 bits mode when the largest digi is 254 or 255 remains, but we take the author's evaluation that this should never happen in practice
    • There are no additional drawbacks with this PR, though
  • Jenkins tests pass

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@fabiocos
Copy link
Contributor

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants