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

Implements HMT triggers in test vector code for uGT emulator in master #43921

Merged
merged 6 commits into from
May 8, 2024

Conversation

nabrandman
Copy link
Contributor

PR description:

Implements HMT triggers in test vector code for uGT emulator in master.

No changes are expected to the output.

This PR does not depend on any other PRs or externals.

PR validation:

Performed runTheMatrix with -l 11634.0, passed 5 out of 5 tests. Test vector code was also validated with firmware and was shown to be equivalent.

Changes were checked against "scram build code-format" to ensure they followed CMS Naming, Coding and Style Rules.

If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:

This PR is not a backport.

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43921/38773

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

A new Pull Request was created by @nabrandman (Nathan) for master.

It involves the following packages:

  • L1Trigger/L1TGlobal (l1)

@cmsbuild, @aloeliger, @epalencia can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @missirol this is something you requested to watch as well.
@sextonkennedy, @antoniovilela, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@epalencia
Copy link
Contributor

Please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2024

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5b4b35/37313/summary.html
COMMIT: 94f21d3
CMSSW: CMSSW_14_1_X_2024-02-08-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/43921/37313/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

@@ -224,6 +234,7 @@ namespace l1t {
//outputs
std::unique_ptr<l1t::EGammaBxCollection> egammas(new l1t::EGammaBxCollection(0, bxFirst, bxLast));
std::unique_ptr<l1t::MuonBxCollection> muons(new l1t::MuonBxCollection(0, bxFirst, bxLast));
std::unique_ptr<l1t::MuonShowerBxCollection> muonShowers(new l1t::MuonShowerBxCollection(0, bxFirst, bxLast));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future, I think std::make_unique<l1t::MuonShowerBxCollection>(...args...) is preferred over new, but this is not the first/only example of that in this file.

Comment on lines 1006 to 1033
if (false) { // for debugging purposes
std::cout << "---- Non-existant Muon ------------------" << std::endl;
std::cout << "<< 0; mu->hwPhiAtVtx() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x3ff) << 0) << std::endl;
std::cout << "<< 10; mu->hwPt() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x1ff) << 10) << std::endl;
std::cout << "<< 19; mu->hwQual() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0xf) << 19) << std::endl;
std::cout << "<< 23; mu->hwEtaAtVtx() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x1ff) << 23) << std::endl;
std::cout << "<< 32; mu->hwIso() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x3) << 32) << std::endl;
std::cout << "<< 34; mu->hwCharge() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x1) << 34) << std::endl;
std::cout << "<< 35; mu->hwChargeValid() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x1) << 35) << std::endl;
std::cout << "<< 43; mu->hwPhi() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x3ff) << 43) << std::endl;
std::cout << "<< 53; mu->hwPtUnconstrained() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0xff) << 53) << std::endl;
std::cout << "<< 61: muShowerBit = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(muShowerBit & 0x1) << 61) << std::endl;
std::cout << "<< 62; mu->hwDXY() = " << std::hex << std::setw(16) << std::setfill('0')
<< ((cms_uint64_t)(0 & 0x3) << 62) << std::endl;
std::cout << "packedWord = " << std::hex << std::setw(16) << std::setfill('0') << packedVal
<< std::endl;
std::cout << "----------------------" << std::endl;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this intended for general CMSSW use in L1 emulation? If it is, using logDebug instead of this always false block which is never used would be preferred.

@aloeliger
Copy link
Contributor

hold

  • L1T uGT experts have asked this held until validation of all changes can be done.

@cmsbuild
Copy link
Contributor

Pull request has been put on hold by @aloeliger
They need to issue an unhold command to remove the hold state or L1 can unhold it for all

@cmsbuild cmsbuild added the hold label Feb 21, 2024
@aloeliger
Copy link
Contributor

@elfontan @nabrandman What is the status of validation of these changes? Are we okay to merge this?

@aloeliger
Copy link
Contributor

@elfontan @nabrandman What is the status of validation of these changes? Are we okay to merge this?

@elfontan @nabrandman Just a ping on whether this PRs changes have been validated firmware side.

…ng unnecessary print statements from GtRecordDump based on feedback, updating test vector preparing scripts to use more recent menu and rootfiles.
@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 5, 2024

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43921/39825

  • This PR adds an extra 36KB to repository

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43921/40083

  • This PR adds an extra 44KB to repository

@cmsbuild
Copy link
Contributor

Pull request #43921 was updated. @epalencia, @cmsbuild, @aloeliger can you please check and sign again.

@nabrandman
Copy link
Contributor Author

@aloeliger Sorry, yes, this should now include all expected changes

@aloeliger
Copy link
Contributor

unhold

@aloeliger
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5b4b35/39069/summary.html
COMMIT: 3fa8cb3
CMSSW: CMSSW_14_1_X_2024-04-24-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/43921/39069/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

There are some workflows for which there are errors in the baseline:
24834.78 step 2
The results for the comparisons for these workflows could be incomplete
This means most likely that the IB is having errors in the relvals.The error does NOT come from this pull request

Summary:

@aloeliger
Copy link
Contributor

+l1

@cmsbuild
Copy link
Contributor

cmsbuild commented May 8, 2024

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. @sextonkennedy, @rappoccio, @antoniovilela (and backports should be raised in the release meeting by the corresponding L2)

@antoniovilela
Copy link
Contributor

+1

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.

5 participants