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)
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 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
21 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
22 
23 # SEEDS
25 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
26 lowPtTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
27  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
28  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
29  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
30  ptMin = 0.2,
31  originRadius = 0.02,
32  nSigmaZ = 4.0
33  )
34  )
35  )
36 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtTripletStepSeedLayers'
37 
39 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
40 
41 
42 # QUALITY CUTS DURING TRACK BUILDING
43 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
44 lowPtTripletStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
45  ComponentName = 'lowPtTripletStepStandardTrajectoryFilter',
46  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
47  minimumNumberOfHits = 3,
48  minPt = 0.075
49  )
50  )
51 
53 # Composite filter
55 lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.CompositeTrajectoryFilterESProducer_cfi.compositeTrajectoryFilterESProducer.clone(
56  ComponentName = cms.string('lowPtTripletStepTrajectoryFilter'),
57  filterNames = cms.vstring('lowPtTripletStepStandardTrajectoryFilter',
58  'clusterShapeTrajectoryFilter')
59  )
60 
62 lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
63  ComponentName = cms.string('lowPtTripletStepChi2Est'),
64  nSigma = cms.double(3.0),
65  MaxChi2 = cms.double(9.0)
66 )
67 
68 # TRACK BUILDING
70 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
71  ComponentName = 'lowPtTripletStepTrajectoryBuilder',
72  MeasurementTrackerName = '',
73  trajectoryFilterName = 'lowPtTripletStepTrajectoryFilter',
74  maxCand = 4,
75  estimator = cms.string('lowPtTripletStepChi2Est'),
76  maxDPhiForLooperReconstruction = cms.double(2.0),
77  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
78  # of the outermost Tracker barrel layer (with B=3.8T)
79  maxPtForLooperReconstruction = cms.double(0.7)
80  )
81 
82 # MAKING OF TRACK CANDIDATES
84 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
85  src = cms.InputTag('lowPtTripletStepSeeds'),
86  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
87  numHitsForSeedCleaner = cms.int32(50),
88  onlyPixelHitsForSeedCleaner = cms.bool(True),
89 
90  TrajectoryBuilder = 'lowPtTripletStepTrajectoryBuilder',
91  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
92  doSeedingRegionRebuilding = True,
93  useHitsSplitting = True
94 )
95 
96 # TRACK FITTING
98 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
99  src = 'lowPtTripletStepTrackCandidates',
100  AlgorithmName = cms.string('iter1'),
101  Fitter = cms.string('FlexibleKFFittingSmoother')
102  )
103 
104 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
105 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
106  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
107  fractionShared = cms.double(0.16),
108  allowSharedFirstHit = cms.bool(True)
109  )
110 lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
111 
112 # Final selection
113 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
114 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
115  src='lowPtTripletStepTracks',
116  useAnyMVA = cms.bool(True),
117  GBRForestLabel = cms.string('MVASelectorIter1'),
118  trackSelectors= cms.VPSet(
119  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
120  name = 'lowPtTripletStepLoose',
121  ), #end of pset
122  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
123  name = 'lowPtTripletStepTight',
124  preFilterName = 'lowPtTripletStepLoose',
125  ),
126  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
127  name = 'lowPtTripletStep',
128  preFilterName = 'lowPtTripletStepTight',
129  ),
130  ) #end of vpset
131  ) #end of clone
132 
133 # Final sequence
134 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
135  lowPtTripletStepSeedLayers*
136  lowPtTripletStepSeeds*
137  lowPtTripletStepTrackCandidates*
138  lowPtTripletStepTracks*
139  lowPtTripletStepSelector)
140