File indexing completed on 2023-03-17 11:16:09
0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.NanoAOD.common_cff import *
0003 from PhysicsTools.NanoAOD.simpleSingletonCandidateFlatTableProducer_cfi import simpleSingletonCandidateFlatTableProducer
0004
0005
0006 metTable = simpleSingletonCandidateFlatTableProducer.clone(
0007 src = cms.InputTag("slimmedMETs"),
0008 name = cms.string("MET"),
0009 doc = cms.string("slimmedMET, type-1 corrected PF MET"),
0010 variables = cms.PSet(PTVars,
0011 sumEt = Var("sumEt()", float, doc="scalar sum of Et",precision=10),
0012 covXX = Var("getSignificanceMatrix().At(0,0)",float,doc="xx element of met covariance matrix", precision=8),
0013 covXY = Var("getSignificanceMatrix().At(0,1)",float,doc="xy element of met covariance matrix", precision=8),
0014 covYY = Var("getSignificanceMatrix().At(1,1)",float,doc="yy element of met covariance matrix", precision=8),
0015 significance = Var("metSignificance()", float, doc="MET significance",precision=10),
0016 sumPtUnclustered = Var("metSumPtUnclustered()", float, doc="sumPt used for MET significance",precision=10),
0017 MetUnclustEnUpDeltaX = Var("shiftedPx('UnclusteredEnUp')-px()", float, doc="Delta (METx_mod-METx) Unclustered Energy Up",precision=10),
0018 MetUnclustEnUpDeltaY = Var("shiftedPy('UnclusteredEnUp')-py()", float, doc="Delta (METy_mod-METy) Unclustered Energy Up",precision=10),
0019
0020 ),
0021 )
0022
0023
0024 rawMetTable = simpleSingletonCandidateFlatTableProducer.clone(
0025 src = metTable.src,
0026 name = cms.string("RawMET"),
0027 doc = cms.string("raw PF MET"),
0028 variables = cms.PSet(
0029 pt = Var("uncorPt", float, doc="pt", precision=10),
0030 phi = Var("uncorPhi", float, doc="phi", precision=10),
0031 sumEt = Var("uncorSumEt", float, doc="scalar sum of Et", precision=10),
0032 ),
0033 )
0034
0035
0036 caloMetTable = simpleSingletonCandidateFlatTableProducer.clone(
0037 src = metTable.src,
0038 name = cms.string("CaloMET"),
0039 doc = cms.string("Offline CaloMET (muon corrected)"),
0040 variables = cms.PSet(
0041 pt = Var("caloMETPt", float, doc="pt", precision=10),
0042 phi = Var("caloMETPhi", float, doc="phi", precision=10),
0043 sumEt = Var("caloMETSumEt", float, doc="scalar sum of Et", precision=10),
0044 ),
0045 )
0046
0047 puppiMetTable = simpleSingletonCandidateFlatTableProducer.clone(
0048 src = cms.InputTag("slimmedMETsPuppi"),
0049 name = cms.string("PuppiMET"),
0050 doc = cms.string("PUPPI MET"),
0051 variables = cms.PSet(PTVars,
0052 sumEt = Var("sumEt()", float, doc="scalar sum of Et",precision=10),
0053 ptJERUp = Var("shiftedPt('JetResUp')", float, doc="JER up pt",precision=10),
0054 ptJERDown = Var("shiftedPt('JetResDown')", float, doc="JER down pt",precision=10),
0055 phiJERUp = Var("shiftedPhi('JetResUp')", float, doc="JER up phi",precision=10),
0056 phiJERDown = Var("shiftedPhi('JetResDown')", float, doc="JER down phi",precision=10),
0057 ptJESUp = Var("shiftedPt('JetEnUp')", float, doc="JES up pt",precision=10),
0058 ptJESDown = Var("shiftedPt('JetEnDown')", float, doc="JES down pt",precision=10),
0059 phiJESUp = Var("shiftedPhi('JetEnUp')", float, doc="JES up phi",precision=10),
0060 phiJESDown = Var("shiftedPhi('JetEnDown')", float, doc="JES down phi",precision=10),
0061 ptUnclusteredUp = Var("shiftedPt('UnclusteredEnUp')", float, doc="Unclustered up pt",precision=10),
0062 ptUnclusteredDown = Var("shiftedPt('UnclusteredEnDown')", float, doc="Unclustered down pt",precision=10),
0063 phiUnclusteredUp = Var("shiftedPhi('UnclusteredEnUp')", float, doc="Unclustered up phi",precision=10),
0064 phiUnclusteredDown = Var("shiftedPhi('UnclusteredEnDown')", float, doc="Unclustered down phi",precision=10),
0065 ),
0066 )
0067
0068 rawPuppiMetTable = simpleSingletonCandidateFlatTableProducer.clone(
0069 src = puppiMetTable.src,
0070 name = cms.string("RawPuppiMET"),
0071 doc = cms.string("raw Puppi MET"),
0072 variables = cms.PSet(
0073 pt = Var("uncorPt", float, doc="pt", precision=10),
0074 phi = Var("uncorPhi", float, doc="phi", precision=10),
0075 sumEt = Var("uncorSumEt", float, doc="scalar sum of Et", precision=10),
0076 ),)
0077
0078
0079 tkMetTable = simpleSingletonCandidateFlatTableProducer.clone(
0080 src = metTable.src,
0081 name = cms.string("TkMET"),
0082 doc = cms.string("Track MET computed with tracks from PV0 ( pvAssociationQuality()>=4 ) "),
0083 variables = cms.PSet(
0084 pt = Var("corPt('RawTrk')", float, doc="raw track MET pt",precision=10),
0085 phi = Var("corPhi('RawTrk')", float, doc="raw track MET phi",precision=10),
0086 sumEt = Var("corSumEt('RawTrk')", float, doc="raw track scalar sum of Et",precision=10),
0087 ),
0088 )
0089
0090 chsMetTable = simpleSingletonCandidateFlatTableProducer.clone(
0091 src = metTable.src,
0092 name = cms.string("ChsMET"),
0093 doc = cms.string("PF MET computed with CHS PF candidates"),
0094 variables = cms.PSet(
0095 pt = Var("corPt('RawChs')", float, doc="raw chs PF MET pt",precision=10),
0096 phi = Var("corPhi('RawChs')", float, doc="raw chs PF MET phi",precision=10),
0097 sumEt = Var("corSumEt('RawChs')", float, doc="raw chs PF scalar sum of Et",precision=10),
0098 ),
0099 )
0100
0101 deepMetResolutionTuneTable = simpleSingletonCandidateFlatTableProducer.clone(
0102
0103
0104 src = metTable.src,
0105 name = cms.string("DeepMETResolutionTune"),
0106 doc = cms.string("Deep MET trained with resolution tune"),
0107 variables = cms.PSet(
0108 pt = Var("corPt('RawDeepResolutionTune')", float, doc="DeepMET ResolutionTune pt",precision=-1),
0109 phi = Var("corPhi('RawDeepResolutionTune')", float, doc="DeepmET ResolutionTune phi",precision=12),
0110 ),
0111 )
0112
0113 deepMetResponseTuneTable = simpleSingletonCandidateFlatTableProducer.clone(
0114 src = metTable.src,
0115 name = cms.string("DeepMETResponseTune"),
0116 doc = cms.string("Deep MET trained with extra response tune"),
0117 variables = cms.PSet(
0118 pt = Var("corPt('RawDeepResponseTune')", float, doc="DeepMET ResponseTune pt",precision=-1),
0119 phi = Var("corPhi('RawDeepResponseTune')", float, doc="DeepMET ResponseTune phi",precision=12),
0120 ),
0121 )
0122
0123 metMCTable = simpleSingletonCandidateFlatTableProducer.clone(
0124 src = metTable.src,
0125 name = cms.string("GenMET"),
0126 doc = cms.string("Gen MET"),
0127 variables = cms.PSet(
0128 pt = Var("genMET.pt", float, doc="pt", precision=10),
0129 phi = Var("genMET.phi", float, doc="phi", precision=10),
0130 ),
0131 )
0132
0133
0134 metTablesTask = cms.Task( metTable, rawMetTable, caloMetTable, puppiMetTable, rawPuppiMetTable, tkMetTable, chsMetTable, deepMetResolutionTuneTable, deepMetResponseTuneTable )
0135 metMCTask = cms.Task( metMCTable )