File indexing completed on 2023-03-17 11:20:14
0001 import FWCore.ParameterSet.Config as cms
0002
0003 from RecoMET.METPUSubtraction.objectSelection_cff import *
0004
0005
0006
0007
0008
0009 from JetMETCorrections.Configuration.JetCorrectionServicesAllAlgos_cff import *
0010 from JetMETCorrections.Configuration.DefaultJEC_cff import *
0011 from RecoJets.JetProducers.PileupJetIDParams_cfi import JetIdParams
0012
0013 from RecoJets.JetProducers.kt4PFJets_cfi import kt4PFJets
0014 kt6PFJets = kt4PFJets.clone(rParam = 0.6, doRhoFastjet = True )
0015
0016 calibratedAK4PFJetsForPFMVAMEt = cms.EDProducer('PFJetCorrectionProducer',
0017 src = cms.InputTag('ak4PFJets'),
0018 correctors = cms.vstring("ak4PFL1FastL2L3")
0019 )
0020
0021 pfMVAMEt = cms.EDProducer("PFMETProducerMVA",
0022 srcCorrJets = cms.InputTag('calibratedAK4PFJetsForPFMVAMEt'),
0023 srcUncorrJets = cms.InputTag('ak4PFJets'),
0024 srcPFCandidates = cms.InputTag('particleFlow'),
0025 srcVertices = cms.InputTag('offlinePrimaryVertices'),
0026 srcLeptons = cms.VInputTag('selectedElectrons',
0027 'selectedMuons',
0028 'selectedTaus',
0029 'selectedPhotons',
0030 'selectedJets'),
0031 minNumLeptons = cms.int32(0),
0032 srcRho = cms.InputTag('fixedGridRhoFastjetAll'),
0033 globalThreshold = cms.double(-1.),
0034 minCorrJetPt = cms.double(-1.),
0035 inputFileNames = cms.PSet(
0036 U = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmet_53_June2013_type1.root'),
0037 DPhi = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmetphi_53_June2013_type1.root'),
0038 CovU1 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru1cov_53_Dec2012.root'),
0039 CovU2 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru2cov_53_Dec2012.root')
0040 ),
0041 loadMVAfromDB = cms.bool(False),
0042 is42 = cms.bool(False),
0043 corrector = cms.string("ak4PFL1Fastjet"),
0044 useType1 = cms.bool(True),
0045 useOld42 = cms.bool(False),
0046 dZcut = cms.double(0.1),
0047 impactParTkThreshold = cms.double(0.),
0048 tmvaWeights = cms.string("RecoJets/JetProducers/data/TMVAClassificationCategory_JetID_MET_53X_Dec2012.weights.xml.gz"),
0049 tmvaMethod = cms.string("JetID"),
0050 version = cms.int32(-1),
0051 cutBased = cms.bool(False),
0052 tmvaVariables = cms.vstring(
0053 "nvtx",
0054 "jetPt",
0055 "jetEta",
0056 "jetPhi",
0057 "dZ",
0058 "beta",
0059 "betaStar",
0060 "nCharged",
0061 "nNeutrals",
0062 "dR2Mean",
0063 "ptD",
0064 "frac01",
0065 "frac02",
0066 "frac03",
0067 "frac04",
0068 "frac05"
0069 ),
0070 tmvaSpectators = cms.vstring(),
0071 JetIdParams = JetIdParams,
0072 verbosity = cms.int32(0)
0073 )
0074
0075 pfMVAMEtTask = cms.Task(
0076 kt6PFJets,
0077 calibratedAK4PFJetsForPFMVAMEt,
0078 pfMVAMEt
0079 )
0080 pfMVAMEtSequence = cms.Sequence(pfMVAMEtTask)
0081
0082
0083
0084
0085 pfNoPUMEtTask = cms.Task()
0086
0087 from JetMETCorrections.Configuration.JetCorrectionServices_cff import *
0088 calibratedAK4PFJetsForPFNoPUMEt = cms.EDProducer('PFJetCorrectionProducer',
0089 src = cms.InputTag('ak4PFJets'),
0090 correctors = cms.vstring('ak4PFL1FastL2L3Residual')
0091 )
0092 ak4PFJetTaskForPFNoPUMEt = cms.Task(calibratedAK4PFJetsForPFNoPUMEt)
0093 pfNoPUMEtTask.add(ak4PFJetTaskForPFNoPUMEt)
0094
0095 from RecoJets.JetProducers.PileupJetID_cfi import *
0096 puJetIdForPFNoPUMEt = pileupJetId.clone(
0097 algos = cms.VPSet(
0098 full_53x,
0099 cutbased,
0100 PhilV1
0101 ),
0102
0103 produceJetIds = True,
0104 runMvas = True,
0105 jets = "calibratedAK4PFJetsForPFNoPUMEt",
0106 applyJec = False,
0107 inputIsCorrected = True,
0108 )
0109 pfNoPUMEtTask.add(puJetIdForPFNoPUMEt)
0110
0111 from JetMETCorrections.Type1MET.pfMETCorrectionType0_cfi import *
0112 pfNoPUMEtTask.add(type0PFMEtCorrection)
0113 pfCandidateToVertexAssociationForPFNoPUMEt = pfCandidateToVertexAssociation.clone(
0114 MaxNumberOfAssociations = 1,
0115 doReassociation = False,
0116 FinalAssociation = 1,
0117 nTrackWeight = 0.
0118 )
0119 pfNoPUMEtTask.add(pfCandidateToVertexAssociationForPFNoPUMEt)
0120 pfMETcorrType0ForPFNoPUMEt = pfMETcorrType0.clone(
0121 srcPFCandidateToVertexAssociations = 'pfCandidateToVertexAssociationForPFNoPUMEt'
0122 )
0123 pfNoPUMEtTask.add(pfMETcorrType0ForPFNoPUMEt)
0124
0125 jvfJetIdForPFNoPUMEt = cms.EDProducer("JVFJetIdProducer",
0126 srcJets = cms.InputTag('calibratedAK4PFJetsForPFNoPUMEt'),
0127 srcPFCandidates = cms.InputTag('particleFlow'),
0128 srcPFCandToVertexAssociations = cms.InputTag('pfCandidateToVertexAssociationForPFNoPUMEt'),
0129 srcHardScatterVertex = cms.InputTag('selectedPrimaryVertexHighestPtTrackSumForPFMEtCorrType0'),
0130 minTrackPt = cms.double(1.),
0131 dZcut = cms.double(0.2),
0132 JVFcut = cms.double(0.75),
0133 neutralJetOption = cms.string("noPU")
0134 )
0135 pfNoPUMEtTask.add(jvfJetIdForPFNoPUMEt)
0136
0137 import RecoMET.METProducers.METSigParams_cfi as met_config
0138
0139 pfNoPUMEt = cms.EDProducer("NoPileUpPFMEtProducer",
0140 srcMEt = cms.InputTag('pfMet'),
0141 srcMEtCov = cms.InputTag(''),
0142 srcMVAMEtData = cms.InputTag('pfNoPUMEtData'),
0143 srcLeptons = cms.VInputTag( 'selectedElectrons',
0144 'selectedMuons',
0145 'selectedTaus',
0146 'selectedPhotons',
0147 'selectedJets'),
0148
0149
0150 srcMVAMEtDataLeptonMatch = cms.InputTag('pfNoPUMEtData'),
0151 srcType0Correction = cms.InputTag('pfMETcorrType0ForPFNoPUMEt'),
0152 sfNoPUjets = cms.double(1.0),
0153 sfNoPUjetOffsetEnCorr = cms.double(0.0),
0154 sfPUjets = cms.double(1.0),
0155 sfNoPUunclChargedCands = cms.double(1.0),
0156 sfPUunclChargedCands = cms.double(1.0),
0157 sfUnclNeutralCands = cms.double(0.6),
0158 sfType0Correction = cms.double(1.0),
0159 sfLeptonIsoCones = cms.double(0.6),
0160 resolution = met_config.METSignificance_params,
0161 sfMEtCovMin = cms.double(0.6),
0162 sfMEtCovMax = cms.double(1.0),
0163 saveInputs = cms.bool(True),
0164 verbosity = cms.int32(0)
0165 )
0166 pfNoPUMEtTask.add(pfNoPUMEt)
0167 pfNoPUMEtSequence = cms.Sequence(pfNoPUMEtTask)
0168
0169 mitigatedMETTask = cms.Task(
0170 selectionSequenceForMVANoPUMETTask,
0171 pfMVAMEtTask,
0172 pfNoPUMEtTask
0173 )
0174 mitigatedMETSequence = cms.Sequence(mitigatedMETTask)