CMS 3D CMS Logo

pfNoPUMET_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 pfNoPUMEtSequence = cms.Sequence()
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 ak4PFJetSequenceForPFNoPUMEt = cms.Sequence(calibratedAK4PFJetsForPFNoPUMEt)
11 pfNoPUMEtSequence += ak4PFJetSequenceForPFNoPUMEt
12 
14 puJetIdForPFNoPUMEt = pileupJetId.clone(
15  algos = cms.VPSet(
16  full_53x,
17  cutbased,
18  PhilV1
19  ),
20 # label = cms.string("fullId"), #MM does not work for weird reasons, cannot be cloned properly
21  produceJetIds = cms.bool(True),
22  runMvas = cms.bool(True),
23  jets = cms.InputTag("calibratedAK4PFJetsForPFNoPUMEt"),
24  applyJec = cms.bool(False),
25  inputIsCorrected = cms.bool(True),
26  )
27 pfNoPUMEtSequence += puJetIdForPFNoPUMEt
28 
30 pfNoPUMEtSequence += type0PFMEtCorrection
31 pfCandidateToVertexAssociationForPFNoPUMEt = pfCandidateToVertexAssociation.clone(
32  MaxNumberOfAssociations = cms.int32(1),
33  doReassociation = cms.bool(False),
34  FinalAssociation = cms.untracked.int32(1),
35  nTrackWeight = cms.double(0.)
36 )
37 pfNoPUMEtSequence += pfCandidateToVertexAssociationForPFNoPUMEt
38 pfMETcorrType0ForPFNoPUMEt = pfMETcorrType0.clone(
39  srcPFCandidateToVertexAssociations = cms.InputTag('pfCandidateToVertexAssociationForPFNoPUMEt')
40 )
41 pfNoPUMEtSequence += 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 pfNoPUMEtSequence += 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 pfNoPUMEtSequence += 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 pfNoPUMEtSequence += pfNoPUMEt