CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PostLS1_DetachedTripletStep_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 detachedTripletStepClusters = cms.EDProducer("TrackClusterRemover",
10  clusterLessSolution = cms.bool(True),
11  oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
12  trajectories = cms.InputTag("pixelPairStepTracks"),
13  overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep'),
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 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
26 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
27 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
28 
29 # SEEDS
31 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
32 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
34 detachedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
35 detachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'detachedTripletStepSeedLayers'
36 detachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
37 detachedTripletStepSeeds.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
38 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.3
39 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
40 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.0
41 
42 detachedTripletStepSeeds.SeedComparitorPSet = cms.PSet(
43  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
44  FilterAtHelixStage = cms.bool(False),
45  FilterPixelHits = cms.bool(True),
46  FilterStripHits = cms.bool(False),
47  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
48  )
49 
50 # QUALITY CUTS DURING TRACK BUILDING
51 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
52 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
53  ComponentName = 'detachedTripletStepTrajectoryFilter',
54  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
55  maxLostHitsFraction = cms.double(1./10.),
56  constantValueForLostHitsFractionFilter = cms.double(0.701),
57  minimumNumberOfHits = 3,
58  minPt = 0.075
59  )
60  )
61 
63 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
64  ComponentName = cms.string('detachedTripletStepChi2Est'),
65  nSigma = cms.double(3.0),
66  MaxChi2 = cms.double(9.0)
67 )
68 
69 # TRACK BUILDING
71 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
72  ComponentName = 'detachedTripletStepTrajectoryBuilder',
73  MeasurementTrackerName = '',
74  trajectoryFilterName = 'detachedTripletStepTrajectoryFilter',
75  clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
76  maxCand = 2,
77  alwaysUseInvalidHits = False,
78  estimator = cms.string('detachedTripletStepChi2Est'),
79  maxDPhiForLooperReconstruction = cms.double(2.0),
80  maxPtForLooperReconstruction = cms.double(0.7)
81  )
82 
83 # MAKING OF TRACK CANDIDATES
85 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
86  src = cms.InputTag('detachedTripletStepSeeds'),
87  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
88  numHitsForSeedCleaner = cms.int32(50),
89  onlyPixelHitsForSeedCleaner = cms.bool(True),
90  TrajectoryBuilder = 'detachedTripletStepTrajectoryBuilder',
91  doSeedingRegionRebuilding = True,
92  useHitsSplitting = True
93  )
94 
95 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
96 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
97  ComponentName = cms.string('detachedTripletStepTrajectoryCleanerBySharedHits'),
98  fractionShared = cms.double(0.13),
99  allowSharedFirstHit = cms.bool(True)
100  )
101 detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
102 
103 
104 # TRACK FITTING
106 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
107  AlgorithmName = cms.string('iter3'),
108  src = 'detachedTripletStepTrackCandidates',
109  Fitter = cms.string('FlexibleKFFittingSmoother')
110  )
111 
112 # TRACK SELECTION AND QUALITY FLAG SETTING.
113 
114 # TRACK SELECTION AND QUALITY FLAG SETTING.
115 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
116 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
117  src='detachedTripletStepTracks',
118  trackSelectors= cms.VPSet(
119  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
120  name = 'detachedTripletStepVtxLoose',
121  chi2n_par = 0.9,
122  res_par = ( 0.003, 0.001 ),
123  minNumberLayers = 3,
124  d0_par1 = ( 0.9, 3.0 ),
125  dz_par1 = ( 0.9, 3.0 ),
126  d0_par2 = ( 1.0, 3.0 ),
127  dz_par2 = ( 1.0, 3.0 )
128  ),
129  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
130  name = 'detachedTripletStepTrkLoose',
131  chi2n_par = 0.6,
132  res_par = ( 0.003, 0.001 ),
133  minNumberLayers = 3,
134  d0_par1 = ( 1.3, 4.0 ),
135  dz_par1 = ( 1.4, 4.0 ),
136  d0_par2 = ( 1.4, 4.0 ),
137  dz_par2 = ( 1.4, 4.0 )
138  ),
139  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
140  name = 'detachedTripletStepVtxTight',
141  preFilterName = 'detachedTripletStepVtxLoose',
142  chi2n_par = 0.9,
143  res_par = ( 0.003, 0.001 ),
144  minNumberLayers = 3,
145  maxNumberLostLayers = 1,
146  minNumber3DLayers = 3,
147  d0_par1 = ( 0.9, 3.0 ),
148  dz_par1 = ( 0.9, 3.0 ),
149  d0_par2 = ( 0.9, 3.0 ),
150  dz_par2 = ( 0.9, 3.0 )
151  ),
152  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
153  name = 'detachedTripletStepTrkTight',
154  preFilterName = 'detachedTripletStepTrkLoose',
155  chi2n_par = 0.5,
156  res_par = ( 0.003, 0.001 ),
157  minNumberLayers = 5,
158  maxNumberLostLayers = 1,
159  minNumber3DLayers = 4,
160  d0_par1 = ( 1.1, 4.0 ),
161  dz_par1 = ( 1.1, 4.0 ),
162  d0_par2 = ( 1.1, 4.0 ),
163  dz_par2 = ( 1.1, 4.0 )
164  ),
165  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
166  name = 'detachedTripletStepVtx',
167  preFilterName = 'detachedTripletStepVtxTight',
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.8, 3.0 ),
174  dz_par1 = ( 0.8, 3.0 ),
175  d0_par2 = ( 0.8, 3.0 ),
176  dz_par2 = ( 0.8, 3.0 )
177  ),
178  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
179  name = 'detachedTripletStepTrk',
180  preFilterName = 'detachedTripletStepTrkTight',
181  chi2n_par = 0.25,
182  res_par = ( 0.003, 0.001 ),
183  minNumberLayers = 5,
184  maxNumberLostLayers = 0,
185  minNumber3DLayers = 4,
186  d0_par1 = ( 1.0, 4.0 ),
187  dz_par1 = ( 1.0, 4.0 ),
188  d0_par2 = ( 0.9, 4.0 ),
189  dz_par2 = ( 0.9, 4.0 )
190  )
191  ) #end of vpset
192  ) #end of clone
193 
194 
195 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
196 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
197  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
198  cms.InputTag('detachedTripletStepTracks')),
199  hasSelector=cms.vint32(1,1),
200  shareFrac = cms.double(0.13),
201  indivShareFrac=cms.vdouble(0.13,0.13),
202  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
203  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
204  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
205  writeOnlyTrkQuals=cms.bool(True)
206 )
207 
208 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
209  detachedTripletStepSeedLayers*
210  detachedTripletStepSeeds*
211  detachedTripletStepTrackCandidates*
212  detachedTripletStepTracks*
213  detachedTripletStepSelector*
214  detachedTripletStep)