Back to home page

Project CMSSW displayed by LXR

 
 

    


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 ##################### Tables for final output and docs ##########################
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(#NOTA BENE: we don't copy PTVars here!
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(#NOTA BENE: we don't copy PTVars here!
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(#NOTA BENE: we don't copy PTVars here!
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(#NOTA BENE: we don't copy PTVars here!
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(#NOTA BENE: we don't copy PTVars here!
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     # current deepMets are saved in slimmedMETs in MiniAOD,
0103     # in the same way as chsMet/TkMET
0104     src = metTable.src,
0105     name = cms.string("DeepMETResolutionTune"),
0106     doc = cms.string("Deep MET trained with resolution tune"),
0107     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
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(#NOTA BENE: we don't copy PTVars here!
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 )