CMS 3D CMS Logo

pfNoPUMET_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 pfNoPUMEtTask = cms.Task()
4 
6 calibratedAK4PFJetsForPFNoPUMEt = cms.EDProducer('PFJetCorrectionProducer',
7  src = cms.InputTag('ak4PFJets'),
8  correctors = cms.vstring('ak4PFL1FastL2L3') # NOTE: use "ak4PFL1FastL2L3" for MC / "ak4PFL1FastL2L3Residual" for Data
9 )
10 ak4PFJetTaskForPFNoPUMEt = cms.Task(calibratedAK4PFJetsForPFNoPUMEt)
11 pfNoPUMEtTask.add(ak4PFJetTaskForPFNoPUMEt)
12 
14 puJetIdForPFNoPUMEt = pileupJetId.clone(
15  algos = cms.VPSet(
16  full_53x,
17  cutbased,
18  PhilV1
19  ),
20 # label = "fullId", #MM does not work for weird reasons, cannot be cloned properly
21  produceJetIds = True,
22  runMvas = True,
23  jets = "calibratedAK4PFJetsForPFNoPUMEt",
24  applyJec = False,
25  inputIsCorrected = True,
26  )
27 pfNoPUMEtTask.add(puJetIdForPFNoPUMEt)
28 
30 pfNoPUMEtTask.add(type0PFMEtCorrection)
31 pfCandidateToVertexAssociationForPFNoPUMEt = pfCandidateToVertexAssociation.clone(
32  MaxNumberOfAssociations = 1,
33  doReassociation = False,
34  FinalAssociation = 1,
35  nTrackWeight = 0.
36 )
37 pfNoPUMEtTask.add(pfCandidateToVertexAssociationForPFNoPUMEt)
38 pfMETcorrType0ForPFNoPUMEt = pfMETcorrType0.clone(
39  srcPFCandidateToVertexAssociations = 'pfCandidateToVertexAssociationForPFNoPUMEt'
40 )
41 pfNoPUMEtTask.add(pfMETcorrType0ForPFNoPUMEt)
42 
43 jvfJetIdForPFNoPUMEt = cms.EDProducer("JVFJetIdProducer",
44  srcJets = cms.InputTag('calibratedAK4PFJetsForPFNoPUMEt'),
45  srcPFCandidates = cms.InputTag('particleFlow'),
46  srcPFCandToVertexAssociations = cms.InputTag('pfCandidateToVertexAssociationForPFNoPUMEt'),
47  srcHardScatterVertex = cms.InputTag('selectedPrimaryVertexHighestPtTrackSumForPFMEtCorrType0'),
48  minTrackPt = cms.double(1.),
49  dZcut = cms.double(0.2), # cm
50  JVFcut = cms.double(0.75),
51  neutralJetOption = cms.string("noPU")
52 )
53 pfNoPUMEtTask.add(jvfJetIdForPFNoPUMEt)
54 
55 import RecoMET.METProducers.METSigParams_cfi as met_config
56 pfNoPUMEtData = cms.EDProducer("NoPileUpPFMEtDataProducer",
57  srcJets = cms.InputTag('calibratedAK4PFJetsForPFNoPUMEt'),
58  srcJetIds = cms.InputTag('puJetIdForPFNoPUMEt', 'full53xId'),
59  #srcJetIds = cms.InputTag('jvcJetIdForPFNoPUMEt', 'Id'),
60  minJetPt = cms.double(30.0),
61  jetIdSelection = cms.string('loose'),
62  jetEnOffsetCorrLabel = cms.string("ak4PFL1Fastjet"),
63  srcPFCandidates = cms.InputTag('particleFlow'),
64  srcPFCandToVertexAssociations = cms.InputTag('pfCandidateToVertexAssociationForPFNoPUMEt'),
65  srcJetsForMEtCov = cms.InputTag('ak4PFJets'),
66  minJetPtForMEtCov = cms.double(10.),
67  # minJetPtForMEtCov = cms.double(8.), # FOR TESTING ONLY !!
68  srcHardScatterVertex = cms.InputTag('selectedPrimaryVertexHighestPtTrackSumForPFMEtCorrType0'),
69  dZcut = cms.double(0.2), # cm
70  resolution = met_config.METSignificance_params,
71  verbosity = cms.int32(0)
72 )
73 pfNoPUMEtTask.add(pfNoPUMEtData)
74 
75 pfNoPUMEt = cms.EDProducer("NoPileUpPFMEtProducer",
76  srcMEt = cms.InputTag('pfMet'),
77  srcMEtCov = cms.InputTag(''), # NOTE: leave empty to take MET covariance matrix from reco::PFMET object //MM 08/29/14, bypass hardcoded as this variable has never been used so far
78  srcPUSubMETDataJet = cms.InputTag('pfNoPUMEtData','jetInfos'),
79  srcPUSubMETDataPFCands = cms.InputTag('pfNoPUMEtData','pfCandInfos'),
80  srcLeptons = cms.VInputTag(), # NOTE: you need to set this to collections of electrons, muons and tau-jets
81  # passing the lepton reconstruction & identification criteria applied in your analysis
82  srcPUSubMETDataJetLeptonMatch = cms.InputTag('pfNoPUMEtData','jetInfos'),
83  srcPUSubMETDataPFCandsLeptonMatch = cms.InputTag('pfNoPUMEtData','pfCandInfos'),
84  srcType0Correction = cms.InputTag('pfMETcorrType0ForPFNoPUMEt'),
85  sfNoPUjets = cms.double(1.0),
86  sfNoPUjetOffsetEnCorr = cms.double(0.0),
87  sfPUjets = cms.double(1.0),
88  sfNoPUunclChargedCands = cms.double(1.0),
89  sfPUunclChargedCands = cms.double(1.0),
90  sfUnclNeutralCands = cms.double(0.6),
91  sfType0Correction = cms.double(1.0),
92  sfLeptonIsoCones = cms.double(0.6),
93  resolution = met_config.METSignificance_params,
94  sfMEtCovMin = cms.double(0.6),
95  sfMEtCovMax = cms.double(1.0),
96  saveInputs = cms.bool(True),
97  verbosity = cms.int32(0)
98 )
99 pfNoPUMEtTask.add(pfNoPUMEt)
100 pfNoPUMEtSequence = cms.Sequence(pfNoPUMEtTask)