CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IterativePixelLessStep_cff.py
Go to the documentation of this file.
2 
3 # step 4
4 
5 # seeding
6 #from FastSimulation.Tracking.IterativeFourthSeedProducer_cff import *
8 iterativePixelLessSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone()
9 iterativePixelLessSeeds.firstHitSubDetectorNumber = [3]
10 iterativePixelLessSeeds.firstHitSubDetectors = [3, 4, 6]
11 iterativePixelLessSeeds.secondHitSubDetectorNumber = [3]
12 iterativePixelLessSeeds.secondHitSubDetectors = [3, 4, 6]
13 iterativePixelLessSeeds.thirdHitSubDetectorNumber = [0]
14 iterativePixelLessSeeds.thirdHitSubDetectors = []
15 iterativePixelLessSeeds.seedingAlgo = ['PixelLessPairs']
16 ###iterativePixelLessSeeds.minRecHits = [5]
17 iterativePixelLessSeeds.minRecHits = [3]
18 iterativePixelLessSeeds.pTMin = [0.3]
19 #cut on fastsim simtracks. I think it should be removed for the 4th step
20 #iterativePixelLessSeeds.maxD0 = [20.]
21 #iterativePixelLessSeeds.maxZ0 = [50.]
22 iterativePixelLessSeeds.maxD0 = [99.]
23 iterativePixelLessSeeds.maxZ0 = [99.]
24 #-----
25 iterativePixelLessSeeds.numberOfHits = [2]
26 #values for the seed compatibility constraint
27 iterativePixelLessSeeds.originRadius = [2.0]
28 iterativePixelLessSeeds.originHalfLength = [10.0]
29 iterativePixelLessSeeds.originpTMin = [0.6] # was 0.5
30 iterativePixelLessSeeds.zVertexConstraint = [-1.0]
31 iterativePixelLessSeeds.primaryVertices = ['none']
32 
33 # candidate producer
34 #from FastSimulation.Tracking.IterativeFourthCandidateProducer_cff import *
36 iterativePixelLessTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone()
37 iterativePixelLessTrackCandidates.SeedProducer = cms.InputTag("iterativePixelLessSeeds","PixelLessPairs")
38 iterativePixelLessTrackCandidates.TrackProducers = ['initialStepTracks', 'lowPtTripletStepTracks', 'pixelPairStepTracks', 'detachedTripletStepTracks','mixedTripletStepTracks'] # add 0 and 0.5 ?
39 iterativePixelLessTrackCandidates.KeepFittedTracks = False
40 iterativePixelLessTrackCandidates.MinNumberOfCrossedLayers = 6 # was 5
41 
42 
43 # track producer
44 #from FastSimulation.Tracking.IterativeFourthTrackProducer_cff import *
46 iterativePixelLessTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone()
47 iterativePixelLessTracks.src = 'iterativePixelLessTrackCandidates'
48 iterativePixelLessTracks.TTRHBuilder = 'WithoutRefit'
49 ##iterativePixelLessTracks.Fitter = 'KFFittingSmootherWithOutlierRejection'
50 iterativePixelLessTracks.Fitter = 'KFFittingSmootherFourth'
51 iterativePixelLessTracks.Propagator = 'PropagatorWithMaterial'
52 
53 
54 # track merger
55 #from FastSimulation.Tracking.IterativeFourthTrackMerger_cfi import *
56 pixelLessStepTracks = cms.EDProducer("FastTrackMerger",
57  TrackProducers = cms.VInputTag(cms.InputTag("iterativePixelLessTrackCandidates"),
58  cms.InputTag("iterativePixelLessTracks")),
59  RemoveTrackProducers = cms.untracked.VInputTag(cms.InputTag("initialStepTracksr"),
60  cms.InputTag("lowPtTripletStepTracks"),
61  cms.InputTag("pixelPairStepTracks"),
62  cms.InputTag("detachedTripletStepTracks"),
63  cms.InputTag("mixedTripletStepTracks")),
64  trackAlgo = cms.untracked.uint32(9),
65  MinNumberOfTrajHits = cms.untracked.uint32(6), # was 5
66  MaxLostTrajHits = cms.untracked.uint32(0)
67  )
68 
69 # track selection
70 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
71 pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
72  src='pixelLessStepTracks',
73  trackSelectors= cms.VPSet(
74  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
75  name = 'pixelLessStepLoose',
76  chi2n_par = 0.5,
77  res_par = ( 0.003, 0.001 ),
78  minNumberLayers = 5,
79  maxNumberLostLayers = 1,
80  minNumber3DLayers = 3,
81  d0_par1 = ( 1.5, 4.0 ),
82  dz_par1 = ( 1.5, 4.0 ),
83  d0_par2 = ( 1.5, 4.0 ),
84  dz_par2 = ( 1.5, 4.0 )
85  ),
86  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
87  name = 'pixelLessStepTight',
88  preFilterName = 'pixelLessStepLoose',
89  chi2n_par = 0.35,
90  res_par = ( 0.003, 0.001 ),
91  minNumberLayers = 5,
92  maxNumberLostLayers = 0,
93  minNumber3DLayers = 3,
94  d0_par1 = ( 1.2, 4.0 ),
95  dz_par1 = ( 1.2, 4.0 ),
96  d0_par2 = ( 1.2, 4.0 ),
97  dz_par2 = ( 1.2, 4.0 )
98  ),
99  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
100  name = 'pixelLessStep',
101  preFilterName = 'pixelLessStepTight',
102  chi2n_par = 0.25,
103  res_par = ( 0.003, 0.001 ),
104  minNumberLayers = 5,
105  maxNumberLostLayers = 0,
106  minNumber3DLayers = 3,
107  d0_par1 = ( 1., 4.0 ),
108  dz_par1 = ( 1., 4.0 ),
109  d0_par2 = ( 1., 4.0 ),
110  dz_par2 = ( 1., 4.0 )
111  ),
112  ) #end of vpset
113  ) #end of clone
114 
115 
116 # sequence
117 iterativePixelLessStep = cms.Sequence(iterativePixelLessSeeds+
118  iterativePixelLessTrackCandidates+
119  iterativePixelLessTracks+
120  pixelLessStepTracks+
121  pixelLessStepSelector)
122