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  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
49  )
50 
51 # QUALITY CUTS DURING TRACK BUILDING
53 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
54  maxLostHitsFraction = cms.double(1./10.),
55  constantValueForLostHitsFractionFilter = cms.double(0.701),
56  minimumNumberOfHits = 3,
57  minPt = 0.075
58  )
59 
61 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
62  ComponentName = cms.string('detachedTripletStepChi2Est'),
63  nSigma = cms.double(3.0),
64  MaxChi2 = cms.double(9.0)
65 )
66 
67 # TRACK BUILDING
69 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
70  MeasurementTrackerName = '',
71  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryFilter')),
72  maxCand = 2,
73  alwaysUseInvalidHits = False,
74  estimator = cms.string('detachedTripletStepChi2Est'),
75  maxDPhiForLooperReconstruction = cms.double(2.0),
76  maxPtForLooperReconstruction = cms.double(0.7)
77  )
78 
79 # MAKING OF TRACK CANDIDATES
81 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
82  src = cms.InputTag('detachedTripletStepSeeds'),
83  clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
84  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
85  numHitsForSeedCleaner = cms.int32(50),
86  onlyPixelHitsForSeedCleaner = cms.bool(True),
87  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryBuilder')),
88  doSeedingRegionRebuilding = True,
89  useHitsSplitting = True
90  )
91 
92 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
93 detachedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
94  ComponentName = cms.string('detachedTripletStepTrajectoryCleanerBySharedHits'),
95  fractionShared = cms.double(0.13),
96  allowSharedFirstHit = cms.bool(True)
97  )
98 detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
99 
100 
101 # TRACK FITTING
103 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
104  AlgorithmName = cms.string('iter3'),
105  src = 'detachedTripletStepTrackCandidates',
106  Fitter = cms.string('FlexibleKFFittingSmoother')
107  )
108 
109 # TRACK SELECTION AND QUALITY FLAG SETTING.
110 
111 # TRACK SELECTION AND QUALITY FLAG SETTING.
112 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
113 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
114  src='detachedTripletStepTracks',
115  useAnyMVA = cms.bool(True),
116  GBRForestLabel = cms.string('MVASelectorIter3'),
117  trackSelectors= cms.VPSet(
118  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
119  name = 'detachedTripletStepVtxLoose',
120  chi2n_par = 1.2,
121  res_par = ( 0.003, 0.001 ),
122  minNumberLayers = 3,
123  d0_par1 = ( 1.1, 3.0 ),
124  dz_par1 = ( 1.1, 3.0 ),
125  d0_par2 = ( 1.2, 3.0 ),
126  dz_par2 = ( 1.2, 3.0 )
127  ),
128  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
129  name = 'detachedTripletStepTrkLoose',
130  chi2n_par = 0.7,
131  res_par = ( 0.003, 0.001 ),
132  minNumberLayers = 3,
133  d0_par1 = ( 1.4, 4.0 ),
134  dz_par1 = ( 1.4, 4.0 ),
135  d0_par2 = ( 1.4, 4.0 ),
136  dz_par2 = ( 1.4, 4.0 )
137  ),
138  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
139  name = 'detachedTripletStepVtxTight',
140  preFilterName = 'detachedTripletStepVtxLoose',
141  chi2n_par = 0.9,
142  res_par = ( 0.003, 0.001 ),
143  minNumberLayers = 3,
144  maxNumberLostLayers = 1,
145  minNumber3DLayers = 3,
146  d0_par1 = ( 0.95, 3.0 ),
147  dz_par1 = ( 0.9, 3.0 ),
148  d0_par2 = ( 1.0, 3.0 ),
149  dz_par2 = ( 1.0, 3.0 )
150  ),
151  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
152  name = 'detachedTripletStepTrkTight',
153  preFilterName = 'detachedTripletStepTrkLoose',
154  chi2n_par = 0.5,
155  res_par = ( 0.003, 0.001 ),
156  minNumberLayers = 5,
157  maxNumberLostLayers = 1,
158  minNumber3DLayers = 4,
159  d0_par1 = ( 1.1, 4.0 ),
160  dz_par1 = ( 1.1, 4.0 ),
161  d0_par2 = ( 1.1, 4.0 ),
162  dz_par2 = ( 1.1, 4.0 )
163  ),
164  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
165  name = 'detachedTripletStepVtx',
166  preFilterName = 'detachedTripletStepVtxTight',
167  chi2n_par = 0.7,
168  res_par = ( 0.003, 0.001 ),
169  minNumberLayers = 3,
170  maxNumberLostLayers = 1,
171  minNumber3DLayers = 3,
172  d0_par1 = ( 0.85, 3.0 ),
173  dz_par1 = ( 0.8, 3.0 ),
174  d0_par2 = ( 0.9, 3.0 ),
175  dz_par2 = ( 0.9, 3.0 )
176  ),
177  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
178  name = 'detachedTripletStepTrk',
179  preFilterName = 'detachedTripletStepTrkTight',
180  chi2n_par = 0.3,
181  res_par = ( 0.003, 0.001 ),
182  minNumberLayers = 5,
183  maxNumberLostLayers = 0,
184  minNumber3DLayers = 4,
185  d0_par1 = ( 1.0, 4.0 ),
186  dz_par1 = ( 1.0, 4.0 ),
187  d0_par2 = ( 1.0, 4.0 ),
188  dz_par2 = ( 1.0, 4.0 )
189  )
190  ) #end of vpset
191  ) #end of clone
192 
193 
194 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
195 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
196  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
197  cms.InputTag('detachedTripletStepTracks')),
198  hasSelector=cms.vint32(1,1),
199  shareFrac = cms.double(0.13),
200  indivShareFrac=cms.vdouble(0.13,0.13),
201  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
202  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
203  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
204  writeOnlyTrkQuals=cms.bool(True)
205 )
206 
207 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
208  detachedTripletStepSeedLayers*
209  detachedTripletStepSeeds*
210  detachedTripletStepTrackCandidates*
211  detachedTripletStepTracks*
212  detachedTripletStepSelector*
213  detachedTripletStep)
214