CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RunI_LowPtTripletStep_cff.py
Go to the documentation of this file.
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.2,
29  originRadius = 0.02,
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.075
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(9.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  maxCand = 4,
68  estimator = cms.string('lowPtTripletStepChi2Est'),
69  maxDPhiForLooperReconstruction = cms.double(2.0),
70  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
71  # of the outermost Tracker barrel layer (with B=3.8T)
72  maxPtForLooperReconstruction = cms.double(0.7)
73  )
74 
75 # MAKING OF TRACK CANDIDATES
77 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
78  src = cms.InputTag('lowPtTripletStepSeeds'),
79  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
80  numHitsForSeedCleaner = cms.int32(50),
81  onlyPixelHitsForSeedCleaner = cms.bool(True),
82 
83  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')),
84  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
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  useAnyMVA = cms.bool(True),
110  GBRForestLabel = cms.string('MVASelectorIter1'),
111  trackSelectors= cms.VPSet(
112  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
113  name = 'lowPtTripletStepLoose',
114  ), #end of pset
115  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
116  name = 'lowPtTripletStepTight',
117  preFilterName = 'lowPtTripletStepLoose',
118  ),
119  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
120  name = 'lowPtTripletStep',
121  preFilterName = 'lowPtTripletStepTight',
122  ),
123  ) #end of vpset
124  ) #end of clone
125 
126 # Final sequence
127 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
128  lowPtTripletStepSeedLayers*
129  lowPtTripletStepSeeds*
130  lowPtTripletStepTrackCandidates*
131  lowPtTripletStepTracks*
132  lowPtTripletStepSelector)
133