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 new reco::Muon 'displacedMuons' collection to AOD and MiniAOD #37805

Merged

Conversation

CeliaFernandez
Copy link
Contributor

PR description:

This PR is a follow-up from a previous one: #36926

It adds a new reco::Muon collection, called 'displacedMuons', that includes the dedicated displaced muon reconstructions: 'displacedTracks', 'displacedGlobalMuons' and 'displacedStandAloneMuons' (all of them saved in AOD as reco::Track collections).

In this PR we add the necessary modifications to:

  1. Cross-clean the existing reco::Track objects in order to avoid the duplication or loss of displaced muon candidates in the output collection.
  2. Compute the main muon variables, including isolation, time, recoTracksExtras... etc
  3. Save this information in AOD and RECO, as configured for standard 'muons' collection
  4. Read the new reco::Muon collection and create a pat::Muon collection to be saved in MiniAOD
  5. Add a filter to preselect the muons stored in the new pat::Muon collection and reduce the size increase in the new samples.

The sequences are implemented to run independently to the default reco::Muon 'muons' collection and avoid interferences. Muons of the 'muons' collection should remain untouchable. The sequences also emulate the existing implementation and make use of the existing tools and modules so the new information is computed with the default parameters configuration.

The following packages are modified:

  • RecoMuon/Configuration
  • RecoMuon/Identification
  • RecoMuon/MuonIsolationProducers
  • RecoMuon/MuonIsolation
  • PhysicsTools/PatAlgos

This new collection was presented several times in CMS meetings. Further information can be found in:

The increase in size is measured in ttbar (PU) simulation [11834.21 workflow] and totals +1% in AOD and +2.5% in MiniAOD.

Updates from the last presentation:
The filter was further optimized and the preselection requirements on muons were updated.

The implementation was built on top of CMSSW_12_3_0_pre2

@gkaratha @sscruz @trocino

PR validation:

We have checked out all dependencies and have a clean build. Code-checks were applied. Most runTheMatrix tests were successfully run as well:
runall-report-step123-.log

Studies about the physics performance are available in the presentations attached before.

@cmsbuild
Copy link
Contributor

cmsbuild commented May 4, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37805/29723

@cmsbuild
Copy link
Contributor

cmsbuild commented May 4, 2022

A new Pull Request was created by @CeliaFernandez (Celia Fernández Madrazo) for master.

It involves the following packages:

  • PhysicsTools/PatAlgos (reconstruction)
  • RecoMuon/Configuration (reconstruction)
  • RecoMuon/MuonIdentification (reconstruction)
  • RecoMuon/MuonIsolation (reconstruction)
  • RecoMuon/MuonIsolationProducers (reconstruction)

@jpata, @cmsbuild, @clacaputo, @slava77 can you please review it and eventually sign? Thanks.
@rappoccio, @gouskos, @abbiendi, @emilbols, @mbluj, @demuller, @cericeci, @mmarionncern, @ahinzmann, @jhgoh, @jdolen, @HuguesBrun, @azotz, @seemasharmafnal, @trocino, @schoef, @rociovilar, @sscruz, @jdamgov, @bellan, @nhanvtran, @gkasieczka, @hatakeyamak, @andrzejnovak, @AlexDeMoor, @Fedespring, @JyothsnaKomaragiri, @gpetruc, @mariadalfonso 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

@jpata
Copy link
Contributor

jpata commented May 5, 2022

@cmsbuild please test

@jpata
Copy link
Contributor

jpata commented May 5, 2022

type muon

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-37805/30007

@cmsbuild
Copy link
Contributor

Pull request #37805 was updated. @gouskos, @clacaputo, @cmsbuild, @fgolf, @slava77, @jpata, @mariadalfonso can you please check and sign again.

@perrotta
Copy link
Contributor

please test
(I implemented the code-format directly here, to speed up)

@CeliaFernandez
Copy link
Contributor Author

please test (I implemented the code-format directly here, to speed up)

Thanks @perrotta

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-152438/24718/summary.html
COMMIT: 27c8a99
CMSSW: CMSSW_12_4_X_2022-05-13-1100/slc7_amd64_gcc10
Additional Tests: PROFILING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/37805/24718/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
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3697377
  • DQMHistoTests: Total failures: 13
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3697341
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -0.004 KiB( 48 files compared)
  • DQMHistoSizes: changed ( 312.0 ): -0.004 KiB MessageLogger/Warnings
  • Checked 206 log files, 45 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

@clacaputo
Copy link
Contributor

+reconstruction

  • re-sign Add new reco::Muon 'displacedMuons' collection to AOD and MiniAOD #37805 (comment)
  • new reco::Muon displacedMuons collection added to AOD and MINIAOD
    • The increase in size is measured in ttbar (PU) simulation [11834.21 workflow]:
      • +1% in AOD
      • +2.5% in MiniAOD
    • Discussions with Muon POG and EXO PAG guarantee that the new collection size is minimal as it can be, without jeopardizing future physics analysis
    • A review of the content will be made by the end of 2022
  • Profiling jobs don't show anomalous changes in CPU/MEM usage
  • No reco changes have been observed or are expected in other reco quantities

@mariadalfonso
Copy link
Contributor

+xpog

(only code formats changes since the last sign-off)

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

@perrotta
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit e0e5d86 into cms-sw:master May 14, 2022
@qliphy
Copy link
Contributor

qliphy commented May 15, 2022

There is a unit test failure in IB after this PR gets merged.
@CeliaFernandez Would you please have a check asap? We are about to build 12_4_0_pre4.

https://cmssdt.cern.ch/SDT/cgi-bin/logreader/slc7_amd64_gcc10/CMSSW_12_4_X_2022-05-15-0000/unitTestLogs/TauAnalysis/MCEmbeddingTools#/641-641

----- Begin Fatal Exception 15-May-2022 12:20:13 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
[0] Processing Event run: 274199 lumi: 125 event: 245779397 stream: 0
[1] Running path 'MINIAODSIMoutput_step'
[2] Prefetching for module PoolOutputModule/'MINIAODSIMoutput'
[3] Prefetching for module PATMuonSlimmer/'slimmedDisplacedMuons'
[4] Prefetching for module PATMuonSelector/'selectedPatDisplacedMuons'
[5] Prefetching for module PATMuonProducer/'patDisplacedMuons'
[6] Prefetching for module DisplacedMuonFilterProducer/'filteredDisplacedMuons'
[7] Prefetching for module MuonProducer/'displacedMuons'
[8] Prefetching for module CandIsolatorFromDeposits/'dispMuPFMeanDRIsoValuePU03'
[9] Calling method for module CandIsoDepositProducer/'dispMuPFIsoDepositPU'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for a container with elements of type: reco::Candidate
Looking for module label: displacedMuons1stStep
Looking for productInstanceName:

Additional Info:
[a] If you wish to continue processing events after a ProductNotFound exception,
add "SkipEvent = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

@perrotta
Copy link
Contributor

@qliphy I made an attempt fix in #37953
I let bot test it, to speed up things. Of course if anyone wants to test it, or propose more appropriate fixes, that would be welcome.

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.

8 participants