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

add fillDescriptions to CkfTrackCandidateMaker (and its dependencies) #36459

Merged

Conversation

missirol
Copy link
Contributor

@missirol missirol commented Dec 11, 2021

PR description:

This PR is an attempt to integrate the changes developed in #35385 (credits: @mmusich), in order to address #35344.

This PR starts from the last bit of development mentioned in #35385 (comment), rebased on a recent IB; more information on how these changes came together can be found in #35385. Since the latter slowed down, I'm opening another PR to at least test those latest changes.

Adding a fillDescriptions method to CkfTrackCandidateMaker required more work than expected, because of the many dependencies of this plugin. Going down the rabbit hole of adding fillDescriptions for all the relevant classes led to touching a large number of files, both in the c++ and python interfaces. The introduction of fillDescriptions methods in these classes exposed a number of unused parameters in PSets of various modules. In order to clean these up, customisations for the HLT configs were also necessary.

Merely technical. Must not change any of the outputs. No changes expected.

PR validation:

addOnTests, unit tests, and a limited set of matrix workflows passed. No detailed physics validation, only verified that the HLT decisions for a few wfs (max. 10 events each) are unchanged.

If this PR is a backport, please specify the original PR and why you need to backport that PR:

N/A

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36459/27305

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @missirol (Marino Missiroli) for master.

It involves the following packages:

  • HLTrigger/Configuration (hlt)
  • RecoHI/HiMuonAlgos (reconstruction)
  • RecoHI/HiTracking (reconstruction)
  • RecoMuon/L3TrackFinder (hlt, reconstruction)
  • RecoPixelVertexing/PixelLowPtUtilities (reconstruction)
  • RecoTracker/CkfPattern (reconstruction)
  • RecoTracker/Configuration (reconstruction)
  • RecoTracker/ConversionSeedGenerators (reconstruction)
  • RecoTracker/IterativeTracking (reconstruction)
  • TrackingTools/GsfTracking (reconstruction)
  • TrackingTools/TrajectoryFiltering (reconstruction)

@Martin-Grunewald, @clacaputo, @cmsbuild, @missirol, @slava77, @jpata can you please review it and eventually sign? Thanks.
@felicepantaleo, @abbiendi, @CeliaFernandez, @Martin-Grunewald, @Fedespring, @mmusich, @cericeci, @silviodonato, @JanFSchulte, @jhgoh, @sscruz, @trocino, @yetkinyilmaz, @GiacomoSguazzoni, @rovere, @VinInn, @bellan, @ebrondol, @mtosi, @dgulhan, @HuguesBrun, @mandrenguyen, @MiheeJo, @jazzitup, @calderona, @yenjie, @lecriste, @kurtejung, @gpetruc, @rociovilar this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@missirol
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-aef66a/21198/summary.html
COMMIT: d420c86
CMSSW: CMSSW_12_3_X_2021-12-10-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36459/21198/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 938 differences found in the comparisons
  • DQMHistoTests: Total files compared: 42
  • DQMHistoTests: Total histograms compared: 3250704
  • DQMHistoTests: Total failures: 162
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3250519
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 41 files compared)
  • DQMHistoSizes: changed ( 312.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 177 log files, 37 edm output root files, 42 DQM output files
  • TriggerResults: no differences found

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36459/27309

@cmsbuild
Copy link
Contributor

Pull request #36459 was updated. @Martin-Grunewald, @clacaputo, @cmsbuild, @missirol, @slava77, @jpata can you please check and sign again.

@missirol
Copy link
Contributor Author

please test

iDesc.add<double>("subclusterCutSN", 12.);

edm::ParameterSetDescription psdLM;
psdLM.setAllowAnything();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

psdLM.setAllowAnything();

Just to note that, here, there is still a shortcut. The treatment of this PSet is not entirely trivial, so further improvements are left to experts.

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 5, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-aef66a/21546/summary.html
COMMIT: ea77013
CMSSW: CMSSW_12_3_X_2022-01-05-1100/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36459/21546/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 3 differences found in the comparisons
  • DQMHistoTests: Total files compared: 43
  • DQMHistoTests: Total histograms compared: 3461659
  • DQMHistoTests: Total failures: 6
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3461631
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 42 files compared)
  • Checked 181 log files, 42 edm output root files, 43 DQM output files
  • TriggerResults: no differences found

@jpata
Copy link
Contributor

jpata commented Jan 7, 2022

+reconstruction

@missirol
Copy link
Contributor Author

missirol commented Jan 7, 2022

+hlt

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 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, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@@ -161,8 +160,7 @@
numHitsForSeedCleaner = cms.int32(50),
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not removing the explicit type also here and below (and above for maxDPhiForLooperReconstruction, maxPtForLooperReconstruction)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@perrotta I agree, this should be fixed. I'm wondering what the best timeline is: we could test this PR as is in the IB over the weekend, to see if any issues show up in other wfs, before the next pre-release, or I could apply the changes now and that will likely delay things a bit (b/c of re-testing and re-getting signatures). If you think this could be merged already now, I would go for the first option (and will make a separate PR on Monday to fix the explicit-type changes I missed); if you prefer otherwise, I can apply the changes already to this PR.

@@ -210,8 +210,7 @@
# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
MeasurementTrackerName = '',
trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
trajectoryFilter = dict(refToPSet_ = 'lowPtTripletStepTrajectoryFilter'),
maxCand = 4,
estimator = 'lowPtTripletStepChi2Est',
maxDPhiForLooperReconstruction = cms.double(2.0),
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove explicit type?

@@ -275,8 +275,7 @@
# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
pixelPairStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
MeasurementTrackerName = '',
trajectoryFilter = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryFilter')),
trajectoryFilter = dict(refToPSet_ = 'pixelPairStepTrajectoryFilter'),
maxCand = 3,
estimator = 'pixelPairStepChi2Est',
maxDPhiForLooperReconstruction = cms.double(2.0),
Copy link
Contributor

Choose a reason for hiding this comment

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

remove explicit type?

@perrotta
Copy link
Contributor

perrotta commented Jan 8, 2022

@missirol I cannot find the place where the parameters for HI were wrongly set as untracked, as you mentioned in #36459 (comment)
Could you please point it to me? (And also to the HI tracking and overall HI contacts, @abaty and @mandrenguyen)

phase2skipClusters_(false) {
clustersToSkipTag_(conf.getParameter<edm::InputTag>("clustersToSkip")),
skipClusters_(!clustersToSkipTag_.label().empty()),
phase2ClustersToSkipTag_(conf.getParameter<edm::InputTag>("phase2clustersToSkip")),
Copy link
Contributor

Choose a reason for hiding this comment

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

Since clustersToSkip and phase2ClustersToSkip are supposed to be used alternatively, I have the impression that these settings could be simplified... But I agree this is not the PR where to do it, you had already quite a lot of adjustments to apply here only to implement fillDescriptions (thank you for it, by the way!)

@missirol
Copy link
Contributor Author

missirol commented Jan 8, 2022

@missirol I cannot find the place where the parameters for HI were wrongly set as untracked, as you mentioned in #36459 (comment) Could you please point it to me? (And also to the HI tracking and overall HI contacts, @abaty and @mandrenguyen)

Hi @perrotta, in the HIon menu (link), you can look for numHitsForSeedCleaner and onlyPixelHitsForSeedCleaner, and find them 'untracked' in a few modules, for example hltFullIter0CkfTrackCandidatesPPOnAAForDmeson.

@perrotta
Copy link
Contributor

perrotta commented Jan 8, 2022

Ah, ok, thank you @missirol
Then I imagine it was uncorrectly parsed long time ago in some primordial HLT HI menu, and never replaced since then. Then, thanks to the validation implemented here, it could finally get discovered. Cool!

@perrotta
Copy link
Contributor

perrotta commented Jan 8, 2022

+1

  • Please complete the migration to avoid explicit types once this PR is available in the IBs

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.

4 participants