CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LowPtBarrelTripletStep_cff.py
Go to the documentation of this file.
2 
3 # NEW CLUSTERS (remove previously used clusters)
4 lowPtBarrelTripletStepClusters = cms.EDProducer("TrackClusterRemover",
5  clusterLessSolution= cms.bool(True),
6  trajectories = cms.InputTag("lowPtForwardTripletStepTracks"),
7  oldClusterRemovalInfo = cms.InputTag("lowPtForwardTripletStepClusters"),
8  overrideTrkQuals = cms.InputTag('lowPtForwardTripletStepSelector','lowPtForwardTripletStep'),
9  TrackQuality = cms.string('highPurity'),
10  pixelClusters = cms.InputTag("siPixelClusters"),
11  stripClusters = cms.InputTag("siStripClusters"),
12  Common = cms.PSet(
13  maxChi2 = cms.double(9.0)
14  )
15 )
16 
17 # SEEDING LAYERS
19 lowPtBarrelTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
20 lowPtBarrelTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtBarrelTripletStepClusters')
21 lowPtBarrelTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtBarrelTripletStepClusters')
22 lowPtBarrelTripletStepSeedLayers.layerList = cms.vstring('BPix1+BPix2+BPix3')
23 
24 
25 # SEEDS
27 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
28 lowPtBarrelTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
29  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
30  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
31  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
32  ptMin = 0.2,
33  originRadius = 0.03,
34  nSigmaZ = 4.0
35  )
36  )
37  )
38 lowPtBarrelTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtBarrelTripletStepSeedLayers'
39 
41 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
42 lowPtBarrelTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
43 
44 
45 # QUALITY CUTS DURING TRACK BUILDING
47 lowPtBarrelTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
48  #maxLostHits = 3, # use LostHitFraction filter instead
49  minimumNumberOfHits = 3,
50  minPt = 0.1
51  )
52 
54 lowPtBarrelTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
55  ComponentName = cms.string('lowPtBarrelTripletStepChi2Est'),
56  nSigma = cms.double(3.0),
57  MaxChi2 = cms.double(9.0)
58 )
59 
60 # TRACK BUILDING
62 lowPtBarrelTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
63  MeasurementTrackerName = '',
64  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryFilter')),
65  clustersToSkip = cms.InputTag('lowPtBarrelTripletStepClusters'),
66  maxCand = 3,
67 
68  #lostHitPenalty = cms.double(10.0),
69 
70  estimator = cms.string('lowPtBarrelTripletStepChi2Est'),
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.63)
74  # set the variable to a negative value to turn-off the looper reconstruction
75  #maxPtForLooperReconstruction = cms.double(-1.)
76  )
77 
78 # MAKING OF TRACK CANDIDATES
80 lowPtBarrelTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
81  src = cms.InputTag('lowPtBarrelTripletStepSeeds'),
82 
83  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
84  numHitsForSeedCleaner = cms.int32(50),
85  onlyPixelHitsForSeedCleaner = cms.bool(True),
86 
87  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryBuilder')),
88  doSeedingRegionRebuilding = True,
89  useHitsSplitting = True,
90  TransientInitialStateEstimatorParameters = cms.PSet(
91  propagatorAlongTISE = cms.string('PropagatorWithMaterialForLoopers'),
92  propagatorOppositeTISE = cms.string('PropagatorWithMaterialForLoopersOpposite'),
93  numberMeasurementsForFit = cms.int32(4)
94  )
95 )
96 
97 ### Have to clone the KF fitters because only the PropagatorWithMaterialForLoopers (no RK) can be used for the
98 ### reconstruction of loopers
99 
100 # TRACK FITTING
102 lowPtBarrelTripletStepKFTrajectoryFitter = TrackingTools.TrackFitters.KFTrajectoryFitterESProducer_cfi.KFTrajectoryFitter.clone(
103  ComponentName = cms.string('lowPtBarrelTripletStepKFTrajectoryFitter'),
104  Propagator = cms.string('PropagatorWithMaterialForLoopers')
105 )
106 
108 lowPtBarrelTripletStepKFTrajectorySmoother = TrackingTools.TrackFitters.KFTrajectorySmootherESProducer_cfi.KFTrajectorySmoother.clone(
109  ComponentName = cms.string('lowPtBarrelTripletStepKFTrajectorySmoother'),
110  Propagator = cms.string('PropagatorWithMaterialForLoopers'),
111  errorRescaling = cms.double(10.0)
112 )
113 
115 lowPtBarrelTripletStepKFFittingSmoother = TrackingTools.TrackFitters.KFFittingSmootherESProducer_cfi.KFFittingSmoother.clone(
116  ComponentName = cms.string('lowPtBarrelTripletStepKFFittingSmoother'),
117  Fitter = cms.string('lowPtBarrelTripletStepKFTrajectoryFitter'),
118  Smoother = cms.string('lowPtBarrelTripletStepKFTrajectorySmoother'),
119  EstimateCut = cms.double(20.0),
120  LogPixelProbabilityCut = cms.double(-14.0),
121  MinNumberOfHits = cms.int32(3)
122 )
123 
124 
125 
127 lowPtBarrelTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
128  src = 'lowPtBarrelTripletStepTrackCandidates',
129  AlgorithmName = cms.string('iter1'),
130  Fitter = cms.string('lowPtBarrelTripletStepKFFittingSmoother'),
131  #Propagator = cms.string('PropagatorWithMaterialForLoopers'),
132  #NavigationSchool = cms.string('') ### Is the outerHitPattern filled correctly for loopers???
133  )
134 
135 
136 # Final selection
137 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
138 lowPtBarrelTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
139  src='lowPtBarrelTripletStepTracks',
140  trackSelectors= cms.VPSet(
141  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
142  name = 'lowPtBarrelTripletStepLoose',
143  ), #end of pset
144  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
145  name = 'lowPtBarrelTripletStepTight',
146  preFilterName = 'lowPtBarrelTripletStepLoose',
147  ),
148  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
149  name = 'lowPtBarrelTripletStep',
150  preFilterName = 'lowPtBarrelTripletStepTight',
151  ),
152  ) #end of vpset
153  ) #end of clone
154 
155 # Final sequence
156 LowPtBarrelTripletStep = cms.Sequence(lowPtBarrelTripletStepClusters*
157  lowPtBarrelTripletStepSeedLayers*
158  lowPtBarrelTripletStepSeeds*
159  lowPtBarrelTripletStepTrackCandidates*
160  lowPtBarrelTripletStepTracks*
161  lowPtBarrelTripletStepSelector)