CMS 3D CMS Logo

HiRegitMuonDetachedTripletStep_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 ################################### 3rd step: low-pT and displaced tracks from pixel triplets
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 hiRegitMuDetachedTripletStepTrackingRegions = 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 DetachedTripletStep
21  Pt_min = 0.9,
22  DeltaR = 2.0, # default = 0.2
23  DeltaZ = 2.0, # this give you the length
24  Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
25  )
26 )
27 
28 ###################################
30 
31 # NEW CLUSTERS (remove previously used clusters)
32 from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import trackClusterRemover as _trackClusterRemover
33 hiRegitMuDetachedTripletStepClusters = _trackClusterRemover.clone(
34  maxChi2 = 9.0,
35  pixelClusters = "siPixelClusters",
36  stripClusters = "siStripClusters",
37  trajectories = cms.InputTag("hiRegitMuPixelLessStepTracks"),
38  overrideTrkQuals = cms.InputTag('hiRegitMuPixelLessStepSelector','hiRegitMuPixelLessStep'),
39  TrackQuality = 'tight',
40  trackClassifier = cms.InputTag(''),
41  minNumberOfLayersWithMeasBeforeFiltering = 0
42 )
43 
44 
45 # SEEDING LAYERS
46 hiRegitMuDetachedTripletStepSeedLayers = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeedLayers.clone()
47 hiRegitMuDetachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
48 hiRegitMuDetachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
49 
50 # seeding
51 hiRegitMuDetachedTripletStepHitDoublets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitDoublets.clone(
52  seedingLayers = "hiRegitMuDetachedTripletStepSeedLayers",
53  trackingRegions = "hiRegitMuDetachedTripletStepTrackingRegions",
54  clusterCheck = "hiRegitMuClusterCheck",
55 )
56 hiRegitMuDetachedTripletStepHitTriplets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitTriplets.clone(
57  doublets = "hiRegitMuDetachedTripletStepHitDoublets"
58 )
59 hiRegitMuDetachedTripletStepSeeds = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeeds.clone(
60  seedingHitSets = "hiRegitMuDetachedTripletStepHitTriplets"
61 )
63 
64 
65 # building: feed the new-named seeds
66 hiRegitMuDetachedTripletStepTrajectoryFilterBase = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilterBase.clone()
67 hiRegitMuDetachedTripletStepTrajectoryFilterBase.minPt = 0.8 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
68 
69 hiRegitMuDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilter.clone()
70 hiRegitMuDetachedTripletStepTrajectoryFilter.filters = cms.VPSet(
71  cms.PSet( refToPSet_ = cms.string('hiRegitMuDetachedTripletStepTrajectoryFilterBase')),
72  cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterShape')))
73 
74 hiRegitMuDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone(
75  clustersToSkip = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
76 )
77 
78 hiRegitMuDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrackCandidates.clone(
79  src = cms.InputTag('hiRegitMuDetachedTripletStepSeeds'),
80  TrajectoryBuilder = 'hiRegitMuDetachedTripletStepTrajectoryBuilder',
81  clustersToSkip = cms.InputTag("hiRegitMuDetachedTripletStepClusters")
82  )
83 
84 # fitting: feed new-names
85 hiRegitMuDetachedTripletStepTracks = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone(
86  AlgorithmName = cms.string('hiRegitMuDetachedTripletStep'),
87  src = 'hiRegitMuDetachedTripletStepTrackCandidates'
88 )
89 
90 
91 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
93 hiRegitMuDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
94  src ='hiRegitMuDetachedTripletStepTracks',
95  vertices = cms.InputTag("hiSelectedPixelVertex"),
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 = 'hiRegitMuDetachedTripletStepLoose',
102  min_nhits = cms.uint32(8)
103  ),
104  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
105  name = 'hiRegitMuDetachedTripletStepTight',
106  preFilterName = 'hiRegitMuDetachedTripletStepLoose',
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 = 'hiRegitMuDetachedTripletStep',
113  preFilterName = 'hiRegitMuDetachedTripletStepTight',
114  min_nhits = cms.uint32(8),
115  useMVA = cms.bool(True),
116  minMVA = cms.double(-0.09)
117  )
118  ) #end of vpset
119  )
120 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
121 trackingPhase1.toModify(hiRegitMuDetachedTripletStepSelector, useAnyMVA = cms.bool(False))
122 trackingPhase1.toModify(hiRegitMuDetachedTripletStepSelector, trackSelectors= cms.VPSet(
123  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
124  name = 'hiRegitMuDetachedTripletStepLoose',
125  min_nhits = cms.uint32(8)
126  ),
127  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
128  name = 'hiRegitMuDetachedTripletStepTight',
129  preFilterName = 'hiRegitMuDetachedTripletStepLoose',
130  min_nhits = cms.uint32(8),
131  useMVA = cms.bool(False),
132  minMVA = cms.double(-0.2)
133  ),
134  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
135  name = 'hiRegitMuDetachedTripletStep',
136  preFilterName = 'hiRegitMuDetachedTripletStepTight',
137  min_nhits = cms.uint32(8),
138  useMVA = cms.bool(False),
139  minMVA = cms.double(-0.09)
140  )
141  )
142 )
143 
144 hiRegitMuonDetachedTripletStep = cms.Sequence(hiRegitMuDetachedTripletStepClusters*
145  hiRegitMuDetachedTripletStepSeedLayers*
146  hiRegitMuDetachedTripletStepTrackingRegions*
147  hiRegitMuDetachedTripletStepHitDoublets*
148  hiRegitMuDetachedTripletStepHitTriplets*
149  hiRegitMuDetachedTripletStepSeeds*
150  hiRegitMuDetachedTripletStepTrackCandidates*
151  hiRegitMuDetachedTripletStepTracks*
152  hiRegitMuDetachedTripletStepSelector
153  )
154 
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...