CMS 3D CMS Logo

muonProducer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 patMuons = cms.EDProducer("PATMuonProducer",
4  # input
5  muonSource = cms.InputTag("muons"),
6 
7  # use particle flow instead of std reco
8  useParticleFlow = cms.bool( False ),
9  pfMuonSource = cms.InputTag("particleFlow"),
10 
11  # add user data
12  userData = cms.PSet(
13  # add custom classes here
14  userClasses = cms.PSet(
15  src = cms.VInputTag('')
16  ),
17  # add doubles here
18  userFloats = cms.PSet(
19  src = cms.VInputTag('')
20  ),
21  # add ints here
22  userInts = cms.PSet(
23  src = cms.VInputTag('')
24  ),
25  # add candidate ptrs here
26  userCands = cms.PSet(
27  src = cms.VInputTag('')
28  ),
29  # add "inline" functions here
30  userFunctions = cms.vstring(),
31  userFunctionLabels = cms.vstring()
32  ),
33 
34  # embedding objects
35  embedMuonBestTrack = cms.bool(True),
36  embedTunePMuonBestTrack = cms.bool(True),
37  forceBestTrackEmbedding = cms.bool(False),
38  embedTrack = cms.bool(False),
39  embedCombinedMuon = cms.bool(True),
40  embedStandAloneMuon = cms.bool(True),
41  embedPickyMuon = cms.bool(True),
42  embedTpfmsMuon = cms.bool(True),
43  embedDytMuon = cms.bool(True),
44  embedPFCandidate = cms.bool(True),
45 
46  # embedding of muon MET corrections for caloMET
47  embedCaloMETMuonCorrs = cms.bool(True),
48  caloMETMuonCorrs = cms.InputTag("muonMETValueMapProducer" , "muCorrData"),
49  # embedding of muon MET corrections for tcMET
50  embedTcMETMuonCorrs = cms.bool(False), # removed from RECO/AOD!
51  tcMETMuonCorrs = cms.InputTag("muonTCMETValueMapProducer", "muCorrData"),
52 
53  # embed IsoDeposits
54  isoDeposits = cms.PSet(
55  #user = cms.VInputTag(
56  # cms.InputTag("muIsoDepositCalByAssociatorTowers","ho"),
57  # cms.InputTag("muIsoDepositJets")
58  # ),
59  ),
60 
61  # user defined isolation variables the variables defined here will be accessible
62  # via pat::Muon::userIsolation(IsolationKeys key) with the key as defined in
63  # DataFormats/PatCandidates/interface/Isolation.h
64  userIsolation = cms.PSet(
65  #user = cms.VPSet(cms.PSet(
66  # src = cms.InputTag("muIsoDepositCalByAssociatorTowers","ho"),
67  # deltaR = cms.double(0.3)
68  # ),
69  # cms.PSet(
70  # src = cms.InputTag("muIsoDepositJets"),
71  # deltaR = cms.double(0.3)
72  # )),
73  ),
74  # Read and store combined inverse beta
75  addInverseBeta = cms.bool(True),
76  sourceMuonTimeExtra = cms.InputTag("muons","combined"), #Use combined info, not only csc or dt
77  # mc matching
78  addGenMatch = cms.bool(True),
79  embedGenMatch = cms.bool(True),
80  genParticleMatch = cms.InputTag("muonMatch"),
81 
82  # efficiencies
83  addEfficiencies = cms.bool(False),
84  efficiencies = cms.PSet(),
85 
86  # resolution configurables
87  addResolutions = cms.bool(False),
88  resolutions = cms.PSet(),
89 
90  # high level selections
91  embedHighLevelSelection = cms.bool(True),
92  beamLineSrc = cms.InputTag("offlineBeamSpot"),
93  pvSrc = cms.InputTag("offlinePrimaryVertices"),
94 
95  # ecal PF energy
96  embedPfEcalEnergy = cms.bool(True),
97  addPuppiIsolation = cms.bool(False),
98 
99  # Compute and store Mini-Isolation.
100  # Implemention and a description of parameters can be found in:
101  # PhysicsTools/PatUtils/src/PFIsolation.cc
102  # only works in miniaod, so set to True in miniAOD_tools.py
103  computeMiniIso = cms.bool(False),
104  effectiveAreaVec = cms.vdouble(0.0566, 0.0562, 0.0363, 0.0119, 0.0064),
105  pfCandsForMiniIso = cms.InputTag("packedPFCandidates"),
106  miniIsoParams = cms.vdouble(0.05, 0.2, 10.0, 0.5, 0.0001, 0.01, 0.01, 0.01, 0.0),
107 
108  computePuppiCombinedIso = cms.bool(False),
109  # Standard Muon Selectors and Jet-related observables
110  # Depends on MiniIsolation, so only works in miniaod
111  # Don't forget to set flags properly in miniAOD_tools.py
112  computeMuonMVA = cms.bool(False),
113  computeMuonIDMVA = cms.bool(False),
114  mvaTrainingFile = cms.FileInPath("RecoMuon/MuonIdentification/data/mu_2017_BDTG.weights.xml"),
115  mvaIDTrainingFile = cms.FileInPath("RecoMuon/MuonIdentification/data/mvaID.onnx"),
116  lowPtmvaTrainingFile = cms.FileInPath("RecoMuon/MuonIdentification/data/mu_lowpt_BDTG.weights.xml"),
117  recomputeBasicSelectors = cms.bool(True),
118  mvaUseJec = cms.bool(True),
119  mvaDrMax = cms.double(0.4),
120  mvaJetTag = cms.InputTag("pfCombinedInclusiveSecondaryVertexV2BJetTags"),
121  mvaL1Corrector = cms.InputTag("ak4PFCHSL1FastjetCorrector"),
122  mvaL1L2L3ResCorrector = cms.InputTag("ak4PFCHSL1FastL2L3Corrector"),
123  rho = cms.InputTag("fixedGridRhoFastjetCentralNeutral"),
124 
125  computeSoftMuonMVA = cms.bool(False),
126  softMvaTrainingFile = cms.FileInPath("RecoMuon/MuonIdentification/data/TMVA-muonid-bmm4-B-25.weights.xml"),
127 
128  # MC Info
129  muonSimInfo = cms.InputTag("muonSimClassifier"),
130 
131  # Trigger Info
132  addTriggerMatching = cms.bool(False),
133  triggerObjects = cms.InputTag("slimmedPatTrigger"),
134  triggerResults = cms.InputTag("TriggerResults","","HLT"),
135  hltCollectionFilters = cms.vstring('*')
136 )
137 
138 from Configuration.Eras.Modifier_run3_common_cff import run3_common
139 run3_common.toModify(patMuons,
140  mvaJetTag = cms.InputTag("pfDeepCSVJetTags:probb"),
141 )
142 
143