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

Add support for unpacking HCAL uHTRs (Backport to 74X from PR 7950) #8103

Conversation

agude
Copy link

@agude agude commented Mar 5, 2015

A backport of #7950 as discussed in #8013 (comment). @lihux25 said he preferred if I initiated a new pull request instead of updating #7972, so this supersedes that PR.

This pull request allows the unpacking of the uHTRs that is currently being commissioned for HCAL.

Additionally, we found various bugs in the Packing/Unpacking code that we patched:

  • Fix an old packing bug where trigger primitives were not packed properly
  • Fix issue with packing of the orbit number in the DCC Header

Alexander Gude and others added 22 commits March 5, 2015 18:39
We can now just check "m_flavor == 2" directly instead of checking part
of the bits to see if it is 2 or 3.
This method works for flavor 2 and 4; all other flavors do not define an
OK bool and so it returns 'false'.
After the header, ++ should only move 16 bits (1 row) as that is where
the data starts, but after that it should move 32 bits (2 rows) as that
is how each data entry is formatted.
The L1RCTs only work with the old segmentation (version 0 for <= 2012),
so if the version is anything else, we continue.
We use the tens digit in the depth field from the text file to indicate
version. >= 10 is version 1, < 10 is version 0.
Previously it was hardcoded to be 0, which meant the unpacker treated
everything as HO. It is now set by HcalHTRData::packHeaderTrailer.

Also fix a Channel ID bug in HcalHTRData.cc
These bugs prevented HCAL Trigger Towers from properly being converted
to RAW.
Previously processTrig always returned 0 because the "size" variable was set to
0, then not actually used to hold the size of the vector, and finally
returned. Now size is properly set to the size of the vector.
… Very helpful when multiple sets of digis are in one file.
@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@nclopezo
Copy link
Contributor

Hi @agude and all,
It seems that this pull request caused 2 warnings in CMSSW_7_4_X_2015-03-11-0200:
https://cmssdt.cern.ch/SDT/cgi-bin/buildlogs/slc6_amd64_gcc491/CMSSW_7_4_X_2015-03-11-0200/DataFormats/HcalDigi
Could you please fix them?
The same warnings are in CMSSW_7_5_X_2015-03-11-0200

@agude
Copy link
Author

agude commented Mar 11, 2015

@nclopezo

Yes, I'll get those patched tonight.

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

9 participants