CMS 3D CMS Logo

HiRegitMuonMixedTripletStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 
6 
8 # Are the following values set to the same in every iteration? If yes,
9 # why not making the change in HITrackingRegionProducer_cfi directly
10 # once for all?
11 hiRegitMuMixedTripletStepTrackingRegionsA = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone(
12  MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat?
13  MuonTrackingRegionBuilder = dict(
14  vertexCollection = "hiSelectedPixelVertex",
15  UseVertex = True,
16  Phi_fixed = True,
17  Eta_fixed = True,
18  DeltaPhi = 0.3,
19  DeltaEta = 0.2,
20  # Ok, the following ones are specific to MixedTripletStep
21  Pt_min = 1.3,
22  DeltaR = 0.5, # default = 0.2
23  DeltaZ = 0.5, # this give you the length
24  Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
25  )
26 )
27 hiRegitMuMixedTripletStepTrackingRegionsB = hiRegitMuMixedTripletStepTrackingRegionsA.clone(
28  MuonTrackingRegionBuilder = dict(Pt_min = 1.5)
29 )
30 
31 
33 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepTrajectoryBuilder,mixedTripletStepClusterShapeHitFilter,mixedTripletStepTrajectoryCleanerBySharedHits,mixedTripletStepChi2Est
34 
35 # NEW CLUSTERS (remove previously used clusters)
36 hiRegitMuMixedTripletStepClusters = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepClusters.clone(
37  oldClusterRemovalInfo = "hiRegitMuPixelPairStepClusters",
38  trajectories = "hiRegitMuPixelPairStepTracks",
39  overrideTrkQuals = 'hiRegitMuPixelPairStepSelector:hiRegitMuPixelPairStep',
40  trackClassifier = '',
41  TrackQuality = 'tight'
42 )
43 
44 
45 # SEEDING LAYERS A
46 hiRegitMuMixedTripletStepSeedLayersA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone(
47  BPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'),
48  FPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'),
49  TEC = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters')
50 )
51 # SEEDS A
52 hiRegitMuMixedTripletStepHitDoubletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsA.clone(
53  seedingLayers = "hiRegitMuMixedTripletStepSeedLayersA",
54  trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsA",
55  clusterCheck = "hiRegitMuClusterCheck",
56 )
57 hiRegitMuMixedTripletStepHitTripletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsA.clone(
58  doublets = "hiRegitMuMixedTripletStepHitDoubletsA"
59 )
60 hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
61  seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsA"
62 )
63 
64 # SEEDING LAYERS B
65 hiRegitMuMixedTripletStepSeedLayersB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone(
66  BPix = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters'),
67  TIB = dict(skipClusters = 'hiRegitMuMixedTripletStepClusters')
68 )
69 
70 hiRegitMuMixedTripletStepHitDoubletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsB.clone(
71  seedingLayers = "hiRegitMuMixedTripletStepSeedLayersB",
72  trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsB",
73  clusterCheck = "hiRegitMuClusterCheck",
74 )
75 hiRegitMuMixedTripletStepHitTripletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsB.clone(
76  doublets = "hiRegitMuMixedTripletStepHitDoubletsB"
77 )
78 hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
79  seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsB"
80 )
81 
82 # combine seeds
83 hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
84  seedCollections = [
85  'hiRegitMuMixedTripletStepSeedsA',
86  'hiRegitMuMixedTripletStepSeedsB',
87  ]
88 )
89 
90 # track building
91 hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone(
92  minPt = 1.,
93  minimumNumberOfHits = 6,
94  minHitsMinPt = 4
95 )
96 
97  # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
98 
99 hiRegitMuMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone(
100  trajectoryFilter = cms.PSet(
101  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryFilter')
102  ),
103  minNrOfHitsForRebuild = 6 #change from default 4
104 )
105 
106 hiRegitMuMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff._mixedTripletStepTrackCandidatesCkf.clone(
107  src = 'hiRegitMuMixedTripletStepSeeds',
108  TrajectoryBuilderPSet = cms.PSet(
109  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryBuilder')
110  ),
111  clustersToSkip = 'hiRegitMuMixedTripletStepClusters',
112  maxNSeeds = 1000000
113 )
114 
115 # fitting: feed new-names
116 hiRegitMuMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
117  AlgorithmName = 'hiRegitMuMixedTripletStep',
118  src = 'hiRegitMuMixedTripletStepTrackCandidates',
119 )
120 
121 # TRACK SELECTION AND QUALITY FLAG SETTING.
122 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
124 hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
125  src = 'hiRegitMuMixedTripletStepTracks',
126  vertices = "hiSelectedPixelVertex",
127  useAnyMVA = True,
128  GBRForestLabel = 'HIMVASelectorIter7',
129  GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
130  trackSelectors = cms.VPSet(
131  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
132  name = 'hiRegitMuMixedTripletStepLoose',
133  min_nhits = 8
134  ),
135  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
136  name = 'hiRegitMuMixedTripletStepTight',
137  preFilterName = 'hiRegitMuMixedTripletStepLoose',
138  min_nhits = 8,
139  useMVA = True,
140  minMVA = -0.2
141  ),
142  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
143  name = 'hiRegitMuMixedTripletStep',
144  preFilterName = 'hiRegitMuMixedTripletStepTight',
145  min_nhits = 8,
146  useMVA = True,
147  minMVA = -0.09
148  )
149  ) #end of vpset
150 ) #end of clone
151 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
152 trackingPhase1.toModify(hiRegitMuMixedTripletStepSelector,
153  useAnyMVA = False,
154  trackSelectors= cms.VPSet(
155  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
156  name = 'hiRegitMuMixedTripletStepLoose',
157  min_nhits = 8
158  ),
159  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
160  name = 'hiRegitMuMixedTripletStepTight',
161  preFilterName = 'hiRegitMuMixedTripletStepLoose',
162  min_nhits = 8,
163  useMVA = False,
164  minMVA = -0.2
165  ),
166  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
167  name = 'hiRegitMuMixedTripletStep',
168  preFilterName = 'hiRegitMuMixedTripletStepTight',
169  min_nhits = 8,
170  useMVA = False,
171  minMVA = -0.09
172  )
173  ) #end of vpset
174 )
175 
176 hiRegitMuonMixedTripletStepTask = cms.Task(hiRegitMuMixedTripletStepClusters,
177  hiRegitMuMixedTripletStepSeedLayersA,
178  hiRegitMuMixedTripletStepTrackingRegionsA,
179  hiRegitMuMixedTripletStepHitDoubletsA,
180  hiRegitMuMixedTripletStepHitTripletsA,
181  hiRegitMuMixedTripletStepSeedsA,
182  hiRegitMuMixedTripletStepSeedLayersB,
183  hiRegitMuMixedTripletStepTrackingRegionsB,
184  hiRegitMuMixedTripletStepHitDoubletsB,
185  hiRegitMuMixedTripletStepHitTripletsB,
186  hiRegitMuMixedTripletStepSeedsB,
187  hiRegitMuMixedTripletStepSeeds,
188  hiRegitMuMixedTripletStepTrackCandidates,
189  hiRegitMuMixedTripletStepTracks,
190  hiRegitMuMixedTripletStepSelector)
191 hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuonMixedTripletStepTask)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...