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  oldClusterRemovalInfo = cms.InputTag("detachedTripletStepClusters"),
7  trajectories = cms.InputTag("detachedTripletStepTracks"),
8  overrideTrkQuals = cms.InputTag('detachedTripletStep'),
9  TrackQuality = cms.string('highPurity'),
10  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
11  pixelClusters = cms.InputTag("siPixelClusters"),
12  stripClusters = cms.InputTag("siStripClusters"),
13  Common = cms.PSet(
14  maxChi2 = cms.double(9.0),
15  )
16 )
17 
18 # SEEDING LAYERS
20 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
21 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
22 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
23 
24 # SEEDS
26 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
27 lowPtTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
28  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
29  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
30  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
31  ptMin = 0.2,
32  originRadius = 0.02,
33  nSigmaZ = 4.0
34  )
35  )
36  )
37 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtTripletStepSeedLayers'
38 
40 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
41 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
42 
43 
44 # QUALITY CUTS DURING TRACK BUILDING
46 lowPtTripletStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
47  minimumNumberOfHits = 3,
48  minPt = 0.075
49  )
50 
52 # Composite filter
53 lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
54  filters = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
55  cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
56  )
57 
58 import TrackingTools.KalmanUpdators.Chi2ChargeMeasurementEstimatorESProducer_cfi
59 lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2ChargeMeasurementEstimatorESProducer_cfi.Chi2ChargeMeasurementEstimator.clone(
60  ComponentName = cms.string('lowPtTripletStepChi2Est'),
61  nSigma = cms.double(3.0),
62  MaxChi2 = cms.double(9.0),
63  minGoodStripCharge = cms.double(2069),
64 )
65 
66 # TRACK BUILDING
68 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
69  MeasurementTrackerName = '',
70  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
71  maxCand = 4,
72  estimator = cms.string('lowPtTripletStepChi2Est'),
73  maxDPhiForLooperReconstruction = cms.double(2.0),
74  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
75  # of the outermost Tracker barrel layer (with B=3.8T)
76  maxPtForLooperReconstruction = cms.double(0.7)
77  )
78 
79 # MAKING OF TRACK CANDIDATES
81 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
82  src = cms.InputTag('lowPtTripletStepSeeds'),
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('lowPtTripletStepTrajectoryBuilder')),
88  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
89  doSeedingRegionRebuilding = True,
90  useHitsSplitting = True
91 )
92 
93 # TRACK FITTING
95 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
96  src = 'lowPtTripletStepTrackCandidates',
97  AlgorithmName = cms.string('iter1'),
98  Fitter = cms.string('FlexibleKFFittingSmoother')
99  )
100 
101 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
102 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
103  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
104  fractionShared = cms.double(0.16),
105  allowSharedFirstHit = cms.bool(True)
106  )
107 lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
108 
109 # Final selection
110 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
111 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
112  src='lowPtTripletStepTracks',
113  useAnyMVA = cms.bool(True),
114  GBRForestLabel = cms.string('MVASelectorIter1_13TeV_v0'),
115  trackSelectors= cms.VPSet(
116  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
117  name = 'lowPtTripletStepLoose',
118  useMVA = cms.bool(True),
119  minMVA = cms.double(-0.6),
120  chi2n_par = cms.double(9999),
121  ), #end of pset
122  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
123  name = 'lowPtTripletStepTight',
124  preFilterName = 'lowPtTripletStepLoose',
125  ),
126  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
127  name = 'lowPtTripletStep',
128  preFilterName = 'lowPtTripletStepLoose',
129  useMVA = cms.bool(True),
130  minMVA = cms.double(0.4),
131  qualityBit = cms.string('highPurity'),
132  keepAllTracks = cms.bool(True),
133  chi2n_par = cms.double(9999),
134  ),
135  ) #end of vpset
136  ) #end of clone
137 
138 # Final sequence
139 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
140  lowPtTripletStepSeedLayers*
141  lowPtTripletStepSeeds*
142  lowPtTripletStepTrackCandidates*
143  lowPtTripletStepTracks*
144  lowPtTripletStepSelector)