1 import FWCore.ParameterSet.Config
as cms
4 from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv1_cff
import run2_nanoAOD_94XMiniAODv1
5 from Configuration.Eras.Modifier_run2_nanoAOD_94XMiniAODv2_cff
import run2_nanoAOD_94XMiniAODv2
8 metTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
9 src = cms.InputTag(
"slimmedMETs"),
10 name = cms.string(
"MET"),
11 doc = cms.string(
"slimmedMET, type-1 corrected PF MET"),
12 singleton = cms.bool(
True),
13 extension = cms.bool(
False),
14 variables = cms.PSet(PTVars,
15 sumEt =
Var(
"sumEt()", float, doc=
"scalar sum of Et",precision=10),
16 covXX =
Var(
"getSignificanceMatrix().At(0,0)",float,doc=
"xx element of met covariance matrix", precision=8),
17 covXY =
Var(
"getSignificanceMatrix().At(0,1)",float,doc=
"xy element of met covariance matrix", precision=8),
18 covYY =
Var(
"getSignificanceMatrix().At(1,1)",float,doc=
"yy element of met covariance matrix", precision=8),
19 significance =
Var(
"metSignificance()", float, doc=
"MET significance",precision=10),
20 sumPtUnclustered =
Var(
"metSumPtUnclustered()", float, doc=
"sumPt used for MET significance",precision=10),
21 MetUnclustEnUpDeltaX =
Var(
"shiftedPx('UnclusteredEnUp')-px()", float, doc=
"Delta (METx_mod-METx) Unclustered Energy Up",precision=10),
22 MetUnclustEnUpDeltaY =
Var(
"shiftedPy('UnclusteredEnUp')-py()", float, doc=
"Delta (METy_mod-METy) Unclustered Energy Up",precision=10),
28 rawMetTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
30 name = cms.string(
"RawMET"),
31 doc = cms.string(
"raw PF MET"),
32 singleton = cms.bool(
True),
33 extension = cms.bool(
False),
35 pt =
Var(
"uncorPt", float, doc=
"pt", precision=10),
36 phi =
Var(
"uncorPhi", float, doc=
"phi", precision=10),
37 sumEt =
Var(
"uncorSumEt", float, doc=
"scalar sum of Et", precision=10),
42 caloMetTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
44 name = cms.string(
"CaloMET"),
45 doc = cms.string(
"Offline CaloMET (muon corrected)"),
46 singleton = cms.bool(
True),
47 extension = cms.bool(
False),
49 pt =
Var(
"caloMETPt", float, doc=
"pt", precision=10),
50 phi =
Var(
"caloMETPhi", float, doc=
"phi", precision=10),
51 sumEt =
Var(
"caloMETSumEt", float, doc=
"scalar sum of Et", precision=10),
55 puppiMetTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
56 src = cms.InputTag(
"slimmedMETsPuppi"),
57 name = cms.string(
"PuppiMET"),
58 doc = cms.string(
"PUPPI MET"),
59 singleton = cms.bool(
True),
60 extension = cms.bool(
False),
61 variables = cms.PSet(PTVars,
62 sumEt =
Var(
"sumEt()", float, doc=
"scalar sum of Et",precision=10),
63 ptJERUp =
Var(
"shiftedPt('JetResUp')", float, doc=
"JER up pt",precision=10),
64 phiJERUp =
Var(
"shiftedPhi('JetResUp')", float, doc=
"JER up phi",precision=10),
65 ptJESUp =
Var(
"shiftedPt('JetEnUp')", float, doc=
"JES up pt",precision=10),
66 phiJESUp =
Var(
"shiftedPhi('JetEnUp')", float, doc=
"JES up phi",precision=10),
70 rawPuppiMetTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
71 src = puppiMetTable.src,
72 name = cms.string(
"RawPuppiMET"),
73 doc = cms.string(
"raw Puppi MET"),
74 singleton = cms.bool(
True),
75 extension = cms.bool(
False),
77 pt =
Var(
"uncorPt", float, doc=
"pt", precision=10),
78 phi =
Var(
"uncorPhi", float, doc=
"phi", precision=10),
79 sumEt =
Var(
"uncorSumEt", float, doc=
"scalar sum of Et", precision=10),
83 tkMetTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
85 name = cms.string(
"TkMET"),
86 doc = cms.string(
"Track MET computed with tracks from PV0 ( pvAssociationQuality()>=4 ) "),
87 singleton = cms.bool(
True),
88 extension = cms.bool(
False),
90 pt =
Var(
"corPt('RawTrk')", float, doc=
"raw track MET pt",precision=10),
91 phi =
Var(
"corPhi('RawTrk')", float, doc=
"raw track MET phi",precision=10),
92 sumEt =
Var(
"corSumEt('RawTrk')", float, doc=
"raw track scalar sum of Et",precision=10),
96 chsMetTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
98 name = cms.string(
"ChsMET"),
99 doc = cms.string(
"PF MET computed with CHS PF candidates"),
100 singleton = cms.bool(
True),
101 extension = cms.bool(
False),
102 variables = cms.PSet(
103 pt =
Var(
"corPt('RawChs')", float, doc=
"raw chs PF MET pt",precision=10),
104 phi =
Var(
"corPhi('RawChs')", float, doc=
"raw chs PF MET phi",precision=10),
105 sumEt =
Var(
"corSumEt('RawChs')", float, doc=
"raw chs PF scalar sum of Et",precision=10),
109 metFixEE2017Table = metTable.clone()
110 metFixEE2017Table.src = cms.InputTag(
"slimmedMETsFixEE2017")
111 metFixEE2017Table.name = cms.string(
"METFixEE2017")
112 metFixEE2017Table.doc = cms.string(
"Type-1 corrected PF MET, with fixEE2017 definition")
115 metMCTable = cms.EDProducer(
"SimpleCandidateFlatTableProducer",
117 name = cms.string(
"GenMET"),
118 doc = cms.string(
"Gen MET"),
119 singleton = cms.bool(
True),
120 extension = cms.bool(
False),
121 variables = cms.PSet(
122 pt =
Var(
"genMET.pt", float, doc=
"pt", precision=10),
123 phi =
Var(
"genMET.phi", float, doc=
"phi", precision=10),
129 metTables = cms.Sequence( metTable + rawMetTable + caloMetTable + puppiMetTable + rawPuppiMetTable+ tkMetTable + chsMetTable)
130 _withFixEE2017_sequence = cms.Sequence(metTables.copy() + metFixEE2017Table)
131 for modifier
in run2_nanoAOD_94XMiniAODv1, run2_nanoAOD_94XMiniAODv2:
132 modifier.toReplaceWith(metTables,_withFixEE2017_sequence)
133 metMC = cms.Sequence( metMCTable )