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 
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 # building: feed the new-named seeds
49 hiRegitMuInitialStepTrajectoryFilterBase = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone(
50  minPt = 2.5 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
51 )
52 hiRegitMuInitialStepTrajectoryFilter = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilter.clone(
53  filters = cms.VPSet(
54  cms.PSet( refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilterBase')),
55  cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape')))
56 )
57 
58 hiRegitMuInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone(
59  trajectoryFilter = cms.PSet(
60  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilter')
61  ),
62 )
63 
64 # track candidates
65 hiRegitMuInitialStepTrackCandidates = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrackCandidates.clone(
66  src = 'hiRegitMuInitialStepSeeds',
67  TrajectoryBuilderPSet = cms.PSet(
68  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryBuilder')
69  ),
70  maxNSeeds = 1000000
71 )
72 
73 # fitting: feed new-names
74 hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone(
75  AlgorithmName = 'hiRegitMuInitialStep',
76  src = 'hiRegitMuInitialStepTrackCandidates'
77 )
78 
79 
80 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
82 hiRegitMuInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
83  src ='hiRegitMuInitialStepTracks',
84  vertices = "hiSelectedPixelVertex",
85  useAnyMVA = True,
86  GBRForestLabel = 'HIMVASelectorIter4',
87  GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'],
88  trackSelectors = cms.VPSet(
89  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
90  name = 'hiRegitMuInitialStepLoose',
91  min_nhits = 8
92  ), #end of pset
93  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
94  name = 'hiRegitMuInitialStepTight',
95  preFilterName = 'hiRegitMuInitialStepLoose',
96  min_nhits = 8,
97  useMVA = True,
98  minMVA = -0.38
99  ),
100  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
101  name = 'hiRegitMuInitialStep',
102  preFilterName = 'hiRegitMuInitialStepTight',
103  min_nhits = 8,
104  useMVA = True,
105  minMVA = -0.77
106  ),
107  ) #end of vpset
108 )
109 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
110 trackingPhase1.toModify(hiRegitMuInitialStepSelector,
111  useAnyMVA = False,
112  trackSelectors= cms.VPSet(
113  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
114  name = 'hiRegitMuInitialStepLoose',
115  min_nhits = 8
116  ), #end of pset
117  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
118  name = 'hiRegitMuInitialStepTight',
119  preFilterName = 'hiRegitMuInitialStepLoose',
120  min_nhits = 8,
121  useMVA = False,
122  minMVA = -0.38
123  ),
124  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
125  name = 'hiRegitMuInitialStep',
126  preFilterName = 'hiRegitMuInitialStepTight',
127  min_nhits = 8,
128  useMVA = False,
129  minMVA = -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)
hiMultiTrackSelector_cfi
InitialStep_cff
HITrackingRegionProducer_cfi
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...