CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 = "hiRegitMuPixelLessStepTracks",
38  overrideTrkQuals = 'hiRegitMuPixelLessStepSelector:hiRegitMuPixelLessStep',
39  TrackQuality = 'tight',
40  trackClassifier = '',
41  minNumberOfLayersWithMeasBeforeFiltering = 0
42 )
43 
44 
45 # SEEDING LAYERS
46 hiRegitMuDetachedTripletStepSeedLayers = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeedLayers.clone(
47  BPix = dict( skipClusters = 'hiRegitMuDetachedTripletStepClusters'),
48  FPix = dict( skipClusters = 'hiRegitMuDetachedTripletStepClusters')
49 )
50 
51 # seeding
52 hiRegitMuDetachedTripletStepHitDoublets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitDoublets.clone(
53  seedingLayers = "hiRegitMuDetachedTripletStepSeedLayers",
54  trackingRegions = "hiRegitMuDetachedTripletStepTrackingRegions",
55  clusterCheck = "hiRegitMuClusterCheck",
56 )
57 
58 hiRegitMuDetachedTripletStepHitTriplets = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepHitTriplets.clone(
59  doublets = "hiRegitMuDetachedTripletStepHitDoublets"
60 )
61 
62 hiRegitMuDetachedTripletStepSeeds = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepSeeds.clone(
63  seedingHitSets = "hiRegitMuDetachedTripletStepHitTriplets"
64 )
66 
67 
68 # building: feed the new-named seeds
69 hiRegitMuDetachedTripletStepTrajectoryFilterBase = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilterBase.clone(
70  minPt = 0.8 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = 3,
71 )
72 
73 hiRegitMuDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilter.clone(
74  filters = cms.VPSet(
75  cms.PSet( refToPSet_ = cms.string('hiRegitMuDetachedTripletStepTrajectoryFilterBase')),
76  cms.PSet( refToPSet_ = cms.string('detachedTripletStepTrajectoryFilterShape')))
77 )
78 
79 hiRegitMuDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone(
80  clustersToSkip = cms.InputTag('hiRegitMuDetachedTripletStepClusters')
81 )
82 
83 hiRegitMuDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff._detachedTripletStepTrackCandidatesCkf.clone(
84  src = 'hiRegitMuDetachedTripletStepSeeds',
85  TrajectoryBuilder = 'hiRegitMuDetachedTripletStepTrajectoryBuilder',
86  clustersToSkip = cms.InputTag("hiRegitMuDetachedTripletStepClusters")
87 )
88 
89 # fitting: feed new-names
90 hiRegitMuDetachedTripletStepTracks = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTracks.clone(
91  AlgorithmName = 'hiRegitMuDetachedTripletStep',
92  src = 'hiRegitMuDetachedTripletStepTrackCandidates'
93 )
94 
95 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
97 hiRegitMuDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
98  src = 'hiRegitMuDetachedTripletStepTracks',
99  vertices = "hiSelectedPixelVertex",
100  useAnyMVA = True,
101  GBRForestLabel = 'HIMVASelectorIter7',
102  GBRForestVars = ['chi2perdofperlayer', 'nhits', 'nlayers', 'eta'],
103  trackSelectors = cms.VPSet(
104  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
105  name = 'hiRegitMuDetachedTripletStepLoose',
106  min_nhits = 8
107  ),
108  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
109  name = 'hiRegitMuDetachedTripletStepTight',
110  preFilterName = 'hiRegitMuDetachedTripletStepLoose',
111  min_nhits = 8,
112  useMVA = True,
113  minMVA = -0.2
114  ),
115  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
116  name = 'hiRegitMuDetachedTripletStep',
117  preFilterName = 'hiRegitMuDetachedTripletStepTight',
118  min_nhits = 8,
119  useMVA = True,
120  minMVA = -0.09
121  )
122  ) #end of vpset
123 )
124 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
125 trackingPhase1.toModify(hiRegitMuDetachedTripletStepSelector,
126  useAnyMVA = False,
127  trackSelectors= cms.VPSet(
128  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
129  name = 'hiRegitMuDetachedTripletStepLoose',
130  min_nhits = 8
131  ),
132  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
133  name = 'hiRegitMuDetachedTripletStepTight',
134  preFilterName = 'hiRegitMuDetachedTripletStepLoose',
135  min_nhits = 8,
136  useMVA = False,
137  minMVA = -0.2
138  ),
139  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
140  name = 'hiRegitMuDetachedTripletStep',
141  preFilterName = 'hiRegitMuDetachedTripletStepTight',
142  min_nhits = 8,
143  useMVA = False,
144  minMVA = -0.09
145  )
146  )
147 )
148 
149 hiRegitMuonDetachedTripletStepTask = cms.Task(hiRegitMuDetachedTripletStepClusters,
150  hiRegitMuDetachedTripletStepSeedLayers,
151  hiRegitMuDetachedTripletStepTrackingRegions,
152  hiRegitMuDetachedTripletStepHitDoublets,
153  hiRegitMuDetachedTripletStepHitTriplets,
154  hiRegitMuDetachedTripletStepSeeds,
155  hiRegitMuDetachedTripletStepTrackCandidates,
156  hiRegitMuDetachedTripletStepTracks,
157  hiRegitMuDetachedTripletStepSelector
158  )
159 hiRegitMuonDetachedTripletStep = cms.Sequence(hiRegitMuonDetachedTripletStepTask)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...