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