1 import FWCore.ParameterSet.Config
as cms
14 kt6PFJets = kt4PFJets.clone(rParam = 0.6, doRhoFastjet =
True )
16 calibratedAK4PFJetsForPFMVAMEt = cms.EDProducer(
'PFJetCorrectionProducer',
17 src = cms.InputTag(
'ak4PFJets'),
18 correctors = cms.vstring(
"ak4PFL1FastL2L3")
21 pfMVAMEt = cms.EDProducer(
"PFMETProducerMVA",
22 srcCorrJets = cms.InputTag(
'calibratedAK4PFJetsForPFMVAMEt'),
23 srcUncorrJets = cms.InputTag(
'ak4PFJets'),
24 srcPFCandidates = cms.InputTag(
'particleFlow'),
25 srcVertices = cms.InputTag(
'offlinePrimaryVertices'),
26 srcLeptons = cms.VInputTag(
'selectedElectrons',
31 minNumLeptons = cms.int32(0),
32 srcRho = cms.InputTag(
'fixedGridRhoFastjetAll'),
33 globalThreshold = cms.double(-1.),
34 minCorrJetPt = cms.double(-1.),
35 inputFileNames = cms.PSet(
36 U = cms.FileInPath(
'RecoMET/METPUSubtraction/data/gbrmet_53_June2013_type1.root'),
37 DPhi = cms.FileInPath(
'RecoMET/METPUSubtraction/data/gbrmetphi_53_June2013_type1.root'),
38 CovU1 = cms.FileInPath(
'RecoMET/METPUSubtraction/data/gbru1cov_53_Dec2012.root'),
39 CovU2 = cms.FileInPath(
'RecoMET/METPUSubtraction/data/gbru2cov_53_Dec2012.root')
41 loadMVAfromDB = cms.bool(
False),
42 is42 = cms.bool(
False),
43 corrector = cms.string(
"ak4PFL1Fastjet"),
44 useType1 = cms.bool(
True),
45 useOld42 = cms.bool(
False),
46 dZcut = cms.double(0.1),
47 impactParTkThreshold = cms.double(0.),
48 tmvaWeights = cms.string(
"RecoJets/JetProducers/data/TMVAClassificationCategory_JetID_MET_53X_Dec2012.weights.xml.gz"),
49 tmvaMethod = cms.string(
"JetID"),
50 version = cms.int32(-1),
51 cutBased = cms.bool(
False),
52 tmvaVariables = cms.vstring(
70 tmvaSpectators = cms.vstring(),
71 JetIdParams = JetIdParams,
72 verbosity = cms.int32(0)
75 pfMVAMEtTask = cms.Task(
77 calibratedAK4PFJetsForPFMVAMEt,
80 pfMVAMEtSequence = cms.Sequence(pfMVAMEtTask)
85 pfNoPUMEtTask = cms.Task()
88 calibratedAK4PFJetsForPFNoPUMEt = cms.EDProducer(
'PFJetCorrectionProducer',
89 src = cms.InputTag(
'ak4PFJets'),
90 correctors = cms.vstring(
'ak4PFL1FastL2L3Residual')
92 ak4PFJetTaskForPFNoPUMEt = cms.Task(calibratedAK4PFJetsForPFNoPUMEt)
93 pfNoPUMEtTask.add(ak4PFJetTaskForPFNoPUMEt)
96 puJetIdForPFNoPUMEt = pileupJetId.clone(
103 produceJetIds =
True,
105 jets =
"calibratedAK4PFJetsForPFNoPUMEt",
107 inputIsCorrected =
True,
109 pfNoPUMEtTask.add(puJetIdForPFNoPUMEt)
112 pfNoPUMEtTask.add(type0PFMEtCorrection)
113 pfCandidateToVertexAssociationForPFNoPUMEt = pfCandidateToVertexAssociation.clone(
114 MaxNumberOfAssociations = 1,
115 doReassociation =
False,
116 FinalAssociation = 1,
119 pfNoPUMEtTask.add(pfCandidateToVertexAssociationForPFNoPUMEt)
120 pfMETcorrType0ForPFNoPUMEt = pfMETcorrType0.clone(
121 srcPFCandidateToVertexAssociations =
'pfCandidateToVertexAssociationForPFNoPUMEt'
123 pfNoPUMEtTask.add(pfMETcorrType0ForPFNoPUMEt)
125 jvfJetIdForPFNoPUMEt = cms.EDProducer(
"JVFJetIdProducer",
126 srcJets = cms.InputTag(
'calibratedAK4PFJetsForPFNoPUMEt'),
127 srcPFCandidates = cms.InputTag(
'particleFlow'),
128 srcPFCandToVertexAssociations = cms.InputTag(
'pfCandidateToVertexAssociationForPFNoPUMEt'),
129 srcHardScatterVertex = cms.InputTag(
'selectedPrimaryVertexHighestPtTrackSumForPFMEtCorrType0'),
130 minTrackPt = cms.double(1.),
131 dZcut = cms.double(0.2),
132 JVFcut = cms.double(0.75),
133 neutralJetOption = cms.string(
"noPU")
135 pfNoPUMEtTask.add(jvfJetIdForPFNoPUMEt)
138 pfNoPUMEtData = cms.EDProducer(
"NoPileUpPFMEtDataProducer",
139 srcJets = cms.InputTag(
'calibratedAK4PFJetsForPFNoPUMEt'),
140 srcJetIds = cms.InputTag(
'puJetIdForPFNoPUMEt',
'full53xId'),
142 minJetPt = cms.double(30.0),
143 jetIdSelection = cms.string(
'loose'),
144 jetEnOffsetCorrLabel = cms.string(
"ak4PFL1Fastjet"),
145 srcPFCandidates = cms.InputTag(
'particleFlow'),
146 srcPFCandToVertexAssociations = cms.InputTag(
'pfCandidateToVertexAssociationForPFNoPUMEt'),
147 srcJetsForMEtCov = cms.InputTag(
'ak4PFJets'),
148 minJetPtForMEtCov = cms.double(10.),
149 srcHardScatterVertex = cms.InputTag(
'selectedPrimaryVertexHighestPtTrackSumForPFMEtCorrType0'),
150 dZcut = cms.double(0.2),
151 resolution = met_config.METSignificance_params,
152 verbosity = cms.int32(0)
154 pfNoPUMEtTask.add(pfNoPUMEtData)
156 pfNoPUMEt = cms.EDProducer(
"NoPileUpPFMEtProducer",
157 srcMEt = cms.InputTag(
'pfMet'),
158 srcMEtCov = cms.InputTag(
''),
159 srcMVAMEtData = cms.InputTag(
'pfNoPUMEtData'),
160 srcLeptons = cms.VInputTag(
'selectedElectrons',
167 srcMVAMEtDataLeptonMatch = cms.InputTag(
'pfNoPUMEtData'),
168 srcType0Correction = cms.InputTag(
'pfMETcorrType0ForPFNoPUMEt'),
169 sfNoPUjets = cms.double(1.0),
170 sfNoPUjetOffsetEnCorr = cms.double(0.0),
171 sfPUjets = cms.double(1.0),
172 sfNoPUunclChargedCands = cms.double(1.0),
173 sfPUunclChargedCands = cms.double(1.0),
174 sfUnclNeutralCands = cms.double(0.6),
175 sfType0Correction = cms.double(1.0),
176 sfLeptonIsoCones = cms.double(0.6),
177 resolution = met_config.METSignificance_params,
178 sfMEtCovMin = cms.double(0.6),
179 sfMEtCovMax = cms.double(1.0),
180 saveInputs = cms.bool(
True),
181 verbosity = cms.int32(0)
183 pfNoPUMEtTask.add(pfNoPUMEt)
184 pfNoPUMEtSequence = cms.Sequence(pfNoPUMEtTask)
186 mitigatedMETTask = cms.Task(
187 selectionSequenceForMVANoPUMETTask,
191 mitigatedMETSequence = cms.Sequence(mitigatedMETTask)