CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hiSecondPixelTripletStep_cff.py
Go to the documentation of this file.
2 
3 # Filter on quality tracks
4 hiFirstStepFilter = cms.EDProducer("QualityFilter",
5  TrackQuality = cms.string('highPurity'),
6  recTracks = cms.InputTag("hiSelectedTracks")
7  )
8 
9 # NEW CLUSTERS (remove previously used clusters)
10 hiSecondPixelTripletClusters = cms.EDProducer("TrackClusterRemover",
11  clusterLessSolution= cms.bool(True),
12  trajectories = cms.InputTag("hiFirstStepFilter"),
13  TrackQuality = cms.string('highPurity'),
14  pixelClusters = cms.InputTag("siPixelClusters"),
15  stripClusters = cms.InputTag("siStripClusters"),
16  Common = cms.PSet(
17  maxChi2 = cms.double(9.0)
18  ),
19  Strip = cms.PSet(
20  #Yen-Jie's mod to preserve merged clusters
21  maxSize = cms.uint32(2),
22  maxChi2 = cms.double(9.0)
23  )
24  )
25 
26 
27 # SEEDING LAYERS
29 hiSecondPixelTripletSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone(
30  ComponentName = 'hiSecondPixelTripletSeedLayers'
31  )
32 hiSecondPixelTripletSeedLayers.BPix.skipClusters = cms.InputTag('hiSecondPixelTripletClusters')
33 hiSecondPixelTripletSeedLayers.FPix.skipClusters = cms.InputTag('hiSecondPixelTripletClusters')
34 
35 # SEEDS
37 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
38 hiSecondPixelTripletSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
39  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
40  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
41  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
42  ptMin = 4.0,
43  originRadius = 0.005,
44  nSigmaZ = 4.0
45  )
46  )
47 )
48 
49 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'hiSecondPixelTripletSeedLayers'
50 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
51 hiSecondPixelTripletSeeds.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
52 hiSecondPixelTripletSeeds.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
53 
55 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
56 
57 
58 # QUALITY CUTS DURING TRACK BUILDING
59 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
60 hiSecondPixelTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
61  ComponentName = 'hiSecondPixelTripletTrajectoryFilter',
62  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
63  maxLostHits = 1,
64  minimumNumberOfHits = 6,
65  minPt = 1.0
66  )
67  )
68 
70 hiSecondPixelTripletChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
71  ComponentName = cms.string('hiSecondPixelTripletChi2Est'),
72  nSigma = cms.double(3.0),
73  MaxChi2 = cms.double(9.0)
74  )
75 
76 
77 # TRACK BUILDING
79 hiSecondPixelTripletTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
80  ComponentName = 'hiSecondPixelTripletTrajectoryBuilder',
81  MeasurementTrackerName = '',
82  trajectoryFilterName = 'hiSecondPixelTripletTrajectoryFilter',
83  clustersToSkip = cms.InputTag('hiSecondPixelTripletClusters'),
84  maxCand = 3,
85  #estimator = cms.string('hiSecondPixelTripletChi2Est')
86  )
87 
88 
89 # MAKING OF TRACK CANDIDATES
91 hiSecondPixelTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
92  src = cms.InputTag('hiSecondPixelTripletSeeds'),
93  TrajectoryBuilder = 'hiSecondPixelTripletTrajectoryBuilder',
94  doSeedingRegionRebuilding = True,
95  useHitsSplitting = True
96  )
97 
98 # TRACK FITTING
100 hiSecondPixelTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
101  src = 'hiSecondPixelTripletTrackCandidates',
102  AlgorithmName = cms.string('iter1')
103  )
104 
105 
106 
107 # Final selection
108 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
109 hiSecondPixelTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
110  src='hiSecondPixelTripletGlobalPrimTracks',
111  trackSelectors= cms.VPSet(
112  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
113  name = 'hiSecondPixelTripletStepLoose',
114  ), #end of pset
115  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
116  name = 'hiSecondPixelTripletStepTight',
117  preFilterName = 'hiSecondPixelTripletStepLoose',
118  ),
119  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
120  name = 'hiSecondPixelTripletStep',
121  preFilterName = 'hiSecondPixelTripletStepTight',
122  min_nhits = 14
123  ),
124  ) #end of vpset
125  ) #end of clone
126 
127 
128 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
129 hiSecondQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
130  TrackProducers = cms.VInputTag(cms.InputTag('hiSecondPixelTripletGlobalPrimTracks')),
131  hasSelector=cms.vint32(1),
132  selectedTrackQuals = cms.VInputTag(cms.InputTag("hiSecondPixelTripletStepSelector","hiSecondPixelTripletStep")),
133  copyExtras = True,
134  makeReKeyedSeeds = cms.untracked.bool(False),
135  #writeOnlyTrkQuals = True
136  )
137 
138 # Final sequence
139 
140 hiSecondPixelTripletStep = cms.Sequence(hiFirstStepFilter*
141  hiSecondPixelTripletClusters*
142  hiSecondPixelTripletSeeds*
143  hiSecondPixelTripletTrackCandidates*
144  hiSecondPixelTripletGlobalPrimTracks*
145  hiSecondPixelTripletStepSelector
146  *hiSecondQual
147  )