-
Notifications
You must be signed in to change notification settings - Fork 26
Update of the GMT Emulator #1203
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
Update of the GMT Emulator #1203
Conversation
The Node class is renamed as TPS
The original header files were moved to plugins by central CMSSW. Given the growing code, we think it is better to split header and source files, to keep the code clean.
Sending quality score and isolation sum to GT
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR succeeded!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no issues with the code checks!
I found issues with the headers. These issues likely arise from improper build files. The following is the stderr of the header checking:
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found 4 files that did not meet formatting requirements:
Please run
|
|
@zhenbinwu I believe the header check issue is because this file uses constants from a file/namespace, but without ever directly including that file. It gets "included" more less by accident because something else that gets compiled into the library needs it, so these things are not undefined, just sort of there by coincidence. I think you can likely clean that up just by including the similar constants file the other muon trigger directory. Also, could you please clean up the code formatting for: Don't worry about the track jet clustering, it is not yours. |
L1Trigger/Phase2L1GMT/interface/Constants.h was obsolete and removed. The TPSLUTs.h is used instead.
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR succeeded!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no issues with the code checks!
I found no issues with the headers!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found 1 files that did not meet formatting requirements:
Please run
|
| const int BITSGTD0 = 10; | ||
| const int BITSGTQUAL = 8; | ||
| const int BITSGTISO = 4; | ||
| const int BITSGTQUAL = 6; |
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.
Seeing that you reduced the bits for the interface even further, can we assume that the quality bitwidth has been fixed with this now? If I can recall internally your quality was 9 bits but wrapped into 8 on the interface, hence we saw mismatches when comparing the CMSSW hardware accurate emulator with the custom emulator from the menu team. Did you now split the old 9 bit quality into a quality score and quality flags field?
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.
The tkMuon quality used to store the matching quality + pt penalty, which used more than 8 bits. Instead of storing the matching quality, we have moved to store the tkmuon quality bits with various quality cuts . These qualities are open for suggestions. We will hear feedback from menu team to further fine tune them. Moving to quality bits, we reduced the bit width from 8 to 6, which I think should be sufficient. Quality score is quality bits | (charge << 6). This is already done in here. For backward capabilities, I still keep the charge and quality().
Since we will send isolation sum instead of isolation bit, I increased the isolation bit width from 4 to 6, with the LSB of 0.25GeV. The changes only for quality + isolation, so that the rest of the interface don't need changes. But I will update the interface doc.
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.
Updated overleaf
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 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.
Sorry, my oversight. Thanks for pointing it out. Updated.
| for (const auto& track : kmtfOutput.second) { | ||
| kmtfTracks.push_back(track); | ||
| ap_int<7> dxy = track.dxy() * ap_ufixed<8, 1>(1.606); | ||
| l1t::SAMuon p(track.p4(), |
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.
@zhenbinwu I just realized I have a bug here on l132 track.p4() has to be replaced by track.displacedP4() . Can we add it ? If not we can do another PR later
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.
Nice catch. Ok, fixed.
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR succeeded!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no issues with the code checks!
I found no issues with the headers!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no files with code format issues!
|
Co-authored-by: Andrew Loeliger <[email protected]>
Co-authored-by: Andrew Loeliger <[email protected]>
|
@zhenbinwu Due to the ongoing merging of PRs to construct a branch for the menu team to validate, some conflicts in class defintions have been introduced. Please resolve these by either rebasing the branch, or here in github. We would appreciate this being done ASAP. |
Ok, fixed the conflicts on github. The rebased branch is zhenbinwu:GMT_24ESR_l1t14. Probably we won't need that one. |
| _phase2_siml1emulator.add( l1tTkStubsGmt ) | ||
| _phase2_siml1emulator.add( l1tTkMuonsGmt ) | ||
| _phase2_siml1emulator.add( l1tSAMuonsGmt ) | ||
| # l1tTkStubsGmt = l1tGMTStubs.clone() |
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.
Hi! Where are the muons added to the l1tsequence if they are removed here?
1. Fix issues when moving to CMSSW_14 release 2. Changed all the printf to edmLogInfo
Removed LDFLAGS from BuildFile.xml Added new clases to SimL1Emulator Added EMTF converter Fixed dependency issue Added z0 support Fixed typo in ModeV2 Fixed missing sign in track_eta Fixed eta signs
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR failed. The following is the stderr of the compilation attempt:
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. This PR failed the code checks. I found the following lines where an "error" was mentioned, they may help in debugging Please check and see if these lines help debugging.
I found no issues with the headers!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found 2 files that did not meet formatting requirements:
Please run
|
|
@zhenbinwu Could you please check the compilation errors found here? |
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR succeeded!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no issues with the code checks!
I found no issues with the headers!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found 2 files that did not meet formatting requirements:
Please run
|
|
@zhenbinwu, could you please check the format issue in |
…line with cms-merge-topic
- Get the Phase 2 prompt and displaced OMTF and EMTF to GMT SA - Add Phase 2 OMTF, EMTF, GMT to L1
|
I have added the Phase-2 OMTF and EMTF to the GMT SAMuon producer. I also added these 3 PRs to the SimL1Emulator. Thanks for the comments from @aloeliger. I think I addressed those that we can agree upon. Please let me know if you have further comments. Thanks |
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. Attempts to compile this PR succeeded!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found no issues with the code checks!
I found no issues with the headers!
|
|
Hello, I'm triggerDoctor. @aloeliger is testing this script for L1T offline software validation. I found 1 files that did not meet formatting requirements:
Please run
|
|
@zhenbinwu This is being merged to provide validation material for the menu team. If there is no PR open to main CMSSW for this PR, please do so immediately. @epalencia FYI. |
|
@aloeliger Created PR to main CMSSW in cms-sw#44319. |

PR description:
EMTF. We will update to Phase 2 OMTF and EMTF in next PR
PR validation:
Local test of performance seems reasonable. Running tests with larger statistic