CMS 3D CMS Logo

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 = "hiSelectedVertex",
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 
30 # remove previously used clusters
31 hiRegitMuPixelLessStepClusters = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepClusters.clone(
32  oldClusterRemovalInfo = cms.InputTag("hiRegitMuMixedTripletStepClusters"),
33  trajectories = cms.InputTag("hiRegitMuMixedTripletStepTracks"),
34  overrideTrkQuals = cms.InputTag('hiRegitMuMixedTripletStepSelector','hiRegitMuMixedTripletStep'),
35  trackClassifier = cms.InputTag(''),
36  TrackQuality = cms.string('tight')
37 )
38 
39 # SEEDING LAYERS
40 hiRegitMuPixelLessStepSeedLayers = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeedLayers.clone()
41 hiRegitMuPixelLessStepSeedLayers.TIB.skipClusters = cms.InputTag('hiRegitMuPixelLessStepClusters')
42 hiRegitMuPixelLessStepSeedLayers.TID.skipClusters = cms.InputTag('hiRegitMuPixelLessStepClusters')
43 hiRegitMuPixelLessStepSeedLayers.TEC.skipClusters = cms.InputTag('hiRegitMuPixelLessStepClusters')
44 hiRegitMuPixelLessStepSeedLayers.MTIB.skipClusters = cms.InputTag('hiRegitMuPixelLessStepClusters')
45 hiRegitMuPixelLessStepSeedLayers.MTID.skipClusters = cms.InputTag('hiRegitMuPixelLessStepClusters')
46 hiRegitMuPixelLessStepSeedLayers.MTEC.skipClusters = cms.InputTag('hiRegitMuPixelLessStepClusters')
47 
48 
49 # seeding
50 hiRegitMuPixelLessStepHitDoublets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitDoublets.clone(
51  seedingLayers = "hiRegitMuPixelLessStepSeedLayers",
52  trackingRegions = "hiRegitMuPixelLessStepTrackingRegions",
53  clusterCheck = "hiRegitMuClusterCheck",
54 )
55 hiRegitMuPixelLessStepHitTriplets = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepHitTriplets.clone(
56  doublets = "hiRegitMuPixelLessStepHitDoublets"
57 )
58 hiRegitMuPixelLessStepSeeds = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepSeeds.clone(
59  seedingHitSets = "hiRegitMuPixelLessStepHitTriplets"
60 )
61 
62 
63 # building: feed the new-named seeds
64 hiRegitMuPixelLessStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryFilter.clone()
65 hiRegitMuPixelLessStepTrajectoryFilter.minPt = 1.7
66 hiRegitMuPixelLessStepTrajectoryFilter.minimumNumberOfHits = 6
67 hiRegitMuPixelLessStepTrajectoryFilter.minHitsMinPt = 4
68 
69 hiRegitMuPixelLessStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrajectoryBuilder.clone(
70  trajectoryFilter = cms.PSet(
71  refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryFilter')
72  ),
73  minNrOfHitsForRebuild = 6 #change from default 4
74 )
75 
76 hiRegitMuPixelLessStepTrackCandidates = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTrackCandidates.clone(
77  src = cms.InputTag('hiRegitMuPixelLessStepSeeds'),
78  TrajectoryBuilderPSet = cms.PSet(
79  refToPSet_ = cms.string('hiRegitMuPixelLessStepTrajectoryBuilder')
80  ),
81  clustersToSkip = cms.InputTag('hiRegitMuPixelLessStepClusters'),
82  maxNSeeds = cms.uint32(1000000)
83  )
84 
85 # fitting: feed new-names
86 hiRegitMuPixelLessStepTracks = RecoTracker.IterativeTracking.PixelLessStep_cff.pixelLessStepTracks.clone(
87  AlgorithmName = cms.string('hiRegitMuPixelLessStep'),
88  src = 'hiRegitMuPixelLessStepTrackCandidates'
89 )
90 
91 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
93 hiRegitMuPixelLessStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
94  src ='hiRegitMuPixelLessStepTracks',
95  vertices = cms.InputTag("hiSelectedVertex"),
96  useAnyMVA = cms.bool(True),
97  GBRForestLabel = cms.string('HIMVASelectorIter7'),
98  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
99  trackSelectors = cms.VPSet(
100  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
101  name = 'hiRegitMuPixelLessStepLoose',
102  min_nhits = cms.uint32(8)
103  ),
104  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
105  name = 'hiRegitMuPixelLessStepTight',
106  preFilterName = 'hiRegitMuPixelLessStepLoose',
107  min_nhits = cms.uint32(8),
108  useMVA = cms.bool(True),
109  minMVA = cms.double(-0.2)
110  ),
111  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
112  name = 'hiRegitMuPixelLessStep',
113  preFilterName = 'hiRegitMuPixelLessStepTight',
114  min_nhits = cms.uint32(8),
115  useMVA = cms.bool(True),
116  minMVA = cms.double(-0.09)
117  ),
118  ) #end of vpset
119 )
120 
121 hiRegitMuonPixelLessStep = cms.Sequence(hiRegitMuPixelLessStepClusters*
122  hiRegitMuPixelLessStepSeedLayers*
123  hiRegitMuPixelLessStepTrackingRegions*
124  hiRegitMuPixelLessStepHitDoublets*
125  hiRegitMuPixelLessStepHitTriplets*
126  hiRegitMuPixelLessStepSeeds*
127  hiRegitMuPixelLessStepTrackCandidates*
128  hiRegitMuPixelLessStepTracks*
129  hiRegitMuPixelLessStepSelector)
130 
131 
132 
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...