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.
1 import FWCore.ParameterSet.Config as cms
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
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 = cms.PSet(refToPSet_ = cms.string("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 detachedQuadStepSeeds.SeedCreatorPSet.magneticField = ''
72 detachedQuadStepSeeds.SeedCreatorPSet.propagator = 'PropagatorWithMaterial'
73 
74 # QUALITY CUTS DURING TRACK BUILDING
76 detachedQuadStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
77  maxLostHitsFraction = cms.double(1./10.),
78  constantValueForLostHitsFractionFilter = cms.double(0.501),
79  minimumNumberOfHits = 3,
80  minPt = 0.075
81  )
82 
84 # Composite filter
85 detachedQuadStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
86  filters = [cms.PSet(refToPSet_ = cms.string('detachedQuadStepStandardTrajectoryFilter')),
87  cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
88  )
89 
91 detachedQuadStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
92  ComponentName = cms.string('detachedQuadStepChi2Est'),
93  nSigma = cms.double(3.0),
94  MaxChi2 = cms.double(9.0)
95 )
96 
97 # TRACK BUILDING
99 detachedQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
100  MeasurementTrackerName = '',
101  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedQuadStepTrajectoryFilter')),
102  maxCand = 2,
103  alwaysUseInvalidHits = False,
104  estimator = cms.string('detachedQuadStepChi2Est'),
105  maxDPhiForLooperReconstruction = cms.double(2.0),
106  maxPtForLooperReconstruction = cms.double(0.7)
107  )
108 
109 # MAKING OF TRACK CANDIDATES
111 detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
112  src = cms.InputTag('detachedQuadStepSeeds'),
113  clustersToSkip = cms.InputTag('detachedQuadStepClusters'),
114  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
115  numHitsForSeedCleaner = cms.int32(50),
116  onlyPixelHitsForSeedCleaner = cms.bool(True),
117  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('detachedQuadStepTrajectoryBuilder')),
118  doSeedingRegionRebuilding = True,
119  useHitsSplitting = True
120  )
121 
122 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
123 detachedQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
124  ComponentName = cms.string('detachedQuadStepTrajectoryCleanerBySharedHits'),
125  fractionShared = cms.double(0.095),
126  allowSharedFirstHit = cms.bool(True)
127  )
128 detachedQuadStepTrackCandidates.TrajectoryCleaner = 'detachedQuadStepTrajectoryCleanerBySharedHits'
129 
130 # TRACK FITTING
132 detachedQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
133  # Algorithm name changed from detachedQuadStep (was iter4) to mixedTripletStep in order
134  # to keep backward compatibility as detachedQuadStep would be unknown.
135  # In the future, a new enum or alias may be added to support iteration name aliases.
136  AlgorithmName = cms.string('mixedTripletStep'),
137  src = 'detachedQuadStepTrackCandidates',
138  Fitter = cms.string('FlexibleKFFittingSmoother'),
139  TTRHBuilder=cms.string('WithTrackAngle')
140  )
141 
142 # TRACK SELECTION AND QUALITY FLAG SETTING.
143 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
144 detachedQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
145  src='detachedQuadStepTracks',
146  trackSelectors= cms.VPSet(
147  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
148  name = 'detachedQuadStepVtxLoose',
149  chi2n_par = 0.9,
150  res_par = ( 0.003, 0.001 ),
151  minNumberLayers = 3,
152  d0_par1 = ( 0.9, 3.0 ),
153  dz_par1 = ( 0.9, 3.0 ),
154  d0_par2 = ( 1.0, 3.0 ),
155  dz_par2 = ( 1.0, 3.0 )
156  ),
157  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
158  name = 'detachedQuadStepTrkLoose',
159  chi2n_par = 0.5,
160  res_par = ( 0.003, 0.001 ),
161  minNumberLayers = 3,
162  d0_par1 = ( 1.3, 4.0 ),
163  dz_par1 = ( 1.3, 4.0 ),
164  d0_par2 = ( 1.3, 4.0 ),
165  dz_par2 = ( 1.3, 4.0 )
166  ),
167  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
168  name = 'detachedQuadStepVtxTight',
169  preFilterName = 'detachedQuadStepVtxLoose',
170  chi2n_par = 0.9,
171  res_par = ( 0.003, 0.001 ),
172  minNumberLayers = 3,
173  maxNumberLostLayers = 1,
174  minNumber3DLayers = 3,
175  d0_par1 = ( 0.9, 3.0 ),
176  dz_par1 = ( 0.9, 3.0 ),
177  d0_par2 = ( 0.9, 3.0 ),
178  dz_par2 = ( 0.9, 3.0 )
179  ),
180  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
181  name = 'detachedQuadStepTrkTight',
182  preFilterName = 'detachedQuadStepTrkLoose',
183  chi2n_par = 0.35,
184  res_par = ( 0.003, 0.001 ),
185  minNumberLayers = 5,
186  maxNumberLostLayers = 1,
187  minNumber3DLayers = 4,
188  d0_par1 = ( 1.1, 4.0 ),
189  dz_par1 = ( 1.1, 4.0 ),
190  d0_par2 = ( 1.1, 4.0 ),
191  dz_par2 = ( 1.1, 4.0 )
192  ),
193  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
194  name = 'detachedQuadStepVtx',
195  preFilterName = 'detachedQuadStepVtxTight',
196  chi2n_par = 0.9,
197  res_par = ( 0.003, 0.001 ),
198  minNumberLayers = 3,
199  maxNumberLostLayers = 1,
200  minNumber3DLayers = 3,
201  d0_par1 = ( 0.8, 3.0 ),
202  dz_par1 = ( 0.8, 3.0 ),
203  d0_par2 = ( 0.8, 3.0 ),
204  dz_par2 = ( 0.8, 3.0 )
205  ),
206  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
207  name = 'detachedQuadStepTrk',
208  preFilterName = 'detachedQuadStepTrkTight',
209  chi2n_par = 0.2,
210  res_par = ( 0.003, 0.001 ),
211  minNumberLayers = 5,
212  maxNumberLostLayers = 0,
213  minNumber3DLayers = 4,
214  d0_par1 = ( 0.9, 4.0 ),
215  dz_par1 = ( 0.9, 4.0 ),
216  d0_par2 = ( 0.8, 4.0 ),
217  dz_par2 = ( 0.8, 4.0 )
218  )
219  ) #end of vpset
220  ) #end of clone
221 
223 detachedQuadStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
224  TrackProducers = cms.VInputTag(cms.InputTag('detachedQuadStepTracks'),
225  cms.InputTag('detachedQuadStepTracks')),
226  hasSelector=cms.vint32(1,1),
227  shareFrac = cms.double(0.095),
228  indivShareFrac=cms.vdouble(0.095,0.095),
229  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedQuadStepSelector","detachedQuadStepVtx"),
230  cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk")),
231  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
232  writeOnlyTrkQuals=cms.bool(True)
233 )
234 
235 DetachedQuadStep = cms.Sequence(detachedQuadStepClusters*
236  detachedQuadStepSeedLayers*
237  detachedQuadStepSeeds*
238  detachedQuadStepTrackCandidates*
239  detachedQuadStepTracks*
240  detachedQuadStepSelector*
241  detachedQuadStep)