CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LowPU_LowPtTripletStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # NEW CLUSTERS (remove previously used clusters)
5 lowPtTripletStepClusters = trackClusterRemover.clone(
6  maxChi2 = cms.double(9.0),
7  trajectories = cms.InputTag("initialStepTracks"),
8  pixelClusters = cms.InputTag("siPixelClusters"),
9  stripClusters = cms.InputTag("siStripClusters"),
10  overrideTrkQuals = cms.InputTag('initialStepSelector','initialStep'),
11  TrackQuality = cms.string('highPurity'),
12  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
13 )
14 
15 # SEEDING LAYERS
17 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
18 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
19 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
20 
21 # SEEDS
23 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
24 lowPtTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
25  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
26  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
27  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
28  ptMin = 0.1,
29  originRadius = 0.015,
30  nSigmaZ = 4.0
31  )
32  )
33  )
34 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtTripletStepSeedLayers'
35 
37 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
38 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
39 
40 
41 # QUALITY CUTS DURING TRACK BUILDING
43 lowPtTripletStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
44  minimumNumberOfHits = 3,
45  minPt = 0.05
46  )
47 
49 # Composite filter
50 lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
51  filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
52  cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
53  )
54 
56 lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
57  ComponentName = cms.string('lowPtTripletStepChi2Est'),
58  nSigma = cms.double(3.0),
59  MaxChi2 = cms.double(49.0)
60 )
61 
62 # TRACK BUILDING
64 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
65  MeasurementTrackerName = '',
66  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
67  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
68  maxCand = 6,
69  estimator = cms.string('lowPtTripletStepChi2Est'),
70  maxDPhiForLooperReconstruction = cms.double(2.0),
71  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
72  # of the outermost Tracker barrel layer (with B=3.8T)
73  maxPtForLooperReconstruction = cms.double(0.7)
74  )
75 
76 # MAKING OF TRACK CANDIDATES
78 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
79  src = cms.InputTag('lowPtTripletStepSeeds'),
80  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
81  numHitsForSeedCleaner = cms.int32(50),
82  onlyPixelHitsForSeedCleaner = cms.bool(True),
83 
84  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')),
85  doSeedingRegionRebuilding = True,
86  useHitsSplitting = True
87 )
88 
89 # TRACK FITTING
91 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
92  src = 'lowPtTripletStepTrackCandidates',
93  AlgorithmName = cms.string('lowPtTripletStep'),
94  Fitter = cms.string('FlexibleKFFittingSmoother')
95  )
96 
97 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
98 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
99  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
100  fractionShared = cms.double(0.16),
101  allowSharedFirstHit = cms.bool(True)
102  )
103 lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
104 
105 # Final selection
106 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
107 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
108  src='lowPtTripletStepTracks',
109  trackSelectors= cms.VPSet(
110  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
111  name = 'lowPtTripletStepLoose',
112  chi2n_par = 3.5,
113  res_par = ( 0.003, 0.002 ),
114  minNumberLayers = 3,
115  maxNumberLostLayers = 2,
116  minNumber3DLayers = 3,
117  d0_par1 = ( 0.9, 4.0 ),
118  dz_par1 = ( 0.7, 4.0 ),
119  d0_par2 = ( 0.5, 4.0 ),
120  dz_par2 = ( 0.5, 4.0 )
121  ), #end of pset
122  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
123  name = 'lowPtTripletStepTight',
124  preFilterName = 'lowPtTripletStepLoose',
125  chi2n_par = 1.3,
126  res_par = ( 0.003, 0.002 ),
127  minNumberLayers = 3,
128  maxNumberLostLayers = 2,
129  minNumber3DLayers = 3,
130  d0_par1 = ( 0.75, 4.0 ),
131  dz_par1 = ( 0.6, 4.0 ),
132  d0_par2 = ( 0.4, 4.0 ),
133  dz_par2 = ( 0.4, 4.0 )
134  ),
135  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
136  name = 'lowPtTripletStep',
137  preFilterName = 'lowPtTripletStepTight',
138  chi2n_par = 1.0,
139  res_par = ( 0.003, 0.001 ),
140  minNumberLayers = 3,
141  maxNumberLostLayers = 2,
142  minNumber3DLayers = 3,
143  d0_par1 = ( 0.7, 4.0 ),
144  dz_par1 = ( 0.55, 4.0 ),
145  d0_par2 = ( 0.3, 4.0 ),
146  dz_par2 = ( 0.35, 4.0 )
147  ),
148  ) #end of vpset
149  ) #end of clone
150 
151 # Final sequence
152 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
153  lowPtTripletStepSeedLayers*
154  lowPtTripletStepSeeds*
155  lowPtTripletStepTrackCandidates*
156  lowPtTripletStepTracks*
157  lowPtTripletStepSelector)