Skip to content

Commit

Permalink
Merge pull request #15437 from rappoccio/miniAOD81xJets
Browse files Browse the repository at this point in the history
Jets for 81x MiniAOD
  • Loading branch information
davidlange6 committed Aug 29, 2016
2 parents fbda8ca + dc8a0bb commit c5db1f8
Show file tree
Hide file tree
Showing 7 changed files with 82 additions and 200 deletions.
2 changes: 1 addition & 1 deletion DQMOffline/JetMET/python/jetAnalyzer_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

jetDQMAnalyzerSequenceCosmics = cms.Sequence(jetDQMAnalyzerAk4CaloUncleaned)

jetDQMAnalyzerSequenceMiniAOD = cms.Sequence(jetDQMAnalyzerAk4PFCHSUncleanedMiniAOD*jetDQMAnalyzerAk4PFCHSCleanedMiniAOD*jetDQMAnalyzerAk8PFCHSCleanedMiniAOD*jetDQMAnalyzerAk4PFCHSPuppiCleanedMiniAOD)
jetDQMAnalyzerSequenceMiniAOD = cms.Sequence(jetDQMAnalyzerAk4PFCHSUncleanedMiniAOD*jetDQMAnalyzerAk4PFCHSCleanedMiniAOD*jetDQMAnalyzerAk8PFPUPPICleanedMiniAOD*jetDQMAnalyzerAk4PFCHSPuppiCleanedMiniAOD)

jetDQMAnalyzerSequenceHI = cms.Sequence(jetDQMAnalyzerIC5CaloHIUncleaned
* jetDQMMatchAkPu3CaloAkVs3Calo
Expand Down
2 changes: 1 addition & 1 deletion DQMOffline/JetMET/python/jetAnalyzer_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@
jetsrc = cms.InputTag("slimmedJets"),
)

jetDQMAnalyzerAk8PFCHSCleanedMiniAOD=jetDQMAnalyzerAk4PFCHSCleanedMiniAOD.clone(
jetDQMAnalyzerAk8PFPUPPICleanedMiniAOD=jetDQMAnalyzerAk4PFCHSCleanedMiniAOD.clone(
jetsrc = cms.InputTag("slimmedJetsAK8"),
fillsubstructure =cms.bool(True),
)
Expand Down
140 changes: 34 additions & 106 deletions DQMOffline/JetMET/src/JetAnalyzer.cc

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
'keep *_slimmedMETsNoHF_*_*',
'keep *_slimmedMETsPuppi_*_*',
'keep *_slimmedSecondaryVertices_*_*',
'keep *_slimmedJetsAK8PFCHSSoftDropPacked_SubJets_*',
'keep *_slimmedJetsAK8PFPuppiSoftDropPacked_SubJets_*',

'keep recoPhotonCores_reducedEgamma_*_*',
Expand Down
133 changes: 44 additions & 89 deletions PhysicsTools/PatAlgos/python/slimming/applySubstructure_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,16 @@ def applySubstructure( process ) :
jetSource = cms.InputTag('ak8PFJetsCHS'),
algo= 'AK', rParam = 0.8,
jetCorrections = ('AK8PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'),
btagDiscriminators = ([x.getModuleLabel() for x in patJetsDefault.discriminatorSources] + ['pfBoostedDoubleSecondaryVertexAK8BJetTags']),
genJetCollection = cms.InputTag('slimmedGenJetsAK8')
)
process.patJetsAK8.userData.userFloats.src = [] # start with empty list of user floats
process.selectedPatJetsAK8.cut = cms.string("pt > 170")


process.load('RecoJets.JetProducers.ak8PFJetsPuppi_cfi')
process.ak8PFJetsPuppi.doAreaFastjet = True # even for standard ak8PFJets this is overwritten in RecoJets/Configuration/python/RecoPFJets_cff

from RecoJets.JetAssociationProducers.j2tParametersVX_cfi import j2tParametersVX
process.ak8PFJetsPuppiTracksAssociatorAtVertex = cms.EDProducer("JetTracksAssociatorAtVertex",
j2tParametersVX,
jets = cms.InputTag("ak8PFJetsPuppi")
)
process.patJetPuppiCharge = cms.EDProducer("JetChargeProducer",
src = cms.InputTag("ak8PFJetsPuppiTracksAssociatorAtVertex"),
var = cms.string('Pt'),
exp = cms.double(1.0)
)

## AK8 groomed masses
from RecoJets.Configuration.RecoPFJets_cff import ak8PFJetsCHSPruned, ak8PFJetsCHSSoftDrop, ak8PFJetsPuppiSoftDrop
from RecoJets.Configuration.RecoPFJets_cff import ak8PFJetsCHSPruned, ak8PFJetsCHSSoftDrop
process.ak8PFJetsCHSPruned = ak8PFJetsCHSPruned.clone()
process.ak8PFJetsCHSSoftDrop = ak8PFJetsCHSSoftDrop.clone()
process.ak8PFJetsPuppiSoftDrop = ak8PFJetsPuppiSoftDrop.clone()
process.load("RecoJets.JetProducers.ak8PFJetsCHS_groomingValueMaps_cfi")
process.patJetsAK8.userData.userFloats.src += ['ak8PFJetsCHSPrunedMass','ak8PFJetsCHSSoftDropMass']
process.patJetsAK8.addTagInfos = cms.bool(False)
Expand All @@ -55,15 +39,17 @@ def applySubstructure( process ) :


#add AK8 from PUPPI

process.load('RecoJets.JetProducers.ak8PFJetsPuppi_cfi')
from RecoJets.Configuration.RecoPFJets_cff import ak8PFJetsPuppiSoftDrop
process.ak8PFJetsPuppiSoftDrop = ak8PFJetsPuppiSoftDrop.clone()
process.ak8PFJetsPuppi.doAreaFastjet = True # even for standard ak8PFJets this is overwritten in RecoJets/Configuration/python/RecoPFJets_cff


addJetCollection(process, labelName = 'AK8Puppi',
jetSource = cms.InputTag('ak8PFJetsPuppi'),
algo= 'AK', rParam = 0.8,
jetCorrections = ('AK8PFPuppi', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'),
jetCorrections = ('AK8PFPuppi', cms.vstring(['L2Relative', 'L3Absolute']), 'None'),
btagDiscriminators = ([x.getModuleLabel() for x in patJetsDefault.discriminatorSources] + ['pfBoostedDoubleSecondaryVertexAK8BJetTags']),
genJetCollection = cms.InputTag('slimmedGenJetsAK8')
)
process.patJetsAK8Puppi.userData.userFloats.src = [] # start with empty list of user floats
Expand All @@ -72,8 +58,8 @@ def applySubstructure( process ) :

from RecoJets.JetAssociationProducers.j2tParametersVX_cfi import j2tParametersVX
process.ak8PFJetsPuppiTracksAssociatorAtVertex = cms.EDProducer("JetTracksAssociatorAtVertex",
j2tParametersVX,
jets = cms.InputTag("ak8PFJetsPuppi")
j2tParametersVX.clone( coneSize = cms.double(0.8) ),
jets = cms.InputTag("ak8PFJetsPuppi")
)
process.patJetAK8PuppiCharge = cms.EDProducer("JetChargeProducer",
src = cms.InputTag("ak8PFJetsPuppiTracksAssociatorAtVertex"),
Expand All @@ -99,36 +85,48 @@ def applySubstructure( process ) :



process.ak8PFJetsPuppiValueMap = cms.EDProducer("RecoJetToPatJetDeltaRValueMapProducer",
src = cms.InputTag("ak8PFJetsCHS"),
matched = cms.InputTag("patJetsAK8Puppi"),
process.ak8PFJetsCHSValueMap = cms.EDProducer("RecoJetToPatJetDeltaRValueMapProducer",
src = cms.InputTag("ak8PFJetsPuppi"),
matched = cms.InputTag("patJetsAK8"),
distMax = cms.double(0.8),
values = cms.vstring([
'userFloat("NjettinessAK8Puppi:tau1")',
'userFloat("NjettinessAK8Puppi:tau2")',
'userFloat("NjettinessAK8Puppi:tau3")',
'userFloat("ak8PFJetsCHSPrunedMass")',
'userFloat("ak8PFJetsCHSSoftDropMass")',
'userFloat("NjettinessAK8:tau1")',
'userFloat("NjettinessAK8:tau2")',
'userFloat("NjettinessAK8:tau3")',
'pt','eta','phi','mass'
]),
valueLabels = cms.vstring( [
'NjettinessAK8PuppiTau1',
'NjettinessAK8PuppiTau2',
'NjettinessAK8PuppiTau3',
'ak8PFJetsCHSPrunedMass',
'ak8PFJetsCHSSoftDropMass',
'NjettinessAK8CHSTau1',
'NjettinessAK8CHSTau2',
'NjettinessAK8CHSTau3',
'pt','eta','phi','mass'
])
)
#process.patJetsAK8.userData.userFloats.src += ['NjettinessAK8:tau1','NjettinessAK8:tau2','NjettinessAK8:tau3']

process.patJetsAK8.userData.userFloats.src += [cms.InputTag('ak8PFJetsPuppiValueMap','NjettinessAK8PuppiTau1'),
cms.InputTag('ak8PFJetsPuppiValueMap','NjettinessAK8PuppiTau2'),
cms.InputTag('ak8PFJetsPuppiValueMap','NjettinessAK8PuppiTau3'),
cms.InputTag('ak8PFJetsPuppiValueMap','pt'),
cms.InputTag('ak8PFJetsPuppiValueMap','eta'),
cms.InputTag('ak8PFJetsPuppiValueMap','phi'),
cms.InputTag('ak8PFJetsPuppiValueMap','mass'),
process.patJetsAK8Puppi.userData.userFloats.src += [
cms.InputTag('ak8PFJetsCHSValueMap','ak8PFJetsCHSPrunedMass'),
cms.InputTag('ak8PFJetsCHSValueMap','ak8PFJetsCHSSoftDropMass'),
cms.InputTag('ak8PFJetsCHSValueMap','NjettinessAK8CHSTau1'),
cms.InputTag('ak8PFJetsCHSValueMap','NjettinessAK8CHSTau2'),
cms.InputTag('ak8PFJetsCHSValueMap','NjettinessAK8CHSTau3'),
cms.InputTag('ak8PFJetsCHSValueMap','pt'),
cms.InputTag('ak8PFJetsCHSValueMap','eta'),
cms.InputTag('ak8PFJetsCHSValueMap','phi'),
cms.InputTag('ak8PFJetsCHSValueMap','mass'),
]

# add Njetiness
process.load('RecoJets.JetProducers.nJettinessAdder_cfi')
process.NjettinessAK8Subjets = process.Njettiness.clone()
process.NjettinessAK8Subjets.src = cms.InputTag("ak8PFJetsPuppiSoftDrop", "SubJets")
process.NjettinessAK8Subjets.cone = cms.double(0.8)



## PATify pruned fat jets
## PATify CHS soft drop fat jets
addJetCollection(
process,
labelName = 'AK8PFCHSSoftDrop',
Expand All @@ -137,54 +135,15 @@ def applySubstructure( process ) :
jetCorrections = ('AK8PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute'], 'None'),
getJetMCFlavour = False # jet flavor disabled
)

## PATify soft drop subjets
addJetCollection(
process,
labelName = 'AK8PFCHSSoftDropSubjets',
jetSource = cms.InputTag('ak8PFJetsCHSSoftDrop','SubJets'),
algo = 'ak', # needed for subjet flavor clustering
rParam = 0.8, # needed for subjet flavor clustering
btagDiscriminators = ['pfCombinedSecondaryVertexV2BJetTags', 'pfCombinedInclusiveSecondaryVertexV2BJetTags'],
jetCorrections = ('AK4PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute'], 'None'),
explicitJTA = True, # needed for subjet b tagging
svClustering = True, # needed for subjet b tagging
genJetCollection = cms.InputTag('slimmedGenJets'),
fatJets=cms.InputTag('ak8PFJetsCHS'), # needed for subjet flavor clustering
groomedFatJets=cms.InputTag('ak8PFJetsCHSSoftDrop') # needed for subjet flavor clustering
)
process.selectedPatJetsAK8PFCHSSoftDrop.cut = cms.string("pt > 170")

process.slimmedJetsAK8PFCHSSoftDropSubjets = cms.EDProducer("PATJetSlimmer",
src = cms.InputTag("selectedPatJetsAK8PFCHSSoftDropSubjets"),
packedPFCandidates = cms.InputTag("packedPFCandidates"),
dropJetVars = cms.string("1"),
dropDaughters = cms.string("0"),
rekeyDaughters = cms.string("1"),
dropTrackRefs = cms.string("1"),
dropSpecific = cms.string("1"),
dropTagInfos = cms.string("1"),
modifyJets = cms.bool(True),
modifierConfig = cms.PSet( modifications = cms.VPSet() )
)


## Establish references between PATified fat jets and subjets using the BoostedJetMerger
process.slimmedJetsAK8PFCHSSoftDropPacked = cms.EDProducer("BoostedJetMerger",
jetSrc=cms.InputTag("selectedPatJetsAK8PFCHSSoftDrop"),
subjetSrc=cms.InputTag("slimmedJetsAK8PFCHSSoftDropSubjets")
)




## PATify pruned fat jets
## PATify puppi soft drop fat jets
addJetCollection(
process,
labelName = 'AK8PFPuppiSoftDrop',
jetSource = cms.InputTag('ak8PFJetsPuppiSoftDrop'),
btagDiscriminators = ['None'],
jetCorrections = ('AK8PFPuppi', ['L1FastJet', 'L2Relative', 'L3Absolute'], 'None'),
jetCorrections = ('AK8PFPuppi', ['L2Relative', 'L3Absolute'], 'None'),
getJetMCFlavour = False # jet flavor disabled
)

Expand All @@ -195,15 +154,16 @@ def applySubstructure( process ) :
jetSource = cms.InputTag('ak8PFJetsPuppiSoftDrop','SubJets'),
algo = 'ak', # needed for subjet flavor clustering
rParam = 0.8, # needed for subjet flavor clustering
btagDiscriminators = ['pfCombinedSecondaryVertexV2BJetTags', 'pfCombinedInclusiveSecondaryVertexV2BJetTags'],
jetCorrections = ('AK4PFPuppi', ['L1FastJet', 'L2Relative', 'L3Absolute'], 'None'),
btagDiscriminators = ['pfCombinedSecondaryVertexV2BJetTags', 'pfCombinedInclusiveSecondaryVertexV2BJetTags','pfCombinedMVAV2BJetTags'],
jetCorrections = ('AK4PFPuppi', ['L2Relative', 'L3Absolute'], 'None'),
explicitJTA = True, # needed for subjet b tagging
svClustering = True, # needed for subjet b tagging
genJetCollection = cms.InputTag('slimmedGenJets'),
fatJets=cms.InputTag('ak8PFJetsPuppi'), # needed for subjet flavor clustering
groomedFatJets=cms.InputTag('ak8PFJetsPuppiSoftDrop') # needed for subjet flavor clustering
)
process.selectedPatJetsAK8PFPuppiSoftDrop.cut = cms.string("pt > 170")
process.patJetsAK8PFPuppiSoftDropSubjets.userData.userFloats.src += ['NjettinessAK8Subjets:tau1','NjettinessAK8Subjets:tau2','NjettinessAK8Subjets:tau3']

process.slimmedJetsAK8PFPuppiSoftDropSubjets = cms.EDProducer("PATJetSlimmer",
src = cms.InputTag("selectedPatJetsAK8PFPuppiSoftDropSubjets"),
Expand All @@ -227,17 +187,12 @@ def applySubstructure( process ) :


process.packedPatJetsAK8 = cms.EDProducer("JetSubstructurePacker",
jetSrc = cms.InputTag("selectedPatJetsAK8"),
jetSrc = cms.InputTag("selectedPatJetsAK8Puppi"),
distMax = cms.double(0.8),
algoTags = cms.VInputTag(
# NOTE: For an optimal storage of the AK8 jet daughters, the first subjet collection listed here should be
# derived from AK8 jets, i.e., subjets should contain either all or a subset of AK8 constituents.
# The PUPPI collection has its own pointers to its own PUPPI constituents.
cms.InputTag("slimmedJetsAK8PFCHSSoftDropPacked"),
cms.InputTag("slimmedJetsAK8PFPuppiSoftDropPacked")
),
algoLabels = cms.vstring(
'SoftDrop',
'SoftDropPuppi'
),
fixDaughters = cms.bool(True),
Expand Down
2 changes: 1 addition & 1 deletion Validation/RecoJets/python/JetValidation_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@
)


JetValidationMiniAOD=cms.Sequence(JetAnalyzerAk4PFCHSMiniAOD*JetAnalyzerAk4PFPUPPIMiniAOD*JetAnalyzerAk8PFCHSMiniAOD)
JetValidationMiniAOD=cms.Sequence(JetAnalyzerAk4PFCHSMiniAOD*JetAnalyzerAk4PFPUPPIMiniAOD*JetAnalyzerAk8PFPUPPIMiniAOD)
2 changes: 1 addition & 1 deletion Validation/RecoJets/python/JetValidation_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@
RThreshold = cms.double(0.3)
)

JetAnalyzerAk8PFCHSMiniAOD = cms.EDAnalyzer("JetTester",
JetAnalyzerAk8PFPUPPIMiniAOD = cms.EDAnalyzer("JetTester",
JetType = cms.untracked.string('miniaod'),
src = cms.InputTag("slimmedJetsAK8"),
srcGen = cms.InputTag("slimmedGenJetsAK8"),
Expand Down

0 comments on commit c5db1f8

Please sign in to comment.