DESY Hbb Analysis Framework
run2018/v2/BJetRegression_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 ##########################################################################################################
4 # #
5 # From https://github.com/cms-nanoAOD/cmssw/blob/master-102X/PhysicsTools/NanoAOD/python/jets_cff.py #
6 # #
7 ##########################################################################################################
8 
9 tightJetId = cms.EDProducer("PatJetIDValueMapProducer",
10  filterParams=cms.PSet(
11  version = cms.string('WINTER17'),
12  quality = cms.string('TIGHT'),
13  ),
14  src = cms.InputTag("slimmedJets")
15 )
16 
17 tightJetIdLepVeto = cms.EDProducer("PatJetIDValueMapProducer",
18  filterParams=cms.PSet(
19  version = cms.string('WINTER17'),
20  quality = cms.string('TIGHTLEPVETO'),
21  ),
22  src = cms.InputTag("slimmedJets")
23 )
24 ### ==== Regression ==== ####
25 bJetVars = cms.EDProducer("JetRegressionVarProducer",
26  pvsrc = cms.InputTag("offlineSlimmedPrimaryVertices"),
27  src = cms.InputTag("slimmedJets"),
28  svsrc = cms.InputTag("slimmedSecondaryVertices"),
29  gpsrc = cms.InputTag("prunedGenParticles"),
30  #musrc = cms.InputTag("slimmedMuons"),
31  #elesrc = cms.InputTag("slimmedElectrons")
32 )
33 
34 slimmedJetsWithUserData = cms.EDProducer("PATJetUserDataEmbedder",
35  src = cms.InputTag("slimmedJets"),
36  userFloats = cms.PSet(
37  leadTrackPt = cms.InputTag("bJetVars:leadTrackPt"),
38  leptonPtRel = cms.InputTag("bJetVars:leptonPtRel"),
39  leptonPtRatio = cms.InputTag("bJetVars:leptonPtRatio"),
40  leptonPtRelInv = cms.InputTag("bJetVars:leptonPtRelInv"),
41  leptonPtRelv0 = cms.InputTag("bJetVars:leptonPtRelv0"),
42  leptonPtRatiov0 = cms.InputTag("bJetVars:leptonPtRatiov0"),
43  leptonPtRelInvv0 = cms.InputTag("bJetVars:leptonPtRelInvv0"),
44  leptonDeltaR = cms.InputTag("bJetVars:leptonDeltaR"),
45  leptonPt = cms.InputTag("bJetVars:leptonPt"),
46  vtxPt = cms.InputTag("bJetVars:vtxPt"),
47  vtxMass = cms.InputTag("bJetVars:vtxMass"),
48  vtx3dL = cms.InputTag("bJetVars:vtx3dL"),
49  vtx3deL = cms.InputTag("bJetVars:vtx3deL"),
50  ptD = cms.InputTag("bJetVars:ptD"),
51  genPtwNu = cms.InputTag("bJetVars:genPtwNu"),
52 
53  ),
54  userInts = cms.PSet(
55  tightId = cms.InputTag("tightJetId"),
56  tightIdLepVeto = cms.InputTag("tightJetIdLepVeto"),
57  vtxNtrk = cms.InputTag("bJetVars:vtxNtrk"),
58  leptonPdgId = cms.InputTag("bJetVars:leptonPdgId"),
59 
60  ),
61 )
62 
63 bjetNN= cms.EDProducer("BJetEnergyRegressionMVA",
64  backend = cms.string("TF"),
65  src = cms.InputTag("slimmedJetsWithUserData"),
66  pvsrc = cms.InputTag("offlineSlimmedPrimaryVertices"),
67  svsrc = cms.InputTag("slimmedSecondaryVertices"),
68  rhosrc = cms.InputTag("fixedGridRhoFastjetAll"),
69 
70  weightFile = cms.FileInPath("PhysicsTools/NanoAOD/data/breg_training_2017.pb"),
71  name = cms.string("JetRegNN"),
72  isClassifier = cms.bool(False),
73  variablesOrder = cms.vstring(["Jet_pt","Jet_eta","rho","Jet_mt","Jet_leadTrackPt","Jet_leptonPtRel","Jet_leptonDeltaR","Jet_neHEF","Jet_neEmEF","Jet_vtxPt","Jet_vtxMass","Jet_vtx3dL","Jet_vtxNtrk","Jet_vtx3deL","Jet_numDaughters_pt03","Jet_energyRing_dR0_em_Jet_rawEnergy","Jet_energyRing_dR1_em_Jet_rawEnergy","Jet_energyRing_dR2_em_Jet_rawEnergy","Jet_energyRing_dR3_em_Jet_rawEnergy","Jet_energyRing_dR4_em_Jet_rawEnergy","Jet_energyRing_dR0_neut_Jet_rawEnergy","Jet_energyRing_dR1_neut_Jet_rawEnergy","Jet_energyRing_dR2_neut_Jet_rawEnergy","Jet_energyRing_dR3_neut_Jet_rawEnergy","Jet_energyRing_dR4_neut_Jet_rawEnergy","Jet_energyRing_dR0_ch_Jet_rawEnergy","Jet_energyRing_dR1_ch_Jet_rawEnergy","Jet_energyRing_dR2_ch_Jet_rawEnergy","Jet_energyRing_dR3_ch_Jet_rawEnergy","Jet_energyRing_dR4_ch_Jet_rawEnergy","Jet_energyRing_dR0_mu_Jet_rawEnergy","Jet_energyRing_dR1_mu_Jet_rawEnergy","Jet_energyRing_dR2_mu_Jet_rawEnergy","Jet_energyRing_dR3_mu_Jet_rawEnergy","Jet_energyRing_dR4_mu_Jet_rawEnergy","Jet_chHEF","Jet_chEmEF","Jet_leptonPtRelInv","isEle","isMu","isOther","Jet_mass","Jet_ptd"]),
74  variables = cms.PSet(
75  Jet_pt = cms.string("pt*jecFactor('Uncorrected')"),
76  Jet_mt = cms.string("mt*jecFactor('Uncorrected')"),
77  Jet_eta = cms.string("eta"),
78  Jet_mass = cms.string("mass*jecFactor('Uncorrected')"),
79  Jet_ptd = cms.string("userFloat('ptD')"),
80  Jet_leadTrackPt = cms.string("userFloat('leadTrackPt')"),
81  Jet_vtxNtrk = cms.string("userInt('vtxNtrk')"),
82  Jet_vtxMass = cms.string("userFloat('vtxMass')"),
83  Jet_vtx3dL = cms.string("userFloat('vtx3dL')"),
84  Jet_vtx3deL = cms.string("userFloat('vtx3deL')"),
85  Jet_vtxPt = cms.string("userFloat('vtxPt')"),
86  #Jet_leptonPt = cms.string("userFloat('leptonPt')"),
87  Jet_leptonPtRel = cms.string("userFloat('leptonPtRelv0')"),
88  Jet_leptonPtRelInv = cms.string("userFloat('leptonPtRelInvv0')*jecFactor('Uncorrected')"),
89  Jet_leptonDeltaR = cms.string("userFloat('leptonDeltaR')"),
90  #Jet_leptonPdgId = cms.string("userInt('leptonPdgId')"),
91  Jet_neHEF = cms.string("neutralHadronEnergyFraction()"),
92  Jet_neEmEF = cms.string("neutralEmEnergyFraction()"),
93  Jet_chHEF = cms.string("chargedHadronEnergyFraction()"),
94  Jet_chEmEF = cms.string("chargedEmEnergyFraction()"),
95  isMu = cms.string("?abs(userInt('leptonPdgId'))==13?1:0"),
96  isEle = cms.string("?abs(userInt('leptonPdgId'))==11?1:0"),
97  isOther = cms.string("?userInt('leptonPdgId')==0?1:0"),
98  ),
99  inputTensorName = cms.string("ffwd_inp"),
100  outputTensorName = cms.string("ffwd_out/BiasAdd"),
101  outputNames = cms.vstring(["corr","res"]),
102  outputFormulas = cms.vstring(["at(0)*0.28492164611816406+1.0596693754196167","0.5*(at(2)-at(1))*0.28492164611816406"]),
103  nThreads = cms.uint32(1),
104  singleThreadPool = cms.string("no_threads"),
105 )
106 
107 slimmedJetsWithUserDataWithReg = cms.EDProducer("PATJetUserDataEmbedder",
108  src = cms.InputTag("slimmedJetsWithUserData"),
109  userFloats = cms.PSet(
110  bJetRegCorr = cms.InputTag("bjetNN:corr"),
111  bJetRegRes = cms.InputTag("bjetNN:res"),
112  ),
113 )
114 
115 BJetRegression = cms.Task()
116 BJetRegression.add(tightJetId)
117 BJetRegression.add(tightJetIdLepVeto)
118 BJetRegression.add(bJetVars)
119 BJetRegression.add(slimmedJetsWithUserData)
120 BJetRegression.add(bjetNN)
121 BJetRegression.add(slimmedJetsWithUserDataWithReg)
122 
123 
124