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

CICADA-uGT emulator additions #44222

Merged
merged 15 commits into from
Jun 27, 2024
Merged

Conversation

aloeliger
Copy link
Contributor

@aloeliger aloeliger commented Feb 27, 2024

PR description:

This PR adds the uGT half of the CICADA -> uGT emulator chain. It adds all the pieces needed to parse and compare the new CICADA condition added in uTM v 0.12.0. This is being opened in draft because no unpacker/packer combo is available yet, but will be added after I have had the chance to speak to experts about reading the CICADA record.

Depends on utm version 0.12.0

@elfontan You should likely take a look at my work on this, this is more working with uGT than I am used to.

@cms-sw/hlt-l2 Just in case you aren't automatically pinged on this, FYI. There is no unpacker/packer, but I will keep this in draft while I develop them. I will be speak to experts about it ASAP.

EDIT 06/03/24: Draft unpacker (not non-trivially tested) added.

PR validation:

All code compiles and has had code formatting applied.

In addition, I have tested the emulator on a new proto-type menu including a CICADA seed:
https://cernbox.cern.ch/files/link/public/LeBbgndwFDjWoI5?tiles-size=1&items-per-page=100&view-mode=resource-table

The emulator runs all the way through. The following are debug statements (now removed) from various components of the global board, CICADA conditions, and trigger menu parser showing that the emulator receives the score, compares to the menu, and in this case, decides it is below threshold and doesn't pass the menu cut:

Begin processing the 2nd record. Run 368566, Event 2615907242, LumiSection 1195 on stream 0 at 27-Feb-2024 08:34:54.517 CST
GlobalBoard::receiveCaloObjectData receive cicada
Valid CICADA
2.73438
GlobalBoard::runGTL CondCICADA
CICADACondition::evaluationCondition begin
cicada score is: 2.73438
min threshold is: 42
passCondition? 0

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 however, is likely to be needed for data-taking so a backport is probable to CMSSW_14_0.

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 27, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39227

@aloeliger aloeliger marked this pull request as ready for review March 6, 2024 15:02
@aloeliger
Copy link
Contributor Author

I'm marking this pull request ready after adding the unpacker commit. However, I should stress that the unpacker has not been tested in realistic conditions with actual CICADA input data present, and therefore has not been tested to be working. It does compile, and it does seem to properly fail-safe to a 0.0 score in the case of nothing to unpack/nothing unpacked.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 6, 2024

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39361

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

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 6, 2024

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44222/39362

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 6, 2024

A new Pull Request was created by @aloeliger for master.

It involves the following packages:

  • EventFilter/L1TRawToDigi (l1)
  • L1Trigger/L1TGlobal (l1)

@aloeliger, @epalencia, @cmsbuild can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @thomreis, @missirol, @dinyar, @eyigitba 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

@aloeliger
Copy link
Contributor Author

assign hlt

  • I think HLT wants to sign off on changes to the uGT emulator?

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 6, 2024

New categories assigned: hlt

@Martin-Grunewald,@mmusich you have been requested to review this Pull request/Issue and eventually sign? Thanks

@Martin-Grunewald
Copy link
Contributor

It is not clear to me how/where the unpacker is called. Within existing (unpacking) code or a new module, which needs to be added to some python unpacking sequence? What about the packer?

@aloeliger
Copy link
Contributor Author

It is not clear to me how/where the unpacker is called. Within existing (unpacking) code or a new module, which needs to be added to some python unpacking sequence? What about the packer?

@Martin-Grunewald It's defined as part of the GT unpacking setup here:

I need to wait until I have test crate records before I can test this non-trivially however. (Seems like it wont unpack empty/unused records?).

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-547e2e/40102/summary.html
COMMIT: 3d72abe
CMSSW: CMSSW_14_1_X_2024-06-26-1200/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/44222/40102/install.sh to create a dev area with all the needed externals and cmssw changes.

  • DAS Queries: The DAS query tests failed, see the summary page for details.

RelVals

----- Begin Fatal Exception 26-Jun-2024 19:58:31 CEST-----------------------
An exception of category 'OutOfBound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'HLTriggerFinalPath'
   [2] Prefetching for module TriggerSummaryProducerAOD/'hltTriggerSummaryAOD'
   [3] Prefetching for module L1HPSPFTauProducer/'l1tHPSPFTauProducer'
   [4] Prefetching for module L1TPFCandMultiMerger/'l1tLayer1'
   [5] Prefetching for module L1TCorrelatorLayer1Producer/'l1tLayer1HGCal'
   [6] Prefetching for module PFClusterProducerFromHGC3DClusters/'l1tPFClustersFromHGC3DClusters'
   [7] Calling method for module HGCalBackendLayer2Producer/'l1tHGCalBackEndLayer2Producer'
Exception Message:
TC X1 = 10295.1 out of the seeding histogram bounds 0.076 - 0.58
----- End Fatal Exception -------------------------------------------------

@aloeliger
Copy link
Contributor Author

That's a phase 2 issue, which should be impossible for this to affect

@aloeliger
Copy link
Contributor Author

+l1

@aloeliger
Copy link
Contributor Author

Wrong PR. But whatever.

@aloeliger
Copy link
Contributor Author

please test

Hoping this is temporary

@iarspider
Copy link
Contributor

TC X1 = 10295.1 out of the seeding histogram bounds 0.076 - 0.58

Known issue: #41451 .

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-547e2e/40106/summary.html
COMMIT: 3d72abe
CMSSW: CMSSW_14_1_X_2024-06-26-1200/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/44222/40106/install.sh to create a dev area with all the needed externals and cmssw changes.

  • DAS Queries: The DAS query tests failed, see the summary page for details.

Comparison Summary

Summary:

  • You potentially removed 1 lines from the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 10 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3345088
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3345062
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 202 log files, 165 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@Martin-Grunewald
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

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

@aloeliger @cms-sw/l1-l2
Just confirming that this includes the re-revert of #45037?

@antoniovilela
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 307f456 into cms-sw:master Jun 27, 2024
11 checks passed
@aloeliger
Copy link
Contributor Author

aloeliger commented Jun 27, 2024

@aloeliger @cms-sw/l1-l2
Just confirming that this includes the re-revert of #45037?

@antoniovilela That is correct. bcb0dab should rerevert #45037 (I.e. it is included again)

@antoniovilela
Copy link
Contributor

@aloeliger @cms-sw/l1-l2
Just confirming that this includes the re-revert of #45037?

@antoniovilela That is correct. bcb0dab should rerevert #45037 (I.e. it is included again)

Thanks.

@@ -51,6 +51,8 @@ void L1TGlobalProducer::fillDescriptions(edm::ConfigurationDescriptions& descrip
->setComment("InputTag for Calo Trigger EtSum (required parameter: default value is invalid)");
desc.add<edm::InputTag>("EtSumZdcInputTag", edm::InputTag(""))
->setComment("InputTag for ZDC EtSums Plus and Minus (required parameter: default value is invalid)");
desc.add<edm::InputTag>("CICADAInputTag", edm::InputTag(""))
->setComment("InputTag for CICADA Anomaly Detection (required parameter: default value is invalid)");
Copy link
Contributor

Choose a reason for hiding this comment

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

So now that this PR and its backport are in 14_1 / 14_0, what value for this new parameter should be used at HLT level running the L1TGlobalProducer? hltGtStage2ObjectMap = cms.EDProducer( "L1TGlobalProducer",...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@Martin-Grunewald Do you want emulator or DAQ values?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For emulator it should be this guy:

https://github.com/cms-sw/cmssw/blob/master/L1Trigger/L1TCaloLayer1/python/simCaloStage2Layer1Summary_cfi.py

For unpacked, here:

https://github.com/cms-sw/cmssw/blob/master/EventFilter/L1TRawToDigi/python/caloLayer1Digis_cfi.py

we don't show up in the production uGT record though, so I wouldn't expect that to be valid yet.

Copy link
Contributor

Choose a reason for hiding this comment

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

So in HLT where we run hltGtStage2Digis = cms.EDProducer( "L1TRawToDigi",...
it would be hltGtStage2ObjectMap.CICADAInputTag = cms.InputTag("hltGtStage2Digis","CICADAScore"),, correct?

Copy link
Contributor

Choose a reason for hiding this comment

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

Can this discussion be documented in a CMSHLT Jira ticket please @aloeliger ?

Copy link
Contributor

Choose a reason for hiding this comment

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

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