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