Skip to content

PromptReco MiniAOD has unexpected splitting structure #49202

@makortel

Description

@makortel

For other reasons I was inspecting a MiniAOD file from Run2024I EGamma0 PromptReco dataset, and noticed the Events TTree contained total of 3.5k branches, whereas a MiniAOD file processed through a runTheMatrix workflow (with AOD file from the same era and PD as an input) has ~500 branches.

The PromptReco MiniAOD file looks (e.g. with edmFileUtil -b) like being fully split.

The PoolOutputModule in a configuration generated with cmsDriver --process PAT --eventcontent MINIAOD --datatier MINIAOD ... sets the splitting as

        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)

this list of branches to be split appears to originate from

MiniAODOverrideBranchesSplitLevel = 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)),
])

that is used in
def miniAOD_customizeOutput(out):
from PhysicsTools.PatAlgos.slimming.MicroEventContent_cff import MiniAODOverrideBranchesSplitLevel
out.overrideBranchesSplitLevel = MiniAODOverrideBranchesSplitLevel
out.splitLevel = cms.untracked.int32(0)
out.dropMetaData = cms.untracked.string('ALL')
out.fastCloning= cms.untracked.bool(False)
out.overrideInputFileSplitLevels = cms.untracked.bool(True)
out.compressionAlgorithm = cms.untracked.string('LZMA')

Maybe Tier0 configuration is somehow not picking this customization up?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions