CMS 3D CMS Logo

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