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.
1 import FWCore.ParameterSet.Config as cms
2 
3 # NEW CLUSTERS (remove previously used clusters)
5 lowPtTripletStepClusters = trackClusterRemover.clone(
6  maxChi2 = cms.double(9.0),
7  trajectories = cms.InputTag("initialStepTracks"),
8  pixelClusters = cms.InputTag("siPixelClusters"),
9  stripClusters = cms.InputTag("siStripClusters"),
10  overrideTrkQuals = cms.InputTag('initialStepSelector','QualityMasks'),
11  TrackQuality = cms.string('highPurity'),
12  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
13 )
14 
15 # SEEDING LAYERS
17 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
18 lowPtTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
19 lowPtTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('lowPtTripletStepClusters')
20 
21 # SEEDS
23 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
24 lowPtTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
25  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
26  ComponentName = cms.string('GlobalRegionProducerFromBeamSpot'),
27  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
28  ptMin = 0.2,
29  originRadius = 0.02,
30  nSigmaZ = 4.0
31  )
32  )
33  )
34 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtTripletStepSeedLayers'
35 
37 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
38 lowPtTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
39 
40 
41 # QUALITY CUTS DURING TRACK BUILDING
43 lowPtTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
44  minimumNumberOfHits = 3,
45  minPt = 0.075
46  )
47 
49 lowPtTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
50  ComponentName = cms.string('lowPtTripletStepChi2Est'),
51  nSigma = cms.double(3.0),
52  MaxChi2 = cms.double(9.0),
53  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutNone'))
54 )
55 
56 # TRACK BUILDING
58 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
59  MeasurementTrackerName = '',
60  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')),
61  maxCand = 3,
62  estimator = cms.string('lowPtTripletStepChi2Est'),
63  maxDPhiForLooperReconstruction = cms.double(2.0),
64  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
65  # of the outermost Tracker barrel layer (with B=3.8T)
66  maxPtForLooperReconstruction = cms.double(0.7)
67  )
68 
69 # MAKING OF TRACK CANDIDATES
71 lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
72  src = cms.InputTag('lowPtTripletStepSeeds'),
73  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
74  numHitsForSeedCleaner = cms.int32(50),
75  onlyPixelHitsForSeedCleaner = cms.bool(True),
76 
77  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')),
78  clustersToSkip = cms.InputTag('lowPtTripletStepClusters'),
79  doSeedingRegionRebuilding = True,
80  useHitsSplitting = True
81 )
82 
83 # TRACK FITTING
85 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
86  src = 'lowPtTripletStepTrackCandidates',
87  AlgorithmName = cms.string('lowPtTripletStep'),
88  Fitter = cms.string('FlexibleKFFittingSmoother')
89  )
90 
91 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
92 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
93  ComponentName = cms.string('lowPtTripletStepTrajectoryCleanerBySharedHits'),
94  fractionShared = cms.double(0.19),
95  allowSharedFirstHit = cms.bool(True)
96  )
97 lowPtTripletStepTrackCandidates.TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits'
98 
99 # Final selection
100 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
101 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
102  src='lowPtTripletStepTracks',
103  useAnyMVA = cms.bool(False),
104  GBRForestLabel = cms.string('MVASelectorIter1'),
105  trackSelectors= cms.VPSet(
106  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
107  name = 'lowPtTripletStepLoose',
108  ), #end of pset
109  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
110  name = 'lowPtTripletStepTight',
111  preFilterName = 'lowPtTripletStepLoose',
112  ),
113  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
114  name = 'QualityMasks',
115  preFilterName = 'lowPtTripletStepTight',
116  ),
117  ),
118  vertices = cms.InputTag("pixelVertices")#end of vpset
119  ) #end of clone
120 
121 # Final sequence
122 LowPtTripletStep = cms.Sequence(lowPtTripletStepClusters*
123  lowPtTripletStepSeedLayers*
124  lowPtTripletStepSeeds*
125  lowPtTripletStepTrackCandidates*
126  lowPtTripletStepTracks*
127  lowPtTripletStepSelector)
128