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