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("hiLowPtTripletStepClusters"),
7  trajectories = cms.InputTag("hiLowPtTripletStepTracks"),
8  overrideTrkQuals = cms.InputTag('hiLowPtTripletStepSelector','hiLowPtTripletStep'),
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
28 hiMixedTripletSeedLayersA = cms.EDProducer("SeedingLayersEDProducer",
29  layerList = cms.vstring('FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg'),
30  #'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'),
31  BPix = cms.PSet(
32  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
33  HitProducer = cms.string('siPixelRecHits'),
34  skipClusters = cms.InputTag('hiMixedTripletClusters')
35  ),
36  FPix = cms.PSet(
37  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
38  HitProducer = cms.string('siPixelRecHits'),
39  skipClusters = cms.InputTag('hiMixedTripletClusters')
40  ),
41  TEC = cms.PSet(
42  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
43  useRingSlector = cms.bool(True),
44  TTRHBuilder = cms.string('WithTrackAngle'),
45  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone')),
46  minRing = cms.int32(1),
47  maxRing = cms.int32(1),
48  skipClusters = cms.InputTag('hiMixedTripletClusters')
49  )
50  )
51 
52 # SEEDS
54 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
55 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
57 hiMixedTripletSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
58 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.SeedingLayers = 'hiMixedTripletSeedLayersA'
59 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
60 hiMixedTripletSeedsA.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
61 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 4.0
62 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 0.005
63 #hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
64 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
65 
66 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
67 hiMixedTripletSeedsA.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
68 hiMixedTripletSeedsA.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
69 
70 
71 # SEEDING LAYERS
73 hiMixedTripletSeedLayersB = cms.EDProducer("SeedingLayersEDProducer",
74  layerList = cms.vstring(
75  #'BPix1+BPix2+TIB1',
76  #'BPix1+BPix2+TIB2',
77  #'BPix1+BPix3+TIB1',
78  #'BPix1+BPix3+TIB2',
79  'BPix2+BPix3+TIB1',
80  'BPix2+BPix3+TIB2'),
81  BPix = cms.PSet(
82  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
83  HitProducer = cms.string('siPixelRecHits'),
84  skipClusters = cms.InputTag('hiMixedTripletClusters')
85  ),
86  TIB = cms.PSet(
87  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
88  TTRHBuilder = cms.string('WithTrackAngle'),
89  skipClusters = cms.InputTag('hiMixedTripletClusters')
90  )
91  )
92 
93 # SEEDS
95 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
96 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
98 hiMixedTripletSeedsB = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
99 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.SeedingLayers = 'hiMixedTripletSeedLayersB'
100 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
101 hiMixedTripletSeedsB.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
102 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.ptMin = 4.0
103 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 0.005
104 #hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
105 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
106 
107 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
108 hiMixedTripletSeedsB.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
109 hiMixedTripletSeedsB.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
110 
112 hiMixedTripletSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
113 hiMixedTripletSeeds.seedCollections = cms.VInputTag(
114  cms.InputTag('hiMixedTripletSeedsA'),
115  cms.InputTag('hiMixedTripletSeedsB'),
116  )
117 
118 # QUALITY CUTS DURING TRACK BUILDING
120 hiMixedTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
121  maxLostHits = 0,
122  minimumNumberOfHits = 6,
123  minPt = 1.0
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.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
148  MeasurementTrackerName = '',
149  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiMixedTripletTrajectoryFilter')),
150  propagatorAlong = cms.string('hiMixedTripletPropagator'),
151  propagatorOpposite = cms.string('hiMixedTripletPropagatorOpposite'),
152  clustersToSkip = cms.InputTag('hiMixedTripletClusters'),
153  maxCand = 2,
154  estimator = cms.string('hiMixedTripletChi2Est')
155  )
156 
157 # MAKING OF TRACK CANDIDATES
159 hiMixedTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
160  src = cms.InputTag('hiMixedTripletSeeds'),
161  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiMixedTripletTrajectoryBuilder')),
162  doSeedingRegionRebuilding = True,
163  useHitsSplitting = True
164  )
165 # TRACK FITTING
167 hiMixedTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
168  AlgorithmName = cms.string('mixedTripletStep'),
169  src = 'hiMixedTripletTrackCandidates'
170  )
171 
172 # Final selection
173 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
174 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
175  src='hiMixedTripletGlobalPrimTracks',
176  trackSelectors= cms.VPSet(
177  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
178  name = 'hiMixedTripletStepLoose',
179  ), #end of pset
180  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
181  name = 'hiMixedTripletStepTight',
182  preFilterName = 'hiMixedTripletStepLoose',
183  ),
184  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
185  name = 'hiMixedTripletStep',
186  preFilterName = 'hiMixedTripletStepTight',
187  min_nhits = 14
188  ),
189  ) #end of vpset
190  ) #end of clone
191 
192 
193 
194 # Final sequence
195 
196 hiMixedTripletStep = cms.Sequence(
197  hiMixedTripletClusters*
198  hiMixedTripletSeedLayersA*
199  hiMixedTripletSeedsA*
200  hiMixedTripletSeedLayersB*
201  hiMixedTripletSeedsB*
202  hiMixedTripletSeeds*
203  hiMixedTripletTrackCandidates*
204  hiMixedTripletGlobalPrimTracks*
205  hiMixedTripletStepSelector)
206