CMS 3D CMS Logo

HiRegitMuonPixelPairStep_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 ################################### 2nd step: pixel pairs
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 hiRegitMuPixelPairStepTrackingRegions = 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 PixelPairStep
21  Pt_min = 1.0,
22  DeltaR = 0.01, # default = 0.2
23  DeltaZ = 0.09, # this give you the length
24  Rescale_Dz = 0. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
25  )
26 )
27 
28 ###################################
30 
31 # NEW CLUSTERS (remove previously used clusters)
32 hiRegitMuPixelPairStepClusters = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepClusters.clone(
33  trajectories = cms.InputTag("hiRegitMuInitialStepTracks"),
34  overrideTrkQuals = cms.InputTag('hiRegitMuInitialStepSelector','hiRegitMuInitialStep'),
35  trackClassifier = cms.InputTag(''),
36  oldClusterRemovalInfo = cms.InputTag(""),
37  TrackQuality = cms.string('tight')
38 )
39 
40 
41 # SEEDING LAYERS
42 hiRegitMuPixelPairStepSeedLayers = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedLayers.clone()
43 hiRegitMuPixelPairStepSeedLayers.BPix.skipClusters = cms.InputTag('hiRegitMuPixelPairStepClusters')
44 hiRegitMuPixelPairStepSeedLayers.FPix.skipClusters = cms.InputTag('hiRegitMuPixelPairStepClusters')
45 
46 
47 
48 # seeding
49 hiRegitMuPixelPairStepHitDoublets = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepHitDoublets.clone(
50  seedingLayers = "hiRegitMuPixelPairStepSeedLayers",
51  trackingRegions = "hiRegitMuPixelPairStepTrackingRegions",
52  clusterCheck = "hiRegitMuClusterCheck",
53 )
54 
55 hiRegitMuPixelPairStepSeeds = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeedsA.clone(
56  seedingHitSets = "hiRegitMuPixelPairStepHitDoublets"
57 )
58 
59 
60 # building: feed the new-named seeds
61 hiRegitMuPixelPairStepTrajectoryFilterBase = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilterBase.clone()
62 hiRegitMuPixelPairStepTrajectoryFilterBase.minPt = 0.8
63 hiRegitMuPixelPairStepTrajectoryFilterBase.minimumNumberOfHits = 6
64 hiRegitMuPixelPairStepTrajectoryFilterBase.minHitsMinPt = 4
65 
66 hiRegitMuPixelPairStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilter.clone()
67 hiRegitMuPixelPairStepTrajectoryFilter.filters = cms.VPSet(
68  cms.PSet( refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilterBase')),
69  cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape')))
70 
71 
72 hiRegitMuPixelPairStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryBuilder.clone(
73  trajectoryFilter = cms.PSet(
74  refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilter')
75  ),
76  minNrOfHitsForRebuild = 6 #change from default 4
77 )
78 
79 # trackign candidate
80 hiRegitMuPixelPairStepTrackCandidates = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrackCandidates.clone(
81  src = cms.InputTag('hiRegitMuPixelPairStepSeeds'),
82  TrajectoryBuilder = 'hiRegitMuPixelPairStepTrajectoryBuilder',
83  clustersToSkip = cms.InputTag("hiRegitMuPixelPairStepClusters"),
84  maxNSeeds = cms.uint32(1000000)
85  )
86 
87 # fitting: feed new-names
88 hiRegitMuPixelPairStepTracks = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTracks.clone(
89  AlgorithmName = cms.string('hiRegitMuPixelPairStep'),
90  src = 'hiRegitMuPixelPairStepTrackCandidates',
91  clustersToSkip = cms.InputTag('hiRegitMuPixelPairStepClusters'),
92 )
93 
94 
95 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
97 hiRegitMuPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
98  src ='hiRegitMuPixelPairStepTracks',
99  vertices = cms.InputTag("hiSelectedPixelVertex"),
100  useAnyMVA = cms.bool(True),
101  GBRForestLabel = cms.string('HIMVASelectorIter6'),
102  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']),
103  trackSelectors= cms.VPSet(
104  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
105  name = 'hiRegitMuPixelPairStepLoose',
106  min_nhits = cms.uint32(8)
107  ), #end of pset
108  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
109  name = 'hiRegitMuPixelPairStepTight',
110  preFilterName = 'hiRegitMuPixelPairStepLoose',
111  min_nhits = cms.uint32(8),
112  useMVA = cms.bool(True),
113  minMVA = cms.double(-0.58)
114  ),
115  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
116  name = 'hiRegitMuPixelPairStep',
117  preFilterName = 'hiRegitMuPixelPairStepTight',
118  min_nhits = cms.uint32(8),
119  useMVA = cms.bool(True),
120  minMVA = cms.double(0.77)
121  ),
122  ) #end of vpset
123 )
124 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
125 trackingPhase1.toModify(hiRegitMuPixelPairStepSelector, useAnyMVA = cms.bool(False))
126 trackingPhase1.toModify(hiRegitMuPixelPairStepSelector, trackSelectors= cms.VPSet(
127  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
128  name = 'hiRegitMuPixelPairStepLoose',
129  min_nhits = cms.uint32(8)
130  ), #end of pset
131  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
132  name = 'hiRegitMuPixelPairStepTight',
133  preFilterName = 'hiRegitMuPixelPairStepLoose',
134  min_nhits = cms.uint32(8),
135  useMVA = cms.bool(False),
136  minMVA = cms.double(-0.58)
137  ),
138  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
139  name = 'hiRegitMuPixelPairStep',
140  preFilterName = 'hiRegitMuPixelPairStepTight',
141  min_nhits = cms.uint32(8),
142  useMVA = cms.bool(False),
143  minMVA = cms.double(0.77)
144  ),
145  ) #end of vpset
146 )
147 
148 hiRegitMuonPixelPairStep = cms.Sequence(hiRegitMuPixelPairStepClusters*
149  hiRegitMuPixelPairStepSeedLayers*
150  hiRegitMuPixelPairStepTrackingRegions*
151  hiRegitMuPixelPairStepHitDoublets*
152  hiRegitMuPixelPairStepSeeds*
153  hiRegitMuPixelPairStepTrackCandidates*
154  hiRegitMuPixelPairStepTracks*
155  hiRegitMuPixelPairStepSelector)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...