CMS 3D CMS Logo

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