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