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