CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 from RecoTracker.IterativeTracking.InitialStep_cff import initialStepTrajectoryFilterShape,initialStepChi2Est
29 
30 # SEEDING LAYERS
31 hiRegitMuInitialStepSeedLayers = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeedLayers.clone()
32 
33 # seeding
34 hiRegitMuInitialStepHitDoublets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitDoublets.clone(
35  seedingLayers = "hiRegitMuInitialStepSeedLayers",
36  trackingRegions = "hiRegitMuInitialStepTrackingRegions",
37  clusterCheck = "hiRegitMuClusterCheck"
38 )
39 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
40 trackingPhase1.toModify(hiRegitMuInitialStepHitDoublets, layerPairs = [0])
41 
42 hiRegitMuInitialStepHitTriplets = RecoTracker.IterativeTracking.InitialStep_cff.initialStepHitTriplets.clone(
43  doublets = "hiRegitMuInitialStepHitDoublets"
44 )
45 hiRegitMuInitialStepSeeds = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeeds.clone(
46  seedingHitSets = "hiRegitMuInitialStepHitTriplets"
47 )
48 
49 # building: feed the new-named seeds
50 hiRegitMuInitialStepTrajectoryFilterBase = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone(
51  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  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._initialStepTrackCandidatesCkf.clone(
67  src = 'hiRegitMuInitialStepSeeds',
68  TrajectoryBuilderPSet = cms.PSet(
69  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryBuilder')
70  ),
71  maxNSeeds = 1000000
72 )
73 
74 # fitting: feed new-names
75 hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone(
76  AlgorithmName = '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 = "hiSelectedPixelVertex",
86  useAnyMVA = True,
87  GBRForestLabel = 'HIMVASelectorIter4',
88  GBRForestVars = ['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta'],
89  trackSelectors = cms.VPSet(
90  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
91  name = 'hiRegitMuInitialStepLoose',
92  min_nhits = 8
93  ), #end of pset
94  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
95  name = 'hiRegitMuInitialStepTight',
96  preFilterName = 'hiRegitMuInitialStepLoose',
97  min_nhits = 8,
98  useMVA = True,
99  minMVA = -0.38
100  ),
101  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
102  name = 'hiRegitMuInitialStep',
103  preFilterName = 'hiRegitMuInitialStepTight',
104  min_nhits = 8,
105  useMVA = True,
106  minMVA = -0.77
107  ),
108  ) #end of vpset
109 )
110 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
111 trackingPhase1.toModify(hiRegitMuInitialStepSelector,
112  useAnyMVA = False,
113  trackSelectors= cms.VPSet(
114  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
115  name = 'hiRegitMuInitialStepLoose',
116  min_nhits = 8
117  ), #end of pset
118  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
119  name = 'hiRegitMuInitialStepTight',
120  preFilterName = 'hiRegitMuInitialStepLoose',
121  min_nhits = 8,
122  useMVA = False,
123  minMVA = -0.38
124  ),
125  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
126  name = 'hiRegitMuInitialStep',
127  preFilterName = 'hiRegitMuInitialStepTight',
128  min_nhits = 8,
129  useMVA = False,
130  minMVA = -0.77
131  ),
132  )
133 )
134 
135 hiRegitMuonInitialStepTask = cms.Task(hiRegitMuInitialStepSeedLayers,
136  hiRegitMuInitialStepTrackingRegions,
137  hiRegitMuInitialStepHitDoublets,
138  hiRegitMuInitialStepHitTriplets,
139  hiRegitMuInitialStepSeeds,
140  hiRegitMuInitialStepTrackCandidates,
141  hiRegitMuInitialStepTracks,
142  hiRegitMuInitialStepSelector)
143 hiRegitMuonInitialStep = cms.Sequence(hiRegitMuonInitialStepTask)
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...