1 import FWCore.ParameterSet.Config
as cms
4 from RecoMuon.MuonIdentification.earlyMuons_cfi
import earlyMuons
7 import RecoTracker.SpecialSeedGenerators.outInSeedsFromStandaloneMuons_cfi
8 import RecoTracker.SpecialSeedGenerators.inOutSeedsFromTrackerMuons_cfi
9 muonSeededSeedsOutIn = RecoTracker.SpecialSeedGenerators.outInSeedsFromStandaloneMuons_cfi.outInSeedsFromStandaloneMuons.clone(
12 muonSeededSeedsInOut = RecoTracker.SpecialSeedGenerators.inOutSeedsFromTrackerMuons_cfi.inOutSeedsFromTrackerMuons.clone(
16 from RecoTracker.SpecialSeedGenerators.outInSeedsFromStandaloneMuons_cfi
import hitCollectorForOutInMuonSeeds
21 muonSeededTrajectoryCleanerBySharedHits = TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi.trajectoryCleanerBySharedHits.clone(
22 ComponentName = cms.string(
'muonSeededTrajectoryCleanerBySharedHits'),
23 fractionShared = cms.double(0.1),
24 ValidHitBonus = cms.double(1000.0),
25 MissingHitPenalty = cms.double(1.0),
26 ComponentType = cms.string(
'TrajectoryCleanerBySharedHits'),
27 allowSharedFirstHit = cms.bool(
True)
33 muonSeededMeasurementEstimatorForInOut = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
34 ComponentName = cms.string(
'muonSeededMeasurementEstimatorForInOut'),
35 MaxChi2 = cms.double(400.0),
36 nSigma = cms.double(4.),
38 muonSeededMeasurementEstimatorForOutIn = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
39 ComponentName = cms.string(
'muonSeededMeasurementEstimatorForOutIn'),
40 MaxChi2 = cms.double(30.0),
41 nSigma = cms.double(3.),
46 muonSeededTrajectoryFilterForInOut = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone()
47 muonSeededTrajectoryFilterForInOut.constantValueForLostHitsFractionFilter = 10
48 muonSeededTrajectoryFilterForInOut.minimumNumberOfHits = 3
50 muonSeededTrajectoryFilterForOutIn = muonSeededTrajectoryFilterForInOut.clone()
51 muonSeededTrajectoryFilterForOutIn.constantValueForLostHitsFractionFilter = 10
52 muonSeededTrajectoryFilterForOutIn.minimumNumberOfHits = 5
56 muonSeededTrajectoryBuilderForInOut = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
57 foundHitBonus = cms.double(1000.0),
58 lostHitPenalty = cms.double(1.0),
59 maxCand = cms.int32(5),
60 estimator = cms.string(
'muonSeededMeasurementEstimatorForInOut'),
61 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'muonSeededTrajectoryFilterForInOut')),
62 inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'muonSeededTrajectoryFilterForInOut')),
63 minNrOfHitsForRebuild = cms.int32(2),
64 requireSeedHitsInRebuild = cms.bool(
True),
65 keepOriginalIfRebuildFails = cms.bool(
True),
67 muonSeededTrajectoryBuilderForOutIn = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
68 foundHitBonus = cms.double(1000.0),
69 lostHitPenalty = cms.double(1.0),
70 maxCand = cms.int32(3),
71 estimator = cms.string(
'muonSeededMeasurementEstimatorForOutIn'),
72 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'muonSeededTrajectoryFilterForOutIn')),
73 inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'muonSeededTrajectoryFilterForOutIn')),
74 minNrOfHitsForRebuild = cms.int32(5),
75 requireSeedHitsInRebuild = cms.bool(
True),
76 keepOriginalIfRebuildFails = cms.bool(
False),
81 muonSeededFittingSmootherWithOutliersRejectionAndRK = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
82 ComponentName = cms.string(
"muonSeededFittingSmootherWithOutliersRejectionAndRK"),
83 BreakTrajWith2ConsecutiveMissing = cms.bool(
False),
84 EstimateCut = cms.double(50.),
89 muonSeededTrackCandidatesInOut = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
90 src = cms.InputTag(
"muonSeededSeedsInOut"),
91 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
"muonSeededTrajectoryBuilderForInOut")),
92 TrajectoryCleaner = cms.string(
'muonSeededTrajectoryCleanerBySharedHits'),
93 RedundantSeedCleaner = cms.string(
"none"),
95 muonSeededTrackCandidatesOutIn = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
96 src = cms.InputTag(
"muonSeededSeedsOutIn"),
97 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
"muonSeededTrajectoryBuilderForOutIn")),
98 TrajectoryCleaner = cms.string(
'muonSeededTrajectoryCleanerBySharedHits'),
99 numHitsForSeedCleaner = cms.int32(50),
100 onlyPixelHitsForSeedCleaner = cms.bool(
False),
105 muonSeededTracksOutIn = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
106 src = cms.InputTag(
"muonSeededTrackCandidatesOutIn"),
107 AlgorithmName = cms.string(
'muonSeededStepOutIn'),
108 Fitter = cms.string(
"muonSeededFittingSmootherWithOutliersRejectionAndRK"),
110 muonSeededTracksInOut = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
111 src = cms.InputTag(
"muonSeededTrackCandidatesInOut"),
112 AlgorithmName = cms.string(
'muonSeededStepInOut'),
113 Fitter = cms.string(
"muonSeededFittingSmootherWithOutliersRejectionAndRK"),
116 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
117 muonSeededTracksInOutSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
118 src=
'muonSeededTracksInOut',
119 trackSelectors= cms.VPSet(
120 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
121 name =
'muonSeededTracksInOutLoose',
122 applyAdaptedPVCuts = cms.bool(
False),
126 maxNumberLostLayers = 4,
127 minNumber3DLayers = 0,
128 minHitsToBypassChecks = 7
130 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
131 name =
'muonSeededTracksInOutTight',
132 preFilterName =
'muonSeededTracksInOutLoose',
133 applyAdaptedPVCuts = cms.bool(
False),
137 maxNumberLostLayers = 3,
138 minNumber3DLayers = 2,
139 minHitsToBypassChecks = 10
141 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
142 name =
'muonSeededTracksInOutHighPurity',
143 preFilterName =
'muonSeededTracksInOutTight',
144 applyAdaptedPVCuts = cms.bool(
False),
148 maxNumberLostLayers = 2,
149 minNumber3DLayers = 2,
150 minHitsToBypassChecks = 20
155 muonSeededTracksOutInSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
156 src=
'muonSeededTracksOutIn',
157 trackSelectors= cms.VPSet(
158 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
159 name =
'muonSeededTracksOutInLoose',
160 applyAdaptedPVCuts = cms.bool(
False),
164 maxNumberLostLayers = 4,
165 minNumber3DLayers = 0,
166 minHitsToBypassChecks = 7
168 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
169 name =
'muonSeededTracksOutInTight',
170 preFilterName =
'muonSeededTracksOutInLoose',
171 applyAdaptedPVCuts = cms.bool(
False),
175 maxNumberLostLayers = 3,
176 minNumber3DLayers = 2,
177 minHitsToBypassChecks = 10
179 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
180 name =
'muonSeededTracksOutInHighPurity',
181 preFilterName =
'muonSeededTracksOutInTight',
182 applyAdaptedPVCuts = cms.bool(
False),
186 maxNumberLostLayers = 2,
187 minNumber3DLayers = 2,
188 minHitsToBypassChecks = 20
195 muonSeededStepCore = cms.Sequence(
196 muonSeededSeedsInOut + muonSeededTrackCandidatesInOut + muonSeededTracksInOut +
197 muonSeededSeedsOutIn + muonSeededTrackCandidatesOutIn + muonSeededTracksOutIn
199 muonSeededStepExtra = cms.Sequence(
200 muonSeededTracksInOutSelector +
201 muonSeededTracksOutInSelector
204 muonSeededStep = cms.Sequence(
212 muonSeededSeedsInOutAsTracks = cms.EDProducer(
"FakeTrackProducerFromSeed", src = cms.InputTag(
"muonSeededSeedsInOut"))
213 muonSeededSeedsOutInAsTracks = cms.EDProducer(
"FakeTrackProducerFromSeed", src = cms.InputTag(
"muonSeededSeedsOutIn"))
214 muonSeededTrackCandidatesInOutAsTracks = cms.EDProducer(
"FakeTrackProducerFromCandidate", src = cms.InputTag(
"muonSeededTrackCandidatesInOut"))
215 muonSeededTrackCandidatesOutInAsTracks = cms.EDProducer(
"FakeTrackProducerFromCandidate", src = cms.InputTag(
"muonSeededTrackCandidatesOutIn"))
216 muonSeededStepDebug = cms.Sequence(
217 muonSeededSeedsOutInAsTracks + muonSeededTrackCandidatesOutInAsTracks +
218 muonSeededSeedsInOutAsTracks + muonSeededTrackCandidatesInOutAsTracks