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

[HGCAL] Fix search box eta phi #39598

Merged
merged 2 commits into from Oct 9, 2022
Merged

Conversation

rovere
Copy link
Contributor

@rovere rovere commented Oct 4, 2022

PR description:

Properly handle negative eta values in calls to searchBoxEtaPhi of the Tile data structures.
Rewrite unit tests to check its validity.

PR validation:

Unit tests run fine.
Expect no regression.

The tile data structures are used everywhere in TICL and should handle
both positive and negative eta values. While the one used to create
layer clusters natively supports that use case, the one used in the
pattern recognition algorithms does not and internally translates
negative eta values into positive ones. Therefore the logic of the
method searchBoxEtaPhi had to be fixed in order to handle all possible
input values for etaMin, etaMax, phiMin and phiMax. The data structure
for the layer clusters only needed a protection on the correctness of
the eta range, while the one used within TICL required a little more
work and plumbing to make it work the way it is supposed to work.  To be
noted that for this latter case, queries that use intervals in eta
spanning both sides of HGCAL are silently ignored and will return an
empty interval. The TICLLayerTile data structure can only handle one
HGCAL endcap at a time.
@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 4, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39598/32393

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 4, 2022

A new Pull Request was created by @rovere (Marco Rovere) for master.

It involves the following packages:

  • DataFormats/HGCalReco (upgrade, reconstruction)
  • RecoLocalCalo/HGCalRecProducers (upgrade, reconstruction)

@cmsbuild, @AdrianoDee, @srimanob, @mandrenguyen, @clacaputo can you please review it and eventually sign? Thanks.
@youyingli, @vandreev11, @apsallid, @sethzenz, @bsunanda, @felicepantaleo, @lgray, @edjtscott, @missirol, @cseez, @pfs, @lecriste, @hatakeyamak, @trtomei, @ebrondol, @beaucero this is something you requested to watch as well.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@rovere
Copy link
Contributor Author

rovere commented Oct 4, 2022

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 4, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0979e3/27981/summary.html
COMMIT: dcd5044
CMSSW: CMSSW_12_6_X_2022-10-03-2300/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/39598/27981/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-0979e3/41834.0_TTbar_14TeV+2026D94+TTbar_14TeV_TuneCP5_GenSimHLBeamSpot14+DigiTrigger+RecoGlobal+HARVESTGlobal

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 9 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3432650
  • DQMHistoTests: Total failures: 9
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3432619
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 48 files compared)
  • Checked 204 log files, 49 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

@mandrenguyen
Copy link
Contributor

type hgcal
@rovere Can you please update the title to something more specific to HGCAL/TICL?
"Expect no regression." means expect no effect on regression? I indeed see no changes in the tests.

@cmsbuild cmsbuild added the hgcal label Oct 7, 2022
@rovere rovere changed the title Fix search box eta phi [HGCAL] Fix search box eta phi Oct 7, 2022
@rovere
Copy link
Contributor Author

rovere commented Oct 7, 2022

Expect no regression means that no changes should be visible while running the test, as it's the case.

@mandrenguyen
Copy link
Contributor

+1

@AdrianoDee
Copy link
Contributor

+upgrade

  • fix to the search box definition (only one side and swap if negative limits);
  • new tests with catch run fine.

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2022

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

@@ -90,6 +90,9 @@ class HGCalLayerTilesT {
}

std::array<int, 4> searchBoxEtaPhi(float etaMin, float etaMax, float phiMin, float phiMax) const {
if (etaMax - etaMin < 0) {
Copy link
Contributor

Choose a reason for hiding this comment

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

(just to check): no swap is needed here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ciao @perrotta , thanks for asking. In this specific case, the swap is not needed because this data structure internally supports both positive and negative eta values. The check that the extension of the interval in eta makes sense is the only one needed. The rest is taken care of internally by the bin assignment.

@perrotta
Copy link
Contributor

perrotta commented Oct 9, 2022

+1

@cmsbuild cmsbuild merged commit 591cfef into cms-sw:master Oct 9, 2022
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

5 participants