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 = "hiSelectedVertex",
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 hiRegitMuPixelPairStepSeeds = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepSeeds.clone(
55  seedingHitSets = "hiRegitMuPixelPairStepHitDoublets"
56 )
57 
58 
59 # building: feed the new-named seeds
60 hiRegitMuPixelPairStepTrajectoryFilterBase = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilterBase.clone()
61 hiRegitMuPixelPairStepTrajectoryFilterBase.minPt = 0.8
62 hiRegitMuPixelPairStepTrajectoryFilterBase.minimumNumberOfHits = 6
63 hiRegitMuPixelPairStepTrajectoryFilterBase.minHitsMinPt = 4
64 
65 hiRegitMuPixelPairStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilter.clone()
66 hiRegitMuPixelPairStepTrajectoryFilter.filters = cms.VPSet(
67  cms.PSet( refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilterBase')),
68  cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape')))
69 
70 
71 hiRegitMuPixelPairStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryBuilder.clone(
72  trajectoryFilter = cms.PSet(
73  refToPSet_ = cms.string('hiRegitMuPixelPairStepTrajectoryFilter')
74  ),
75  minNrOfHitsForRebuild = 6 #change from default 4
76 )
77 
78 # trackign candidate
79 hiRegitMuPixelPairStepTrackCandidates = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrackCandidates.clone(
80  src = cms.InputTag('hiRegitMuPixelPairStepSeeds'),
81  TrajectoryBuilder = 'hiRegitMuPixelPairStepTrajectoryBuilder',
82  clustersToSkip = cms.InputTag("hiRegitMuPixelPairStepClusters"),
83  maxNSeeds = cms.uint32(1000000)
84  )
85 
86 # fitting: feed new-names
87 hiRegitMuPixelPairStepTracks = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTracks.clone(
88  AlgorithmName = cms.string('hiRegitMuPixelPairStep'),
89  src = 'hiRegitMuPixelPairStepTrackCandidates',
90  clustersToSkip = cms.InputTag('hiRegitMuPixelPairStepClusters'),
91 )
92 
93 
94 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
96 hiRegitMuPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
97  src ='hiRegitMuPixelPairStepTracks',
98  vertices = cms.InputTag("hiSelectedVertex"),
99  useAnyMVA = cms.bool(True),
100  GBRForestLabel = cms.string('HIMVASelectorIter6'),
101  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']),
102  trackSelectors= cms.VPSet(
103  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
104  name = 'hiRegitMuPixelPairStepLoose',
105  min_nhits = cms.uint32(8)
106  ), #end of pset
107  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
108  name = 'hiRegitMuPixelPairStepTight',
109  preFilterName = 'hiRegitMuPixelPairStepLoose',
110  min_nhits = cms.uint32(8),
111  useMVA = cms.bool(True),
112  minMVA = cms.double(-0.58)
113  ),
114  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
115  name = 'hiRegitMuPixelPairStep',
116  preFilterName = 'hiRegitMuPixelPairStepTight',
117  min_nhits = cms.uint32(8),
118  useMVA = cms.bool(True),
119  minMVA = cms.double(0.77)
120  ),
121  ) #end of vpset
122 )
123 
124 hiRegitMuonPixelPairStep = cms.Sequence(hiRegitMuPixelPairStepClusters*
125  hiRegitMuPixelPairStepSeedLayers*
126  hiRegitMuPixelPairStepTrackingRegions*
127  hiRegitMuPixelPairStepHitDoublets*
128  hiRegitMuPixelPairStepSeeds*
129  hiRegitMuPixelPairStepTrackCandidates*
130  hiRegitMuPixelPairStepTracks*
131  hiRegitMuPixelPairStepSelector)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...