CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IterativeInitialStep_cff.py
Go to the documentation of this file.
2 
3 ### STEP 0 ###
4 
5 # seeding layers
6 #import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
7 #initialLayerList = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone(
8 # ComponentName = 'initialLayerList'
9 # )
10 
11 # seeding
13 iterativeInitialSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone()
14 iterativeInitialSeeds.firstHitSubDetectorNumber = [1]
15 iterativeInitialSeeds.firstHitSubDetectors = [1]
16 iterativeInitialSeeds.secondHitSubDetectorNumber = [2]
17 iterativeInitialSeeds.secondHitSubDetectors = [1, 2]
18 iterativeInitialSeeds.thirdHitSubDetectorNumber = [2]
19 iterativeInitialSeeds.thirdHitSubDetectors = [1, 2]
20 iterativeInitialSeeds.seedingAlgo = ['InitialPixelTriplets']
21 iterativeInitialSeeds.minRecHits = [3]
22 iterativeInitialSeeds.pTMin = [0.3]
23 iterativeInitialSeeds.maxD0 = [1.]
24 iterativeInitialSeeds.maxZ0 = [30.]
25 iterativeInitialSeeds.numberOfHits = [3]
26 iterativeInitialSeeds.originRadius = [1.0] # note: standard tracking uses 0.03, but this value gives a much better agreement in rate and shape for iter0
27 iterativeInitialSeeds.originHalfLength = [15.9]
28 iterativeInitialSeeds.originpTMin = [0.6]
29 iterativeInitialSeeds.zVertexConstraint = [-1.0]
30 iterativeInitialSeeds.primaryVertices = ['none']
31 # new (AG)
32 iterativeInitialSeeds.newSyntax = False
33 iterativeInitialSeeds.layerList = ['BPix1+BPix2+BPix3',
34  'BPix1+BPix2+FPix1_pos',
35  'BPix1+BPix2+FPix1_neg',
36  'BPix1+FPix1_pos+FPix2_pos',
37  'BPix1+FPix1_neg+FPix2_neg']
38 
39 # candidate producer
41 iterativeInitialTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone()
42 iterativeInitialTrackCandidates.SeedProducer = cms.InputTag("iterativeInitialSeeds","InitialPixelTriplets")
43 #iterativeInitialTrackCandidates.TrackProducers = ['globalPixelWithMaterialTracks'] # why was it needed? I removed it (see line below) in order to solve a cyclic dependence issue that was troubling unscheduled execution, and I found no difference at all.
44 iterativeInitialTrackCandidates.TrackProducers = []
45 iterativeInitialTrackCandidates.MinNumberOfCrossedLayers = 3
46 
47 # track producer
49 iterativeInitialTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone()
50 iterativeInitialTracks.src = 'iterativeInitialTrackCandidates'
51 iterativeInitialTracks.TTRHBuilder = 'WithoutRefit'
52 iterativeInitialTracks.Fitter = 'KFFittingSmootherWithOutlierRejection'
53 iterativeInitialTracks.Propagator = 'PropagatorWithMaterial'
54 
55 # track merger
56 initialStepTracks = cms.EDProducer("FastTrackMerger",
57  TrackProducers = cms.VInputTag(cms.InputTag("iterativeInitialTrackCandidates"),
58  cms.InputTag("iterativeInitialTracks")),
59  trackAlgo = cms.untracked.uint32(4) # iter0
60  )
61 
62 # Final selection
63 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
64 initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
65  src='initialStepTracks',
66  trackSelectors= cms.VPSet(
67  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
68  name = 'initialStepLoose',
69  ), #end of pset
70  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
71  name = 'initialStepTight',
72  preFilterName = 'initialStepLoose',
73  ),
74  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
75  name = 'initialStep',
76  preFilterName = 'initialStepTight',
77  ),
78  ) #end of vpset
79  ) #end of clone
80 
81 
82 # Final sequence
83 iterativeInitialStep = cms.Sequence(iterativeInitialSeeds
84  +iterativeInitialTrackCandidates
85  +iterativeInitialTracks
86  +initialStepTracks
87  +initialStepSelector)
88 
89