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 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.ComponentName = 'LowPtClusterShapeSeedComparitor'
41 
42 
43 # QUALITY CUTS DURING TRACK BUILDING
44 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
45 lowPtTripletStepStandardTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
46  ComponentName = 'lowPtTripletStepStandardTrajectoryFilter',
47  filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
48  minimumNumberOfHits = 3,
49  minPt = 0.075
50  )
51  )
52 
54 # Composite filter
56 lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.CompositeTrajectoryFilterESProducer_cfi.compositeTrajectoryFilterESProducer.clone(
57  ComponentName = cms.string('lowPtTripletStepTrajectoryFilter'),
58  filterNames = cms.vstring('lowPtTripletStepStandardTrajectoryFilter',
59  'clusterShapeTrajectoryFilter')
60  )
61 
63 lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
64  ComponentName = cms.string('lowPtTripletStepChi2Est'),
65  nSigma = cms.double(3.0),
66  MaxChi2 = cms.double(9.0)
67 )
68 
69 # TRACK BUILDING
71 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
72  ComponentName = 'lowPtTripletStepTrajectoryBuilder',
73  MeasurementTrackerName = '',
74  trajectoryFilterName = 'lowPtTripletStepTrajectoryFilter',
75  maxCand = 4,
76  estimator = cms.string('lowPtTripletStepChi2Est'),
77  maxDPhiForLooperReconstruction = cms.double(2.0),
78  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
79  # of the outermost Tracker barrel layer (with B=3.8T)
80  maxPtForLooperReconstruction = cms.double(0.7)
81  )
82 
83 # MAKING OF TRACK CANDIDATES
85 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
86  src = cms.InputTag('lowPtTripletStepSeeds'),
87  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
88  numHitsForSeedCleaner = cms.int32(50),
89  onlyPixelHitsForSeedCleaner = cms.bool(True),
90 
91  TrajectoryBuilder = 'lowPtTripletStepTrajectoryBuilder',
92  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
93  doSeedingRegionRebuilding = True,
94  useHitsSplitting = True
95 )
96 
97 # TRACK FITTING
99 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
100  src = 'lowPtTripletStepTrackCandidates',
101  AlgorithmName = cms.string('iter1'),
102  Fitter = cms.string('FlexibleKFFittingSmoother')
103  )
104 
105 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
106 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
107  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
108  fractionShared = cms.double(0.16),
109  allowSharedFirstHit = cms.bool(True)
110  )
111 lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
112 
113 # Final selection
114 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
115 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
116  src='lowPtTripletStepTracks',
117  useAnyMVA = cms.bool(True),
118  GBRForestLabel = cms.string('MVASelectorIter1'),
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)