CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RunI_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 
8 pixelLessStepClusters = cms.EDProducer("TrackClusterRemover",
9  clusterLessSolution = cms.bool(True),
10  oldClusterRemovalInfo = cms.InputTag("mixedTripletStepClusters"),
11  trajectories = cms.InputTag("mixedTripletStepTracks"),
12  overrideTrkQuals = cms.InputTag('mixedTripletStep'),
13  TrackQuality = cms.string('highPurity'),
14  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
15  pixelClusters = cms.InputTag("siPixelClusters"),
16  stripClusters = cms.InputTag("siStripClusters"),
17  Common = cms.PSet(
18  maxChi2 = cms.double(9.0)
19  )
20 )
21 
22 # SEEDING LAYERS
23 pixelLessStepSeedLayers = cms.EDProducer("SeedingLayersEDProducer",
24  layerList = cms.vstring('TIB1+TIB2',
25  'TID1_pos+TID2_pos','TID2_pos+TID3_pos',
26  'TEC1_pos+TEC2_pos','TEC2_pos+TEC3_pos','TEC3_pos+TEC4_pos','TEC3_pos+TEC5_pos','TEC4_pos+TEC5_pos',
27  'TID1_neg+TID2_neg','TID2_neg+TID3_neg',
28  'TEC1_neg+TEC2_neg','TEC2_neg+TEC3_neg','TEC3_neg+TEC4_neg','TEC3_neg+TEC5_neg','TEC4_neg+TEC5_neg'),
29  TIB = cms.PSet(
30  TTRHBuilder = cms.string('WithTrackAngle'),
31  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
32  skipClusters = cms.InputTag('pixelLessStepClusters')
33  ),
34  TID = cms.PSet(
35  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
36  skipClusters = cms.InputTag('pixelLessStepClusters'),
37  useRingSlector = cms.bool(True),
38  TTRHBuilder = cms.string('WithTrackAngle'),
39  minRing = cms.int32(1),
40  maxRing = cms.int32(2)
41  ),
42  TEC = cms.PSet(
43  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
44  skipClusters = cms.InputTag('pixelLessStepClusters'),
45  useRingSlector = cms.bool(True),
46  TTRHBuilder = cms.string('WithTrackAngle'),
47  minRing = cms.int32(1),
48  maxRing = cms.int32(2)
49  )
50 )
51 
52 # SEEDS
54 pixelLessStepSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
55 pixelLessStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'pixelLessStepSeedLayers'
56 pixelLessStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.7
57 pixelLessStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
58 pixelLessStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 2.5
59 pixelLessStepSeeds.SeedCreatorPSet.OriginTransverseErrorMultiplier = 2.0
60 
61 pixelLessStepSeeds.SeedComparitorPSet = cms.PSet(
62  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
63  FilterAtHelixStage = cms.bool(True),
64  FilterPixelHits = cms.bool(False),
65  FilterStripHits = cms.bool(True),
66  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
67  )
68 
69 # QUALITY CUTS DURING TRACK BUILDING
70 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
71 pixelLessStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
72  ComponentName = 'pixelLessStepTrajectoryFilter',
73  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
74  maxLostHits = 0,
75  minimumNumberOfHits = 4,
76  minPt = 0.1
77  )
78  )
79 
81 pixelLessStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
82  ComponentName = cms.string('pixelLessStepChi2Est'),
83  nSigma = cms.double(3.0),
84  MaxChi2 = cms.double(9.0)
85 )
86 
87 # TRACK BUILDING
89 pixelLessStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
90  ComponentName = 'pixelLessStepTrajectoryBuilder',
91  MeasurementTrackerName = '',
92  trajectoryFilterName = 'pixelLessStepTrajectoryFilter',
93  minNrOfHitsForRebuild = 4,
94  maxCand = 2,
95  alwaysUseInvalidHits = False,
96  estimator = cms.string('pixelLessStepChi2Est'),
97  maxDPhiForLooperReconstruction = cms.double(2.0),
98  maxPtForLooperReconstruction = cms.double(0.7)
99  )
100 
101 # MAKING OF TRACK CANDIDATES
103 pixelLessStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
104  src = cms.InputTag('pixelLessStepSeeds'),
105  clustersToSkip = cms.InputTag('pixelLessStepClusters'),
106  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
107  numHitsForSeedCleaner = cms.int32(50),
108  #onlyPixelHitsForSeedCleaner = cms.bool(True),
109  TrajectoryBuilder = 'pixelLessStepTrajectoryBuilder'
110 )
111 
112 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
113 pixelLessStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
114  ComponentName = cms.string('pixelLessStepTrajectoryCleanerBySharedHits'),
115  fractionShared = cms.double(0.11),
116  allowSharedFirstHit = cms.bool(True)
117  )
118 pixelLessStepTrackCandidates.TrajectoryCleaner = 'pixelLessStepTrajectoryCleanerBySharedHits'
119 
120 
121 # TRACK FITTING
123 pixelLessStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
124  src = 'pixelLessStepTrackCandidates',
125  AlgorithmName = cms.string('iter5'),
126  Fitter = cms.string('FlexibleKFFittingSmoother')
127  )
128 
129 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
130 pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
131  src='pixelLessStepTracks',
132  useAnyMVA = cms.bool(True),
133  GBRForestLabel = cms.string('MVASelectorIter5'),
134  trackSelectors= cms.VPSet(
135  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
136  name = 'pixelLessStepLoose',
137  chi2n_par = 0.4,
138  res_par = ( 0.003, 0.001 ),
139  minNumberLayers = 4,
140  maxNumberLostLayers = 1,
141  minNumber3DLayers = 3,
142  d0_par1 = ( 1.2, 4.0 ),
143  dz_par1 = ( 1.2, 4.0 ),
144  d0_par2 = ( 1.2, 4.0 ),
145  dz_par2 = ( 1.2, 4.0 )
146  ),
147  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
148  name = 'pixelLessStepTight',
149  preFilterName = 'pixelLessStepLoose',
150  chi2n_par = 0.3,
151  res_par = ( 0.003, 0.001 ),
152  minNumberLayers = 4,
153  maxNumberLostLayers = 0,
154  minNumber3DLayers = 3,
155  d0_par1 = ( 0.9, 4.0 ),
156  dz_par1 = ( 0.9, 4.0 ),
157  d0_par2 = ( 0.9, 4.0 ),
158  dz_par2 = ( 0.9, 4.0 )
159  ),
160  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
161  name = 'pixelLessStep',
162  preFilterName = 'pixelLessStepTight',
163  chi2n_par = 0.2,
164  res_par = ( 0.003, 0.001 ),
165  minNumberLayers = 4,
166  maxNumberLostLayers = 0,
167  minNumber3DLayers = 3,
168  max_minMissHitOutOrIn = 2,
169  max_lostHitFraction = 1.0,
170  d0_par1 = ( 0.7, 4.0 ),
171  dz_par1 = ( 0.7, 4.0 ),
172  d0_par2 = ( 0.7, 4.0 ),
173  dz_par2 = ( 0.7, 4.0 )
174  ),
175  ) #end of vpset
176  ) #end of clone
177 
178 
179 PixelLessStep = cms.Sequence(pixelLessStepClusters*
180  pixelLessStepSeedLayers*
181  pixelLessStepSeeds*
182  pixelLessStepTrackCandidates*
183  pixelLessStepTracks*
184  pixelLessStepSelector)
185