CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IterativeDetachedTripletStep_cff.py
Go to the documentation of this file.
2 
3 # step 2
4 
5 # seeding
6 #from FastSimulation.Tracking.IterativeSecondSeedProducer_cff import *
8 iterativeDetachedTripletSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone()
9 iterativeDetachedTripletSeeds.firstHitSubDetectorNumber = [1]
10 iterativeDetachedTripletSeeds.firstHitSubDetectors = [1]
11 iterativeDetachedTripletSeeds.secondHitSubDetectorNumber = [2]
12 iterativeDetachedTripletSeeds.secondHitSubDetectors = [1, 2]
13 iterativeDetachedTripletSeeds.thirdHitSubDetectorNumber = [2]
14 iterativeDetachedTripletSeeds.thirdHitSubDetectors = [1, 2]
15 iterativeDetachedTripletSeeds.seedingAlgo = ['DetachedPixelTriplets']
16 iterativeDetachedTripletSeeds.minRecHits = [3]
17 iterativeDetachedTripletSeeds.pTMin = [0.1]
18 iterativeDetachedTripletSeeds.maxD0 = [5.]
19 iterativeDetachedTripletSeeds.maxZ0 = [50.]
20 iterativeDetachedTripletSeeds.numberOfHits = [3]
21 iterativeDetachedTripletSeeds.originRadius = [1.0] # was 0.2 cm
22 iterativeDetachedTripletSeeds.originHalfLength = [17.5] # ?
23 iterativeDetachedTripletSeeds.originpTMin = [0.2] # was 0.075 GeV
24 iterativeDetachedTripletSeeds.zVertexConstraint = [-1.0]
25 iterativeDetachedTripletSeeds.primaryVertices = ['none']
26 
27 # candidate producer
28 #from FastSimulation.Tracking.IterativeSecondCandidateProducer_cff import *
30 iterativeDetachedTripletTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone()
31 iterativeDetachedTripletTrackCandidates.SeedProducer = cms.InputTag("iterativeDetachedTripletSeeds","DetachedPixelTriplets")
32 iterativeDetachedTripletTrackCandidates.TrackProducers = ['pixelPairStepTracks']
33 iterativeDetachedTripletTrackCandidates.KeepFittedTracks = False
34 iterativeDetachedTripletTrackCandidates.MinNumberOfCrossedLayers = 3
35 
36 # track producer
37 #from FastSimulation.Tracking.IterativeSecondTrackProducer_cff import *
39 iterativeDetachedTripletTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone()
40 iterativeDetachedTripletTracks.src = 'iterativeDetachedTripletTrackCandidates'
41 iterativeDetachedTripletTracks.TTRHBuilder = 'WithoutRefit'
42 iterativeDetachedTripletTracks.Fitter = 'KFFittingSmootherSecond'
43 iterativeDetachedTripletTracks.Propagator = 'PropagatorWithMaterial'
44 
45 # track merger
46 #from FastSimulation.Tracking.IterativeSecondTrackMerger_cfi import *
47 detachedTripletStepTracks = cms.EDProducer("FastTrackMerger",
48  TrackProducers = cms.VInputTag(cms.InputTag("iterativeDetachedTripletTrackCandidates"),
49  cms.InputTag("iterativeDetachedTripletTracks")),
50  RemoveTrackProducers = cms.untracked.VInputTag(cms.InputTag("initialStepTracks"),
51  cms.InputTag("lowPtTripletStepTracks"),
52  cms.InputTag("pixelPairStepTracks")),
53  trackAlgo = cms.untracked.uint32(7), # iter3
54  MinNumberOfTrajHits = cms.untracked.uint32(3),
55  MaxLostTrajHits = cms.untracked.uint32(1)
56  )
57 
58 # TRACK SELECTION AND QUALITY FLAG SETTING.
59 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
60 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
61  src='detachedTripletStepTracks',
62  trackSelectors= cms.VPSet(
63  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
64  name = 'detachedTripletStepVtxLoose',
65  chi2n_par = 1.6,
66  res_par = ( 0.003, 0.001 ),
67  minNumberLayers = 3,
68  d0_par1 = ( 1.2, 3.0 ),
69  dz_par1 = ( 1.2, 3.0 ),
70  d0_par2 = ( 1.3, 3.0 ),
71  dz_par2 = ( 1.3, 3.0 )
72  ),
73  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
74  name = 'detachedTripletStepTrkLoose',
75  chi2n_par = 0.7,
76  res_par = ( 0.003, 0.001 ),
77  minNumberLayers = 3,
78  d0_par1 = ( 1.6, 4.0 ),
79  dz_par1 = ( 1.6, 4.0 ),
80  d0_par2 = ( 1.6, 4.0 ),
81  dz_par2 = ( 1.6, 4.0 )
82  ),
83  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
84  name = 'detachedTripletStepVtxTight',
85  preFilterName = 'detachedTripletStepVtxLoose',
86  chi2n_par = 0.7,
87  res_par = ( 0.003, 0.001 ),
88  minNumberLayers = 3,
89  maxNumberLostLayers = 1,
90  minNumber3DLayers = 3,
91  d0_par1 = ( 0.95, 3.0 ),
92  dz_par1 = ( 0.9, 3.0 ),
93  d0_par2 = ( 1.0, 3.0 ),
94  dz_par2 = ( 1.0, 3.0 )
95  ),
96  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
97  name = 'detachedTripletStepTrkTight',
98  preFilterName = 'detachedTripletStepTrkLoose',
99  chi2n_par = 0.5,
100  res_par = ( 0.003, 0.001 ),
101  minNumberLayers = 5,
102  maxNumberLostLayers = 1,
103  minNumber3DLayers = 3,
104  d0_par1 = ( 1.1, 4.0 ),
105  dz_par1 = ( 1.1, 4.0 ),
106  d0_par2 = ( 1.1, 4.0 ),
107  dz_par2 = ( 1.1, 4.0 )
108  ),
109  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
110  name = 'detachedTripletStepVtx',
111  preFilterName = 'detachedTripletStepVtxTight',
112  chi2n_par = 0.7,
113  res_par = ( 0.003, 0.001 ),
114  minNumberLayers = 3,
115  maxNumberLostLayers = 1,
116  minNumber3DLayers = 3,
117  d0_par1 = ( 0.85, 3.0 ),
118  dz_par1 = ( 0.8, 3.0 ),
119  d0_par2 = ( 0.9, 3.0 ),
120  dz_par2 = ( 0.9, 3.0 )
121  ),
122  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
123  name = 'detachedTripletStepTrk',
124  preFilterName = 'detachedTripletStepTrkTight',
125  chi2n_par = 0.4,
126  res_par = ( 0.003, 0.001 ),
127  minNumberLayers = 5,
128  maxNumberLostLayers = 1,
129  minNumber3DLayers = 3,
130  d0_par1 = ( 1.0, 4.0 ),
131  dz_par1 = ( 1.0, 4.0 ),
132  d0_par2 = ( 1.0, 4.0 ),
133  dz_par2 = ( 1.0, 4.0 )
134  )
135  ) #end of vpset
136  ) #end of clone
137 
138 
139 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
140 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
141  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
142  cms.InputTag('detachedTripletStepTracks')),
143  hasSelector=cms.vint32(1,1),
144  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
145  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
146  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
147  writeOnlyTrkQuals=cms.bool(True)
148  )
149 
150 
151 
152 # sequence
153 iterativeDetachedTripletStep = cms.Sequence(iterativeDetachedTripletSeeds+
154  iterativeDetachedTripletTrackCandidates+
155  iterativeDetachedTripletTracks+
156  detachedTripletStepTracks+
157  detachedTripletStepSelector+
158  detachedTripletStep)