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 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
54 hiSecondPixelTripletSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
55 
56 
57 # QUALITY CUTS DURING TRACK BUILDING
59 hiSecondPixelTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
60  maxLostHits = 1,
61  minimumNumberOfHits = 6,
62  minPt = 1.0
63  )
64 
66 hiSecondPixelTripletChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
67  ComponentName = cms.string('hiSecondPixelTripletChi2Est'),
68  nSigma = cms.double(3.0),
69  MaxChi2 = cms.double(9.0)
70  )
71 
72 
73 # TRACK BUILDING
75 hiSecondPixelTripletTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
76  MeasurementTrackerName = '',
77  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiSecondPixelTripletTrajectoryFilter')),
78  clustersToSkip = cms.InputTag('hiSecondPixelTripletClusters'),
79  maxCand = 3,
80  #estimator = cms.string('hiSecondPixelTripletChi2Est')
81  )
82 
83 
84 # MAKING OF TRACK CANDIDATES
86 hiSecondPixelTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
87  src = cms.InputTag('hiSecondPixelTripletSeeds'),
88  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiSecondPixelTripletTrajectoryBuilder')),
89  doSeedingRegionRebuilding = True,
90  useHitsSplitting = True
91  )
92 
93 # TRACK FITTING
95 hiSecondPixelTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
96  src = 'hiSecondPixelTripletTrackCandidates',
97  AlgorithmName = cms.string('iter1')
98  )
99 
100 
101 
102 # Final selection
103 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
104 hiSecondPixelTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
105  src='hiSecondPixelTripletGlobalPrimTracks',
106  trackSelectors= cms.VPSet(
107  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
108  name = 'hiSecondPixelTripletStepLoose',
109  ), #end of pset
110  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
111  name = 'hiSecondPixelTripletStepTight',
112  preFilterName = 'hiSecondPixelTripletStepLoose',
113  ),
114  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
115  name = 'hiSecondPixelTripletStep',
116  preFilterName = 'hiSecondPixelTripletStepTight',
117  min_nhits = 14
118  ),
119  ) #end of vpset
120  ) #end of clone
121 
122 
123 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
124 hiSecondQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
125  TrackProducers = cms.VInputTag(cms.InputTag('hiSecondPixelTripletGlobalPrimTracks')),
126  hasSelector=cms.vint32(1),
127  selectedTrackQuals = cms.VInputTag(cms.InputTag("hiSecondPixelTripletStepSelector","hiSecondPixelTripletStep")),
128  copyExtras = True,
129  makeReKeyedSeeds = cms.untracked.bool(False),
130  #writeOnlyTrkQuals = True
131  )
132 
133 # Final sequence
134 
135 hiSecondPixelTripletStep = cms.Sequence(hiFirstStepFilter*
136  hiSecondPixelTripletClusters*
137  hiSecondPixelTripletSeedLayers*
138  hiSecondPixelTripletSeeds*
139  hiSecondPixelTripletTrackCandidates*
140  hiSecondPixelTripletGlobalPrimTracks*
141  hiSecondPixelTripletStepSelector
142  *hiSecondQual
143  )