CMS 3D CMS Logo

HiRegitMuonInitialStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI)
4 ################################### 0st step:pixel-triplet seeding, high-pT;
6 # Are the following values set to the same in every iteration? If yes,
7 # why not making the change in HITrackingRegionProducer_cfi directly
8 # once for all?
9 hiRegitMuInitialStepTrackingRegions = HiTrackingRegionFactoryFromSTAMuonsEDProducer.clone(
10  MuonSrc = "standAloneMuons:UpdatedAtVtx", # this is the same as default, why repeat?
11  MuonTrackingRegionBuilder = dict(
12  vertexCollection = "hiSelectedPixelVertex",
13  UseVertex = True,
14  Phi_fixed = True,
15  Eta_fixed = True,
16  DeltaPhi = 0.3,
17  DeltaEta = 0.2,
18  # Ok, the following ones are specific to InitialStep
19  Pt_min = 3.0,
20  DeltaR = 1, # default = 0.2
21  DeltaZ = 1, # this give you the length
22  Rescale_Dz = 4., # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
23  )
24 )
25 
26 ###################################
28 
29 # SEEDING LAYERS
30 hiRegitMuInitialStepSeedLayers = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeedLayers.clone()
31 
32 # seeding
33 hiRegitMuInitialStepHitDoublets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitDoublets.clone(
34  seedingLayers = "hiRegitMuInitialStepSeedLayers",
35  trackingRegions = "hiRegitMuInitialStepTrackingRegions",
36  clusterCheck = "hiRegitMuClusterCheck"
37 )
38 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
39 trackingPhase1.toModify(hiRegitMuInitialStepHitDoublets, layerPairs = [0])
40 
41 hiRegitMuInitialStepHitTriplets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitTriplets.clone(
42  doublets = "hiRegitMuInitialStepHitDoublets"
43 )
44 hiRegitMuInitialStepSeeds = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeeds.clone(
45  seedingHitSets = "hiRegitMuInitialStepHitTriplets"
46 )
47 
48 
49 # building: feed the new-named seeds
50 hiRegitMuInitialStepTrajectoryFilterBase = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone()
51 hiRegitMuInitialStepTrajectoryFilterBase.minPt = 2.5 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
52 
53 hiRegitMuInitialStepTrajectoryFilter = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilter.clone()
54 hiRegitMuInitialStepTrajectoryFilter.filters = cms.VPSet(
55  cms.PSet( refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilterBase')),
56  cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape')))
57 
58 
59 hiRegitMuInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone(
60  trajectoryFilter = cms.PSet(
61  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilter')
62  ),
63 )
64 
65 # track candidates
66 hiRegitMuInitialStepTrackCandidates = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrackCandidates.clone(
67  src = cms.InputTag('hiRegitMuInitialStepSeeds'),
68  TrajectoryBuilderPSet = cms.PSet(
69  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryBuilder')
70  ),
71  maxNSeeds = cms.uint32(1000000)
72  )
73 
74 # fitting: feed new-names
75 hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone(
76  AlgorithmName = cms.string('hiRegitMuInitialStep'),
77  src = 'hiRegitMuInitialStepTrackCandidates'
78 )
79 
80 
81 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
83 hiRegitMuInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
84  src ='hiRegitMuInitialStepTracks',
85  vertices = cms.InputTag("hiSelectedPixelVertex"),
86  useAnyMVA = cms.bool(True),
87  GBRForestLabel = cms.string('HIMVASelectorIter4'),
88  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']),
89  trackSelectors= cms.VPSet(
90  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
91  name = 'hiRegitMuInitialStepLoose',
92  min_nhits = cms.uint32(8)
93  ), #end of pset
94  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
95  name = 'hiRegitMuInitialStepTight',
96  preFilterName = 'hiRegitMuInitialStepLoose',
97  min_nhits = cms.uint32(8),
98  useMVA = cms.bool(True),
99  minMVA = cms.double(-0.38)
100  ),
101  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
102  name = 'hiRegitMuInitialStep',
103  preFilterName = 'hiRegitMuInitialStepTight',
104  min_nhits = cms.uint32(8),
105  useMVA = cms.bool(True),
106  minMVA = cms.double(-0.77)
107  ),
108  ) #end of vpset
109  )
110 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
111 trackingPhase1.toModify(hiRegitMuInitialStepSelector, useAnyMVA = cms.bool(False))
112 trackingPhase1.toModify(hiRegitMuInitialStepSelector, trackSelectors= cms.VPSet(
113  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
114  name = 'hiRegitMuInitialStepLoose',
115  min_nhits = cms.uint32(8)
116  ), #end of pset
117  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
118  name = 'hiRegitMuInitialStepTight',
119  preFilterName = 'hiRegitMuInitialStepLoose',
120  min_nhits = cms.uint32(8),
121  useMVA = cms.bool(False),
122  minMVA = cms.double(-0.38)
123  ),
124  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
125  name = 'hiRegitMuInitialStep',
126  preFilterName = 'hiRegitMuInitialStepTight',
127  min_nhits = cms.uint32(8),
128  useMVA = cms.bool(False),
129  minMVA = cms.double(-0.77)
130  ),
131  )
132 )
133 
134 hiRegitMuonInitialStepTask = cms.Task(hiRegitMuInitialStepSeedLayers,
135  hiRegitMuInitialStepTrackingRegions,
136  hiRegitMuInitialStepHitDoublets,
137  hiRegitMuInitialStepHitTriplets,
138  hiRegitMuInitialStepSeeds,
139  hiRegitMuInitialStepTrackCandidates,
140  hiRegitMuInitialStepTracks,
141  hiRegitMuInitialStepSelector)
142 hiRegitMuonInitialStep = cms.Sequence(hiRegitMuonInitialStepTask)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...