Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-25 02:14:04

0001 import FWCore.ParameterSet.Config as cms
0002 from  PhysicsTools.NanoAOD.common_cff import *
0003 from PhysicsTools.NanoAOD.simplePATMETFlatTableProducer_cfi import simplePATMETFlatTableProducer
0004 
0005 simpleSingletonPATMETFlatTableProducer = simplePATMETFlatTableProducer.clone(
0006     singleton = cms.bool(True),
0007     cut = None,
0008     lazyEval = None
0009 )
0010 
0011 ##################### Tables for final output and docs ##########################
0012 pfmetTable = simpleSingletonPATMETFlatTableProducer.clone(
0013     src = cms.InputTag("slimmedMETs"),
0014     name = cms.string("PFMET"),
0015     doc = cms.string("slimmedMET, type-1 corrected PF MET"),
0016     variables = cms.PSet(PTVars,
0017        covXX = Var("getSignificanceMatrix().At(0,0)",float,doc="xx element of met covariance matrix", precision=8),
0018        covXY = Var("getSignificanceMatrix().At(0,1)",float,doc="xy element of met covariance matrix", precision=8),
0019        covYY = Var("getSignificanceMatrix().At(1,1)",float,doc="yy element of met covariance matrix", precision=8),
0020        significance = Var("metSignificance()", float, doc="MET significance",precision=10),
0021        sumEt = Var("sumEt()", float, doc="scalar sum of Et",precision=10), 
0022        sumPtUnclustered = Var("metSumPtUnclustered()", float, doc="sumPt used for MET significance",precision=10),
0023        ptUnclusteredUp = Var("shiftedPt('UnclusteredEnUp')", float, doc="Unclustered up pt",precision=10),
0024        ptUnclusteredDown = Var("shiftedPt('UnclusteredEnDown')", float, doc="Unclustered down pt",precision=10),
0025        phiUnclusteredUp = Var("shiftedPhi('UnclusteredEnUp')", float, doc="Unclustered up phi",precision=10),
0026        phiUnclusteredDown = Var("shiftedPhi('UnclusteredEnDown')", float, doc="Unclustered down phi",precision=10),
0027     ),
0028 )
0029 
0030 
0031 rawMetTable = simpleSingletonPATMETFlatTableProducer.clone(
0032     src = pfmetTable.src,
0033     name = cms.string("RawPFMET"),
0034     doc = cms.string("raw PF MET"),
0035     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
0036        pt  = Var("uncorPt",  float, doc="pt", precision=10),
0037        phi = Var("uncorPhi", float, doc="phi", precision=10),
0038        sumEt = Var("uncorSumEt", float, doc="scalar sum of Et", precision=10),
0039     ),
0040 )
0041 
0042 
0043 caloMetTable = simpleSingletonPATMETFlatTableProducer.clone(
0044     src = pfmetTable.src,
0045     name = cms.string("CaloMET"),
0046     doc = cms.string("Offline CaloMET (muon corrected)"),
0047     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
0048        pt  = Var("caloMETPt",  float, doc="pt", precision=10),
0049        phi = Var("caloMETPhi", float, doc="phi", precision=10),
0050        sumEt = Var("caloMETSumEt", float, doc="scalar sum of Et", precision=10),
0051     ),
0052 )
0053 
0054 puppiMetTable = simpleSingletonPATMETFlatTableProducer.clone(
0055     src = cms.InputTag("slimmedMETsPuppi"),
0056     name = cms.string("PuppiMET"),
0057     doc = cms.string("PUPPI  MET"),
0058     variables = cms.PSet(PTVars,
0059        covXX = Var("getSignificanceMatrix().At(0,0)",float,doc="xx element of met covariance matrix", precision=8),
0060        covXY = Var("getSignificanceMatrix().At(0,1)",float,doc="xy element of met covariance matrix", precision=8),
0061        covYY = Var("getSignificanceMatrix().At(1,1)",float,doc="yy element of met covariance matrix", precision=8),
0062        significance = Var("metSignificance()", float, doc="MET significance",precision=10),
0063        sumEt = Var("sumEt()", float, doc="scalar sum of Et",precision=10),
0064        sumPtUnclustered = Var("metSumPtUnclustered()", float, doc="sumPt used for MET significance",precision=10),
0065        ptUnclusteredUp = Var("shiftedPt('UnclusteredEnUp')", float, doc="Unclustered up pt",precision=10),
0066        ptUnclusteredDown = Var("shiftedPt('UnclusteredEnDown')", float, doc="Unclustered down pt",precision=10),
0067        phiUnclusteredUp = Var("shiftedPhi('UnclusteredEnUp')", float, doc="Unclustered up phi",precision=10),
0068        phiUnclusteredDown = Var("shiftedPhi('UnclusteredEnDown')", float, doc="Unclustered down phi",precision=10),
0069     ),
0070 )
0071 
0072 rawPuppiMetTable = simpleSingletonPATMETFlatTableProducer.clone(
0073     src = puppiMetTable.src,
0074     name = cms.string("RawPuppiMET"),
0075     doc = cms.string("raw Puppi MET"),
0076     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
0077        pt  = Var("uncorPt",  float, doc="pt", precision=10),
0078        phi = Var("uncorPhi", float, doc="phi", precision=10),
0079        sumEt = Var("uncorSumEt", float, doc="scalar sum of Et", precision=10),
0080     ),)
0081 
0082 
0083 trkMetTable = simpleSingletonPATMETFlatTableProducer.clone(
0084     src = pfmetTable.src,
0085     name = cms.string("TrkMET"),
0086     doc = cms.string("Track MET computed with tracks from PV0 ( pvAssociationQuality()>=4 ) "),
0087     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
0088        pt = Var("corPt('RawTrk')", float, doc="raw track MET pt",precision=10),
0089        phi = Var("corPhi('RawTrk')", float, doc="raw track MET phi",precision=10),
0090        sumEt = Var("corSumEt('RawTrk')", float, doc="raw track scalar sum of Et",precision=10),
0091     ),
0092 )
0093 
0094 deepMetResolutionTuneTable = simpleSingletonPATMETFlatTableProducer.clone(
0095     # current deepMets are saved in slimmedMETs in MiniAOD,
0096     # in the same way as chsMet/TrkMET
0097     src = pfmetTable.src,
0098     name = cms.string("DeepMETResolutionTune"),
0099     doc = cms.string("Deep MET trained with resolution tune"),
0100     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
0101         pt = Var("corPt('RawDeepResolutionTune')", float, doc="DeepMET ResolutionTune pt",precision=-1),
0102         phi = Var("corPhi('RawDeepResolutionTune')", float, doc="DeepmET ResolutionTune phi",precision=12),
0103     ),
0104 )
0105 
0106 deepMetResponseTuneTable = simpleSingletonPATMETFlatTableProducer.clone(
0107     src = pfmetTable.src,
0108     name = cms.string("DeepMETResponseTune"),
0109     doc = cms.string("Deep MET trained with extra response tune"),
0110     variables = cms.PSet(#NOTA BENE: we don't copy PTVars here!
0111         pt = Var("corPt('RawDeepResponseTune')", float, doc="DeepMET ResponseTune pt",precision=-1),
0112         phi = Var("corPhi('RawDeepResponseTune')", float, doc="DeepMET ResponseTune phi",precision=12),
0113     ),
0114 )
0115 
0116 metMCTable = simpleSingletonPATMETFlatTableProducer.clone(
0117     src = pfmetTable.src,
0118     name = cms.string("GenMET"),
0119     doc = cms.string("Gen MET"),
0120     variables = cms.PSet(
0121        pt  = Var("genMET.pt",  float, doc="pt", precision=10),
0122        phi = Var("genMET.phi", float, doc="phi", precision=10),
0123     ),
0124 )
0125 
0126 
0127 metTablesTask = cms.Task(pfmetTable, rawMetTable, caloMetTable, puppiMetTable, rawPuppiMetTable, trkMetTable, 
0128         deepMetResolutionTuneTable, deepMetResponseTuneTable )
0129 metMCTask = cms.Task( metMCTable )