CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LowPtBarrelTripletStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # for no-loopers
4 from Configuration.ProcessModifiers.trackingNoLoopers_cff import trackingNoLoopers
5 
6 # NEW CLUSTERS (remove previously used clusters)
8 lowPtBarrelTripletStepClusters = trackClusterRemover.clone(
9  maxChi2 = 9.0,
10  trajectories = 'lowPtForwardTripletStepTracks',
11  pixelClusters = 'siPixelClusters',
12  stripClusters = 'siStripClusters',
13  oldClusterRemovalInfo = 'lowPtForwardTripletStepClusters',
14  overrideTrkQuals = 'lowPtForwardTripletStepSelector:lowPtForwardTripletStep',
15  TrackQuality = 'highPurity'
16 )
17 
18 # SEEDING LAYERS
20 lowPtBarrelTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
21  BPix = dict(skipClusters = cms.InputTag('lowPtBarrelTripletStepClusters')),
22  FPix = dict(skipClusters = cms.InputTag('lowPtBarrelTripletStepClusters')),
23  layerList = ['BPix1+BPix2+BPix3']
24 )
25 
26 # SEEDS
28 from RecoTracker.TkTrackingRegions.GlobalTrackingRegionFromBeamSpot_cfi import RegionPsetFomBeamSpotBlock
29 lowPtBarrelTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone(
30  RegionFactoryPSet = RegionPsetFomBeamSpotBlock.clone(
31  ComponentName = 'GlobalRegionProducerFromBeamSpot',
32  RegionPSet = RegionPsetFomBeamSpotBlock.RegionPSet.clone(
33  ptMin = 0.2,
34  originRadius = 0.03,
35  nSigmaZ = 4.0 )
36  )
37 )
38 lowPtBarrelTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'lowPtBarrelTripletStepSeedLayers'
39 
41 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
42 lowPtBarrelTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
43 
44 
45 # QUALITY CUTS DURING TRACK BUILDING
47 lowPtBarrelTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
48  #maxLostHits = 3, # use LostHitFraction filter instead
49  minimumNumberOfHits = 3,
50  minPt = 0.1
51 )
52 
54 lowPtBarrelTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
55  ComponentName = 'lowPtBarrelTripletStepChi2Est',
56  nSigma = 3.0,
57  MaxChi2 = 9.0
58 )
59 
60 # TRACK BUILDING
62 lowPtBarrelTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
63  MeasurementTrackerName = '',
64  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryFilter')),
65  clustersToSkip = cms.InputTag('lowPtBarrelTripletStepClusters'),
66  maxCand = 3,
67  #lostHitPenalty = cms.double(10.0),
68  estimator = 'lowPtBarrelTripletStepChi2Est',
69  # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
70  # of the outermost Tracker barrel layer (with B=3.8T)
71  maxPtForLooperReconstruction = cms.double(0.63)
72  # set the variable to a negative value to turn-off the looper reconstruction
73  #maxPtForLooperReconstruction = cms.double(-1.)
74  )
75 trackingNoLoopers.toModify(lowPtBarrelTripletStepTrajectoryBuilder,
76  maxPtForLooperReconstruction = 0.0)
77 # MAKING OF TRACK CANDIDATES
79 lowPtBarrelTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
80  src = 'lowPtBarrelTripletStepSeeds',
81  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
82  numHitsForSeedCleaner = cms.int32(50),
83  onlyPixelHitsForSeedCleaner = cms.bool(True),
84  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryBuilder')),
85  doSeedingRegionRebuilding = True,
86  useHitsSplitting = True,
87  TransientInitialStateEstimatorParameters = cms.PSet(
88  propagatorAlongTISE = cms.string('PropagatorWithMaterialForLoopers'),
89  propagatorOppositeTISE = cms.string('PropagatorWithMaterialForLoopersOpposite'),
90  numberMeasurementsForFit = cms.int32(4)
91  )
92 )
93 
94 ### Have to clone the KF fitters because only the PropagatorWithMaterialForLoopers (no RK) can be used for the
95 ### reconstruction of loopers
96 
97 # TRACK FITTING
99 lowPtBarrelTripletStepKFTrajectoryFitter = TrackingTools.TrackFitters.KFTrajectoryFitter_cfi.KFTrajectoryFitter.clone(
100  ComponentName = 'lowPtBarrelTripletStepKFTrajectoryFitter',
101  Propagator = 'PropagatorWithMaterialForLoopers'
102 )
103 
105 lowPtBarrelTripletStepKFTrajectorySmoother = TrackingTools.TrackFitters.KFTrajectorySmoother_cfi.KFTrajectorySmoother.clone(
106  ComponentName = 'lowPtBarrelTripletStepKFTrajectorySmoother',
107  Propagator = 'PropagatorWithMaterialForLoopers',
108  errorRescaling = 10.0
109 )
110 
112 lowPtBarrelTripletStepKFFittingSmoother = TrackingTools.TrackFitters.KFFittingSmoother_cfi.KFFittingSmoother.clone(
113  ComponentName = 'lowPtBarrelTripletStepKFFittingSmoother',
114  Fitter = 'lowPtBarrelTripletStepKFTrajectoryFitter',
115  Smoother = 'lowPtBarrelTripletStepKFTrajectorySmoother',
116  EstimateCut = 20.0,
117  LogPixelProbabilityCut = -14.0,
118  MinNumberOfHits = 3
119 )
120 
122 lowPtBarrelTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
123  src = 'lowPtBarrelTripletStepTrackCandidates',
124  AlgorithmName = 'lowPtTripletStep',
125  Fitter = 'lowPtBarrelTripletStepKFFittingSmoother',
126  #Propagator = cms.string('PropagatorWithMaterialForLoopers'),
127  #NavigationSchool = cms.string('') ### Is the outerHitPattern filled correctly for loopers???
128 )
129 
130 
131 # Final selection
132 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
133 lowPtBarrelTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
134  src = 'lowPtBarrelTripletStepTracks',
135  trackSelectors= cms.VPSet(
136  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
137  name = 'lowPtBarrelTripletStepLoose',
138  ), #end of pset
139  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
140  name = 'lowPtBarrelTripletStepTight',
141  preFilterName = 'lowPtBarrelTripletStepLoose',
142  ),
143  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
144  name = 'lowPtBarrelTripletStep',
145  preFilterName = 'lowPtBarrelTripletStepTight',
146  ),
147  ) #end of vpset
148 ) #end of clone
149 
150 # Final sequence
151 LowPtBarrelTripletStepTask = cms.Task(lowPtBarrelTripletStepClusters,
152  lowPtBarrelTripletStepSeedLayers,
153  lowPtBarrelTripletStepSeeds,
154  lowPtBarrelTripletStepTrackCandidates,
155  lowPtBarrelTripletStepTracks,
156  lowPtBarrelTripletStepSelector)
157 LowPtBarrelTripletStep = cms.Sequence(LowPtBarrelTripletStep)
COSMIC RUN SETTING.