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
Bug fix: truncate when copying digis in hybrid zero-suppression #24654
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-24654/6559 |
A new Pull Request was created by @pieterdavid (Pieter David) for master. It involves the following packages: RecoLocalTracker/SiStripZeroSuppression @perrotta, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
@cmsbuild please abort |
Jenkins tests are aborted. |
@cmsbuild please test workflow 140.55 |
The tests are being triggered in jenkins. |
@pieterdavid |
Comparison job queued. |
@slava77 the plots below have the same distributions as above, zoomed to the previously most discrepant regions. I changed normal ZS with Median CMN from black to green - but it is mostly hidden by the red histogram (hybrid ZS with this PR) anyway, and added hybrid ZS without this PR (in blue), and in black also the standard ZS with IteratedMedian (in response to your question in #24597 (comment)). |
Comparison is ready @slava77 comparisons for the following workflows were not done due to missing matrix map:
Comparison Summary:
|
comparing 140.55 CMSSW_10_3_X_2018-09-19-1100+#24597 as a baseline (black) and with this PR on top in red. there are a few % fewer short clusters (total number of clusters is down by 0.5%), this, OTOH comes with a fraction of a % more tracks and the tracks look longer this appears to match well the expected effects of the fix |
type bugfix |
+1
|
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) |
+1 |
This change should fix most of the differences observed between standard zero-suppression and the hybrid mode in #24597 (e.g. in the cluster charge distribution). I'm sorry for figuring it out just after the other PR got merged.
In the currently planned scenario (10bit hybridZS data taking, 8bit repacking in the HLT), the following happens: for the "non-flagged" APVs (without modified baseline), baseline subtraction and zero-suppression are performed, and digis saved with 10bit precision (in the emulation as well as in the FED firmware). When running the remaining zero-suppression in software afterwards, the "flagged" APVs are zero-suppressed and their digis brought in the range 0-255 ([255,1022]-> 254, 1023->255), and repacked in the 8bit ZS raw format.
The problem is that for the non-flagged APVs the 10bit digis were simply copied, but the packer assumes they are also already 8bit-truncated and simply discards the two most significant bits (so
adc % 256
instead of 254 (or 255)). Therefore, clusters with adc>255 strips got a lower total charge or were split.The following plots show the number of digis and clusters, and cluster charge and width, in the hybrid zero-suppressed scenario (red) compared to standard zero-suppression with
process.siStripZeroSuppression.Algorithms.CommonModeNoiseSubtractionMode = "Median"
(black) to maximally align the zero-suppression settings, to be compared with those in #24597 (comment) .CC: @icali @CesarBernardes @erikbutz @mmusich @echabert