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 
57 pfNoPUMEt = cms.EDProducer("NoPileUpPFMEtProducer",
58  srcMEt = cms.InputTag('pfMet'),
59  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
60  srcPUSubMETDataJet = cms.InputTag('pfNoPUMEtData','jetInfos'),
61  srcPUSubMETDataPFCands = cms.InputTag('pfNoPUMEtData','pfCandInfos'),
62  srcLeptons = cms.VInputTag(), # NOTE: you need to set this to collections of electrons, muons and tau-jets
63  # passing the lepton reconstruction & identification criteria applied in your analysis
64  srcPUSubMETDataJetLeptonMatch = cms.InputTag('pfNoPUMEtData','jetInfos'),
65  srcPUSubMETDataPFCandsLeptonMatch = cms.InputTag('pfNoPUMEtData','pfCandInfos'),
66  srcType0Correction = cms.InputTag('pfMETcorrType0ForPFNoPUMEt'),
67  sfNoPUjets = cms.double(1.0),
68  sfNoPUjetOffsetEnCorr = cms.double(0.0),
69  sfPUjets = cms.double(1.0),
70  sfNoPUunclChargedCands = cms.double(1.0),
71  sfPUunclChargedCands = cms.double(1.0),
72  sfUnclNeutralCands = cms.double(0.6),
73  sfType0Correction = cms.double(1.0),
74  sfLeptonIsoCones = cms.double(0.6),
75  resolution = met_config.METSignificance_params,
76  sfMEtCovMin = cms.double(0.6),
77  sfMEtCovMax = cms.double(1.0),
78  saveInputs = cms.bool(True),
79  verbosity = cms.int32(0)
80 )
81 pfNoPUMEtTask.add(pfNoPUMEt)
82 pfNoPUMEtSequence = cms.Sequence(pfNoPUMEtTask)