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.3]
18 iterativeDetachedTripletSeeds.maxD0 = [30.] # it was 5.
19 iterativeDetachedTripletSeeds.maxZ0 = [50.]
20 iterativeDetachedTripletSeeds.numberOfHits = [3]
21 iterativeDetachedTripletSeeds.originRadius = [1.5]
22 iterativeDetachedTripletSeeds.originHalfLength = [15.]
23 iterativeDetachedTripletSeeds.originpTMin = [0.075]
24 iterativeDetachedTripletSeeds.zVertexConstraint = [-1.0]
25 iterativeDetachedTripletSeeds.primaryVertices = ['none']
26 
27 iterativeDetachedTripletSeeds.newSyntax = True
28 #iterativeDetachedTripletSeeds.layerList = ['BPix1+BPix2+BPix3',
29 # 'BPix1+BPix2+FPix1_pos',
30 # 'BPix1+BPix2+FPix1_neg',
31 # 'BPix1+FPix1_pos+FPix2_pos',
32 # 'BPix1+FPix1_neg+FPix2_neg']
33 from RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi import PixelLayerTriplets
34 iterativeDetachedTripletSeeds.layerList = PixelLayerTriplets.layerList
35 
36 # candidate producer
37 #from FastSimulation.Tracking.IterativeSecondCandidateProducer_cff import *
39 iterativeDetachedTripletTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone()
40 iterativeDetachedTripletTrackCandidates.SeedProducer = cms.InputTag("iterativeDetachedTripletSeeds","DetachedPixelTriplets")
41 iterativeDetachedTripletTrackCandidates.TrackProducers = ['pixelPairStepTracks']
42 iterativeDetachedTripletTrackCandidates.KeepFittedTracks = False
43 iterativeDetachedTripletTrackCandidates.MinNumberOfCrossedLayers = 3
44 
45 # track producer
46 #from FastSimulation.Tracking.IterativeSecondTrackProducer_cff import *
48 iterativeDetachedTripletTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone()
49 iterativeDetachedTripletTracks.src = 'iterativeDetachedTripletTrackCandidates'
50 iterativeDetachedTripletTracks.TTRHBuilder = 'WithoutRefit'
51 iterativeDetachedTripletTracks.Fitter = 'KFFittingSmootherSecond'
52 iterativeDetachedTripletTracks.Propagator = 'PropagatorWithMaterial'
53 
54 # track merger
55 #from FastSimulation.Tracking.IterativeSecondTrackMerger_cfi import *
56 detachedTripletStepTracks = cms.EDProducer("FastTrackMerger",
57  TrackProducers = cms.VInputTag(cms.InputTag("iterativeDetachedTripletTrackCandidates"),
58  cms.InputTag("iterativeDetachedTripletTracks")),
59  RemoveTrackProducers = cms.untracked.VInputTag(cms.InputTag("initialStepTracks"),
60  cms.InputTag("lowPtTripletStepTracks"),
61  cms.InputTag("pixelPairStepTracks")),
62  trackAlgo = cms.untracked.uint32(7), # iter3
63  MinNumberOfTrajHits = cms.untracked.uint32(3),
64  MaxLostTrajHits = cms.untracked.uint32(1)
65  )
66 
67 # TRACK SELECTION AND QUALITY FLAG SETTING.
68 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
69 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
70  src='detachedTripletStepTracks',
71  trackSelectors= cms.VPSet(
72  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
73  name = 'detachedTripletStepVtxLoose',
74  chi2n_par = 1.2,
75  res_par = ( 0.003, 0.001 ),
76  minNumberLayers = 3,
77  d0_par1 = ( 1.1, 3.0 ),
78  dz_par1 = ( 1.1, 3.0 ),
79  d0_par2 = ( 1.2, 3.0 ),
80  dz_par2 = ( 1.2, 3.0 )
81  ),
82  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
83  name = 'detachedTripletStepTrkLoose',
84  chi2n_par = 0.7,
85  res_par = ( 0.003, 0.001 ),
86  minNumberLayers = 3,
87  d0_par1 = ( 1.4, 4.0 ),
88  dz_par1 = ( 1.4, 4.0 ),
89  d0_par2 = ( 1.4, 4.0 ),
90  dz_par2 = ( 1.4, 4.0 )
91  ),
92  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
93  name = 'detachedTripletStepVtxTight',
94  preFilterName = 'detachedTripletStepVtxLoose',
95  chi2n_par = 0.9,
96  res_par = ( 0.003, 0.001 ),
97  minNumberLayers = 3,
98  maxNumberLostLayers = 1,
99  minNumber3DLayers = 3,
100  d0_par1 = ( 0.95, 3.0 ),
101  dz_par1 = ( 0.9, 3.0 ),
102  d0_par2 = ( 1.0, 3.0 ),
103  dz_par2 = ( 1.0, 3.0 )
104  ),
105  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
106  name = 'detachedTripletStepTrkTight',
107  preFilterName = 'detachedTripletStepTrkLoose',
108  chi2n_par = 0.5,
109  res_par = ( 0.003, 0.001 ),
110  minNumberLayers = 5,
111  maxNumberLostLayers = 1,
112  minNumber3DLayers = 4,
113  d0_par1 = ( 1.1, 4.0 ),
114  dz_par1 = ( 1.1, 4.0 ),
115  d0_par2 = ( 1.1, 4.0 ),
116  dz_par2 = ( 1.1, 4.0 )
117  ),
118  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
119  name = 'detachedTripletStepVtx',
120  preFilterName = 'detachedTripletStepVtxTight',
121  chi2n_par = 0.7,
122  res_par = ( 0.003, 0.001 ),
123  minNumberLayers = 3,
124  maxNumberLostLayers = 1,
125  minNumber3DLayers = 3,
126  d0_par1 = ( 0.85, 3.0 ),
127  dz_par1 = ( 0.8, 3.0 ),
128  d0_par2 = ( 0.9, 3.0 ),
129  dz_par2 = ( 0.9, 3.0 )
130  ),
131  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
132  name = 'detachedTripletStepTrk',
133  preFilterName = 'detachedTripletStepTrkTight',
134  chi2n_par = 0.3,
135  res_par = ( 0.003, 0.001 ),
136  minNumberLayers = 5,
137  maxNumberLostLayers = 0,
138  minNumber3DLayers = 4,
139  d0_par1 = ( 1.0, 4.0 ),
140  dz_par1 = ( 1.0, 4.0 ),
141  d0_par2 = ( 1.0, 4.0 ),
142  dz_par2 = ( 1.0, 4.0 )
143  )
144  ) #end of vpset
145  ) #end of clone
146 
147 
148 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
149 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
150  TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
151  cms.InputTag('detachedTripletStepTracks')),
152  hasSelector=cms.vint32(1,1),
153  selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
154  cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
155  setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
156  writeOnlyTrkQuals=cms.bool(True)
157  )
158 
159 
160 
161 # sequence
162 iterativeDetachedTripletStep = cms.Sequence(iterativeDetachedTripletSeeds+
163  iterativeDetachedTripletTrackCandidates+
164  iterativeDetachedTripletTracks+
165  detachedTripletStepTracks+
166  detachedTripletStepSelector+
167  detachedTripletStep)