4 lowPtQuadStepClusters = cms.EDProducer(
"TrackClusterRemover",
5 clusterLessSolution= cms.bool(
True),
6 trajectories = cms.InputTag(
"highPtTripletStepTracks"),
7 overrideTrkQuals = cms.InputTag(
'highPtTripletStepSelector',
'highPtTripletStep'),
8 TrackQuality = cms.string(
'highPurity'),
9 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
10 pixelClusters = cms.InputTag(
"siPixelClusters"),
11 stripClusters = cms.InputTag(
"siStripClusters"),
12 doStripChargeCheck = cms.bool(
True),
13 stripRecHits = cms.string(
'siStripMatchedRecHits'),
15 maxChi2 = cms.double(9.0),
16 minGoodStripCharge = cms.double(60.0)
22 lowPtQuadStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
23 layerList = cms.vstring(
'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
24 'BPix1+BPix3+BPix4',
'BPix1+BPix2+BPix4',
25 'BPix2+BPix3+FPix1_pos',
'BPix2+BPix3+FPix1_neg',
26 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
27 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
28 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
29 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg')
31 lowPtQuadStepSeedLayers.BPix.skipClusters = cms.InputTag(
'lowPtQuadStepClusters')
32 lowPtQuadStepSeedLayers.FPix.skipClusters = cms.InputTag(
'lowPtQuadStepClusters')
38 lowPtQuadStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
39 RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
40 ComponentName = cms.string(
'GlobalRegionProducerFromBeamSpot'),
41 RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
47 SeedMergerPSet = cms.PSet(
48 layerList = PixelSeedMergerQuadruplets,
49 addRemainingTriplets = cms.bool(
False),
50 mergeTriplets = cms.bool(
True),
51 ttrhBuilderLabel = cms.string(
'PixelTTRHBuilderWithoutAngle')
54 lowPtQuadStepSeeds.OrderedHitsFactoryPSet.SeedingLayers =
'lowPtQuadStepSeedLayers'
57 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
58 lowPtQuadStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
59 lowPtQuadStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(
False)
60 lowPtQuadStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0)
64 lowPtQuadStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
65 minimumNumberOfHits = 3,
71 lowPtQuadStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
72 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtQuadStepStandardTrajectoryFilter')),
73 cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
77 lowPtQuadStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
78 ComponentName = cms.string(
'lowPtQuadStepChi2Est'),
79 nSigma = cms.double(3.0),
80 MaxChi2 = cms.double(25.0)
85 lowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
86 MeasurementTrackerName =
'',
87 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'lowPtQuadStepTrajectoryFilter')),
88 clustersToSkip = cms.InputTag(
'lowPtQuadStepClusters'),
90 estimator = cms.string(
'lowPtQuadStepChi2Est'),
91 maxDPhiForLooperReconstruction = cms.double(2.0),
94 maxPtForLooperReconstruction = cms.double(0.7)
99 lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
100 src = cms.InputTag(
'lowPtQuadStepSeeds'),
102 numHitsForSeedCleaner = cms.int32(50),
103 onlyPixelHitsForSeedCleaner = cms.bool(
True),
104 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'lowPtQuadStepTrajectoryBuilder')),
105 doSeedingRegionRebuilding =
True,
106 useHitsSplitting =
True
111 lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
112 src =
'lowPtQuadStepTrackCandidates',
113 AlgorithmName = cms.string(
'iter2'),
114 Fitter = cms.string(
'FlexibleKFFittingSmoother'),
115 TTRHBuilder=cms.string(
'WithTrackAngle')
119 lowPtQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
120 ComponentName = cms.string(
'lowPtQuadStepTrajectoryCleanerBySharedHits'),
121 fractionShared = cms.double(0.095),
122 allowSharedFirstHit = cms.bool(
True)
124 lowPtQuadStepTrackCandidates.TrajectoryCleaner =
'lowPtQuadStepTrajectoryCleanerBySharedHits'
127 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
128 lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
129 src=
'lowPtQuadStepTracks',
130 trackSelectors= cms.VPSet(
131 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
132 name =
'lowPtQuadStepLoose',
134 res_par = ( 0.003, 0.002 ),
136 maxNumberLostLayers = 2,
137 minNumber3DLayers = 3,
138 d0_par1 = ( 0.8, 4.0 ),
139 dz_par1 = ( 0.7, 4.0 ),
140 d0_par2 = ( 0.5, 4.0 ),
141 dz_par2 = ( 0.5, 4.0 )
143 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
144 name =
'lowPtQuadStepTight',
145 preFilterName =
'lowPtQuadStepLoose',
147 res_par = ( 0.003, 0.002 ),
149 maxNumberLostLayers = 2,
150 minNumber3DLayers = 3,
151 d0_par1 = ( 0.7, 4.0 ),
152 dz_par1 = ( 0.6, 4.0 ),
153 d0_par2 = ( 0.4, 4.0 ),
154 dz_par2 = ( 0.4, 4.0 )
156 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
157 name =
'lowPtQuadStep',
158 preFilterName =
'lowPtQuadStepTight',
160 res_par = ( 0.003, 0.001 ),
162 maxNumberLostLayers = 2,
163 minNumber3DLayers = 3,
164 d0_par1 = ( 0.6, 4.0 ),
165 dz_par1 = ( 0.5, 4.0 ),
166 d0_par2 = ( 0.3, 4.0 ),
167 dz_par2 = ( 0.4, 4.0 )
173 LowPtQuadStep = cms.Sequence(lowPtQuadStepClusters*
174 lowPtQuadStepSeedLayers*
176 lowPtQuadStepTrackCandidates*
178 lowPtQuadStepSelector)