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

Merged the MeasurementEstimators into the PixelHitMatcher #28262

Merged
merged 3 commits into from Nov 4, 2019
Merged

Merged the MeasurementEstimators into the PixelHitMatcher #28262

merged 3 commits into from Nov 4, 2019

Conversation

guitargeek
Copy link
Contributor

PR description:

After my last PR #28213 definitely removed the support in the electron pixel hit matching for not using the standard tracker seeds, there is still some code left to remove which is now obsolete. Much of it could be found in the classes BarrelMeasurementEstimator and ForwardMeasurementEstimator, which unnecessarily inherit from MeasurementEstimator and only one of their respective member functions is actually used. Whether a track extrapolation falls into the matching window in the next layer.

I propose to integrate the remaining functionality of these estimator classes after cleaning them up as private functors of the PixelHitMatcher class. Sorry for having multiple of these small cleanup PRs, but I don't want to risk any differences in the comparisons by doing to much at once and possibly making mistakes.

PR validation:

CMSSW compiles and local matrix tests pass.

if this PR is a backport please specify the original PR:

No backport intended.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28262/12425

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @guitargeek (Jonas Rembser) for master.

It involves the following packages:

RecoEgamma/EgammaElectronAlgos
RecoEgamma/Examples

@perrotta, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@Sam-Harper, @jainshilpi, @lgray, @sobhatta, @afiqaize, @varuns23 this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Oct 24, 2019

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 24, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/3142/console Started: 2019/10/24 18:40

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-28ba0e/3142/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2961036
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2960693
  • DQMHistoTests: Total skipped: 341
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@slava77
Copy link
Contributor

slava77 commented Oct 30, 2019

code-checks

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@guitargeek
Copy link
Contributor Author

guitargeek commented Nov 1, 2019

That would have worked, but I wanted to reuse the code for the TrajSeedMatcher. So it had to go in some header file because I wanted to inline it for best performance, and I read in the core guidelines that you should not use the anonymous namespace in header files:
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rs-unnamed
And indeed, the compiler would give me a warning if I would use the anonymous namespace there:

RecoEgamma/EgammaElectronAlgos/interface/TrajSeedMatcher.h:48:7: warning: 'TrajSeedMatcher' has a field 'TrajSeedMatcher::trajStateFromPointPosChargeCache_' whose type uses the anonymous namespace [-Wsubobject-linkage]

@@ -173,7 +217,7 @@ std::vector<SeedWithInfo> PixelHitMatcher::operator()(const std::vector<const Tr
auto idx2 = std::distance(hits.first, it2);
const DetId id2 = it2->geographicalId();
const GeomDet *geomdet2 = it2->det();
const std::pair<const GeomDet *, GlobalPoint> det_key(geomdet2, hit1Pos);
const auto det_key = std::make_pair(geomdet2->gdetIndex(), hit1Pos);
Copy link
Contributor

Choose a reason for hiding this comment

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

the logic of the map filling is different now.
Is the gdetIndex unique?

Copy link
Contributor Author

@guitargeek guitargeek Nov 1, 2019

Choose a reason for hiding this comment

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

I honestly didn't really check, I just did this for the sake of unifying with the HLT code which does that. I trust Sams modification there. It's certainly nicer than hashing the memory location which might cause bugs if you at some place copied the GeomDet!

@slava77
Copy link
Contributor

slava77 commented Nov 1, 2019

That would have worked, but I wanted to reuse the code for the TrajSeedMatcher

I see, a feature creep

@cms-sw cms-sw deleted a comment from guitargeek Nov 1, 2019
@slava77
Copy link
Contributor

slava77 commented Nov 1, 2019 via email

@slava77
Copy link
Contributor

slava77 commented Nov 1, 2019

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 1, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/3310/console Started: 2019/11/01 22:41

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 1, 2019

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 1, 2019

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 2, 2019

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-28ba0e/3310/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2939026
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2938683
  • DQMHistoTests: Total skipped: 341
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@slava77
Copy link
Contributor

slava77 commented Nov 4, 2019

+1

for #28262 50c5ef8

  • essentially all technical code changes are in line with the PR description and the follow up review
  • jenkins tests pass and comparisons with the baseline show no (relevant) differences

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 4, 2019

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. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@fabiocos
Copy link
Contributor

fabiocos commented Nov 4, 2019

+1

@cmsbuild cmsbuild merged commit 2e30930 into cms-sw:master Nov 4, 2019
@guitargeek guitargeek deleted the PixelHitMatcher_MeasurementEstimators branch November 5, 2019 13:12
@smuzaffar
Copy link
Contributor

@slava77 , @fabiocos ( referring to your cmment: #28262 (comment) ) we had missed few github web hooks that is why for some PRs the https://github.com/cms-sw/cms-prs/blob/master/cms-sw/cmssw/.other/files_changed_by_prs.json was not updated. This has been fixed now and just to make sure that we have not missed any thing we force update it every 4 hours.

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