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

Sub-event aware genJet and parton matching for HI miniAOD #31698

Merged
merged 10 commits into from
Oct 20, 2020

Conversation

mandrenguyen
Copy link
Contributor

PR description:

For PbPb generators such as Hydjet we cluster the genJets for each nucleon-nucleon interaction separately. This is done by SubEventGenJetProducer.cc, which gives collections like ak4HiGenJets, already in use in heavy-ion workflows.
In order to do a sensible genJet-recoJet association in PAT, one needs additional procedures that depends on what type of MC is run (ditto for parton association).
For "minimum-bias" generation (a single PbPb event), one needs a cleaning procedure to avoid matching energetic recoJets to incidental overlapping low pT genJets.
For "embedded mode" where we overlay a pp generator (e.g., pythia) onto a PbPb event, we need to use the gen info from the signal event only, despite the fact that we store both the signal and background event in genParticles.

The code modifications consist of:

  • The genJetSubEvent modifier was added, and activated for all MB Hydjet RelVal worklows that use the pp reconstruction (the older --scenario HeavyIons workflows are not able to run miniAOD).
  • Producers were added to filter out the signal gen information from genParticles. These are active if the above modifier is not called. In a pp event without event overlay, the code will return the usual gen info.
  • A counter was added to PATGenJetSlimmer.cc such that it no longer assumes pT-ordered genJets, which is not the case for the sub-event genJet producer
  • SubEventGenJetProducer no longer produces a collection of BasicJets, which were not used for anything, and were causing trouble for modules that don't get by type.
  • slimmedGenJets now takes as input the heavy-ion style genJets
  • slimmedGenJetsFlavourInfos was disactivated, since it doesn't work for sub-event genJets. It's not consumed by any downstream module in heavy-ion wfs.

PR validation:

Tested with 158, 159, 158.01 and 301.

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

Before submitting your pull requests, make sure you followed this checklist:

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2020

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2020

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-31698/18857

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 7, 2020

A new Pull Request was created by @mandrenguyen (Matthew Nguyen) for master.

It involves the following packages:

Configuration/Eras
Configuration/PyReleaseValidation
Configuration/StandardSequences
PhysicsTools/PatAlgos
RecoHI/HiJetAlgos
RecoJets/JetProducers

@perrotta, @jordan-martins, @chayanit, @wajidalikhan, @kpedro88, @cmsbuild, @silviodonato, @franzoni, @slava77, @jpata, @qliphy, @santocch, @fabiocos, @davidlange6 can you please review it and eventually sign? Thanks.
@rappoccio, @gouskos, @yslai, @felicepantaleo, @hatakeyamak, @emilbols, @Martin-Grunewald, @ahinzmann, @peruzzim, @seemasharmafnal, @mmarionncern, @makortel, @smoortga, @dgulhan, @jdolen, @slomeo, @ferencek, @yetkinyilmaz, @GiacomoSguazzoni, @rovere, @VinInn, @jdamgov, @nhanvtran, @gkasieczka, @schoef, @mtosi, @fabiocos, @clelange, @riga, @jazzitup, @JyothsnaKomaragiri, @yenjie, @lecriste, @kurtejung, @gpetruc, @mariadalfonso, @andrzejnovak this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@slava77
Copy link
Contributor

slava77 commented Oct 8, 2020

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 8, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 8, 2020

+1
Tested at: b270197
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-bdae31/9797/summary.html
CMSSW: CMSSW_11_2_X_2020-10-07-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 8, 2020

Comparison job queued.

@chayanit
Copy link

+1

@perrotta
Copy link
Contributor

Checked wf 158 with and without the genJetSubEvent modifier, and everything behaves as expected: with that modifier the current (i.e. as in the baseline) slimmedGenJets in miniAOD are reproduced, while when it gets removed hiSignalGenJets are the source for those slimmedGenJets, as they should.

The net result is that when the hiSignalGenJets are the source for the slimmedGenJets, those slimmedGenJets have a larger set of partons from which they can be built, and therefore the slimmedGenJets size increases in miniAOD, as expected:

 Checking process _ step3_MB_inMINIAODSIM.root and step3_inMINIAODSIM.root with useUnpacked=no (if above 1 or 1%):
Compare packed values
-----------------------------------------------------------------
   or, B         new, B      delta, B   delta, %   deltaJ, %    branch 
-----------------------------------------------------------------
  32277.0 ->     39497.0       7220     20.1   1.05     recoGenJets_slimmedGenJets__RECO.
-------------------------------------------------------------
   684470 ->      691690       7220             1.1     ALL BRANCHES

@perrotta
Copy link
Contributor

+1

  • Updates are consistent with the expectations described in the PR descriptions
  • No differences in reco/miniAOD outputs in the workflows tested automatically, while changes are there for the HI workflows in "embedded mode". The difference being only in the genJet collection in miniAOD, it is then probably not necessary to have one of those workflows included in the automatic tests: but I'd let the HI responsible think about it

@kpedro88
Copy link
Contributor

+upgrade

@silviodonato
Copy link
Contributor

+operations

@silviodonato
Copy link
Contributor

merge

@santocch
Copy link

+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.

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.

9 participants