DESY Hbb Analysis Framework
run2018/v2/BJetRegressionPuppi_cff.py
Go to the documentation of this file.
1 ##### ERROR: This JEC level L1FastJet does not exist.
2 ##### somehow the regression cannot undo the JEC correction for Puppi jets because it does not use L1 correction
3 
4 import FWCore.ParameterSet.Config as cms
5 
6 ### ==== Regression ==== ####
7 bJetVarsPuppi = cms.EDProducer("JetRegressionVarProducer",
8  pvsrc = cms.InputTag("offlineSlimmedPrimaryVertices"),
9  src = cms.InputTag("updatedPatJetsPuppiJetSpecific"),
10  svsrc = cms.InputTag("slimmedSecondaryVertices"),
11  gpsrc = cms.InputTag("prunedGenParticles"),
12  #musrc = cms.InputTag("slimmedMuons"),
13  #elesrc = cms.InputTag("slimmedElectrons")
14 )
15 
16 slimmedJetsPuppiWithUserData = cms.EDProducer("PATJetUserDataEmbedder",
17  src = cms.InputTag("updatedPatJetsPuppiJetSpecific"),
18  userFloats = cms.PSet(
19  leadTrackPt = cms.InputTag("bJetVarsPuppi:leadTrackPt"),
20  leptonPtRel = cms.InputTag("bJetVarsPuppi:leptonPtRel"),
21  leptonPtRatio = cms.InputTag("bJetVarsPuppi:leptonPtRatio"),
22  leptonPtRelInv = cms.InputTag("bJetVarsPuppi:leptonPtRelInv"),
23  leptonPtRelv0 = cms.InputTag("bJetVarsPuppi:leptonPtRelv0"),
24  leptonPtRatiov0 = cms.InputTag("bJetVarsPuppi:leptonPtRatiov0"),
25  leptonPtRelInvv0 = cms.InputTag("bJetVarsPuppi:leptonPtRelInvv0"),
26  leptonDeltaR = cms.InputTag("bJetVarsPuppi:leptonDeltaR"),
27  leptonPt = cms.InputTag("bJetVarsPuppi:leptonPt"),
28  vtxPt = cms.InputTag("bJetVarsPuppi:vtxPt"),
29  vtxMass = cms.InputTag("bJetVarsPuppi:vtxMass"),
30  vtx3dL = cms.InputTag("bJetVarsPuppi:vtx3dL"),
31  vtx3deL = cms.InputTag("bJetVarsPuppi:vtx3deL"),
32  ptD = cms.InputTag("bJetVarsPuppi:ptD"),
33  genPtwNu = cms.InputTag("bJetVarsPuppi:genPtwNu"),
34 
35  ),
36  userInts = cms.PSet(
37  vtxNtrk = cms.InputTag("bJetVarsPuppi:vtxNtrk"),
38  leptonPdgId = cms.InputTag("bJetVarsPuppi:leptonPdgId"),
39  ),
40 )
41 
42 bjetNNPuppi = cms.EDProducer("BJetEnergyRegressionMVA",
43  backend = cms.string("TF"),
44  src = cms.InputTag("slimmedJetsPuppiWithUserData"),
45  pvsrc = cms.InputTag("offlineSlimmedPrimaryVertices"),
46  svsrc = cms.InputTag("slimmedSecondaryVertices"),
47  rhosrc = cms.InputTag("fixedGridRhoFastjetAll"),
48 
49  weightFile = cms.FileInPath("PhysicsTools/NanoAOD/data/breg_training_2017.pb"),
50  name = cms.string("JetRegNN"),
51  isClassifier = cms.bool(False),
52  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"]),
53  variables = cms.PSet(
54  Jet_pt = cms.string("pt*jecFactor('Uncorrected')"),
55  Jet_mt = cms.string("mt*jecFactor('Uncorrected')"),
56  Jet_eta = cms.string("eta"),
57  Jet_mass = cms.string("mass*jecFactor('Uncorrected')"),
58  Jet_ptd = cms.string("userFloat('ptD')"),
59  Jet_leadTrackPt = cms.string("userFloat('leadTrackPt')"),
60  Jet_vtxNtrk = cms.string("userInt('vtxNtrk')"),
61  Jet_vtxMass = cms.string("userFloat('vtxMass')"),
62  Jet_vtx3dL = cms.string("userFloat('vtx3dL')"),
63  Jet_vtx3deL = cms.string("userFloat('vtx3deL')"),
64  Jet_vtxPt = cms.string("userFloat('vtxPt')"),
65  #Jet_leptonPt = cms.string("userFloat('leptonPt')"),
66  Jet_leptonPtRel = cms.string("userFloat('leptonPtRelv0')"),
67  Jet_leptonPtRelInv = cms.string("userFloat('leptonPtRelInvv0')*jecFactor('Uncorrected')"),
68  Jet_leptonDeltaR = cms.string("userFloat('leptonDeltaR')"),
69  #Jet_leptonPdgId = cms.string("userInt('leptonPdgId')"),
70  Jet_neHEF = cms.string("neutralHadronEnergyFraction()"),
71  Jet_neEmEF = cms.string("neutralEmEnergyFraction()"),
72  Jet_chHEF = cms.string("chargedHadronEnergyFraction()"),
73  Jet_chEmEF = cms.string("chargedEmEnergyFraction()"),
74  isMu = cms.string("?abs(userInt('leptonPdgId'))==13?1:0"),
75  isEle = cms.string("?abs(userInt('leptonPdgId'))==11?1:0"),
76  isOther = cms.string("?userInt('leptonPdgId')==0?1:0"),
77  ),
78  inputTensorName = cms.string("ffwd_inp"),
79  outputTensorName = cms.string("ffwd_out/BiasAdd"),
80  outputNames = cms.vstring(["corr","res"]),
81  outputFormulas = cms.vstring(["at(0)*0.28492164611816406+1.0596693754196167","0.5*(at(2)-at(1))*0.28492164611816406"]),
82  nThreads = cms.uint32(1),
83  singleThreadPool = cms.string("no_threads"),
84 )
85 
86 slimmedJetsPuppiWithUserDataWithReg = cms.EDProducer("PATJetUserDataEmbedder",
87  src = cms.InputTag("slimmedJetsPuppiWithUserData"),
88  userFloats = cms.PSet(
89  bJetRegCorr = cms.InputTag("bjetNNPuppi:corr"),
90  bJetRegRes = cms.InputTag("bjetNNPuppi:res"),
91  ),
92 )
93 
94 BJetRegressionPuppi = cms.Task()
95 BJetRegressionPuppi.add(bJetVarsPuppi)
96 BJetRegressionPuppi.add(slimmedJetsPuppiWithUserData)
97 BJetRegressionPuppi.add(bjetNNPuppi)
98 BJetRegressionPuppi.add(slimmedJetsPuppiWithUserDataWithReg)
99 
100 
101