CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HiRegitMuonPixelLessStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
4 ################################### 5th step: large impact parameter tracking using TIB/TID/TEC stereo layer seeding
5 
7 # Are the following values set to the same in every iteration? If yes,
8 # why not making the change in HITrackingRegionProducer_cfi directly
9 # once for all?
10 hiRegitMuPixelLessStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone(
11  MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat?
12  MuonTrackingRegionBuilder = dict(
13  vertexCollection = "hiSelectedPixelVertex",
14  UseVertex = True,
15  Phi_fixed = True,
16  Eta_fixed = True,
17  # Ok, the following ones are specific to PixelLessStep
18  DeltaPhi = 0.2,
19  DeltaEta = 0.1,
20  Pt_min = 2.0,
21  DeltaR = 0.2, # default = 0.2
22  DeltaZ = 0.2, # this give you the length
23  Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
24  )
25 )
26 
27 ###################################
29 from RecoTracker.IterativeTracking.PixelLessStep_cff import pixelLessStepTrajectoryBuilder,pixelLessStepClusterShapeHitFilter,pixelLessStepTrajectoryCleanerBySharedHits,pixelLessStepChi2Est
30 
31 # remove previously used clusters
32 hiRegitMuPixelLessStepClusters = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepClusters.clone(
33  oldClusterRemovalInfo = "hiRegitMuMixedTripletStepClusters",
34  trajectories = "hiRegitMuMixedTripletStepTracks",
35  overrideTrkQuals = 'hiRegitMuMixedTripletStepSelector:hiRegitMuMixedTripletStep',
36  trackClassifier = '',
37  TrackQuality = 'tight'
38 )
39 
40 # SEEDING LAYERS
41 hiRegitMuPixelLessStepSeedLayers = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeedLayers.clone(
42  TIB = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
43  TID = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
44  TEC = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
45  MTIB = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
46  MTID = dict(skipClusters = 'hiRegitMuPixelLessStepClusters'),
47  MTEC = dict(skipClusters = 'hiRegitMuPixelLessStepClusters')
48 )
49 
50 # seeding
51 hiRegitMuPixelLessStepHitDoublets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitDoublets.clone(
52  seedingLayers = "hiRegitMuPixelLessStepSeedLayers",
53  trackingRegions = "hiRegitMuPixelLessStepTrackingRegions",
54  clusterCheck = "hiRegitMuClusterCheck",
55 )
56 hiRegitMuPixelLessStepHitTriplets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitTriplets.clone(
57  doublets = "hiRegitMuPixelLessStepHitDoublets"
58 )
59 hiRegitMuPixelLessStepSeeds = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeeds.clone(
60  seedingHitSets = "hiRegitMuPixelLessStepHitTriplets"
61 )
62 
63 
64 # building: feed the new-named seeds
65 hiRegitMuPixelLessStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryFilter.clone(
66  minPt = 1.7,
67  minimumNumberOfHits = 6,
68  minHitsMinPt = 4
69 )
70 hiRegitMuPixelLessStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryBuilder.clone(
71  trajectoryFilter = cms.PSet(
72  refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryFilter')
73  ),
74  minNrOfHitsForRebuild = 6 #change from default 4
75 )
76 
77 hiRegitMuPixelLessStepTrackCandidates = RecoTracker.IterativeTracking.PixelLessStep_cff._pixelLessStepTrackCandidatesCkf.clone(
78  src = 'hiRegitMuPixelLessStepSeeds',
79  TrajectoryBuilderPSet = cms.PSet(
80  refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryBuilder')
81  ),
82  clustersToSkip = 'hiRegitMuPixelLessStepClusters',
83  maxNSeeds = 1000000
84 )
85 
86 # fitting: feed new-names
87 hiRegitMuPixelLessStepTracks = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTracks.clone(
88  AlgorithmName = 'hiRegitMuPixelLessStep',
89  src = 'hiRegitMuPixelLessStepTrackCandidates'
90 )
91 
92 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
94 hiRegitMuPixelLessStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
95  src = 'hiRegitMuPixelLessStepTracks',
96  vertices = "hiSelectedPixelVertex",
97  useAnyMVA = True,
98  GBRForestLabel = 'HIMVASelectorIter7',
99  GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
100  trackSelectors = cms.VPSet(
101  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
102  name = 'hiRegitMuPixelLessStepLoose',
103  min_nhits = 8
104  ),
105  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
106  name = 'hiRegitMuPixelLessStepTight',
107  preFilterName = 'hiRegitMuPixelLessStepLoose',
108  min_nhits = 8,
109  useMVA = True,
110  minMVA = -0.2
111  ),
112  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
113  name = 'hiRegitMuPixelLessStep',
114  preFilterName = 'hiRegitMuPixelLessStepTight',
115  min_nhits = 8,
116  useMVA = True,
117  minMVA = -0.09
118  ),
119  ) #end of vpset
120 )
121 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
122 trackingPhase1.toModify(hiRegitMuPixelLessStepSelector,
123  useAnyMVA = False,
124  trackSelectors= cms.VPSet(
125  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
126  name = 'hiRegitMuPixelLessStepLoose',
127  min_nhits = 8
128  ),
129  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
130  name = 'hiRegitMuPixelLessStepTight',
131  preFilterName = 'hiRegitMuPixelLessStepLoose',
132  min_nhits = 8,
133  useMVA = False,
134  minMVA = -0.2
135  ),
136  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
137  name = 'hiRegitMuPixelLessStep',
138  preFilterName = 'hiRegitMuPixelLessStepTight',
139  min_nhits = 8,
140  useMVA = False,
141  minMVA = -0.09
142  ),
143  ) #end of vpset
144 )
145 
146 hiRegitMuonPixelLessStepTask = cms.Task(hiRegitMuPixelLessStepClusters,
147  hiRegitMuPixelLessStepSeedLayers,
148  hiRegitMuPixelLessStepTrackingRegions,
149  hiRegitMuPixelLessStepHitDoublets,
150  hiRegitMuPixelLessStepHitTriplets,
151  hiRegitMuPixelLessStepSeeds,
152  hiRegitMuPixelLessStepTrackCandidates,
153  hiRegitMuPixelLessStepTracks,
154  hiRegitMuPixelLessStepSelector)
155 hiRegitMuonPixelLessStep = cms.Sequence(hiRegitMuonPixelLessStepTask)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...