CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LowPtTripletStep_cff.py
Go to the documentation of this file.
2 
3 # NEW CLUSTERS (remove previously used clusters)
4 lowPtTripletStepClusters = cms.EDProducer("TrackClusterRemover",
5  clusterLessSolution= cms.bool(True),
6  trajectories = cms.InputTag("initialStepTracks"),
7  overrideTrkQuals = cms.InputTag('initialStepSelector','initialStep'),
8  TrackQuality = cms.string('highPurity'),
9  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
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 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone(
20  ComponentName = 'lowPtTripletStepSeedLayers'
21  )
22 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
23 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
24 
25 # SEEDS
27 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
28 lowPtTripletStepSeeds = 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.02,
34  nSigmaZ = 4.0
35  )
36  )
37  )
38 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtTripletStepSeedLayers'
39 
41 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
42 
43 
44 # QUALITY CUTS DURING TRACK BUILDING
45 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
46 lowPtTripletStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
47  ComponentName = 'lowPtTripletStepStandardTrajectoryFilter',
48  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
49  minimumNumberOfHits = 3,
50  minPt = 0.075
51  )
52  )
53 
55 # Composite filter
57 lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.CompositeTrajectoryFilterESProducer_cfi.compositeTrajectoryFilterESProducer.clone(
58  ComponentName = cms.string('lowPtTripletStepTrajectoryFilter'),
59  filterNames = cms.vstring('lowPtTripletStepStandardTrajectoryFilter',
60  'clusterShapeTrajectoryFilter')
61  )
62 
64 lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
65  ComponentName = cms.string('lowPtTripletStepChi2Est'),
66  nSigma = cms.double(3.0),
67  MaxChi2 = cms.double(9.0)
68 )
69 
70 # TRACK BUILDING
72 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
73  ComponentName = 'lowPtTripletStepTrajectoryBuilder',
74  MeasurementTrackerName = '',
75  trajectoryFilterName = 'lowPtTripletStepTrajectoryFilter',
76  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
77  maxCand = 4,
78  estimator = cms.string('lowPtTripletStepChi2Est'),
79  maxDPhiForLooperReconstruction = cms.double(2.0),
80  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
81  # of the outermost Tracker barrel layer (with B=3.8T)
82  maxPtForLooperReconstruction = cms.double(0.7)
83  )
84 
85 # MAKING OF TRACK CANDIDATES
87 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
88  src = cms.InputTag('lowPtTripletStepSeeds'),
89  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
90  numHitsForSeedCleaner = cms.int32(50),
91  onlyPixelHitsForSeedCleaner = cms.bool(True),
92 
93  TrajectoryBuilder = 'lowPtTripletStepTrajectoryBuilder',
94  doSeedingRegionRebuilding = True,
95  useHitsSplitting = True
96 )
97 
98 # TRACK FITTING
100 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
101  src = 'lowPtTripletStepTrackCandidates',
102  AlgorithmName = cms.string('iter1'),
103  Fitter = cms.string('FlexibleKFFittingSmoother')
104  )
105 
106 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
107 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
108  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
109  fractionShared = cms.double(0.16),
110  allowSharedFirstHit = cms.bool(True)
111  )
112 lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
113 
114 # Final selection
115 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
116 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
117  src='lowPtTripletStepTracks',
118  useAnyMVA = cms.bool(True),
119  GBRForestLabel = cms.string('MVASelectorIter1'),
120  trackSelectors= cms.VPSet(
121  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
122  name = 'lowPtTripletStepLoose',
123  ), #end of pset
124  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
125  name = 'lowPtTripletStepTight',
126  preFilterName = 'lowPtTripletStepLoose',
127  ),
128  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
129  name = 'lowPtTripletStep',
130  preFilterName = 'lowPtTripletStepTight',
131  ),
132  ) #end of vpset
133  ) #end of clone
134 
135 # Final sequence
136 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
137  lowPtTripletStepSeeds*
138  lowPtTripletStepTrackCandidates*
139  lowPtTripletStepTracks*
140  lowPtTripletStepSelector)