CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelLessStep_cff.py
Go to the documentation of this file.
2 
3 ##########################################################################
4 # Large impact parameter tracking using TIB/TID/TEC stereo layer seeding #
5 ##########################################################################
6 
7 # REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
8 
9 thfilter = cms.EDProducer("QualityFilter",
10  TrackQuality = cms.string('highPurity'),
11  recTracks = cms.InputTag("thStep")
12 )
13 
14 fourthClusters = cms.EDProducer("TrackClusterRemover",
15  oldClusterRemovalInfo = cms.InputTag("thClusters"),
16  trajectories = cms.InputTag("thfilter"),
17  pixelClusters = cms.InputTag("thClusters"),
18  stripClusters = cms.InputTag("thClusters"),
19  Common = cms.PSet(
20  maxChi2 = cms.double(30.0)
21  )
22 
23 # For debug purposes, you can run this iteration not eliminating any hits from previous ones by
24 # instead using
25 # trajectories = cms.InputTag("zeroStepFilter"),
26 # pixelClusters = cms.InputTag("siPixelClusters"),
27 # stripClusters = cms.InputTag("siStripClusters"),
28 # Common = cms.PSet(
29 # maxChi2 = cms.double(0.0)
30 # )
31 )
32 
33 
34 # TRACKER HITS
37 fourthPixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.siPixelRecHits.clone(
38  src = 'fourthClusters'
39  )
40 fourthStripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
41  ClusterProducer = 'fourthClusters'
42  )
43 
44 
45 # SEEDING LAYERS
46 fourthlayerpairs = cms.ESProducer("SeedingLayersESProducer",
47  ComponentName = cms.string('FourthLayerPairs'),
48  layerList = cms.vstring('TIB1+TIB2',
49  'TIB1+TID1_pos','TIB1+TID1_neg',
50  'TID1_pos+TID2_pos','TID2_pos+TID3_pos','TID3_pos+TEC1_pos',
51  'TEC1_pos+TEC2_pos','TEC2_pos+TEC3_pos','TEC3_pos+TEC4_pos','TEC3_pos+TEC5_pos','TEC4_pos+TEC5_pos',
52  'TID1_neg+TID2_neg','TID2_neg+TID3_neg','TID3_neg+TEC1_neg',
53  'TEC1_neg+TEC2_neg','TEC2_neg+TEC3_neg','TEC3_neg+TEC4_neg','TEC3_neg+TEC5_neg','TEC4_neg+TEC5_neg'),
54  TIB = cms.PSet(
55  TTRHBuilder = cms.string('WithTrackAngle'),
56  matchedRecHits = cms.InputTag("fourthStripRecHits","matchedRecHit")
57  ),
58  TID = cms.PSet(
59  matchedRecHits = cms.InputTag("fourthStripRecHits","matchedRecHit"),
60  useRingSlector = cms.bool(True),
61  TTRHBuilder = cms.string('WithTrackAngle'),
62  minRing = cms.int32(1),
63  maxRing = cms.int32(2)
64  ),
65  TEC = cms.PSet(
66  matchedRecHits = cms.InputTag("fourthStripRecHits","matchedRecHit"),
67  useRingSlector = cms.bool(True),
68  TTRHBuilder = cms.string('WithTrackAngle'),
69  minRing = cms.int32(1),
70  maxRing = cms.int32(2)
71  )
72 )
73 
74 # SEEDS
76 fourthPLSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
78 fourthPLSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'FourthLayerPairs'
79 fourthPLSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.5
80 fourthPLSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 12.0
81 fourthPLSeeds.RegionFactoryPSet.RegionPSet.originRadius = 2.0
82 fourthPLSeeds.ClusterCheckPSet.PixelClusterCollectionLabel = 'fourthClusters'
83 fourthPLSeeds.ClusterCheckPSet.ClusterCollectionLabel = 'fourthClusters'
84 
85 # TRACKER DATA CONTROL
86 fourthMeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
87  ComponentName = 'fourthMeasurementTracker',
88  pixelClusterProducer = 'fourthClusters',
89  stripClusterProducer = 'fourthClusters'
90  )
91 
92 # QUALITY CUTS DURING TRACK BUILDING
93 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
94 fourthCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
95  ComponentName = 'fourthCkfTrajectoryFilter',
96  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
97  maxLostHits = 0,
98  minimumNumberOfHits = 6,
99  minPt = 0.1
100  )
101  )
102 
103 # TRACK BUILDING
105 fourthCkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
106  ComponentName = 'fourthCkfTrajectoryBuilder',
107  MeasurementTrackerName = 'fourthMeasurementTracker',
108  trajectoryFilterName = 'fourthCkfTrajectoryFilter',
109  minNrOfHitsForRebuild = 4
110  )
111 
112 # MAKING OF TRACK CANDIDATES
114 fourthTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
115  src = cms.InputTag('fourthPLSeeds'),
116  TrajectoryBuilder = 'fourthCkfTrajectoryBuilder'
117  )
118 
119 # TRACK FITTING
121 fourthWithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
122  src = 'fourthTrackCandidates',
123  clusterRemovalInfo = 'fourthClusters',
124  AlgorithmName = cms.string('iter4')
125  )
126 
127 # TRACK SELECTION AND QUALITY FLAG SETTING.
128 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
129 import RecoTracker.FinalTrackSelectors.selectTight_cfi
130 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
131 
132 pixellessStepLoose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
133  src = 'fourthWithMaterialTracks',
134  keepAllTracks = False,
135  copyExtras = False,
136  copyTrajectories = True,
137  chi2n_par = 0.5,
138  res_par = ( 0.003, 0.001 ),
139  minNumberLayers = 5,
140  maxNumberLostLayers = 1,
141  minNumber3DLayers = 3,
142  d0_par1 = ( 1.5, 4.0 ),
143  dz_par1 = ( 1.5, 4.0 ),
144  d0_par2 = ( 1.5, 4.0 ),
145  dz_par2 = ( 1.5, 4.0 )
146  )
147 
148 pixellessStepTight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
149  src = 'pixellessStepLoose',
150  keepAllTracks = True,
151  copyExtras = False,
152  copyTrajectories = True,
153  chi2n_par = 0.35,
154  res_par = ( 0.003, 0.001 ),
155  minNumberLayers = 5,
156  maxNumberLostLayers = 0,
157  minNumber3DLayers = 3,
158  d0_par1 = ( 1.2, 4.0 ),
159  dz_par1 = ( 1.2, 4.0 ),
160  d0_par2 = ( 1.2, 4.0 ),
161  dz_par2 = ( 1.2, 4.0 )
162  )
163 
164 pixellessStep = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
165  src = 'pixellessStepTight',
166  keepAllTracks = True,
167  copyExtras = False,
168  copyTrajectories = True,
169  chi2n_par = 0.25,
170  res_par = ( 0.003, 0.001 ),
171  minNumberLayers = 5,
172  maxNumberLostLayers = 0,
173  minNumber3DLayers = 3,
174  d0_par1 = ( 1.0, 4.0 ),
175  dz_par1 = ( 1.0, 4.0 ),
176  d0_par2 = ( 1.0, 4.0 ),
177  dz_par2 = ( 1.0, 4.0 )
178  )
179 
180 fourthStep = cms.Sequence(thfilter*fourthClusters*
181  fourthPixelRecHits*fourthStripRecHits*
182  fourthPLSeeds*
183  fourthTrackCandidates*
184  fourthWithMaterialTracks*
185  pixellessStepLoose*
186  pixellessStepTight*
187  pixellessStep)