00001 import FWCore.ParameterSet.Config as cms
00002
00003
00004
00005
00006
00007
00008
00009 detachedTripletStepClusters = cms.EDProducer("TrackClusterRemover",
00010 clusterLessSolution = cms.bool(True),
00011 oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
00012 trajectories = cms.InputTag("pixelPairStepTracks"),
00013 overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep'),
00014 TrackQuality = cms.string('highPurity'),
00015 minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
00016 pixelClusters = cms.InputTag("siPixelClusters"),
00017 stripClusters = cms.InputTag("siStripClusters"),
00018 Common = cms.PSet(
00019 maxChi2 = cms.double(9.0)
00020 )
00021 )
00022
00023
00024 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
00025 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone(
00026 ComponentName = 'detachedTripletStepSeedLayers'
00027 )
00028 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
00029 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
00030
00031
00032 from RecoPixelVertexing.PixelTriplets.PixelTripletLargeTipGenerator_cfi import *
00033 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
00034 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
00035 import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff
00036 detachedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
00037 detachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'detachedTripletStepSeedLayers'
00038 detachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
00039 detachedTripletStepSeeds.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
00040 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.3
00041 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
00042 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.5
00043
00044 detachedTripletStepSeeds.SeedComparitorPSet = cms.PSet(
00045 ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
00046 FilterAtHelixStage = cms.bool(False),
00047 FilterPixelHits = cms.bool(True),
00048 FilterStripHits = cms.bool(False),
00049 ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
00050 )
00051
00052
00053 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00054 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00055 ComponentName = 'detachedTripletStepTrajectoryFilter',
00056 filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00057 maxLostHitsFraction = cms.double(1./10.),
00058 constantValueForLostHitsFractionFilter = cms.double(0.701),
00059 minimumNumberOfHits = 3,
00060 minPt = 0.075
00061 )
00062 )
00063
00064 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
00065 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
00066 ComponentName = cms.string('detachedTripletStepChi2Est'),
00067 nSigma = cms.double(3.0),
00068 MaxChi2 = cms.double(9.0)
00069 )
00070
00071
00072 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00073 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00074 ComponentName = 'detachedTripletStepTrajectoryBuilder',
00075 MeasurementTrackerName = '',
00076 trajectoryFilterName = 'detachedTripletStepTrajectoryFilter',
00077 clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
00078 maxCand = 2,
00079 alwaysUseInvalidHits = False,
00080 estimator = cms.string('detachedTripletStepChi2Est'),
00081 maxDPhiForLooperReconstruction = cms.double(2.0),
00082 maxPtForLooperReconstruction = cms.double(0.7)
00083 )
00084
00085
00086 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00087 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00088 src = cms.InputTag('detachedTripletStepSeeds'),
00089
00090 numHitsForSeedCleaner = cms.int32(50),
00091 onlyPixelHitsForSeedCleaner = cms.bool(True),
00092
00093 TrajectoryBuilder = 'detachedTripletStepTrajectoryBuilder',
00094 doSeedingRegionRebuilding = True,
00095 useHitsSplitting = True
00096 )
00097
00098
00099 import RecoTracker.TrackProducer.TrackProducer_cfi
00100 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00101 AlgorithmName = cms.string('iter3'),
00102 src = 'detachedTripletStepTrackCandidates',
00103 Fitter = cms.string('FlexibleKFFittingSmoother')
00104 )
00105
00106
00107
00108
00109 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00110 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
00111 src='detachedTripletStepTracks',
00112 trackSelectors= cms.VPSet(
00113 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00114 name = 'detachedTripletStepVtxLoose',
00115 chi2n_par = 1.6,
00116 res_par = ( 0.003, 0.001 ),
00117 minNumberLayers = 3,
00118 d0_par1 = ( 1.2, 3.0 ),
00119 dz_par1 = ( 1.2, 3.0 ),
00120 d0_par2 = ( 1.3, 3.0 ),
00121 dz_par2 = ( 1.3, 3.0 )
00122 ),
00123 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00124 name = 'detachedTripletStepTrkLoose',
00125 chi2n_par = 0.7,
00126 res_par = ( 0.003, 0.001 ),
00127 minNumberLayers = 3,
00128 d0_par1 = ( 1.6, 4.0 ),
00129 dz_par1 = ( 1.6, 4.0 ),
00130 d0_par2 = ( 1.6, 4.0 ),
00131 dz_par2 = ( 1.6, 4.0 )
00132 ),
00133 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00134 name = 'detachedTripletStepVtxTight',
00135 preFilterName = 'detachedTripletStepVtxLoose',
00136 chi2n_par = 0.7,
00137 res_par = ( 0.003, 0.001 ),
00138 minNumberLayers = 3,
00139 maxNumberLostLayers = 1,
00140 minNumber3DLayers = 3,
00141 d0_par1 = ( 0.95, 3.0 ),
00142 dz_par1 = ( 0.9, 3.0 ),
00143 d0_par2 = ( 1.0, 3.0 ),
00144 dz_par2 = ( 1.0, 3.0 )
00145 ),
00146 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00147 name = 'detachedTripletStepTrkTight',
00148 preFilterName = 'detachedTripletStepTrkLoose',
00149 chi2n_par = 0.5,
00150 res_par = ( 0.003, 0.001 ),
00151 minNumberLayers = 5,
00152 maxNumberLostLayers = 1,
00153 minNumber3DLayers = 3,
00154 d0_par1 = ( 1.1, 4.0 ),
00155 dz_par1 = ( 1.1, 4.0 ),
00156 d0_par2 = ( 1.1, 4.0 ),
00157 dz_par2 = ( 1.1, 4.0 )
00158 ),
00159 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00160 name = 'detachedTripletStepVtx',
00161 preFilterName = 'detachedTripletStepVtxTight',
00162 chi2n_par = 0.7,
00163 res_par = ( 0.003, 0.001 ),
00164 minNumberLayers = 3,
00165 maxNumberLostLayers = 1,
00166 minNumber3DLayers = 3,
00167 d0_par1 = ( 0.85, 3.0 ),
00168 dz_par1 = ( 0.8, 3.0 ),
00169 d0_par2 = ( 0.9, 3.0 ),
00170 dz_par2 = ( 0.9, 3.0 )
00171 ),
00172 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00173 name = 'detachedTripletStepTrk',
00174 preFilterName = 'detachedTripletStepTrkTight',
00175 chi2n_par = 0.4,
00176 res_par = ( 0.003, 0.001 ),
00177 minNumberLayers = 5,
00178 maxNumberLostLayers = 1,
00179 minNumber3DLayers = 4,
00180 d0_par1 = ( 1.0, 4.0 ),
00181 dz_par1 = ( 1.0, 4.0 ),
00182 d0_par2 = ( 1.0, 4.0 ),
00183 dz_par2 = ( 1.0, 4.0 )
00184 )
00185 )
00186 )
00187
00188
00189 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
00190 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
00191 TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
00192 cms.InputTag('detachedTripletStepTracks')),
00193 hasSelector=cms.vint32(1,1),
00194 selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
00195 cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
00196 setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
00197 writeOnlyTrkQuals=cms.bool(True)
00198 )
00199
00200 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
00201 detachedTripletStepSeeds*
00202 detachedTripletStepTrackCandidates*
00203 detachedTripletStepTracks*
00204 detachedTripletStepSelector*
00205 detachedTripletStep)