1 import FWCore.ParameterSet.Config
as cms
17 setattr(process,
'ak8PFJetsPuppi'+postfix,ak8PFJetsPuppi.clone())
18 setattr(process,
'ak8PFJetsPuppiConstituents'+postfix, ak8PFJetsPuppiConstituents.clone())
19 setattr(process,
'ak8PFJetsPuppiSoftDrop'+postfix, ak8PFJetsPuppiSoftDrop.clone( src =
'ak8PFJetsPuppiConstituents'+postfix+
':constituents' ))
20 from RecoJets.JetProducers.ak8PFJetsPuppi_groomingValueMaps_cfi
import ak8PFJetsPuppiSoftDropMass
21 setattr(process,
'ak8PFJetsPuppiSoftDropMass'+postfix, ak8PFJetsPuppiSoftDropMass.clone())
22 from Configuration.Eras.Modifier_run2_miniAOD_80XLegacy_cff
import run2_miniAOD_80XLegacy
23 from Configuration.Eras.Modifier_run2_miniAOD_94XFall17_cff
import run2_miniAOD_94XFall17
24 from Configuration.ProcessModifiers.run2_miniAOD_UL_cff
import run2_miniAOD_UL
25 _run2_miniAOD_ANY = (run2_miniAOD_80XLegacy | run2_miniAOD_94XFall17 | run2_miniAOD_UL)
26 from Configuration.Eras.Modifier_pA_2016_cff
import pA_2016
27 from Configuration.Eras.Modifier_run3_miniAOD_12X_cff
import run3_miniAOD_12X
30 _rerun_puppijets_task = task.copy()
31 _rerun_puppijets_task.add(getattr(process,
'ak8PFJetsPuppi'),
32 getattr(process,
'ak8PFJetsPuppiConstituents'),
33 getattr(process,
'ak8PFJetsPuppiSoftDrop'),
34 getattr(process,
'ak8PFJetsPuppiSoftDropMass'))
35 (_run2_miniAOD_ANY | pA_2016 | run3_miniAOD_12X ).toReplaceWith(task, _rerun_puppijets_task)
36 (_run2_miniAOD_ANY | pA_2016 | run3_miniAOD_12X ).toModify(getattr(process,
'ak8PFJetsPuppiConstituents'+postfix),
37 cut = cms.string(
'pt > 170.0 && abs(rapidity()) < 2.4'))
39 task.add(getattr(process,
'ak8PFJetsPuppi'+postfix),
40 getattr(process,
'ak8PFJetsPuppiConstituents'+postfix),
41 getattr(process,
'ak8PFJetsPuppiSoftDrop'+postfix),
42 getattr(process,
'ak8PFJetsPuppiSoftDropMass'+postfix))
44 from RecoJets.JetProducers.ak8GenJets_cfi
import ak8GenJets, ak8GenJetsSoftDrop, ak8GenJetsConstituents
45 addToProcessAndTask(
'ak8GenJetsNoNuConstituents'+postfix, ak8GenJetsConstituents.clone(src=
'ak8GenJetsNoNu'), process, task )
46 addToProcessAndTask(
'ak8GenJetsNoNuSoftDrop'+postfix,ak8GenJetsSoftDrop.clone(src=cms.InputTag(
'ak8GenJetsNoNuConstituents'+postfix,
'constituents')),process,task)
48 cms.EDProducer(
"PATGenJetSlimmer",
49 src = cms.InputTag(
"ak8GenJetsNoNuSoftDrop"+postfix,
"SubJets"),
50 packedGenParticles = cms.InputTag(
"packedGenParticles"),
52 cutLoose = cms.string(
""),
53 nLoose = cms.uint32(0),
54 clearDaughters = cms.bool(
False),
55 dropSpecific = cms.bool(
True),
62 labelName =
'AK8PFPuppiSoftDrop' + postfix,
63 jetSource = cms.InputTag(
'ak8PFJetsPuppiSoftDrop'+postfix),
64 btagDiscriminators = [
'None'],
65 genJetCollection = cms.InputTag(
'slimmedGenJetsAK8'),
66 jetCorrections = (
'AK8PFPuppi', [
'L2Relative',
'L3Absolute'],
'None'),
67 getJetMCFlavour =
False 73 labelName =
'AK8PFPuppiSoftDropSubjets',
74 jetSource = cms.InputTag(
'ak8PFJetsPuppiSoftDrop'+postfix,
'SubJets'),
77 btagDiscriminators = [
'pfDeepCSVJetTags:probb',
'pfDeepCSVJetTags:probbb',
'pfCombinedInclusiveSecondaryVertexV2BJetTags',
'pfCombinedMVAV2BJetTags'],
78 jetCorrections = (
'AK4PFPuppi', [
'L2Relative',
'L3Absolute'],
'None'),
81 genJetCollection = cms.InputTag(
'slimmedGenJetsAK8SoftDropSubJets'),
82 fatJets=cms.InputTag(
'ak8PFJetsPuppi'),
83 groomedFatJets=cms.InputTag(
'ak8PFJetsPuppiSoftDrop')
86 from Configuration.Eras.Modifier_run3_common_cff
import run3_common
87 run3_common.toModify(process.patJetsAK8PFPuppiSoftDropSubjets,
88 discriminatorSources = cms.VInputTag(
89 cms.InputTag(
"pfDeepCSVJetTagsAK8PFPuppiSoftDropSubjets",
"probb"),
90 cms.InputTag(
"pfDeepCSVJetTagsAK8PFPuppiSoftDropSubjets",
"probbb")
95 process.load(
'RecoJets.JetProducers.ECF_cff')
96 addToProcessAndTask(
'nb1AK8PuppiSoftDrop'+postfix, process.ecfNbeta1.clone(src = cms.InputTag(
"ak8PFJetsPuppiSoftDrop"+postfix), cuts = cms.vstring(
'',
'',
'pt > 250')), process, task)
97 addToProcessAndTask(
'nb2AK8PuppiSoftDrop'+postfix, process.ecfNbeta2.clone(src = cms.InputTag(
"ak8PFJetsPuppiSoftDrop"+postfix), cuts = cms.vstring(
'',
'',
'pt > 250')), process, task)
100 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
102 for e
in [pp_on_XeXe_2017]:
103 e.toModify(getattr(process,
'nb1AK8PuppiSoftDrop'+postfix), cuts = [
'pt > 999999',
'pt > 999999',
'pt > 999999'] )
104 e.toModify(getattr(process,
'nb2AK8PuppiSoftDrop'+postfix), cuts = [
'pt > 999999',
'pt > 999999',
'pt > 999999'] )
106 from RecoJets.JetProducers.nJettinessAdder_cfi
import Njettiness
108 getattr(process,
"NjettinessAK8Subjets"+postfix).src = cms.InputTag(
"ak8PFJetsPuppiSoftDrop"+postfix,
"SubJets")
109 getattr(process,
"patJetsAK8PFPuppiSoftDrop").userData.userFloats.src += [
'nb1AK8PuppiSoftDrop'+postfix+
':ecfN2',
'nb1AK8PuppiSoftDrop'+postfix+
':ecfN3']
110 getattr(process,
"patJetsAK8PFPuppiSoftDrop").userData.userFloats.src += [
'nb2AK8PuppiSoftDrop'+postfix+
':ecfN2',
'nb2AK8PuppiSoftDrop'+postfix+
':ecfN3']
111 addToProcessAndTask(
'nb1AK8PuppiSoftDropSubjets'+postfix, process.ecfNbeta1.clone(src = cms.InputTag(
"ak8PFJetsPuppiSoftDrop"+postfix,
"SubJets")), process, task)
112 addToProcessAndTask(
'nb2AK8PuppiSoftDropSubjets'+postfix, process.ecfNbeta2.clone(src = cms.InputTag(
"ak8PFJetsPuppiSoftDrop"+postfix,
"SubJets")), process, task)
113 getattr(process,
"patJetsAK8PFPuppiSoftDropSubjets"+postfix).userData.userFloats.src += [
'nb1AK8PuppiSoftDropSubjets'+postfix+
':ecfN2',
'nb1AK8PuppiSoftDropSubjets'+postfix+
':ecfN3']
114 getattr(process,
"patJetsAK8PFPuppiSoftDropSubjets"+postfix).userData.userFloats.src += [
'nb2AK8PuppiSoftDropSubjets'+postfix+
':ecfN2',
'nb2AK8PuppiSoftDropSubjets'+postfix+
':ecfN3']
115 getattr(process,
"patJetsAK8PFPuppiSoftDropSubjets"+postfix).userData.userFloats.src += [
'NjettinessAK8Subjets'+postfix+
':tau1',
'NjettinessAK8Subjets'+postfix+
':tau2',
'NjettinessAK8Subjets'+postfix+
':tau3',
'NjettinessAK8Subjets'+postfix+
':tau4']
117 for e
in [pp_on_XeXe_2017]:
118 e.toModify(getattr(process,
'nb1AK8PuppiSoftDropSubjets'+postfix), cuts = [
'pt > 999999',
'pt > 999999',
'pt > 999999'] )
119 e.toModify(getattr(process,
'nb2AK8PuppiSoftDropSubjets'+postfix), cuts = [
'pt > 999999',
'pt > 999999',
'pt > 999999'] )
123 addJetCollection(process, postfix=postfix, labelName =
'AK8Puppi',
124 jetSource = cms.InputTag(
'ak8PFJetsPuppi'+postfix),
125 algo=
'AK', rParam = 0.8,
126 jetCorrections = (
'AK8PFPuppi', cms.vstring([
'L2Relative',
'L3Absolute']),
'None'),
127 btagDiscriminators = ([
128 'pfCombinedSecondaryVertexV2BJetTags',
129 'pfCombinedInclusiveSecondaryVertexV2BJetTags',
130 'pfCombinedMVAV2BJetTags',
131 'pfDeepCSVJetTags:probb',
132 'pfDeepCSVJetTags:probc',
133 'pfDeepCSVJetTags:probudsg',
134 'pfDeepCSVJetTags:probbb',
135 'pfBoostedDoubleSecondaryVertexAK8BJetTags']),
136 genJetCollection = cms.InputTag(
'slimmedGenJetsAK8')
138 getattr(process,
"patJetsAK8Puppi"+postfix).userData.userFloats.src = []
139 getattr(process,
"selectedPatJetsAK8Puppi"+postfix).cut = cms.string(
"pt > 100")
140 getattr(process,
"selectedPatJetsAK8Puppi"+postfix).cutLoose = cms.string(
"pt > 30")
141 getattr(process,
"selectedPatJetsAK8Puppi"+postfix).nLoose = cms.uint32(3)
143 from Configuration.Eras.Modifier_run3_common_cff
import run3_common
144 run3_common.toModify(process.patJetsAK8Puppi,
145 discriminatorSources = cms.VInputTag(
146 cms.InputTag(
"pfDeepCSVJetTagsAK8Puppi",
"probb"),
147 cms.InputTag(
"pfDeepCSVJetTagsAK8Puppi",
"probc"),
148 cms.InputTag(
"pfDeepCSVJetTagsAK8Puppi",
"probudsg"),
149 cms.InputTag(
"pfDeepCSVJetTagsAK8Puppi",
"probbb")
154 addToProcessAndTask(
'ak8PFJetsPuppiTracksAssociatorAtVertex'+postfix, cms.EDProducer(
"JetTracksAssociatorAtVertex",
155 j2tParametersVX.clone( coneSize = cms.double(0.8) ),
156 jets = cms.InputTag(
"ak8PFJetsPuppi") ),
159 src = cms.InputTag(
"ak8PFJetsPuppiTracksAssociatorAtVertex"),
160 var = cms.string(
'Pt'),
161 exp = cms.double(1.0) ),
165 getattr(process,
"patJetsAK8Puppi"+postfix).userData.userFloats.src += [
'ak8PFJetsPuppiSoftDropMass'+postfix]
166 getattr(process,
"patJetsAK8Puppi"+postfix).addTagInfos = cms.bool(
False)
171 getattr(process,
"NjettinessAK8Puppi"+postfix).src = cms.InputTag(
"ak8PFJetsPuppi"+postfix)
172 getattr(process,
"patJetsAK8Puppi").userData.userFloats.src += [
'NjettinessAK8Puppi'+postfix+
':tau1',
'NjettinessAK8Puppi'+postfix+
':tau2',
'NjettinessAK8Puppi'+postfix+
':tau3',
'NjettinessAK8Puppi'+postfix+
':tau4']
176 cms.EDProducer(
"PATJetSlimmer",
177 src = cms.InputTag(
"selectedPatJetsAK8PFPuppiSoftDropSubjets"),
178 packedPFCandidates = cms.InputTag(
"packedPFCandidates"),
179 dropJetVars = cms.string(
"1"),
180 dropDaughters = cms.string(
"0"),
181 rekeyDaughters = cms.string(
"1"),
182 dropTrackRefs = cms.string(
"1"),
183 dropSpecific = cms.string(
"1"),
184 dropTagInfos = cms.string(
"1"),
185 modifyJets = cms.bool(
True),
186 mixedDaughters = cms.bool(
False),
187 modifierConfig = cms.PSet( modifications = cms.VPSet() )
194 cms.EDProducer(
"BoostedJetMerger",
195 jetSrc=cms.InputTag(
"selectedPatJetsAK8PFPuppiSoftDrop"),
196 subjetSrc=cms.InputTag(
"slimmedJetsAK8PFPuppiSoftDropSubjets")
202 jetSrc = cms.InputTag(
"selectedPatJetsAK8Puppi"+postfix),
203 distMax = cms.double(0.8),
204 algoTags = cms.VInputTag(
205 cms.InputTag(
"slimmedJetsAK8PFPuppiSoftDropPacked"+postfix)
207 algoLabels = cms.vstring(
210 fixDaughters = cms.bool(
True),
211 packedPFCandidates = cms.InputTag(
"packedPFCandidates"+postfix),
216 process.slimmedJetsAK8.rekeyDaughters =
"0" 218 process.slimmedJetsAK8.dropDaughters = cms.string(
"pt < 170")
219 process.slimmedJetsAK8.dropSpecific = cms.string(
"pt < 170")
220 process.slimmedJetsAK8.dropTagInfos = cms.string(
"pt < 170")
def applySubstructure(process, postfix="")
def addToProcessAndTask(label, module, process, task)
def getPatAlgosToolsTask(process)