CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.vertexCollection = cms.InputTag("hiSelectedVertex")
7 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonSrc= cms.InputTag("standAloneMuons","UpdatedAtVtx")
8 
9 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.Phi_fixed = True
10 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.Eta_fixed = True
11 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.DeltaPhi = 0.3
12 HiTrackingRegionFactoryFromSTAMuonsBlock.MuonTrackingRegionBuilder.DeltaEta = 0.2
13 
14 ###################################
16 
17 # SEEDING LAYERS
18 hiRegitMuInitialStepSeedLayers = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeedLayers.clone()
19 
20 # seeding
21 hiRegitMuInitialStepSeeds = RecoTracker.IterativeTracking.InitialStep_cff.initialStepSeeds.clone()
22 hiRegitMuInitialStepSeeds.RegionFactoryPSet = HiTrackingRegionFactoryFromSTAMuonsBlock.clone()
23 hiRegitMuInitialStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag("hiRegitMuInitialStepSeedLayers")
24 hiRegitMuInitialStepSeeds.ClusterCheckPSet.doClusterCheck = False # do not check for max number of clusters pixel or strips
25 hiRegitMuInitialStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.Pt_min = 3.0
26 hiRegitMuInitialStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaR = 1 # default = 0.2
27 hiRegitMuInitialStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.DeltaZ = 1 # this give you the length
28 hiRegitMuInitialStepSeeds.RegionFactoryPSet.MuonTrackingRegionBuilder.Rescale_Dz = 4. # max(DeltaZ_Region,Rescale_Dz*vtx->zError())
29 
30 
31 # building: feed the new-named seeds
32 hiRegitMuInitialStepTrajectoryFilterBase = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilterBase.clone()
33 hiRegitMuInitialStepTrajectoryFilterBase.minPt = 2.5 # after each new hit, apply pT cut for traj w/ at least minHitsMinPt = cms.int32(3),
34 
35 hiRegitMuInitialStepTrajectoryFilter = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryFilter.clone()
36 hiRegitMuInitialStepTrajectoryFilter.filters = cms.VPSet(
37  cms.PSet( refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilterBase')),
38  cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape')))
39 
40 
41 hiRegitMuInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone(
42  trajectoryFilter = cms.PSet(
43  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryFilter')
44  ),
45 )
46 
47 # track candidates
48 hiRegitMuInitialStepTrackCandidates = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrackCandidates.clone(
49  src = cms.InputTag('hiRegitMuInitialStepSeeds'),
50  TrajectoryBuilderPSet = cms.PSet(
51  refToPSet_ = cms.string('hiRegitMuInitialStepTrajectoryBuilder')
52  ),
53  maxNSeeds = cms.uint32(1000000)
54  )
55 
56 # fitting: feed new-names
57 hiRegitMuInitialStepTracks = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTracks.clone(
58  AlgorithmName = cms.string('hiRegitMuInitialStep'),
59  src = 'hiRegitMuInitialStepTrackCandidates'
60 )
61 
62 
63 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
65 hiRegitMuInitialStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
66  src ='hiRegitMuInitialStepTracks',
67  vertices = cms.InputTag("hiSelectedVertex"),
68  useAnyMVA = cms.bool(True),
69  GBRForestLabel = cms.string('HIMVASelectorIter4'),
70  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']),
71  trackSelectors= cms.VPSet(
72  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
73  name = 'hiRegitMuInitialStepLoose',
74  min_nhits = cms.uint32(8)
75  ), #end of pset
76  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
77  name = 'hiRegitMuInitialStepTight',
78  preFilterName = 'hiRegitMuInitialStepLoose',
79  min_nhits = cms.uint32(8),
80  useMVA = cms.bool(True),
81  minMVA = cms.double(-0.38)
82  ),
83  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
84  name = 'hiRegitMuInitialStep',
85  preFilterName = 'hiRegitMuInitialStepTight',
86  min_nhits = cms.uint32(8),
87  useMVA = cms.bool(True),
88  minMVA = cms.double(-0.77)
89  ),
90  ) #end of vpset
91  )
92 
93 hiRegitMuonInitialStep = cms.Sequence(hiRegitMuInitialStepSeedLayers*
94  hiRegitMuInitialStepSeeds*
95  hiRegitMuInitialStepTrackCandidates*
96  hiRegitMuInitialStepTracks*
97  hiRegitMuInitialStepSelector)
98 
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...