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("HITrackClusterRemover",
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
117 hiMixedTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
118  maxLostHits = 0,
119  minimumNumberOfHits = 6,
120  minPt = 1.0
121  )
122 
123 # Propagator taking into account momentum uncertainty in multiple scattering calculation.
125 hiMixedTripletPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
126  ComponentName = 'hiMixedTripletPropagator',
127  ptMin = 1.0
128  )
130 hiMixedTripletPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
131  ComponentName = 'hiMixedTripletPropagatorOpposite',
132  ptMin = 1.0
133  )
134 
136 hiMixedTripletChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
137  ComponentName = cms.string('hiMixedTripletChi2Est'),
138  nSigma = cms.double(3.0),
139  MaxChi2 = cms.double(16.0)
140  )
141 
142 # TRACK BUILDING
144 hiMixedTripletTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
145  MeasurementTrackerName = '',
146  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiMixedTripletTrajectoryFilter')),
147  propagatorAlong = cms.string('hiMixedTripletPropagator'),
148  propagatorOpposite = cms.string('hiMixedTripletPropagatorOpposite'),
149  clustersToSkip = cms.InputTag('hiMixedTripletClusters'),
150  maxCand = 2,
151  estimator = cms.string('hiMixedTripletChi2Est')
152  )
153 
154 # MAKING OF TRACK CANDIDATES
156 hiMixedTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
157  src = cms.InputTag('hiMixedTripletSeeds'),
158  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiMixedTripletTrajectoryBuilder')),
159  doSeedingRegionRebuilding = True,
160  useHitsSplitting = True
161  )
162 # TRACK FITTING
164 hiMixedTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
165  AlgorithmName = cms.string('mixedTripletStep'),
166  src = 'hiMixedTripletTrackCandidates'
167  )
168 
169 # Final selection
170 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
171 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
172  src='hiMixedTripletGlobalPrimTracks',
173  trackSelectors= cms.VPSet(
174  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
175  name = 'hiMixedTripletStepLoose',
176  ), #end of pset
177  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
178  name = 'hiMixedTripletStepTight',
179  preFilterName = 'hiMixedTripletStepLoose',
180  ),
181  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
182  name = 'hiMixedTripletStep',
183  preFilterName = 'hiMixedTripletStepTight',
184  min_nhits = 14
185  ),
186  ) #end of vpset
187  ) #end of clone
188 
189 
190 
191 # Final sequence
192 
193 hiMixedTripletStep = cms.Sequence(
194  hiMixedTripletClusters*
195  hiMixedTripletSeedLayersA*
196  hiMixedTripletSeedsA*
197  hiMixedTripletSeedLayersB*
198  hiMixedTripletSeedsB*
199  hiMixedTripletSeeds*
200  hiMixedTripletTrackCandidates*
201  hiMixedTripletGlobalPrimTracks*
202  hiMixedTripletStepSelector)
203