-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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 HCAL premixing with QIE8 and uHTR #19047
Conversation
please test |
The tests are being triggered in jenkins. |
A new Pull Request was created by @kpedro88 (Kevin Pedro) for master. It involves the following packages: Configuration/StandardSequences @perrotta, @cmsbuild, @franzoni, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
merging as to have this in 921 as I see no changes in the monitoring. Please complain if there are issues |
+1 |
In 9_1_0_pre3, it was observed that HCAL premixing did not match well with classic mixing for the 2017 Era. This was somewhat puzzling, since the problem was even evident in HB, which should be the exact same detector in 2016 and 2017.
However, there was one important change: the electronics map used in the global tag, which corresponds to the backend electronics. 2016 used the old VME/HTR setup, while 2017 uses the new uTCA/uHTR setup (but still the old QIE8 for HB and most of HE). There is a different packer/unpacker for uHTR, which discarded the per-sample error bit in the QIE8 format. Premixing uses the error bit to denote how the ADC counts in premixed digis should be interpreted, so this caused the observed regression.
To fix this, simulated QIE8 digis in premix stage 1 (creation of the premixed input file) will be packed into the old VME-style format, which keeps all the bits. To handle this in the uHTR code, flavor 7 datatype 15 (technical data, currently unused) is employed. The unpacker is correspondingly updated to handle this case correctly. (This was the agreed solution after some discussion between me and @jmmans.)
I also cleaned up some of the packer/unpacker code while I was there.
Proof that it works (ADC counts in HB; red = classic, blue = premix):
Before:
After: