CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hiMixedTripletStep_cff.py
Go to the documentation of this file.
2 
3 # NEW CLUSTERS (remove previously used clusters)
4 hiMixedTripletClusters = cms.EDProducer("TrackClusterRemover",
5  clusterLessSolution= cms.bool(True),
6  oldClusterRemovalInfo = cms.InputTag("hiSecondPixelTripletClusters"),
7  trajectories = cms.InputTag("hiSecondPixelTripletGlobalPrimTracks"),
8  overrideTrkQuals = cms.InputTag('hiSecondPixelTripletStepSelector','hiSecondPixelTripletStep'),
9  TrackQuality = cms.string('highPurity'),
10  pixelClusters = cms.InputTag("siPixelClusters"),
11  stripClusters = cms.InputTag("siStripClusters"),
12  Common = cms.PSet(
13  maxChi2 = cms.double(9.0),
14  ),
15  Strip = cms.PSet(
16  maxChi2 = cms.double(9.0),
17  #Yen-Jie's mod to preserve merged clusters
18  maxSize = cms.uint32(2)
19  )
20  )
21 
22 
23 
24 
25 
26 # SEEDING LAYERS
27 hiMixedTripletSeedLayersA = cms.EDProducer("SeedingLayersEDProducer",
28  layerList = cms.vstring('FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg'),
29  #'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'),
30  BPix = cms.PSet(
31  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
32  HitProducer = cms.string('siPixelRecHits'),
33  skipClusters = cms.InputTag('hiMixedTripletClusters')
34  ),
35  FPix = cms.PSet(
36  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
37  HitProducer = cms.string('siPixelRecHits'),
38  skipClusters = cms.InputTag('hiMixedTripletClusters')
39  ),
40  TEC = cms.PSet(
41  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
42  useRingSlector = cms.bool(True),
43  TTRHBuilder = cms.string('WithTrackAngle'),
44  minRing = cms.int32(1),
45  maxRing = cms.int32(1),
46  skipClusters = cms.InputTag('hiMixedTripletClusters')
47  )
48  )
49 
50 # SEEDS
52 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
53 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
55 hiMixedTripletSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
56 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.SeedingLayers = 'hiMixedTripletSeedLayersA'
57 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
58 hiMixedTripletSeedsA.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
59 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 4.0
60 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 0.005
61 #hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
62 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
63 
64 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
65 hiMixedTripletSeedsA.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
66 hiMixedTripletSeedsA.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
67 
68 
69 # SEEDING LAYERS
70 hiMixedTripletSeedLayersB = cms.EDProducer("SeedingLayersEDProducer",
71  layerList = cms.vstring(
72  #'BPix1+BPix2+TIB1',
73  #'BPix1+BPix2+TIB2',
74  #'BPix1+BPix3+TIB1',
75  #'BPix1+BPix3+TIB2',
76  'BPix2+BPix3+TIB1',
77  'BPix2+BPix3+TIB2'),
78  BPix = cms.PSet(
79  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
80  HitProducer = cms.string('siPixelRecHits'),
81  skipClusters = cms.InputTag('hiMixedTripletClusters')
82  ),
83  TIB = cms.PSet(
84  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
85  TTRHBuilder = cms.string('WithTrackAngle'),
86  skipClusters = cms.InputTag('hiMixedTripletClusters')
87  )
88  )
89 
90 # SEEDS
92 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
93 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
95 hiMixedTripletSeedsB = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
96 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.SeedingLayers = 'hiMixedTripletSeedLayersB'
97 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
98 hiMixedTripletSeedsB.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
99 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.ptMin = 4.0
100 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 0.005
101 #hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
102 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
103 
104 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
105 hiMixedTripletSeedsB.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
106 hiMixedTripletSeedsB.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
107 
109 hiMixedTripletSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
110 hiMixedTripletSeeds.seedCollections = cms.VInputTag(
111  cms.InputTag('hiMixedTripletSeedsA'),
112  cms.InputTag('hiMixedTripletSeedsB'),
113  )
114 
115 # QUALITY CUTS DURING TRACK BUILDING
116 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
117 hiMixedTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
118  ComponentName = 'hiMixedTripletTrajectoryFilter',
119  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
120  maxLostHits = 0,
121  minimumNumberOfHits = 6,
122  minPt = 1.0
123  )
124  )
125 
126 # Propagator taking into account momentum uncertainty in multiple scattering calculation.
128 hiMixedTripletPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
129  ComponentName = 'hiMixedTripletPropagator',
130  ptMin = 1.0
131  )
133 hiMixedTripletPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
134  ComponentName = 'hiMixedTripletPropagatorOpposite',
135  ptMin = 1.0
136  )
137 
139 hiMixedTripletChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
140  ComponentName = cms.string('hiMixedTripletChi2Est'),
141  nSigma = cms.double(3.0),
142  MaxChi2 = cms.double(16.0)
143  )
144 
145 # TRACK BUILDING
147 hiMixedTripletTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
148  ComponentName = 'hiMixedTripletTrajectoryBuilder',
149  MeasurementTrackerName = '',
150  trajectoryFilterName = 'hiMixedTripletTrajectoryFilter',
151  propagatorAlong = cms.string('hiMixedTripletPropagator'),
152  propagatorOpposite = cms.string('hiMixedTripletPropagatorOpposite'),
153  clustersToSkip = cms.InputTag('hiMixedTripletClusters'),
154  maxCand = 2,
155  estimator = cms.string('hiMixedTripletChi2Est')
156  )
157 
158 # MAKING OF TRACK CANDIDATES
160 hiMixedTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
161  src = cms.InputTag('hiMixedTripletSeeds'),
162  TrajectoryBuilder = 'hiMixedTripletTrajectoryBuilder',
163  doSeedingRegionRebuilding = True,
164  useHitsSplitting = True
165  )
166 # TRACK FITTING
168 hiMixedTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
169  AlgorithmName = cms.string('iter4'),
170  src = 'hiMixedTripletTrackCandidates'
171  )
172 
173 # Final selection
174 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
175 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
176  src='hiMixedTripletGlobalPrimTracks',
177  trackSelectors= cms.VPSet(
178  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
179  name = 'hiMixedTripletStepLoose',
180  ), #end of pset
181  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
182  name = 'hiMixedTripletStepTight',
183  preFilterName = 'hiMixedTripletStepLoose',
184  ),
185  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
186  name = 'hiMixedTripletStep',
187  preFilterName = 'hiMixedTripletStepTight',
188  min_nhits = 14
189  ),
190  ) #end of vpset
191  ) #end of clone
192 
193 
194 
195 # Final sequence
196 
197 hiMixedTripletStep = cms.Sequence(
198  hiMixedTripletClusters*
199  hiMixedTripletSeedLayersA*
200  hiMixedTripletSeedsA*
201  hiMixedTripletSeedLayersB*
202  hiMixedTripletSeedsB*
203  hiMixedTripletSeeds*
204  hiMixedTripletTrackCandidates*
205  hiMixedTripletGlobalPrimTracks*
206  hiMixedTripletStepSelector)
207