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.
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 ################################### 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  trackClassifier = cms.InputTag(''),
26  TrackQuality = cms.string('tight')
27 )
28 
29 
30 # SEEDING LAYERS A
31 hiRegitMuMixedTripletStepSeedLayersA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersA.clone()
32 hiRegitMuMixedTripletStepSeedLayersA.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
33 hiRegitMuMixedTripletStepSeedLayersA.FPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
34 hiRegitMuMixedTripletStepSeedLayersA.TEC.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
35 
36 # SEEDS A
37 hiRegitMuMixedTripletStepSeedsA = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsA.clone()
38 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
39 hiRegitMuMixedTripletStepSeedsA.ClusterCheckPSet.doClusterCheck = False # do not check for max number of clusters pixel or strips
40 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.Pt_min = 1.3
41 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR = 0.5 # default = 0.2
42 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ = 0.5 # this give you the length
43 hiRegitMuMixedTripletStepSeedsA.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz = 4. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
44 hiRegitMuMixedTripletStepSeedsA.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuMixedTripletStepSeedLayersA'
45 
46 # SEEDING LAYERS B
47 hiRegitMuMixedTripletStepSeedLayersB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedLayersB.clone()
48 hiRegitMuMixedTripletStepSeedLayersB.BPix.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
49 hiRegitMuMixedTripletStepSeedLayersB.TIB.skipClusters = cms.InputTag('hiRegitMuMixedTripletStepClusters')
50 
51 
52 hiRegitMuMixedTripletStepSeedsB = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeedsB.clone()
53 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
54 hiRegitMuMixedTripletStepSeedsB.ClusterCheckPSet.doClusterCheck = False # do not check for max number of clusters pixel or strips
55 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.Pt_min = 1.5
56 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR = 0.5 # default = 0.2
57 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ = 0.5 # this give you the length
58 hiRegitMuMixedTripletStepSeedsB.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz = 4. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
59 hiRegitMuMixedTripletStepSeedsB.OrderedHitsFactoryPSet.SeedingLayers = 'hiRegitMuMixedTripletStepSeedLayersB'
60 
61 # combine seeds
62 hiRegitMuMixedTripletStepSeeds = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepSeeds.clone(
63  seedCollections = cms.VInputTag(
64  cms.InputTag('hiRegitMuMixedTripletStepSeedsA'),
65  cms.InputTag('hiRegitMuMixedTripletStepSeedsB'),
66  )
67  )
68 
69 # track building
70 hiRegitMuMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone()
71 
72 hiRegitMuMixedTripletStepTrajectoryFilter.minPt = 1.
73 hiRegitMuMixedTripletStepTrajectoryFilter.minimumNumberOfHits = 6
74 hiRegitMuMixedTripletStepTrajectoryFilter.minHitsMinPt = 4
75 
76 
77  # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
78 
79 hiRegitMuMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone(
80  trajectoryFilter = cms.PSet(
81  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryFilter')
82  ),
83  minNrOfHitsForRebuild = 6 #change from default 4
84 )
85 
86 hiRegitMuMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrackCandidates.clone(
87  src = cms.InputTag('hiRegitMuMixedTripletStepSeeds'),
88  TrajectoryBuilderPSet = cms.PSet(
89  refToPSet_ = cms.string('hiRegitMuMixedTripletStepTrajectoryBuilder')
90  ),
91  clustersToSkip = cms.InputTag('hiRegitMuMixedTripletStepClusters'),
92  maxNSeeds = cms.uint32(1000000)
93  )
94 
95 # fitting: feed new-names
96 hiRegitMuMixedTripletStepTracks = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTracks.clone(
97  AlgorithmName = cms.string('hiRegitMuMixedTripletStep'),
98  src = 'hiRegitMuMixedTripletStepTrackCandidates',
99 )
100 
101 
102 # TRACK SELECTION AND QUALITY FLAG SETTING.
103 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
105 hiRegitMuMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
106  src = 'hiRegitMuMixedTripletStepTracks',
107  vertices = cms.InputTag("hiSelectedVertex"),
108  useAnyMVA = cms.bool(True),
109  GBRForestLabel = cms.string('HIMVASelectorIter7'),
110  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
111  trackSelectors= cms.VPSet(
112  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
113  name = 'hiRegitMuMixedTripletStepLoose',
114  min_nhits = cms.uint32(8)
115  ),
116  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
117  name = 'hiRegitMuMixedTripletStepTight',
118  preFilterName = 'hiRegitMuMixedTripletStepLoose',
119  min_nhits = cms.uint32(8),
120  useMVA = cms.bool(True),
121  minMVA = cms.double(-0.2)
122  ),
123  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
124  name = 'hiRegitMuMixedTripletStep',
125  preFilterName = 'hiRegitMuMixedTripletStepTight',
126  min_nhits = cms.uint32(8),
127  useMVA = cms.bool(True),
128  minMVA = cms.double(-0.09)
129  )
130  ) #end of vpset
131  ) #end of clone
132 
133 hiRegitMuonMixedTripletStep = cms.Sequence(hiRegitMuMixedTripletStepClusters*
134  hiRegitMuMixedTripletStepSeedLayersA*
135  hiRegitMuMixedTripletStepSeedsA*
136  hiRegitMuMixedTripletStepSeedLayersB*
137  hiRegitMuMixedTripletStepSeedsB*
138  hiRegitMuMixedTripletStepSeeds*
139  hiRegitMuMixedTripletStepTrackCandidates*
140  hiRegitMuMixedTripletStepTracks*
141  hiRegitMuMixedTripletStepSelector)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...