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 hiSecondPixelTripletSeedLayers.BPix.skipClusters = cms.InputTag('hiSecondPixelTripletClusters')
31 hiSecondPixelTripletSeedLayers.FPix.skipClusters = cms.InputTag('hiSecondPixelTripletClusters')
32 
33 # SEEDS
35 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
36 hiSecondPixelTripletSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
37  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
38  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
39  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
40  ptMin = 4.0,
41  originRadius = 0.005,
42  nSigmaZ = 4.0
43  )
44  )
45 )
46 
47 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'hiSecondPixelTripletSeedLayers'
48 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
49 hiSecondPixelTripletSeeds.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
50 hiSecondPixelTripletSeeds.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
51 
53 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
54 
55 
56 # QUALITY CUTS DURING TRACK BUILDING
57 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
58 hiSecondPixelTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
59  ComponentName = 'hiSecondPixelTripletTrajectoryFilter',
60  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
61  maxLostHits = 1,
62  minimumNumberOfHits = 6,
63  minPt = 1.0
64  )
65  )
66 
68 hiSecondPixelTripletChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
69  ComponentName = cms.string('hiSecondPixelTripletChi2Est'),
70  nSigma = cms.double(3.0),
71  MaxChi2 = cms.double(9.0)
72  )
73 
74 
75 # TRACK BUILDING
77 hiSecondPixelTripletTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
78  ComponentName = 'hiSecondPixelTripletTrajectoryBuilder',
79  MeasurementTrackerName = '',
80  trajectoryFilterName = 'hiSecondPixelTripletTrajectoryFilter',
81  clustersToSkip = cms.InputTag('hiSecondPixelTripletClusters'),
82  maxCand = 3,
83  #estimator = cms.string('hiSecondPixelTripletChi2Est')
84  )
85 
86 
87 # MAKING OF TRACK CANDIDATES
89 hiSecondPixelTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
90  src = cms.InputTag('hiSecondPixelTripletSeeds'),
91  TrajectoryBuilder = 'hiSecondPixelTripletTrajectoryBuilder',
92  doSeedingRegionRebuilding = True,
93  useHitsSplitting = True
94  )
95 
96 # TRACK FITTING
98 hiSecondPixelTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
99  src = 'hiSecondPixelTripletTrackCandidates',
100  AlgorithmName = cms.string('iter1')
101  )
102 
103 
104 
105 # Final selection
106 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
107 hiSecondPixelTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
108  src='hiSecondPixelTripletGlobalPrimTracks',
109  trackSelectors= cms.VPSet(
110  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
111  name = 'hiSecondPixelTripletStepLoose',
112  ), #end of pset
113  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
114  name = 'hiSecondPixelTripletStepTight',
115  preFilterName = 'hiSecondPixelTripletStepLoose',
116  ),
117  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
118  name = 'hiSecondPixelTripletStep',
119  preFilterName = 'hiSecondPixelTripletStepTight',
120  min_nhits = 14
121  ),
122  ) #end of vpset
123  ) #end of clone
124 
125 
126 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
127 hiSecondQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
128  TrackProducers = cms.VInputTag(cms.InputTag('hiSecondPixelTripletGlobalPrimTracks')),
129  hasSelector=cms.vint32(1),
130  selectedTrackQuals = cms.VInputTag(cms.InputTag("hiSecondPixelTripletStepSelector","hiSecondPixelTripletStep")),
131  copyExtras = True,
132  makeReKeyedSeeds = cms.untracked.bool(False),
133  #writeOnlyTrkQuals = True
134  )
135 
136 # Final sequence
137 
138 hiSecondPixelTripletStep = cms.Sequence(hiFirstStepFilter*
139  hiSecondPixelTripletClusters*
140  hiSecondPixelTripletSeedLayers*
141  hiSecondPixelTripletSeeds*
142  hiSecondPixelTripletTrackCandidates*
143  hiSecondPixelTripletGlobalPrimTracks*
144  hiSecondPixelTripletStepSelector
145  *hiSecondQual
146  )