CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RunI_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.5
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  maxCand = 2,
76  alwaysUseInvalidHits = False,
77  estimator = cms.string('detachedTripletStepChi2Est'),
78  maxDPhiForLooperReconstruction = cms.double(2.0),
79  maxPtForLooperReconstruction = cms.double(0.7)
80  )
81 
82 # MAKING OF TRACK CANDIDATES
84 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
85  src = cms.InputTag('detachedTripletStepSeeds'),
86  clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
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  useAnyMVA = cms.bool(True),
119  GBRForestLabel = cms.string('MVASelectorIter3'),
120  trackSelectors= cms.VPSet(
121  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
122  name = 'detachedTripletStepVtxLoose',
123  chi2n_par = 1.2,
124  res_par = ( 0.003, 0.001 ),
125  minNumberLayers = 3,
126  d0_par1 = ( 1.1, 3.0 ),
127  dz_par1 = ( 1.1, 3.0 ),
128  d0_par2 = ( 1.2, 3.0 ),
129  dz_par2 = ( 1.2, 3.0 )
130  ),
131  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
132  name = 'detachedTripletStepTrkLoose',
133  chi2n_par = 0.7,
134  res_par = ( 0.003, 0.001 ),
135  minNumberLayers = 3,
136  d0_par1 = ( 1.4, 4.0 ),
137  dz_par1 = ( 1.4, 4.0 ),
138  d0_par2 = ( 1.4, 4.0 ),
139  dz_par2 = ( 1.4, 4.0 )
140  ),
141  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
142  name = 'detachedTripletStepVtxTight',
143  preFilterName = 'detachedTripletStepVtxLoose',
144  chi2n_par = 0.9,
145  res_par = ( 0.003, 0.001 ),
146  minNumberLayers = 3,
147  maxNumberLostLayers = 1,
148  minNumber3DLayers = 3,
149  d0_par1 = ( 0.95, 3.0 ),
150  dz_par1 = ( 0.9, 3.0 ),
151  d0_par2 = ( 1.0, 3.0 ),
152  dz_par2 = ( 1.0, 3.0 )
153  ),
154  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
155  name = 'detachedTripletStepTrkTight',
156  preFilterName = 'detachedTripletStepTrkLoose',
157  chi2n_par = 0.5,
158  res_par = ( 0.003, 0.001 ),
159  minNumberLayers = 5,
160  maxNumberLostLayers = 1,
161  minNumber3DLayers = 4,
162  d0_par1 = ( 1.1, 4.0 ),
163  dz_par1 = ( 1.1, 4.0 ),
164  d0_par2 = ( 1.1, 4.0 ),
165  dz_par2 = ( 1.1, 4.0 )
166  ),
167  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
168  name = 'detachedTripletStepVtx',
169  preFilterName = 'detachedTripletStepVtxTight',
170  chi2n_par = 0.7,
171  res_par = ( 0.003, 0.001 ),
172  minNumberLayers = 3,
173  maxNumberLostLayers = 1,
174  minNumber3DLayers = 3,
175  d0_par1 = ( 0.85, 3.0 ),
176  dz_par1 = ( 0.8, 3.0 ),
177  d0_par2 = ( 0.9, 3.0 ),
178  dz_par2 = ( 0.9, 3.0 )
179  ),
180  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
181  name = 'detachedTripletStepTrk',
182  preFilterName = 'detachedTripletStepTrkTight',
183  chi2n_par = 0.3,
184  res_par = ( 0.003, 0.001 ),
185  minNumberLayers = 5,
186  maxNumberLostLayers = 0,
187  minNumber3DLayers = 4,
188  d0_par1 = ( 1.0, 4.0 ),
189  dz_par1 = ( 1.0, 4.0 ),
190  d0_par2 = ( 1.0, 4.0 ),
191  dz_par2 = ( 1.0, 4.0 )
192  )
193  ) #end of vpset
194  ) #end of clone
195 
196 
197 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
198 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
199  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
200  cms.InputTag('detachedTripletStepTracks')),
201  hasSelector=cms.vint32(1,1),
202  shareFrac = cms.double(0.13),
203  indivShareFrac=cms.vdouble(0.13,0.13),
204  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
205  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
206  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
207  writeOnlyTrkQuals=cms.bool(True)
208 )
209 
210 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
211  detachedTripletStepSeedLayers*
212  detachedTripletStepSeeds*
213  detachedTripletStepTrackCandidates*
214  detachedTripletStepTracks*
215  detachedTripletStepSelector*
216  detachedTripletStep)
217