00001 import FWCore.ParameterSet.Config as cms
00002
00003
00004
00005
00006
00007 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
00008 iterativeMixedTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone()
00009 iterativeMixedTripletStepSeeds.firstHitSubDetectorNumber = [2]
00010
00011 iterativeMixedTripletStepSeeds.firstHitSubDetectors = [1, 2]
00012 iterativeMixedTripletStepSeeds.secondHitSubDetectorNumber = [3]
00013 iterativeMixedTripletStepSeeds.secondHitSubDetectors = [1, 2, 6]
00014 iterativeMixedTripletStepSeeds.thirdHitSubDetectorNumber = [0]
00015 iterativeMixedTripletStepSeeds.thirdHitSubDetectors = []
00016 iterativeMixedTripletStepSeeds.seedingAlgo = ['MixedTriplets']
00017 iterativeMixedTripletStepSeeds.minRecHits = [3]
00018 iterativeMixedTripletStepSeeds.pTMin = [0.15]
00019 iterativeMixedTripletStepSeeds.maxD0 = [10.]
00020 iterativeMixedTripletStepSeeds.maxZ0 = [30.]
00021 iterativeMixedTripletStepSeeds.numberOfHits = [2]
00022 iterativeMixedTripletStepSeeds.originRadius = [2.0]
00023 iterativeMixedTripletStepSeeds.originHalfLength = [10.0]
00024 iterativeMixedTripletStepSeeds.originpTMin = [0.35]
00025 iterativeMixedTripletStepSeeds.zVertexConstraint = [-1.0]
00026 iterativeMixedTripletStepSeeds.primaryVertices = ['none']
00027
00028
00029
00030
00031 import FastSimulation.Tracking.TrackCandidateProducer_cfi
00032 iterativeMixedTripletStepCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone()
00033 iterativeMixedTripletStepCandidates.SeedProducer = cms.InputTag("iterativeMixedTripletStepSeeds","MixedTriplets")
00034 iterativeMixedTripletStepCandidates.TrackProducers = ['pixelPairStepTracks', 'detachedTripletStepTracks']
00035 iterativeMixedTripletStepCandidates.KeepFittedTracks = False
00036 iterativeMixedTripletStepCandidates.MinNumberOfCrossedLayers = 3
00037
00038
00039
00040
00041 import RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi
00042 iterativeMixedTripletStepTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cfi.ctfWithMaterialTracks.clone()
00043 iterativeMixedTripletStepTracks.src = 'iterativeMixedTripletStepCandidates'
00044 iterativeMixedTripletStepTracks.TTRHBuilder = 'WithoutRefit'
00045
00046 iterativeMixedTripletStepTracks.Fitter = 'KFFittingSmootherThird'
00047 iterativeMixedTripletStepTracks.Propagator = 'PropagatorWithMaterial'
00048
00049
00050
00051 mixedTripletStepTracks = cms.EDProducer("FastTrackMerger",
00052 TrackProducers = cms.VInputTag(cms.InputTag("iterativeMixedTripletStepCandidates"),
00053 cms.InputTag("iterativeMixedTripletStepTracks")),
00054 RemoveTrackProducers = cms.untracked.VInputTag(cms.InputTag("initialStepTracks"),
00055 cms.InputTag("lowPtTripletStepTracks"),
00056 cms.InputTag("pixelPairStepTracks"),
00057 cms.InputTag("detachedTripletStepTracks")),
00058 trackAlgo = cms.untracked.uint32(8),
00059 MinNumberOfTrajHits = cms.untracked.uint32(4),
00060 MaxLostTrajHits = cms.untracked.uint32(0)
00061 )
00062
00063
00064 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00065 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
00066 src='mixedTripletStepTracks',
00067 trackSelectors= cms.VPSet(
00068 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00069 name = 'mixedTripletStepVtxLoose',
00070 chi2n_par = 1.2,
00071 res_par = ( 0.003, 0.001 ),
00072 minNumberLayers = 3,
00073 maxNumberLostLayers = 1,
00074 minNumber3DLayers = 2,
00075 d0_par1 = ( 1.2, 3.0 ),
00076 dz_par1 = ( 1.2, 3.0 ),
00077 d0_par2 = ( 1.3, 3.0 ),
00078 dz_par2 = ( 1.3, 3.0 )
00079 ),
00080 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00081 name = 'mixedTripletStepTrkLoose',
00082 chi2n_par = 0.6,
00083 res_par = ( 0.003, 0.001 ),
00084 minNumberLayers = 4,
00085 maxNumberLostLayers = 1,
00086 minNumber3DLayers = 3,
00087 d0_par1 = ( 1.2, 4.0 ),
00088 dz_par1 = ( 1.2, 4.0 ),
00089 d0_par2 = ( 1.2, 4.0 ),
00090 dz_par2 = ( 1.2, 4.0 )
00091 ),
00092 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00093 name = 'mixedTripletStepVtxTight',
00094 preFilterName = 'mixedTripletStepVtxLoose',
00095 chi2n_par = 0.6,
00096 res_par = ( 0.003, 0.001 ),
00097 minNumberLayers = 3,
00098 maxNumberLostLayers = 1,
00099 minNumber3DLayers = 3,
00100 d0_par1 = ( 1.1, 3.0 ),
00101 dz_par1 = ( 1.1, 3.0 ),
00102 d0_par2 = ( 1.2, 3.0 ),
00103 dz_par2 = ( 1.2, 3.0 )
00104 ),
00105 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00106 name = 'mixedTripletStepTrkTight',
00107 preFilterName = 'mixedTripletStepTrkLoose',
00108 chi2n_par = 0.4,
00109 res_par = ( 0.003, 0.001 ),
00110 minNumberLayers = 5,
00111 maxNumberLostLayers = 1,
00112 minNumber3DLayers = 4,
00113 d0_par1 = ( 1.1, 4.0 ),
00114 dz_par1 = ( 1.1, 4.0 ),
00115 d0_par2 = ( 1.1, 4.0 ),
00116 dz_par2 = ( 1.1, 4.0 )
00117 ),
00118 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00119 name = 'mixedTripletStepVtx',
00120 preFilterName = 'mixedTripletStepVtxTight',
00121 chi2n_par = 0.4,
00122 res_par = ( 0.003, 0.001 ),
00123 minNumberLayers = 3,
00124 maxNumberLostLayers = 1,
00125 minNumber3DLayers = 3,
00126 d0_par1 = ( 1.1, 3.0 ),
00127 dz_par1 = ( 1.1, 3.0 ),
00128 d0_par2 = ( 1.2, 3.0 ),
00129 dz_par2 = ( 1.2, 3.0 )
00130 ),
00131 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00132 name = 'mixedTripletStepTrk',
00133 preFilterName = 'mixedTripletStepTrkTight',
00134 chi2n_par = 0.3,
00135 res_par = ( 0.003, 0.001 ),
00136 minNumberLayers = 5,
00137 maxNumberLostLayers = 0,
00138 minNumber3DLayers = 4,
00139 d0_par1 = ( 0.9, 4.0 ),
00140 dz_par1 = ( 0.9, 4.0 ),
00141 d0_par2 = ( 0.9, 4.0 ),
00142 dz_par2 = ( 0.9, 4.0 )
00143 )
00144 )
00145 )
00146
00147 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
00148 mixedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
00149 TrackProducers = cms.VInputTag(cms.InputTag('mixedTripletStepTracks'),
00150 cms.InputTag('mixedTripletStepTracks')),
00151 hasSelector=cms.vint32(1,1),
00152 selectedTrackQuals = cms.VInputTag(cms.InputTag("mixedTripletStepSelector","mixedTripletStepVtx"),
00153 cms.InputTag("mixedTripletStepSelector","mixedTripletStepTrk")),
00154 setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
00155 writeOnlyTrkQuals=cms.bool(True)
00156 )
00157
00158
00159 iterativeMixedTripletStep = cms.Sequence(iterativeMixedTripletStepSeeds+
00160 iterativeMixedTripletStepCandidates+
00161 iterativeMixedTripletStepTracks+
00162 mixedTripletStepTracks+
00163 mixedTripletStepSelector+
00164 mixedTripletStep)
00165