CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HiRegitMuonMixedTripletStep_cff.py
Go to the documentation of this file.
2 
3 ###################################################################################
4 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
5 ################################### 4th step: large impact parameter tracking using mixed-triplet seeding
6 
8 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.vertexCollection = cms.InputTag("hiSelectedVertex")
9 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonSrc= cms.InputTag("standAloneMuons","UpdatedAtVtx")
10 
11 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.UseVertex = True
12 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.Phi_fixed = True
13 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.Eta_fixed = True
14 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.DeltaPhi = 0.3
15 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.DeltaEta = 0.2
16 
17 ###################################
19 
20 # NEW CLUSTERS (remove previously used clusters)
21 hiRegitMuMixedTripletStepClusters = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepClusters.clone(
22  oldClusterRemovalInfo = cms.InputTag("hiRegitMuPixelPairStepClusters"),
23  trajectories = cms.InputTag("hiRegitMuPixelPairStepTracks"),
24  overrideTrkQuals = cms.InputTag('hiRegitMuPixelPairStepSelector','hiRegitMuPixelPairStep'),
25  TrackQuality = cms.string('tight')
26 )
27 
28 
29 # SEEDING LAYERS A
30 hiRegitMuMixedTripletStepSeedLayersA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone()
31 hiRegitMuMixedTripletStepSeedLayersA.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
32 hiRegitMuMixedTripletStepSeedLayersA.FPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
33 hiRegitMuMixedTripletStepSeedLayersA.TEC.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
34 
35 # SEEDS A
36 hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone()
37 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
38 hiRegitMuMixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck = False # do not check for max number of clusters pixel or strips
39 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.Pt_min = 1.3
40 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR = 0.5 # default = 0.2
41 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ = 0.5 # this give you the length
42 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz = 4. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
43 hiRegitMuMixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuMixedTripletStepSeedLayersA'
44 
45 # SEEDING LAYERS B
46 hiRegitMuMixedTripletStepSeedLayersB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone()
47 hiRegitMuMixedTripletStepSeedLayersB.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
48 hiRegitMuMixedTripletStepSeedLayersB.TIB.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
49 
50 
51 hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsB.clone()
52 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
53 hiRegitMuMixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck = False # do not check for max number of clusters pixel or strips
54 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.Pt_min = 1.5
55 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR = 0.5 # default = 0.2
56 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ = 0.5 # this give you the length
57 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz = 4. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
58 hiRegitMuMixedTripletStepSeedsB.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuMixedTripletStepSeedLayersB'
59 
60 # combine seeds
61 hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
62  seedCollections = cms.VInputTag(
63  cms.InputTag('hiRegitMuMixedTripletStepSeedsA'),
64  cms.InputTag('hiRegitMuMixedTripletStepSeedsB'),
65  )
66  )
67 
68 # track building
69 hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone()
70 
71 hiRegitMuMixedTripletStepTrajectoryFilter.minPt = 1.
72 hiRegitMuMixedTripletStepTrajectoryFilter.minimumNumberOfHits = 6
73 hiRegitMuMixedTripletStepTrajectoryFilter.minHitsMinPt = 4
74 
75 
76  # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
77 
78 hiRegitMuMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone(
79  trajectoryFilter = cms.PSet(
80  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryFilter')
81  ),
82  minNrOfHitsForRebuild = 6 #change from default 4
83 )
84 
85 hiRegitMuMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrackCandidates.clone(
86  src = cms.InputTag('hiRegitMuMixedTripletStepSeeds'),
87  TrajectoryBuilderPSet = cms.PSet(
88  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryBuilder')
89  ),
90  clustersToSkip = cms.InputTag('hiRegitMuMixedTripletStepClusters'),
91  maxNSeeds = cms.uint32(1000000)
92  )
93 
94 # fitting: feed new-names
95 hiRegitMuMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
96  AlgorithmName = cms.string('hiRegitMuMixedTripletStep'),
97  src = 'hiRegitMuMixedTripletStepTrackCandidates',
98 )
99 
100 
101 # TRACK SELECTION AND QUALITY FLAG SETTING.
102 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
104 hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
105  src = 'hiRegitMuMixedTripletStepTracks',
106  vertices = cms.InputTag("hiSelectedVertex"),
107  useAnyMVA = cms.bool(True),
108  GBRForestLabel = cms.string('HIMVASelectorIter7'),
109  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
110  trackSelectors= cms.VPSet(
111  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
112  name = 'hiRegitMuMixedTripletStepLoose',
113  min_nhits = cms.uint32(8)
114  ),
115  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
116  name = 'hiRegitMuMixedTripletStepTight',
117  preFilterName = 'hiRegitMuMixedTripletStepLoose',
118  min_nhits = cms.uint32(8),
119  useMVA = cms.bool(True),
120  minMVA = cms.double(-0.2)
121  ),
122  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
123  name = 'hiRegitMuMixedTripletStep',
124  preFilterName = 'hiRegitMuMixedTripletStepTight',
125  min_nhits = cms.uint32(8),
126  useMVA = cms.bool(True),
127  minMVA = cms.double(-0.09)
128  )
129  ) #end of vpset
130  ) #end of clone
131 
132 hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuMixedTripletStepClusters*
133  hiRegitMuMixedTripletStepSeedLayersA*
134  hiRegitMuMixedTripletStepSeedsA*
135  hiRegitMuMixedTripletStepSeedLayersB*
136  hiRegitMuMixedTripletStepSeedsB*
137  hiRegitMuMixedTripletStepSeeds*
138  hiRegitMuMixedTripletStepTrackCandidates*
139  hiRegitMuMixedTripletStepTracks*
140  hiRegitMuMixedTripletStepSelector)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...