CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Phase1PU140_DetachedQuadStep_cff.py
Go to the documentation of this file.
2 
3 ###############################################
4 # Low pT and detached tracks from pixel triplets
5 ###############################################
6 
7 # REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
9 detachedQuadStepClusters = trackClusterRemover.clone(
10  maxChi2 = cms.double(9.0),
11  trajectories = cms.InputTag("lowPtTripletStepTracks"),
12  pixelClusters = cms.InputTag("siPixelClusters"),
13  stripClusters = cms.InputTag("siStripClusters"),
14  oldClusterRemovalInfo = cms.InputTag("lowPtTripletStepClusters"),
15  overrideTrkQuals = cms.InputTag('lowPtTripletStepSelector','lowPtTripletStep'),
16  TrackQuality = cms.string('highPurity'),
17  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
18 )
19 
20 # SEEDING LAYERS
22 detachedQuadStepSeedLayers = 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')
30  )
31 detachedQuadStepSeedLayers.BPix.skipClusters = cms.InputTag('detachedQuadStepClusters')
32 detachedQuadStepSeedLayers.FPix.skipClusters = cms.InputTag('detachedQuadStepClusters')
33 
34 # SEEDS
36 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
37 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
39 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
40 from RecoPixelVertexing.PixelTriplets.quadrupletseedmerging_cff import PixelSeedMergerQuadruplets
41 detachedQuadStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
42  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
43  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
44  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
45  ptMin = 0.5,
46  originRadius = 0.5,
47  nSigmaZ = 4.0
48  )
49  ),
50  SeedMergerPSet = cms.PSet(
51  layerList = PixelSeedMergerQuadruplets,
52  addRemainingTriplets = cms.bool(False),
53  mergeTriplets = cms.bool(True),
54  ttrhBuilderLabel = cms.string('PixelTTRHBuilderWithoutAngle')
55  )
56 )
57 detachedQuadStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'detachedQuadStepSeedLayers'
58 detachedQuadStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
59 detachedQuadStepSeeds.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
60 detachedQuadStepSeeds.SeedComparitorPSet = cms.PSet(
61  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
62  FilterAtHelixStage = cms.bool(False),
63  FilterPixelHits = cms.bool(True),
64  FilterStripHits = cms.bool(False),
65  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
66  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
67  )
68 detachedQuadStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False)
69 detachedQuadStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(0)
70 
71 # QUALITY CUTS DURING TRACK BUILDING
73 detachedQuadStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
74  maxLostHitsFraction = cms.double(1./10.),
75  constantValueForLostHitsFractionFilter = cms.double(0.301),
76  minimumNumberOfHits = 3,
77  minPt = 0.075
78  )
79 
81 # Composite filter
82 detachedQuadStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
83  filters = [cms.PSet(refToPSet_ = cms.string('detachedQuadStepStandardTrajectoryFilter')),
84  cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
85  )
86 
88 detachedQuadStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
89  ComponentName = cms.string('detachedQuadStepChi2Est'),
90  nSigma = cms.double(3.0),
91  MaxChi2 = cms.double(9.0)
92 )
93 
94 # TRACK BUILDING
96 detachedQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
97  MeasurementTrackerName = '',
98  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedQuadStepTrajectoryFilter')),
99  clustersToSkip = cms.InputTag('detachedQuadStepClusters'),
100  maxCand = 2,
101  alwaysUseInvalidHits = False,
102  estimator = cms.string('detachedQuadStepChi2Est'),
103  maxDPhiForLooperReconstruction = cms.double(2.0),
104  maxPtForLooperReconstruction = cms.double(0.7)
105  )
106 
107 # MAKING OF TRACK CANDIDATES
109 detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
110  src = cms.InputTag('detachedQuadStepSeeds'),
111  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
112  numHitsForSeedCleaner = cms.int32(50),
113  onlyPixelHitsForSeedCleaner = cms.bool(True),
114  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('detachedQuadStepTrajectoryBuilder')),
115  doSeedingRegionRebuilding = True,
116  useHitsSplitting = True
117  )
118 
119 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
120 detachedQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
121  ComponentName = cms.string('detachedQuadStepTrajectoryCleanerBySharedHits'),
122  fractionShared = cms.double(0.09),
123  allowSharedFirstHit = cms.bool(True)
124  )
125 detachedQuadStepTrackCandidates.TrajectoryCleaner = 'detachedQuadStepTrajectoryCleanerBySharedHits'
126 
127 # TRACK FITTING
129 detachedQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
130  # Algorithm name changed from detachedQuadStep (was iter4) to mixedTripletStep in order
131  # to keep backward compatibility as detachedQuadStep would be unknown.
132  # In the future, a new enum or alias may be added to support iteration name aliases.
133  AlgorithmName = cms.string('mixedTripletStep'),
134  src = 'detachedQuadStepTrackCandidates',
135  Fitter = cms.string('FlexibleKFFittingSmoother'),
136  TTRHBuilder=cms.string('WithTrackAngle'), minGoodCharge = cms.double(2069)
137  )
138 
139 # TRACK SELECTION AND QUALITY FLAG SETTING.
140 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
141 detachedQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
142  src='detachedQuadStepTracks',
143  trackSelectors= cms.VPSet(
144  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
145  name = 'detachedQuadStepVtxLoose',
146  chi2n_par = 0.9,
147  res_par = ( 0.003, 0.001 ),
148  minNumberLayers = 3,
149  d0_par1 = ( 0.9, 3.0 ),
150  dz_par1 = ( 0.9, 3.0 ),
151  d0_par2 = ( 1.0, 3.0 ),
152  dz_par2 = ( 1.0, 3.0 )
153  ),
154  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
155  name = 'detachedQuadStepTrkLoose',
156  chi2n_par = 0.5,
157  res_par = ( 0.003, 0.001 ),
158  minNumberLayers = 3,
159  d0_par1 = ( 1.3, 4.0 ),
160  dz_par1 = ( 1.3, 4.0 ),
161  d0_par2 = ( 1.3, 4.0 ),
162  dz_par2 = ( 1.3, 4.0 )
163  ),
164  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
165  name = 'detachedQuadStepVtxTight',
166  preFilterName = 'detachedQuadStepVtxLoose',
167  chi2n_par = 0.9,
168  res_par = ( 0.003, 0.001 ),
169  minNumberLayers = 3,
170  maxNumberLostLayers = 1,
171  minNumber3DLayers = 3,
172  d0_par1 = ( 0.9, 3.0 ),
173  dz_par1 = ( 0.9, 3.0 ),
174  d0_par2 = ( 0.9, 3.0 ),
175  dz_par2 = ( 0.9, 3.0 )
176  ),
177  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
178  name = 'detachedQuadStepTrkTight',
179  preFilterName = 'detachedQuadStepTrkLoose',
180  chi2n_par = 0.35,
181  res_par = ( 0.003, 0.001 ),
182  minNumberLayers = 5,
183  maxNumberLostLayers = 1,
184  minNumber3DLayers = 4,
185  d0_par1 = ( 1.1, 4.0 ),
186  dz_par1 = ( 1.1, 4.0 ),
187  d0_par2 = ( 1.1, 4.0 ),
188  dz_par2 = ( 1.1, 4.0 )
189  ),
190  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
191  name = 'detachedQuadStepVtx',
192  preFilterName = 'detachedQuadStepVtxTight',
193  chi2n_par = 0.8,
194  res_par = ( 0.003, 0.001 ),
195  minNumberLayers = 3,
196  maxNumberLostLayers = 1,
197  minNumber3DLayers = 3,
198  d0_par1 = ( 0.8, 3.0 ),
199  dz_par1 = ( 0.8, 3.0 ),
200  d0_par2 = ( 0.8, 3.0 ),
201  dz_par2 = ( 0.8, 3.0 )
202  ),
203  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
204  name = 'detachedQuadStepTrk',
205  preFilterName = 'detachedQuadStepTrkTight',
206  chi2n_par = 0.2,
207  res_par = ( 0.003, 0.001 ),
208  minNumberLayers = 5,
209  maxNumberLostLayers = 0,
210  minNumber3DLayers = 4,
211  d0_par1 = ( 0.8, 4.0 ),
212  dz_par1 = ( 0.8, 4.0 ),
213  d0_par2 = ( 0.7, 4.0 ),
214  dz_par2 = ( 0.7, 4.0 )
215  )
216  ) #end of vpset
217  ) #end of clone
218 
219 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
220 detachedQuadStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
221  TrackProducers = cms.VInputTag(cms.InputTag('detachedQuadStepTracks'),
222  cms.InputTag('detachedQuadStepTracks')),
223  hasSelector=cms.vint32(1,1),
224  shareFrac = cms.double(0.095),
225  indivShareFrac=cms.vdouble(0.095,0.095),
226  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedQuadStepSelector","detachedQuadStepVtx"),
227  cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk")),
228  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
229  writeOnlyTrkQuals=cms.bool(True)
230 )
231 
232 DetachedQuadStep = cms.Sequence(detachedQuadStepClusters*
233  detachedQuadStepSeedLayers*
234  detachedQuadStepSeeds*
235  detachedQuadStepTrackCandidates*
236  detachedQuadStepTracks*
237  detachedQuadStepSelector*
238  detachedQuadStep)