CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IterativeMixedTripletStep_cff.py
Go to the documentation of this file.
2 
3 # step 3
4 
5 # seeding
6 #from FastSimulation.Tracking.IterativeMixedTripletStepSeedProducer_cff import *
8 iterativeMixedTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone()
9 iterativeMixedTripletStepSeeds.firstHitSubDetectorNumber = [2]
10 ##iterativeMixedTripletStepSeeds.firstHitSubDetectors = [1, 2, 6]
11 iterativeMixedTripletStepSeeds.firstHitSubDetectors = [1, 2]
12 iterativeMixedTripletStepSeeds.secondHitSubDetectorNumber = [3]
13 iterativeMixedTripletStepSeeds.secondHitSubDetectors = [1, 2, 6]
14 iterativeMixedTripletStepSeeds.thirdHitSubDetectorNumber = [0]
15 iterativeMixedTripletStepSeeds.thirdHitSubDetectors = []
16 iterativeMixedTripletStepSeeds.seedingAlgo = ['MixedTriplets']
17 iterativeMixedTripletStepSeeds.minRecHits = [3]
18 iterativeMixedTripletStepSeeds.pTMin = [0.15]
19 iterativeMixedTripletStepSeeds.maxD0 = [10.]
20 iterativeMixedTripletStepSeeds.maxZ0 = [30.]
21 iterativeMixedTripletStepSeeds.numberOfHits = [2]
22 iterativeMixedTripletStepSeeds.originRadius = [2.0] # was 1.2
23 iterativeMixedTripletStepSeeds.originHalfLength = [10.0] # was 7.0
24 iterativeMixedTripletStepSeeds.originpTMin = [0.35] # we need to add another seed for endcaps only, with 0.5
25 iterativeMixedTripletStepSeeds.zVertexConstraint = [-1.0]
26 iterativeMixedTripletStepSeeds.primaryVertices = ['none']
27 
28 iterativeMixedTripletStepSeeds.newSyntax = True
29 #iterativeMixedTripletStepSeeds.layerList = ['BPix1+BPix2+BPix3',
30 # 'BPix1+BPix2+FPix1_pos',
31 # 'BPix1+BPix2+FPix1_neg',
32 # 'BPix1+FPix1_pos+FPix2_pos',
33 # 'BPix1+FPix1_neg+FPix2_neg']
34 from RecoTracker.IterativeTracking.MixedTripletStep_cff import mixedTripletStepSeedLayersA
35 iterativeMixedTripletStepSeeds.layerList = mixedTripletStepSeedLayersA.layerList
36 # NOTE: what about mixedTripletStepSeedLayersB ? Have to think a way to include that as well.
37 
38 # candidate producer
39 #from FastSimulation.Tracking.IterativeThirdCandidateProducer_cff import *
41 iterativeMixedTripletStepCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone()
42 iterativeMixedTripletStepCandidates.SeedProducer = cms.InputTag("iterativeMixedTripletStepSeeds","MixedTriplets")
43 iterativeMixedTripletStepCandidates.TrackProducers = ['pixelPairStepTracks', 'detachedTripletStepTracks']
44 iterativeMixedTripletStepCandidates.KeepFittedTracks = False
45 iterativeMixedTripletStepCandidates.MinNumberOfCrossedLayers = 3
46 
47 
48 # track producer
49 #from FastSimulation.Tracking.IterativeThirdTrackProducer_cff import *
51 iterativeMixedTripletStepTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone()
52 iterativeMixedTripletStepTracks.src = 'iterativeMixedTripletStepCandidates'
53 iterativeMixedTripletStepTracks.TTRHBuilder = 'WithoutRefit'
54 ##iterativeMixedTripletStepTracks.Fitter = 'KFFittingSmootherWithOutlierRejection'
55 iterativeMixedTripletStepTracks.Fitter = 'KFFittingSmootherThird'
56 iterativeMixedTripletStepTracks.Propagator = 'PropagatorWithMaterial'
57 
58 # track merger
59 #from FastSimulation.Tracking.IterativeMixedTripletStepMerger_cfi import *
60 mixedTripletStepTracks = cms.EDProducer("FastTrackMerger",
61  TrackProducers = cms.VInputTag(cms.InputTag("iterativeMixedTripletStepCandidates"),
62  cms.InputTag("iterativeMixedTripletStepTracks")),
63  RemoveTrackProducers = cms.untracked.VInputTag(cms.InputTag("initialStepTracks"),
64  cms.InputTag("lowPtTripletStepTracks"),
65  cms.InputTag("pixelPairStepTracks"),
66  cms.InputTag("detachedTripletStepTracks")),
67  trackAlgo = cms.untracked.uint32(8),
68  MinNumberOfTrajHits = cms.untracked.uint32(4), # ?
69  MaxLostTrajHits = cms.untracked.uint32(0)
70  )
71 
72 # TRACK SELECTION AND QUALITY FLAG SETTING.
73 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
74 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
75  src='mixedTripletStepTracks',
76  trackSelectors= cms.VPSet(
77  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
78  name = 'mixedTripletStepVtxLoose',
79  chi2n_par = 1.2,
80  res_par = ( 0.003, 0.001 ),
81  minNumberLayers = 3,
82  maxNumberLostLayers = 1,
83  minNumber3DLayers = 2,
84  d0_par1 = ( 1.2, 3.0 ),
85  dz_par1 = ( 1.2, 3.0 ),
86  d0_par2 = ( 1.3, 3.0 ),
87  dz_par2 = ( 1.3, 3.0 )
88  ),
89  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
90  name = 'mixedTripletStepTrkLoose',
91  chi2n_par = 0.6,
92  res_par = ( 0.003, 0.001 ),
93  minNumberLayers = 4,
94  maxNumberLostLayers = 1,
95  minNumber3DLayers = 3,
96  d0_par1 = ( 1.2, 4.0 ),
97  dz_par1 = ( 1.2, 4.0 ),
98  d0_par2 = ( 1.2, 4.0 ),
99  dz_par2 = ( 1.2, 4.0 )
100  ),
101  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
102  name = 'mixedTripletStepVtxTight',
103  preFilterName = 'mixedTripletStepVtxLoose',
104  chi2n_par = 0.6,
105  res_par = ( 0.003, 0.001 ),
106  minNumberLayers = 3,
107  maxNumberLostLayers = 1,
108  minNumber3DLayers = 3,
109  d0_par1 = ( 1.1, 3.0 ),
110  dz_par1 = ( 1.1, 3.0 ),
111  d0_par2 = ( 1.2, 3.0 ),
112  dz_par2 = ( 1.2, 3.0 )
113  ),
114  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
115  name = 'mixedTripletStepTrkTight',
116  preFilterName = 'mixedTripletStepTrkLoose',
117  chi2n_par = 0.4,
118  res_par = ( 0.003, 0.001 ),
119  minNumberLayers = 5,
120  maxNumberLostLayers = 1,
121  minNumber3DLayers = 4,
122  d0_par1 = ( 1.1, 4.0 ),
123  dz_par1 = ( 1.1, 4.0 ),
124  d0_par2 = ( 1.1, 4.0 ),
125  dz_par2 = ( 1.1, 4.0 )
126  ),
127  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
128  name = 'mixedTripletStepVtx',
129  preFilterName = 'mixedTripletStepVtxTight',
130  chi2n_par = 0.4,
131  res_par = ( 0.003, 0.001 ),
132  minNumberLayers = 3,
133  maxNumberLostLayers = 1,
134  minNumber3DLayers = 3,
135  d0_par1 = ( 1.1, 3.0 ),
136  dz_par1 = ( 1.1, 3.0 ),
137  d0_par2 = ( 1.2, 3.0 ),
138  dz_par2 = ( 1.2, 3.0 )
139  ),
140  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
141  name = 'mixedTripletStepTrk',
142  preFilterName = 'mixedTripletStepTrkTight',
143  chi2n_par = 0.3,
144  res_par = ( 0.003, 0.001 ),
145  minNumberLayers = 5,
146  maxNumberLostLayers = 0,
147  minNumber3DLayers = 4,
148  d0_par1 = ( 0.9, 4.0 ),
149  dz_par1 = ( 0.9, 4.0 ),
150  d0_par2 = ( 0.9, 4.0 ),
151  dz_par2 = ( 0.9, 4.0 )
152  )
153  ) #end of vpset
154  ) #end of clone
155 
156 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
157 mixedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
158  TrackProducers = cms.VInputTag(cms.InputTag('mixedTripletStepTracks'),
159  cms.InputTag('mixedTripletStepTracks')),
160  hasSelector=cms.vint32(1,1),
161  selectedTrackQuals = cms.VInputTag(cms.InputTag("mixedTripletStepSelector","mixedTripletStepVtx"),
162  cms.InputTag("mixedTripletStepSelector","mixedTripletStepTrk")),
163  setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
164  writeOnlyTrkQuals=cms.bool(True)
165  )
166 
167 # sequence
168 iterativeMixedTripletStep = cms.Sequence(iterativeMixedTripletStepSeeds+
169  iterativeMixedTripletStepCandidates+
170  iterativeMixedTripletStepTracks+
171  mixedTripletStepTracks+
172  mixedTripletStepSelector+
173  mixedTripletStep)
174