CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
InitialStep_cff.py
Go to the documentation of this file.
2 
3 ### STEP 0 ###
4 
5 # hit building
8 
9 initialStepClusters = cms.EDProducer("TrackClusterRemover",
10  clusterLessSolution= cms.bool(True),
11  pixelClusters = cms.InputTag("siPixelClusters"),
12  stripClusters = cms.InputTag("siStripClusters"),
13  doStripChargeCheck = cms.bool(True),
14  stripRecHits = cms.string('siStripMatchedRecHits'),
15  Common = cms.PSet(
16  maxChi2 = cms.double(9.0),
17  minGoodStripCharge = cms.double(50.0)
18  )
19  )
20 # SEEDING LAYERS
22 initialStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
23 initialStepSeedLayers.BPix.skipClusters = cms.InputTag('initialStepClusters')
24 initialStepSeedLayers.FPix.skipClusters = cms.InputTag('initialStepClusters')
25 
26 
27 # seeding
29 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
30 initialStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
31  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
32  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
33  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
34  ptMin = 0.6,
35  originRadius = 0.02,
36  nSigmaZ = 4.0
37  )
38  )
39  )
40 initialStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'initialStepSeedLayers'
41 
43 initialStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
44 
45 # building
46 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
47 initialStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
48  ComponentName = 'initialStepTrajectoryFilter',
49  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
50  minimumNumberOfHits = 3,
51  minPt = 0.2
52  )
53  )
54 
56 initialStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
57  ComponentName = cms.string('initialStepChi2Est'),
58  nSigma = cms.double(3.0),
59  MaxChi2 = cms.double(30.0)
60 )
61 
63 initialStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
64  ComponentName = 'initialStepTrajectoryBuilder',
65  trajectoryFilterName = 'initialStepTrajectoryFilter',
66  alwaysUseInvalidHits = True,
67  clustersToSkip = cms.InputTag('initialStepClusters'),
68  maxCand = 6,
69  estimator = cms.string('initialStepChi2Est'),
70  maxDPhiForLooperReconstruction = cms.double(2.0),
71  maxPtForLooperReconstruction = cms.double(0.7)
72  )
73 
75 initialStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
76  src = cms.InputTag('initialStepSeeds'),
77  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
78  numHitsForSeedCleaner = cms.int32(50),
79  onlyPixelHitsForSeedCleaner = cms.bool(True),
80 
81  TrajectoryBuilder = 'initialStepTrajectoryBuilder',
82  doSeedingRegionRebuilding = True,
83  useHitsSplitting = True
84  )
85 
86 # fitting
88 initialStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
89  src = 'initialStepTrackCandidates',
90  AlgorithmName = cms.string('iter0'),
91  Fitter = cms.string('FlexibleKFFittingSmoother')
92  )
93 
94 # Final selection
95 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
96 from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepSelector
97 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
98  src='initialStepTracks',
99  useAnyMVA = cms.bool(True),
100  GBRForestLabel = cms.string('MVASelectorIter0'),
101  trackSelectors= cms.VPSet(
102  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
103  name = 'initialStepLoose',
104  ), #end of pset
105  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
106  name = 'initialStepTight',
107  preFilterName = 'initialStepLoose',
108  ),
109  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
110  name = 'initialStepV1',
111  preFilterName = 'initialStepTight',
112  ),
113  detachedTripletStepSelector.trackSelectors[4].clone(
114  name = 'initialStepV2',
115  preFilterName=cms.string(''),
116  keepAllTracks = cms.bool(False)
117  ),
118  detachedTripletStepSelector.trackSelectors[5].clone(
119  name = 'initialStepV3',
120  preFilterName=cms.string(''),
121  keepAllTracks = cms.bool(False)
122  )
123  ) #end of vpset
124 )#end of clone
125 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
126 initialStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
127  TrackProducers = cms.VInputTag(cms.InputTag('initialStepTracks'),
128  cms.InputTag('initialStepTracks'),
129  cms.InputTag('initialStepTracks')),
130  hasSelector=cms.vint32(1,1,1),
131  shareFrac = cms.double(0.99),
132  indivShareFrac=cms.vdouble(1.0,1.0,1.0),
133  selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStepV1"),
134  cms.InputTag("initialStepSelector","initialStepV2"),
135  cms.InputTag("initialStepSelector","initialStepV3")),
136  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1,2), pQual=cms.bool(True) )),
137  writeOnlyTrkQuals=cms.bool(True)
138  )
139 
140 # Final sequence
141 InitialStep = cms.Sequence(initialStepClusters*
142  initialStepSeedLayers*
143  initialStepSeeds*
144  initialStepTrackCandidates*
145  initialStepTracks*
146  initialStepSelector*
147  initialStep)
tuple clone
Definition: statics.py:58