-
Notifications
You must be signed in to change notification settings - Fork 4.6k
[ReMiniFromMini] Add modules for updating puppi weights in pat::PackedCandidate and rekeying PAT object candidates #48988
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
Conversation
…o use original packedPFCandidates collection in miniAODFromMiniAOD_customizeCommon()
|
FYI PPD coordinators (@vlimant @abenecke) and XPOG convenors (@ftorrresd @battibass). My deepest apologies, this took way longer than I anticipated months ago. I will need your guidance on how best to setup the reMiniFromMini workflow in the production ecosystem. |
|
please test |
|
cms-bot internal usage |
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48988/46169
|
|
A new Pull Request was created by @nurfikri89 for master. It involves the following packages:
@ftorrresd, @hqucms, @jfernan2, @mandrenguyen can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
|
no apologies needed, thanks for taking care of this. |
|
assign ppd |
| #include "DataFormats/Candidate/interface/CandidateFwd.h" | ||
|
|
||
| namespace pat { | ||
| class PATElectronCandidatesRekeyer : public edm::stream::EDProducer<> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there might be a way to template that PATObjectCandidatesRekeyer to the pat::Electron, leaving a rekey method that is specialised in the loop ; food for thoughts for code improvement if there's time to get this in
|
how does one do "a reMiniFromMini test production with a single TTtoLNu2Q Run3Summer23MiniAODv4 file, using the miniAODFromMiniAOD_customizeAllMC() customization function defined in miniAODFromMiniAOD_tools.py." ? what is the cmsDriver that you used? Either we put this under a "NANO:@M2M" (and we need to make sure the other custom nanos would function ok) or directly in a proc. modifier that would alter all. I don't see the part that drop the old packedCandidate, to store the new one instead of; as a customisation of the event content (maybe I just missed it) |
I have not set it up such that we can get the config from from PhysicsTools.PatAlgos.slimming.miniAODFromMiniAOD_tools import miniAODFromMiniAOD_customizeAllMC
process = miniAODFromMiniAOD_customizeAllMC(process)and modify the process.MINIAODSIMoutput = cms.OutputModule("PoolOutputModule",
compressionAlgorithm = cms.untracked.string('LZMA'),
compressionLevel = cms.untracked.int32(4),
dataset = cms.untracked.PSet(
dataTier = cms.untracked.string('MINIAODSIM'),
filterName = cms.untracked.string('')
),
eventAutoFlushCompressedSize = cms.untracked.int32(-900),
fileName = cms.untracked.string('file:Run3Summer23MiniAODv4_TTtoLNu2Q_Default.root'),
outputCommands = process.MINIAODSIMEventContent.outputCommands + [
# # These are already in MINIAODSIMEventContent but specify here again
'drop *_*_caloTowers_*',
'drop *_*_pfCandidates_*',
'drop *_*_genJets_*',
'drop *_TriggerResults_*_MiniToMini',
'drop *_packedPFCandidates_*_PAT',
'drop *_slimmedJets_*_PAT',
'drop *_slimmedJetsPuppi_*_PAT',
'drop *_slimmedJetsAK8_*_PAT',
'drop *_slimmedJetsAK8PFPuppiSoftDropPacked_SubJets_PAT',
'drop *_slimmedMETsPuppi_*_PAT',
'drop *_slimmedTaus_*_PAT',
'drop *_slimmedTausBoosted_*_PAT',
'drop *_slimmedElectrons_*_PAT',
'drop *_slimmedMuons_*_PAT',
'drop *_slimmedPhotons_*_PAT',
'drop *_slimmedLowPtElectrons_*_PAT',
'drop *_slimmedKshortVertices_*_PAT',
'drop *_slimmedLambdaVertices_*_PAT',
'drop *_slimmedSecondaryVertices_*_PAT',
],
overrideBranchesSplitLevel = cms.untracked.VPSet(
cms.untracked.PSet(
branch = cms.untracked.string('patPackedCandidates_packedPFCandidates__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('recoGenParticles_prunedGenParticles__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('patTriggerObjectStandAlones_slimmedPatTrigger__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('patPackedGenParticles_packedGenParticles__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('patJets_slimmedJets__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('recoVertexs_offlineSlimmedPrimaryVertices__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('recoVertexs_offlineSlimmedPrimaryVerticesWithBS__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('recoCaloClusters_reducedEgamma_reducedESClusters_*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('EcalRecHitsSorted_reducedEgamma_reducedEBRecHits_*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('EcalRecHitsSorted_reducedEgamma_reducedEERecHits_*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('recoGenJets_slimmedGenJets__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('patJets_slimmedJetsPuppi__*'),
splitLevel = cms.untracked.int32(99)
),
cms.untracked.PSet(
branch = cms.untracked.string('EcalRecHitsSorted_reducedEgamma_reducedESRecHits_*'),
splitLevel = cms.untracked.int32(99)
),
),
overrideInputFileSplitLevels = cms.untracked.bool(True),
splitLevel = cms.untracked.int32(0)
) |
|
+1 Size: This PR adds an extra 76KB to repository Comparison SummarySummary:
|
|
enable nano |
|
please test |
|
+1 Size: This PR adds an extra 20KB to repository Comparison SummarySummary:
Nano size comparison Summary:
NANO Comparison SummarySummary:
|
|
+1 |
|
@nurfikri89 suggested I open #49098 with the ConfigBuilder changes on top |
|
Closing this PR in favour of #49098 |
PR description:
This PR is the first step towards establishing a reMiniFromMini workflow. With this PR, the following features will be integrated:
pat::PackedCandidate.VertexCompositeCandidateobjects, from the oldpackedPFCandidatescollection in the original MiniAOD to the new collection with the updated puppi weights.pat::Muon,pat::Electronandpat::Photonobjects with recomputed PUPPI Isolation variables.At the moment, the reMiniFromMini workflow is not setup to run. The purpose of this PR is to setup the machinery for the reMiniFromMini workflow and to check that the modifications in
jetTools.pyandpuppiJetMETReclusteringTools.pydo not interfere with existing MINI+NANO workflows. Once merged, a subsequent PR will soon follow to fully setup the reMiniFromMini production workflows.PR validation:
runTheMatrix.py -l limited -i all --ibeosfor a majority of the workflows. Those that failed were due to inability read files. The failed workflows are4.22_RunCosmics2011A,4.53_RunPhoton2012B,8.0_BeamHalo,9.0_Higgs200ChargedTaus,25.0_TTbar,1330.0_ZMM_13,25202.0_TTbar_13,10224.0_TTbar_13+2017P,10224.0_TTbar_13+2017P,10224.0_TTbar_13+2017PU,12434.0_TTbar_14TeV+2023,12834.0_TTbar_14TeV+2024,12846.0_ZEE_14+2024,13034.0_TTbar_14TeV+2024PU,250202.181_TTbar13TeVPUppmx2018.miniAODFromMiniAOD_customizeAllMC()customization function defined inminiAODFromMiniAOD_tools.py.If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
To be backported to
15_0_X, for reMiniFromMini campaign, and15_1_X.