CMS 3D CMS Logo

HiRegitMuonMixedTripletStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 ###################################################################################
4 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
5 ################################### 4th step: large impact parameter tracking using mixed-triplet seeding
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 = "hiSelectedVertex",
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 
34 # NEW CLUSTERS (remove previously used clusters)
35 hiRegitMuMixedTripletStepClusters = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepClusters.clone(
36  oldClusterRemovalInfo = cms.InputTag("hiRegitMuPixelPairStepClusters"),
37  trajectories = cms.InputTag("hiRegitMuPixelPairStepTracks"),
38  overrideTrkQuals = cms.InputTag('hiRegitMuPixelPairStepSelector','hiRegitMuPixelPairStep'),
39  trackClassifier = cms.InputTag(''),
40  TrackQuality = cms.string('tight')
41 )
42 
43 
44 # SEEDING LAYERS A
45 hiRegitMuMixedTripletStepSeedLayersA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone()
46 hiRegitMuMixedTripletStepSeedLayersA.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
47 hiRegitMuMixedTripletStepSeedLayersA.FPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
48 hiRegitMuMixedTripletStepSeedLayersA.TEC.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
49 
50 # SEEDS A
51 hiRegitMuMixedTripletStepHitDoubletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsA.clone(
52  seedingLayers = "hiRegitMuMixedTripletStepSeedLayersA",
53  trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsA",
54  clusterCheck = "hiRegitMuClusterCheck",
55 )
56 hiRegitMuMixedTripletStepHitTripletsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsA.clone(
57  doublets = "hiRegitMuMixedTripletStepHitDoubletsA"
58 )
59 hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
60  seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsA"
61 )
62 
63 # SEEDING LAYERS B
64 hiRegitMuMixedTripletStepSeedLayersB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone()
65 hiRegitMuMixedTripletStepSeedLayersB.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
66 hiRegitMuMixedTripletStepSeedLayersB.TIB.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
67 
68 
69 hiRegitMuMixedTripletStepHitDoubletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitDoubletsB.clone(
70  seedingLayers = "hiRegitMuMixedTripletStepSeedLayersB",
71  trackingRegions = "hiRegitMuMixedTripletStepTrackingRegionsB",
72  clusterCheck = "hiRegitMuClusterCheck",
73 )
74 hiRegitMuMixedTripletStepHitTripletsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepHitTripletsB.clone(
75  doublets = "hiRegitMuMixedTripletStepHitDoubletsB"
76 )
77 hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone(
78  seedingHitSets = "hiRegitMuMixedTripletStepHitTripletsB"
79 )
80 
81 # combine seeds
82 hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
83  seedCollections = cms.VInputTag(
84  cms.InputTag('hiRegitMuMixedTripletStepSeedsA'),
85  cms.InputTag('hiRegitMuMixedTripletStepSeedsB'),
86  )
87  )
88 
89 # track building
90 hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone()
91 
92 hiRegitMuMixedTripletStepTrajectoryFilter.minPt = 1.
93 hiRegitMuMixedTripletStepTrajectoryFilter.minimumNumberOfHits = 6
94 hiRegitMuMixedTripletStepTrajectoryFilter.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.mixedTripletStepTrackCandidates.clone(
107  src = cms.InputTag('hiRegitMuMixedTripletStepSeeds'),
108  TrajectoryBuilderPSet = cms.PSet(
109  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryBuilder')
110  ),
111  clustersToSkip = cms.InputTag('hiRegitMuMixedTripletStepClusters'),
112  maxNSeeds = cms.uint32(1000000)
113  )
114 
115 # fitting: feed new-names
116 hiRegitMuMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
117  AlgorithmName = cms.string('hiRegitMuMixedTripletStep'),
118  src = 'hiRegitMuMixedTripletStepTrackCandidates',
119 )
120 
121 
122 # TRACK SELECTION AND QUALITY FLAG SETTING.
123 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
125 hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
126  src = 'hiRegitMuMixedTripletStepTracks',
127  vertices = cms.InputTag("hiSelectedVertex"),
128  useAnyMVA = cms.bool(True),
129  GBRForestLabel = cms.string('HIMVASelectorIter7'),
130  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
131  trackSelectors= cms.VPSet(
132  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
133  name = 'hiRegitMuMixedTripletStepLoose',
134  min_nhits = cms.uint32(8)
135  ),
136  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
137  name = 'hiRegitMuMixedTripletStepTight',
138  preFilterName = 'hiRegitMuMixedTripletStepLoose',
139  min_nhits = cms.uint32(8),
140  useMVA = cms.bool(True),
141  minMVA = cms.double(-0.2)
142  ),
143  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
144  name = 'hiRegitMuMixedTripletStep',
145  preFilterName = 'hiRegitMuMixedTripletStepTight',
146  min_nhits = cms.uint32(8),
147  useMVA = cms.bool(True),
148  minMVA = cms.double(-0.09)
149  )
150  ) #end of vpset
151  ) #end of clone
152 
153 hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuMixedTripletStepClusters*
154  hiRegitMuMixedTripletStepSeedLayersA*
155  hiRegitMuMixedTripletStepTrackingRegionsA*
156  hiRegitMuMixedTripletStepHitDoubletsA*
157  hiRegitMuMixedTripletStepHitTripletsA*
158  hiRegitMuMixedTripletStepSeedsA*
159  hiRegitMuMixedTripletStepSeedLayersB*
160  hiRegitMuMixedTripletStepTrackingRegionsB*
161  hiRegitMuMixedTripletStepHitDoubletsB*
162  hiRegitMuMixedTripletStepHitTripletsB*
163  hiRegitMuMixedTripletStepSeedsB*
164  hiRegitMuMixedTripletStepSeeds*
165  hiRegitMuMixedTripletStepTrackCandidates*
166  hiRegitMuMixedTripletStepTracks*
167  hiRegitMuMixedTripletStepSelector)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...