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

[mkFit] Propagate to plane -- technical changes to support further development #43146

Merged
merged 1 commit into from
Nov 18, 2023

Conversation

osschar
Copy link
Contributor

@osschar osschar commented Oct 29, 2023

PR description:

Implement propagation to plane and Kalman update to plane -- work done by @cerati

Propagation to plane is used for propagation to the hit, while propagation to r and z are used for propagation to the layer center. Propagation to the hit starts from the state at the previous hit (by re-calling the mkfndr->inputTracksAndHitIdx(...) ).

This also updates the material effects, as developed by @slava77.

Both changes are currently disabled by default via mkfit::Config switches, making this a technical PR to support further development, especially for layer-processing optimizations & improvements and for supporting Phase2 tilted geometry.

PR validation:

MTV plots in preparation, there should be no significant changes.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43146/37427

ERROR: Build errors found during clang-tidy run.

RecoTracker/MkFitCore/src/PropagationMPlex.icc:70:3: error: no matching function for call to 'parsFromPathL_impl' [clang-diagnostic-error]
  parsFromPathL_impl(inPar, outPar, kinv, s, nmin, nmax);
  ^~~~~~~~~~~~~~~~~~
RecoTracker/MkFitCore/src/PropagationMPlex.icc:418:3: note: in instantiation of function template specialization 'parsAndErrPropFromPathL_impl<Matriplex::Matriplex<float, 6, 1, 4>, Matriplex::Matriplex<int, 1, 1, 4>, Matriplex::Matriplex<float, 6, 1, 4>, Matriplex::Matriplex<float, 6, 6, 4>, Matriplex::Matriplex<float, 1, 1, 4>>' requested here
--
RecoTracker/MkFitCore/src/PropagationMPlex.icc:383:5: error: no matching function for call to 'parsFromPathL_impl' [clang-diagnostic-error]
    parsFromPathL_impl(inPar, outParTmp, kinv, s, nmin, nmax);
    ^~~~~~~~~~~~~~~~~~
RecoTracker/MkFitCore/src/PropagationMPlex.cc:1094:5: note: in instantiation of function template specialization 'helixAtPlane_impl<Matriplex::Matriplex<float, 6, 1, 4>, Matriplex::Matriplex<int, 1, 1, 4>, Matriplex::Matriplex<float, 6, 1, 4>, Matriplex::Matriplex<float, 3, 1, 4>, Matriplex::Matriplex<float, 6, 6, 4>, Matriplex::Matriplex<float, 1, 1, 4>>' requested here
--
gmake: *** [config/SCRAM/GMake/Makefile.coderules:129: code-checks] Error 2
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 2

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-43146/37428

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @osschar (Matevž Tadel) for master.

It involves the following packages:

  • RecoTracker/MkFit (reconstruction)
  • RecoTracker/MkFitCore (reconstruction)

@mandrenguyen, @cmsbuild, @jfernan2 can you please review it and eventually sign? Thanks.
@JanFSchulte, @mtosi, @VourMa, @rovere, @felicepantaleo, @gpetruc, @VinInn, @missirol, @GiacomoSguazzoni, @dgulhan, @makortel, @mmusich this is something you requested to watch as well.
@rappoccio, @antoniovilela, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Oct 29, 2023

@cmsbuild please test

@osschar
Copy link
Contributor Author

osschar commented Oct 29, 2023

There is a minimal conflic between this PR and PR # #43145.
It occurs around MkFitCore/src/MkFinder.cc:170 -- both changes should be accepted.

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e36544/35490/summary.html
COMMIT: 03da373
CMSSW: CMSSW_13_3_X_2023-10-29-0000/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/43146/35490/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 37 lines to the logs
  • Reco comparison results: 18293 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 3362691
  • DQMHistoTests: Total failures: 20917
  • DQMHistoTests: Total nulls: 3
  • DQMHistoTests: Total successes: 3341749
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.043 KiB( 49 files compared)
  • DQMHistoSizes: changed ( 141.044 ): 0.043 KiB JetMET/SUSYDQM
  • Checked 214 log files, 167 edm output root files, 50 DQM output files
  • TriggerResults: no differences found

@@ -488,7 +488,19 @@ namespace mkfit {
errorProp.setVal(0.f);
outFailFlag.setVal(0.f);

//helixAtRFromIterativeCCS_impl_new(inPar, inChg, msRad, outPar, errorProp, outFailFlag, 0, NN, N_proc, pflags);
helixAtRFromIterativeCCS_impl(inPar, inChg, msRad, outPar, errorProp, outFailFlag, 0, NN, N_proc, pflags);
/*
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a good reason to keep all this commented code?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have removed this (and the much longer implementation in the .icc file) for now and left a comment below with a reference to specific commit in case this needs to be revisited.

@antoniovilela
Copy link
Contributor

please test workflow 136.881

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e36544/35934/summary.html
COMMIT: 7fab695
CMSSW: CMSSW_14_0_X_2023-11-17-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/43146/35934/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 360 lines to the logs
  • Reco comparison results: 6916 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 3415195
  • DQMHistoTests: Total failures: 26115
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3389058
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
  • Checked 218 log files, 170 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

@antoniovilela
Copy link
Contributor

+1

@antoniovilela
Copy link
Contributor

merge

  • @cms-sw/reconstruction-l2 signed before squash.

@cmsbuild cmsbuild merged commit 9e9d289 into cms-sw:master Nov 18, 2023
11 checks passed
@perrotta
Copy link
Contributor

(Unsolicited comment, please ignore if you think so). I understand the urgency to merge this PR. However, given it touches very important areas of tracking I think that the code should be kept cleaner, easier to investigate and worked on, if needed. There are large chunks of commented out code that would at least deserve some comment: in particular, the last rebase only brought in commented out lines of codes. Another thing I noticed: in PropagationMPlex the DEBUG sections may not work, because the definition of the debug variable (at least) is also commented out. Did you ever try it? I suspect that some extra gymnastic would be needed to allow debugging, besides just switching the DEBUG flag at line

@antoniovilela
Copy link
Contributor

(Unsolicited comment, please ignore if you think so). I understand the urgency to merge this PR. However, given it touches very important areas of tracking I think that the code should be kept cleaner, easier to investigate and worked on, if needed. There are large chunks of commented out code that would at least deserve some comment: in particular, the last rebase only brought in commented out lines of codes. Another thing I noticed: in PropagationMPlex the DEBUG sections may not work, because the definition of the debug variable (at least) is also commented out. Did you ever try it? I suspect that some extra gymnastic would be needed to allow debugging, besides just switching the DEBUG flag at line

Thanks Andrea.
@osschar @slava77
Matevž, could you follow up?

@osschar
Copy link
Contributor Author

osschar commented Nov 18, 2023

Indeed, the last commit from before the rebase, c9b4d5e, has been lost. I must have made a mistake, I apologize for this. How do you want me to handle this, open a new PR with just this change?

The DEBUG thing is like this by design -- it allows us to switch debug printouts on/off with finer granularity than on the level of whole files.
https://github.com/cms-sw/cmssw/blob/master/RecoTracker/MkFitCore/src/Debug.h

@antoniovilela
Copy link
Contributor

Indeed, the last commit from before the rebase, c9b4d5e, has been lost. I must have made a mistake, I apologize for this. How do you want me to handle this, open a new PR with just this change?

The DEBUG thing is like this by design -- it allows us to switch debug printouts on/off with finer granularity than on the level of whole files. https://github.com/cms-sw/cmssw/blob/master/RecoTracker/MkFitCore/src/Debug.h

Hi Matevž,
Yes, you can open a new PR. In the description mention it is a follow up of this.
To squash the commits into one, you could use the git cms-squash-topic command, introduced recently (https://cms-sw.github.io/tutorial-resolve-conflicts.html).
Thanks.

@jfernan2
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 be automatically merged.

@osschar
Copy link
Contributor Author

osschar commented Nov 22, 2023

Thank you @antoniovilela! I have opened a follow up PR, #43356.

@antoniovilela
Copy link
Contributor

Thank you @antoniovilela! I have opened a follow up PR, #43356.

Thanks

cmsbuild added a commit that referenced this pull request Nov 23, 2023
[MkFit] Remove commented-out code, follow up to #43146
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.

10 participants