CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
caloMETCorrections_cff.py
Go to the documentation of this file.
2 
3 # load jet energy correction parameters
5 
6 #--------------------------------------------------------------------------------
7 # produce Type 1 + 2 MET corrections for CaloJets
8 caloJetMETcorr = cms.EDProducer("CaloJetMETcorrInputProducer",
9  src = cms.InputTag('ak5CaloJets'),
10  jetCorrLabel = cms.string("ak5CaloL2L3"), # NOTE: use "ak5CaloL2L3" for MC / "ak5CaloL2L3Residual" for Data
11  jetCorrEtaMax = cms.double(9.9),
12  type1JetPtThreshold = cms.double(20.0),
13  skipEM = cms.bool(True),
14  skipEMfractionThreshold = cms.double(0.90),
15  srcMET = cms.InputTag('corMetGlobalMuons')
16 )
17 #--------------------------------------------------------------------------------
18 
19 #--------------------------------------------------------------------------------
20 # compute sum of muon corrections
21 muonCaloMETcorr = cms.EDProducer("MuonMETcorrInputProducer",
22  src = cms.InputTag('muons'),
23  srcMuonCorrections = cms.InputTag('muonMETValueMapProducer', 'muCorrData')
24 )
25 #--------------------------------------------------------------------------------
26 
27 #--------------------------------------------------------------------------------
28 # use MET corrections to produce Type 1 / Type 1 + 2 corrected CaloMET objects
29 caloType1CorrectedMet = cms.EDProducer("CorrectedCaloMETProducer",
30  src = cms.InputTag('corMetGlobalMuons'),
31  applyType1Corrections = cms.bool(True),
32  srcType1Corrections = cms.VInputTag(
33  cms.InputTag('caloJetMETcorr', 'type1')
34  ),
35  applyType2Corrections = cms.bool(False)
36 )
37 
38 caloType1p2CorrectedMet = cms.EDProducer("CorrectedCaloMETProducer",
39  src = cms.InputTag('corMetGlobalMuons'),
40  applyType1Corrections = cms.bool(True),
41  srcType1Corrections = cms.VInputTag(
42  cms.InputTag('caloJetMETcorr', 'type1')
43  ),
44  applyType2Corrections = cms.bool(True),
45  srcUnclEnergySums = cms.VInputTag(
46  cms.InputTag('caloJetMETcorr', 'type2'),
47  cms.InputTag('muonCaloMETcorr') # NOTE: use 'muonCaloMETcorr' for 'corMetGlobalMuons', do **not** use it for 'met' !!
48  ),
49  type2CorrFormula = cms.string("A + B*TMath::Exp(-C*x)"),
50  type2CorrParameter = cms.PSet(
51  A = cms.double(2.0),
52  B = cms.double(1.3),
53  C = cms.double(0.1)
54  )
55 )
56 #--------------------------------------------------------------------------------
57 
58 #--------------------------------------------------------------------------------
59 # define sequence to run all modules
60 produceCaloMETCorrections = cms.Sequence(
61  caloJetMETcorr
62  * muonCaloMETcorr
63  * caloType1CorrectedMet
64  * caloType1p2CorrectedMet
65 )
66 #--------------------------------------------------------------------------------