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

Muon puppi iso miniAOD 91x #18275

Merged
merged 6 commits into from Apr 19, 2017
Merged

Muon puppi iso miniAOD 91x #18275

merged 6 commits into from Apr 19, 2017

Conversation

jshlee
Copy link
Contributor

@jshlee jshlee commented Apr 9, 2017

adding muon puppi isolation into miniAOD
pat::Muons added puppi isolation

This is exactly the same as the implementation done for electrons, except

  • iso cone size is 04, since muon PFIso is 04
  • MuonPFIsolationWithConeVeto is slightly different to ElectronPFIsolationWithConeVeto (left this as is)
  • bugfix of PUPPINoLepton in PFIsolationSumProducerForPUPPI - before both PUPPINoLepton and PUPPI isolation was the same.

@calabria @kpedro88 @jhgoh

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 9, 2017

A new Pull Request was created by @jshlee (Jason Lee) for master.

It involves the following packages:

DataFormats/PatCandidates
PhysicsTools/IsolationAlgos
PhysicsTools/PatAlgos
RecoMuon/MuonIsolation

@perrotta, @cmsbuild, @slava77, @monttj, @davidlange6 can you please review it and eventually sign? Thanks.
@TaiSakuma, @gouskos, @abbiendi, @rappoccio, @echapon, @mmarionncern, @JyothsnaKomaragiri, @ahinzmann, @acaudron, @jhgoh, @jdolen, @HuguesBrun, @ferencek, @battibass, @trocino, @rociovilar, @bellan, @nhanvtran, @gkasieczka, @schoef, @imarches, @calderona, @mverzett, @cbernet, @gpetruc, @mariadalfonso, @pvmulder, @bachtis this is something you requested to watch as well.
@Muzaffar, @davidlange6, @smuzaffar you are the release manager for this.

cms-bot commands are listed here #13028

@slava77
Copy link
Contributor

slava77 commented Apr 9, 2017

@cmsbuild please test

@jshlee please add a link to slides (if available) which describe the changes together with some basic validation plots. Please also provide an estimate of file size increase in miniAOD.
Thank you

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 9, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/19036/console Started: 2017/04/09 20:03

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 9, 2017

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 9, 2017

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 9, 2017

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

Comparison Summary:

  • You potentially added 23 lines to the logs
  • Reco comparison results: 1640 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 1917243
  • DQMHistoTests: Total failures: 38745
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1878325
  • DQMHistoTests: Total skipped: 173
  • DQMHistoTests: Total Missing objects: 0
  • Checked 94 log files, 14 edm output root files, 23 DQM output files

@jshlee
Copy link
Contributor Author

jshlee commented Apr 10, 2017

@slava77
Slides from Upgrade Performance Studies meeting https://indico.cern.ch/event/623426/contributions/2520808/attachments/1432129/2200377/muonReco_20170322.pdf

This adds 6 floats to pat::muons
File size comparision for 100 ttbar events (22834.0)

File step3_inMINIAODSIM.root Events 100
Branch Name | Average Uncompressed Size (Bytes/Event) | Average Compressed Size (Bytes/Event)
CMSSW_9_1_0_pre2 patMuons_slimmedMuons__RECO. 5218.32 3158.94
CMSSW_9_1_0_pre2+this PR patMuons_slimmedMuons__RECO. 5315.99 3234.31

float puppiNoLeptonsNeutralHadronIso() const {return puppiNoLeptonsNeutralHadronIso_; }
float puppiNoLeptonsPhotonIso() const {return puppiNoLeptonsPhotonIso_; }
/// sets PUPPI isolations
void setIsolationPUPPI(float chargedhadrons_, float neutralhadrons_, float photons_)
Copy link
Contributor

Choose a reason for hiding this comment

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

trailing underscores in local scope variables are confusing: they are typically used for member data.
Please drop

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

else useValueMapForPUPPI = false;
else {
useValueMapForPUPPI = false;
usePUPPINoLepton = (c.exists("usePUPPINoLepton") ? c.getParameter<bool>("usePUPPINoLepton") : false);
Copy link
Contributor

Choose a reason for hiding this comment

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

fillDescriptions already defines the usePUPPINoLepton parameter and its default value (false).
Please change this to usePUPPINoLepton = c.getParameter<bool>("usePUPPINoLepton")

Copy link
Contributor

Choose a reason for hiding this comment

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

also, this appears to be a bugfix to the usePUPPINoLepton, which should explain why the electron puppi isolations have changed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yep. electron puppi no lepton was incorrect.

@@ -244,6 +275,15 @@ void PATMuonProducer::produce(edm::Event & iEvent, const edm::EventSetup & iSetu
if( embedPFCandidate_ ) aMuon.embedPFCandidate();
fillMuon( aMuon, muonBaseRef, pfBaseRef, genMatches, deposits, isolationValues );

if (addPuppiIsolation_) {
aMuon.setIsolationPUPPI((*PUPPIIsolation_charged_hadrons)[muonBaseRef], (*PUPPIIsolation_neutral_hadrons)[muonBaseRef], (*PUPPIIsolation_photons)[muonBaseRef]);
aMuon.setIsolationPUPPINoLeptons((*PUPPINoLeptonsIsolation_charged_hadrons)[muonBaseRef], (*PUPPINoLeptonsIsolation_neutral_hadrons)[muonBaseRef], (*PUPPINoLeptonsIsolation_photons)[muonBaseRef]);
Copy link
Contributor

Choose a reason for hiding this comment

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

some line breaks would be nice to improve readability (or shorter local variable names)

cms.PSet( isolationAlgo = cms.string('MuonPFIsolationWithConeVeto'),
coneSize = cms.double(0.4),
VetoThreshold = cms.double(0.0),
VetoConeSize = cms.double(0.01),
Copy link
Contributor

Choose a reason for hiding this comment

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

it may be worth to add a comment that VetoConeSize corresponds to a square of the deltaR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@slava77
Copy link
Contributor

slava77 commented Apr 17, 2017

jenkins reco comparisons show differences in slimmedElectron neutral hadron and photon isolation
https://cmssdt.cern.ch/SDT/jenkins-artifacts/baseLineComparisons/CMSSW_9_1_X_2017-04-09-1100+18275/19295/validateJR/all_mini_OldVSNew_RunSinglePh2016Bwf136p731/
this is apparently from the change in https://github.com/cms-sw/cmssw/pull/18275/files#diff-e12c8057da6377bf2fb1be736a41576aR81

I think that this fix should be mentioned in the PR description and maybe also in the title.

removed _ from not member variables
removed check of usePUPPINoLepton
@jshlee
Copy link
Contributor Author

jshlee commented Apr 18, 2017

@slava77 - Thanks as always for your comments. I've updated the code with your suggestions.

Cheers,
Jason.

@cmsbuild
Copy link
Contributor

Pull request #18275 was updated. @perrotta, @cmsbuild, @slava77, @monttj, @davidlange6 can you please check and sign again.

@slava77
Copy link
Contributor

slava77 commented Apr 18, 2017

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Apr 18, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/19221/console Started: 2017/04/18 18:51

@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-18275/19221/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 3294 differences found in the comparisons
  • DQMHistoTests: Total files compared: 23
  • DQMHistoTests: Total histograms compared: 1819510
  • DQMHistoTests: Total failures: 15623
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 1803714
  • DQMHistoTests: Total skipped: 173
  • DQMHistoTests: Total Missing objects: 0
  • Checked 94 log files, 14 edm output root files, 23 DQM output files

@slava77
Copy link
Contributor

slava77 commented Apr 18, 2017

+1

for #18275 7921cf9

  • puppi isolation is added to pat muons in a similar was as it was done already for electrons; there is also a bugfix for electron puppi no-lepton iso
  • jenkins tests pass and comparisons show small changes in miniAOD electron puppi nolepton iso from the fix
  • local tests with a data file from DoubleMuon 2016E (wf 136.76) shows that isolation variables are filled with reasonably looking values. CPU cost for the two new modules muonPUPPIIsolation and muonPUPPINoLeptonsIsolation is somewhat high (5 ms/evt each, or 1% of total miniAOD time). It is expected to go down a bit after Muon arbitration #18321 is 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.

None yet

4 participants