| 
16 | 16 | from RecoJets.JetProducers.ak4PFJets_cfi import ak4PFJets  | 
17 | 17 | 
 
  | 
18 | 18 | chsForSATkJets = cms.EDFilter("CandPtrSelector", src = cms.InputTag("packedPFCandidates"), cut = cms.string('charge()!=0 && pvAssociationQuality()>=5 && vertexRef().key()==0'))  | 
19 |  | -softActivityJets = ak4PFJets.clone(src = 'chsForSATkJets', doAreaFastjet = False, jetPtMin=1)   | 
 | 19 | +softActivityJets = ak4PFJets.clone(src = 'chsForSATkJets', doAreaFastjet = False, jetPtMin=1)  | 
20 | 20 | softActivityJets10 = cms.EDFilter("CandPtrSelector", src = cms.InputTag("softActivityJets"), cut = cms.string('pt>10'))  | 
21 | 21 | softActivityJets5 = cms.EDFilter("CandPtrSelector", src = cms.InputTag("softActivityJets"), cut = cms.string('pt>5'))  | 
22 | 22 | softActivityJets2 = cms.EDFilter("CandPtrSelector", src = cms.InputTag("softActivityJets"), cut = cms.string('pt>2'))  | 
 | 
128 | 128 | )  | 
129 | 129 | 
 
  | 
130 | 130 | jercVars = cms.EDProducer("BetaStarPackedCandidateVarProducer",  | 
131 |  | -    srcJet = cms.InputTag("updatedJets"),      | 
 | 131 | +    srcJet = cms.InputTag("updatedJets"),  | 
132 | 132 |     srcPF = cms.InputTag("packedPFCandidates"),  | 
133 | 133 |     maxDR = cms.double(0.4)  | 
134 | 134 | )  | 
 | 
154 | 154 |          qgl = cms.InputTag('qgtagger:qgLikelihood'),  | 
155 | 155 |          puId94XDisc = cms.InputTag('pileupJetId94X:fullDiscriminant'),  | 
156 | 156 |          puId102XDisc = cms.InputTag('pileupJetId102X:fullDiscriminant'),  | 
 | 157 | +         puId106XUL17Disc = cms.InputTag('pileupJetId106XUL17:fullDiscriminant'),  | 
157 | 158 |          chFPV0EF = cms.InputTag("jercVars:chargedFromPV0EnergyFraction"),  | 
158 | 159 |          chFPV1EF = cms.InputTag("jercVars:chargedFromPV1EnergyFraction"),  | 
159 | 160 |          chFPV2EF = cms.InputTag("jercVars:chargedFromPV2EnergyFraction"),  | 
160 |  | -         chFPV3EF = cms.InputTag("jercVars:chargedFromPV3EnergyFraction"),           | 
 | 161 | +         chFPV3EF = cms.InputTag("jercVars:chargedFromPV3EnergyFraction"),  | 
161 | 162 |          ),  | 
162 | 163 |      userInts = cms.PSet(  | 
163 | 164 |         tightId = cms.InputTag("tightJetId"),  | 
164 | 165 |         tightIdLepVeto = cms.InputTag("tightJetIdLepVeto"),  | 
165 | 166 |         vtxNtrk = cms.InputTag("bJetVars:vtxNtrk"),  | 
166 | 167 |         leptonPdgId = cms.InputTag("bJetVars:leptonPdgId"),  | 
 | 168 | +        puId106XUL17Id = cms.InputTag('pileupJetId106XUL17:fullId'),  | 
167 | 169 |      ),  | 
168 | 170 | )  | 
169 | 171 | for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:  | 
 | 
235 | 237 |         btagDeepFlavCvL = Var("?(bDiscriminator('pfDeepFlavourJetTags:probc')+bDiscriminator('pfDeepFlavourJetTags:probuds')+bDiscriminator('pfDeepFlavourJetTags:probg'))>0?bDiscriminator('pfDeepFlavourJetTags:probc')/(bDiscriminator('pfDeepFlavourJetTags:probc')+bDiscriminator('pfDeepFlavourJetTags:probuds')+bDiscriminator('pfDeepFlavourJetTags:probg')):-1",float,doc="DeepJet c vs uds+g discriminator",precision=10),  | 
236 | 238 |         btagDeepFlavCvB = Var("?(bDiscriminator('pfDeepFlavourJetTags:probc')+bDiscriminator('pfDeepFlavourJetTags:probb')+bDiscriminator('pfDeepFlavourJetTags:probbb')+bDiscriminator('pfDeepFlavourJetTags:problepb'))>0?bDiscriminator('pfDeepFlavourJetTags:probc')/(bDiscriminator('pfDeepFlavourJetTags:probc')+bDiscriminator('pfDeepFlavourJetTags:probb')+bDiscriminator('pfDeepFlavourJetTags:probbb')+bDiscriminator('pfDeepFlavourJetTags:problepb')):-1",float,doc="DeepJet c vs b+bb+lepb discriminator",precision=10),  | 
237 | 239 |         btagDeepFlavQG = Var("?(bDiscriminator('pfDeepFlavourJetTags:probg')+bDiscriminator('pfDeepFlavourJetTags:probuds'))>0?bDiscriminator('pfDeepFlavourJetTags:probg')/(bDiscriminator('pfDeepFlavourJetTags:probg')+bDiscriminator('pfDeepFlavourJetTags:probuds')):-1",float,doc="DeepJet g vs uds discriminator",precision=10),  | 
238 |  | -        puIdDisc = Var("userFloat('puId102XDisc')",float,doc="Pilup ID discriminant with 102X (2018) training",precision=10),  | 
239 |  | -        puId = Var("userInt('pileupJetId:fullId')",int,doc="Pilup ID flags with 80X (2016) training"),  | 
 | 240 | +        puIdDisc = Var("userFloat('puId102XDisc')",float,doc="Pileup ID discriminant with 102X (2018) training",precision=10),  | 
 | 241 | +        puId = Var("userInt('pileupJetId:fullId')",int,doc="Pileup ID flags for pre-UL trainings"),  | 
240 | 242 |         jetId = Var("userInt('tightId')*2+4*userInt('tightIdLepVeto')",int,doc="Jet ID flags bit1 is loose (always false in 2017 since it does not exist), bit2 is tight, bit3 is tightLepVeto"),  | 
241 | 243 |         qgl = Var("userFloat('qgl')",float,doc="Quark vs Gluon likelihood discriminator",precision=10),  | 
242 | 244 |         hfsigmaEtaEta = Var("userFloat('hfJetShowerShape:sigmaEtaEta')",float,doc="sigmaEtaEta for HF jets (noise discriminating variable)",precision=10),  | 
 | 
269 | 271 |     btagDeepFlavC = Var("bDiscriminator('pfDeepFlavourJetTags:probc')",float,doc="DeepFlavour charm tag discriminator",precision=10),  | 
270 | 272 |     )  | 
271 | 273 | for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:  | 
272 |  | -  modifier.toModify( jetTable.variables, jetId = Var("userInt('tightIdLepVeto')*4+userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight, bit3 is tightLepVeto"))  | 
273 |  | -run2_jme_2016.toModify( jetTable.variables, puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pilup ID discriminant with 80X (2016) training",precision=10))  | 
274 |  | -run2_jme_2017.toModify( jetTable.variables, puIdDisc = Var("userFloat('puId94XDisc')", float,doc="Pilup ID discriminant with 94X (2017) training",precision=10))  | 
 | 274 | +    modifier.toModify( jetTable.variables, jetId = Var("userInt('tightIdLepVeto')*4+userInt('tightId')*2+userInt('looseId')",int,doc="Jet ID flags bit1 is loose, bit2 is tight, bit3 is tightLepVeto"))  | 
 | 275 | +run2_jme_2016.toModify( jetTable.variables, puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pileup ID discriminant with 80X (2016) training",precision=10))  | 
 | 276 | +run2_jme_2017.toModify( jetTable.variables, puId = Var("userInt('puId106XUL17Id')", int,doc="Pileup ID flags with 106X (2017) training"))  | 
 | 277 | +run2_jme_2017.toModify( jetTable.variables, puIdDisc = Var("userFloat('puId106XUL17Disc')", float,doc="Pileup ID discriminant with 106X (2017) training",precision=10))  | 
 | 278 | +for modifier in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:  | 
 | 279 | +    modifier.toModify( jetTable.variables, puIdDisc = Var("userFloat('puId94XDisc')", float,doc="Pileup ID discriminant with 94X (2017) training",precision=10))  | 
 | 280 | + | 
275 | 281 | 
 
  | 
276 | 282 | bjetNN= cms.EDProducer("BJetEnergyRegressionMVA",  | 
277 | 283 |     backend = cms.string("TF"),  | 
 | 
470 | 476 | 		     doc="index of second subjet"),  | 
471 | 477 | 
 
  | 
472 | 478 | #        btagDeepC = Var("bDiscriminator('pfDeepCSVJetTags:probc')",float,doc="CMVA V2 btag discriminator",precision=10),  | 
473 |  | -#puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pilup ID discriminant",precision=10),  | 
 | 479 | +#puIdDisc = Var("userFloat('pileupJetId:fullDiscriminant')",float,doc="Pileup ID discriminant",precision=10),  | 
474 | 480 | #        nConstituents = Var("numberOfDaughters()",int,doc="Number of particles in the jet"),  | 
475 | 481 | #        rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),  | 
476 | 482 |     ),  | 
 | 
487 | 493 |   # Deprecated after 106X  | 
488 | 494 |   modifier.toModify( fatJetTable.variables,  | 
489 | 495 |     btagCMVA = Var("bDiscriminator('pfCombinedMVAV2BJetTags')",float,doc="CMVA V2 btag discriminator",precision=10),  | 
490 |  | -    btagDDBvL_noMD = Var("bDiscriminator('pfDeepDoubleBvLJetTags:probHbb')",float,doc="DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->bb vs QCD",precision=10),   | 
491 |  | -    btagDDCvL_noMD = Var("bDiscriminator('pfDeepDoubleCvLJetTags:probHcc')",float,doc="DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs QCD",precision=10),   | 
492 |  | -    btagDDCvB_noMD = Var("bDiscriminator('pfDeepDoubleCvBJetTags:probHcc')",float,doc="DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs H(Z)->bb",precision=10),   | 
493 |  | -    btagDDBvL = Var("bDiscriminator('pfMassIndependentDeepDoubleBvLJetTags:probHbb')",float,doc="DeepDoubleX (mass-decorrelated) discriminator for H(Z)->bb vs QCD",precision=10),   | 
494 |  | -    btagDDCvL = Var("bDiscriminator('pfMassIndependentDeepDoubleCvLJetTags:probHcc')",float,doc="DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs QCD",precision=10),   | 
495 |  | -    btagDDCvB = Var("bDiscriminator('pfMassIndependentDeepDoubleCvBJetTags:probHcc')",float,doc="DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb",precision=10),   | 
 | 496 | +    btagDDBvL_noMD = Var("bDiscriminator('pfDeepDoubleBvLJetTags:probHbb')",float,doc="DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->bb vs QCD",precision=10),  | 
 | 497 | +    btagDDCvL_noMD = Var("bDiscriminator('pfDeepDoubleCvLJetTags:probHcc')",float,doc="DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs QCD",precision=10),  | 
 | 498 | +    btagDDCvB_noMD = Var("bDiscriminator('pfDeepDoubleCvBJetTags:probHcc')",float,doc="DeepDoubleX discriminator (no mass-decorrelation) for H(Z)->cc vs H(Z)->bb",precision=10),  | 
 | 499 | +    btagDDBvL = Var("bDiscriminator('pfMassIndependentDeepDoubleBvLJetTags:probHbb')",float,doc="DeepDoubleX (mass-decorrelated) discriminator for H(Z)->bb vs QCD",precision=10),  | 
 | 500 | +    btagDDCvL = Var("bDiscriminator('pfMassIndependentDeepDoubleCvLJetTags:probHcc')",float,doc="DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs QCD",precision=10),  | 
 | 501 | +    btagDDCvB = Var("bDiscriminator('pfMassIndependentDeepDoubleCvBJetTags:probHcc')",float,doc="DeepDoubleX (mass-decorrelated) discriminator for H(Z)->cc vs H(Z)->bb",precision=10),  | 
496 | 502 |     )  | 
497 | 503 | run2_miniAOD_80XLegacy.toModify( fatJetTable.variables, msoftdrop_chs = Var("userFloat('ak8PFJetsCHSSoftDropMass')",float, doc="Legacy uncorrected soft drop mass with CHS",precision=10))  | 
498 | 504 | run2_miniAOD_80XLegacy.toModify( fatJetTable.variables.tau1, expr = cms.string("userFloat(\'ak8PFJetsPuppiValueMap:NjettinessAK8PuppiTau1\')"),)  | 
 | 
528 | 534 |     variables = cms.PSet(P4Vars,  | 
529 | 535 |         btagDeepB = Var("bDiscriminator('pfDeepCSVJetTags:probb')+bDiscriminator('pfDeepCSVJetTags:probbb')",float,doc="DeepCSV b+bb tag discriminator",precision=10),  | 
530 | 536 |         btagCSVV2 = Var("bDiscriminator('pfCombinedInclusiveSecondaryVertexV2BJetTags')",float,doc=" pfCombinedInclusiveSecondaryVertexV2 b-tag discriminator (aka CSVV2)",precision=10),  | 
531 |  | -        rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),                   | 
 | 537 | +        rawFactor = Var("1.-jecFactor('Uncorrected')",float,doc="1 - Factor to get back to raw pT",precision=6),  | 
532 | 538 |         tau1 = Var("userFloat('NjettinessAK8Subjets:tau1')",float, doc="Nsubjettiness (1 axis)",precision=10),  | 
533 | 539 |         tau2 = Var("userFloat('NjettinessAK8Subjets:tau2')",float, doc="Nsubjettiness (2 axis)",precision=10),  | 
534 | 540 |         tau3 = Var("userFloat('NjettinessAK8Subjets:tau3')",float, doc="Nsubjettiness (3 axis)",precision=10),  | 
 | 
698 | 704 | qgtagger=QGTagger.clone(srcJets="updatedJets",srcVertexCollection="offlineSlimmedPrimaryVertices")  | 
699 | 705 | 
 
  | 
700 | 706 | 
 
  | 
701 |  | -from RecoJets.JetProducers.PileupJetID_cfi import pileupJetId, _chsalgos_94x, _chsalgos_102x  | 
 | 707 | +from RecoJets.JetProducers.PileupJetID_cfi import pileupJetId, _chsalgos_94x, _chsalgos_102x, _chsalgos_106X_UL17  | 
702 | 708 | pileupJetId94X=pileupJetId.clone(jets="updatedJets",algos = cms.VPSet(_chsalgos_94x),inputIsCorrected=True,applyJec=False,vertexes="offlineSlimmedPrimaryVertices")  | 
703 | 709 | pileupJetId102X=pileupJetId.clone(jets="updatedJets",algos = cms.VPSet(_chsalgos_102x),inputIsCorrected=True,applyJec=False,vertexes="offlineSlimmedPrimaryVertices")  | 
 | 710 | +pileupJetId106XUL17=pileupJetId.clone(jets="updatedJets",algos = cms.VPSet(_chsalgos_106X_UL17),inputIsCorrected=True,applyJec=False,vertexes="offlineSlimmedPrimaryVertices")  | 
704 | 711 | 
 
  | 
705 | 712 | #before cross linking  | 
706 |  | -jetSequence = cms.Sequence(jetCorrFactorsNano+updatedJets+tightJetId+tightJetIdLepVeto+bJetVars+qgtagger+jercVars+pileupJetId94X+pileupJetId102X+updatedJetsWithUserData+jetCorrFactorsAK8+updatedJetsAK8+tightJetIdAK8+tightJetIdLepVetoAK8+updatedJetsAK8WithUserData+chsForSATkJets+softActivityJets+softActivityJets2+softActivityJets5+softActivityJets10+finalJets+finalJetsAK8)  | 
 | 713 | +jetSequence = cms.Sequence(jetCorrFactorsNano+updatedJets+tightJetId+tightJetIdLepVeto+bJetVars+qgtagger+jercVars+pileupJetId94X+pileupJetId102X+pileupJetId106XUL17+updatedJetsWithUserData+jetCorrFactorsAK8+updatedJetsAK8+tightJetIdAK8+tightJetIdLepVetoAK8+updatedJetsAK8WithUserData+chsForSATkJets+softActivityJets+softActivityJets2+softActivityJets5+softActivityJets10+finalJets+finalJetsAK8)  | 
707 | 714 | 
 
  | 
708 | 715 | 
 
  | 
709 | 716 | _jetSequence_2016 = jetSequence.copy()  | 
 | 
712 | 719 | for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016:  | 
713 | 720 |   modifier.toReplaceWith(jetSequence, _jetSequence_2016)  | 
714 | 721 | 
 
  | 
715 |  | -#HF shower shape recomputation   | 
716 |  | -#Only run if needed (i.e. if default MINIAOD info is missing or outdated because of new JECs...)   | 
 | 722 | +#HF shower shape recomputation  | 
 | 723 | +#Only run if needed (i.e. if default MINIAOD info is missing or outdated because of new JECs...)  | 
717 | 724 | from RecoJets.JetProducers.hfJetShowerShape_cfi import hfJetShowerShape  | 
718 | 725 | hfJetShowerShapeforNanoAOD = hfJetShowerShape.clone(jets="updatedJets",vertices="offlineSlimmedPrimaryVertices")  | 
719 | 726 | for modifier in run2_miniAOD_80XLegacy, run2_nanoAOD_94X2016, run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2, run2_nanoAOD_102Xv1, run2_nanoAOD_106Xv1:  | 
 | 
723 | 730 |   )  | 
724 | 731 |   modifier.toModify(updatedJetsWithUserData.userInts,  | 
725 | 732 |                     hfcentralEtaStripSize = cms.InputTag('hfJetShowerShapeforNanoAOD:centralEtaStripSize'),  | 
726 |  | -                    hfadjacentEtaStripsSize = cms.InputTag('hfJetShowerShapeforNanoAOD:adjacentEtaStripsSize'),   | 
 | 733 | +                    hfadjacentEtaStripsSize = cms.InputTag('hfJetShowerShapeforNanoAOD:adjacentEtaStripsSize'),  | 
727 | 734 |                   )  | 
728 | 735 |   modifier.toModify( jetTable.variables, hfsigmaEtaEta = Var("userFloat('hfsigmaEtaEta')",float,doc="sigmaEtaEta for HF jets (noise discriminating variable)",precision=10))  | 
729 | 736 |   modifier.toModify( jetTable.variables, hfsigmaPhiPhi = Var("userFloat('hfsigmaPhiPhi')",float,doc="sigmaPhiPhi for HF jets (noise discriminating variable)",precision=10))  | 
 | 
0 commit comments