-
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
New FED modes handled in SiStrip unpacker #12157
New FED modes handled in SiStrip unpacker #12157
Conversation
…define the legacy behaviour and specify the run number when FEDs were upgraded
…ED buffer building stage
…s as it is not used afterwards ; added new FED modes in SiStripEnumsAndStrings
Cmstrack127 unpacker fix
…cmssw into from-CMSSW_7_5_3_patch1
case READOUT_MODE_SCOPE: rawdigi_ = true; break; | ||
case READOUT_MODE_ZERO_SUPPRESSED: rawdigi_ = false; break; | ||
case READOUT_MODE_ZERO_SUPPRESSED_FAKE: rawdigi_ = false; break; | ||
//case READOUT_MODE_ZERO_SUPPRESSED_CMOVERRIDE: rawdigi_ = false; break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
drop commented out code; or add some comments why it should stay here
@forthommel please comment on significance of these changes in the DQM. |
How sure are we that exactly the same events have been processed in the two cases? In the Tracker there are real occurences of very rare events for which all the FED channels have errors. The usual interpretation is that there is a glitch in the APV emulator and when the pipeline address declared by the APVe is compared to the one declared by the real APV's there is a mismatch and the full tracker is blamed. This change of the code is not expected to change this behaviour, I think, therefore it would be useful to check if the event with all the channels in error in one case has been processed also in the other case. If the DQM histograms are made available it would be possible to check the type of the error and confirm if it is of the expected type. |
@venturia |
@slava77 @davidlange6 |
When I run these tests, the number of track entries is the same for both a fresh release and a release with this PR included; the event sample being processed should be the same. |
Could you point to us the code of the APV emulator? Do you know the sequence that is run there? As Matt suggested, if we don't find a solution in the next few hours, cold it be create a release to be patched anyway later? It would be used only online and without sending any data at T0 (just for online testing). |
I have understood that the difference has been observed in standard pp ZS data. The results should be identical. Are the DQM files of the two tests available anywhere?
On Nov 9, 2015, at 20:22 , Ivan Amos Cali <[email protected]mailto:[email protected]> Could you point to us the code of the APV emulator? Do you know the sequence that is run there? As Matt suggested, if we don't find a solution in the next few hours, cold it be create a release to be patched anyway later? It would be used only online and without sending any data at T0 (just for online testing). — |
I've placed the DQM root files originating from workflow 4.53 for both the original and modified versions in the following directory: |
Thanks! there are two events out of 100 where all the FEDs have been found with "corrupted buffers". You can see that in the plot in SiStrip/Run summary/ReadoutView/FED/nFEDCorruptBuffers If you want to skim those two events you can use this filter:
On Nov 9, 2015, at 21:50 , abaty <[email protected]mailto:[email protected]> @venturiahttps://github.com/venturia I've placed the DQM root files originating from workflow 4.53 for both the original and modified versions in the following directory: — |
READOUT_MODE_ZERO_SUPPRESSED=0xA, | ||
READOUT_MODE_ZERO_SUPPRESSED_LITE=0xC, | ||
READOUT_MODE_ZERO_SUPPRESSED_FAKE=0xB, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seem to be a mismatch here between the enum value 11 -> fake mode, 13=LITE8_BOTBOT_CMO, and the method DataFormats/SiStripCommon/interface/ConstantsForHardwareSystems.h line 143 where LITE8_BB_CMO is = 11 and 13 is not given to anything....
The CorruptBuffer check is defined in the DQM code as below:
So it uses methods that are from the FEDBuffer class which is also used by the unpacker. Hence anything flagged by DQM should also result in not being unpacked.... I see the code has changes in the packetmodes for example, so maybe something has not been propagated properly to one of these buffer checks in link above ? |
New FED modes handled in SiStrip unpacker
@amangnan Hi, thanks for your help. I had noticed this discrepancy in this ConstantsForHardwareSystems.h and SiStripFEDBufferComponents.h, but when I attempted to change ConstantsForHardwareSystems to match I saw no change in the behavior (although my changes might not have been correctly applied). We are currently digging into the CorruptBuffer check to find problems, and there does seem to be some issue with grabbing the correct packet mode. |
The FED FE packet codes has been reorganized to leave room to new modes (e.g. VR 10bit, ZS 8bit, ...). The SiStripRawToDigiUnpacker was hence modified to match these changes.
In an attempt to restore the previous unpacking behaviour a boolean has been introduced in the siStripDigis PSet to switch between the legacy modes and the new ones (siStripDigis.LegacyUnpacker = cms.bool(False)).
For more information on the requirements and new specifications, see https://its.cern.ch/jira/browse/CMSTRACK-127