CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/RecoTracker/IterativeTracking/python/TobTecStep_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 #######################################################################
00004 # Very large impact parameter tracking using TOB + TEC ring 5 seeding #
00005 #######################################################################
00006 
00007 tobTecStepClusters = cms.EDProducer("TrackClusterRemover",
00008     clusterLessSolution = cms.bool(True),
00009     oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters"),
00010     trajectories = cms.InputTag("pixelLessStepTracks"),
00011     overrideTrkQuals = cms.InputTag('pixelLessStepSelector','pixelLessStep'),
00012     TrackQuality = cms.string('highPurity'),
00013     pixelClusters = cms.InputTag("siPixelClusters"),
00014     stripClusters = cms.InputTag("siStripClusters"),
00015     Common = cms.PSet(
00016         maxChi2 = cms.double(9.0)
00017     )
00018 )
00019 
00020 # SEEDING LAYERS
00021 tobTecStepSeedLayers = cms.ESProducer("SeedingLayersESProducer",
00022     ComponentName = cms.string('tobTecStepSeedLayers'),
00023 
00024     layerList = cms.vstring('TOB1+TOB2', 
00025         'TOB1+TEC1_pos', 'TOB1+TEC1_neg', 
00026         'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos', 
00027         'TEC3_pos+TEC4_pos', 'TEC4_pos+TEC5_pos', 
00028         'TEC5_pos+TEC6_pos', 'TEC6_pos+TEC7_pos', 
00029         'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg', 
00030         'TEC3_neg+TEC4_neg', 'TEC4_neg+TEC5_neg', 
00031         'TEC5_neg+TEC6_neg', 'TEC6_neg+TEC7_neg'),
00032 
00033     TOB = cms.PSet(
00034         matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
00035         skipClusters = cms.InputTag('tobTecStepClusters'),
00036         TTRHBuilder = cms.string('WithTrackAngle')
00037     ),
00038 
00039     TEC = cms.PSet(
00040         matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
00041         skipClusters = cms.InputTag('tobTecStepClusters'),
00042         #    untracked bool useSimpleRphiHitsCleaner = false
00043         useRingSlector = cms.bool(True),
00044         TTRHBuilder = cms.string('WithTrackAngle'),
00045         minRing = cms.int32(5),
00046         maxRing = cms.int32(5)
00047     )
00048 )
00049 # SEEDS
00050 import RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff
00051 tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
00052 tobTecStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'tobTecStepSeedLayers'
00053 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00054 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 30.0
00055 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 6.0
00056    
00057 
00058 # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
00059 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00060 
00061 tobTecStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00062     ComponentName = 'tobTecStepTrajectoryFilter',
00063     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00064     maxLostHits = 0,
00065     minimumNumberOfHits = 6,
00066     minPt = 0.1,
00067     minHitsMinPt = 3
00068     )
00069     )
00070 
00071 tobTecStepInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00072     ComponentName = 'tobTecStepInOutTrajectoryFilter',
00073     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00074     maxLostHits = 0,
00075     minimumNumberOfHits = 4,
00076     minPt = 0.1,
00077     minHitsMinPt = 3
00078     )
00079     )
00080 
00081 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
00082 tobTecStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
00083     ComponentName = cms.string('tobTecStepChi2Est'),
00084     nSigma = cms.double(3.0),
00085     MaxChi2 = cms.double(16.0)
00086 )
00087 
00088 # TRACK BUILDING
00089 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00090 tobTecStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00091     ComponentName = 'tobTecStepTrajectoryBuilder',
00092     MeasurementTrackerName = '',
00093     clustersToSkip = cms.InputTag('tobTecStepClusters'),
00094     trajectoryFilterName = 'tobTecStepTrajectoryFilter',
00095     inOutTrajectoryFilterName = 'tobTecStepInOutTrajectoryFilter',
00096     useSameTrajFilter = False,
00097     minNrOfHitsForRebuild = 4,
00098     alwaysUseInvalidHits = False,
00099     maxCand = 2,
00100     estimator = cms.string('tobTecStepChi2Est')
00101     #startSeedHitsInRebuild = True
00102     )
00103 
00104 # MAKING OF TRACK CANDIDATES
00105 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00106 tobTecStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00107     src = cms.InputTag('tobTecStepSeeds'),
00108     TrajectoryBuilder = 'tobTecStepTrajectoryBuilder',
00109     doSeedingRegionRebuilding = True,
00110     useHitsSplitting = True,
00111     cleanTrajectoryAfterInOut = True
00112     )
00113 
00114 # TRACK FITTING AND SMOOTHING OPTIONS
00115 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
00116 tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
00117     ComponentName = 'tobTecStepFitterSmoother',
00118     EstimateCut = 30,
00119     MinNumberOfHits = 8,
00120     Fitter = cms.string('tobTecStepRKFitter'),
00121     Smoother = cms.string('tobTecStepRKSmoother')
00122     )
00123 
00124 # Also necessary to specify minimum number of hits after final track fit
00125 tobTecStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
00126     ComponentName = cms.string('tobTecStepRKFitter'),
00127     minHits = 8
00128     )
00129 tobTecStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
00130     ComponentName = cms.string('tobTecStepRKSmoother'),
00131     errorRescaling = 10.0,
00132     minHits = 8
00133     )
00134 
00135 # TRACK FITTING
00136 import RecoTracker.TrackProducer.TrackProducer_cfi
00137 tobTecStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00138     src = 'tobTecStepTrackCandidates',
00139     AlgorithmName = cms.string('iter6'),
00140     Fitter = 'tobTecStepFitterSmoother',
00141     )
00142 
00143 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00144 tobTecStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
00145     src='tobTecStepTracks',
00146     trackSelectors= cms.VPSet(
00147         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00148             name = 'tobTecStepLoose',
00149             chi2n_par = 0.4,
00150             res_par = ( 0.003, 0.001 ),
00151             minNumberLayers = 5,
00152             maxNumberLostLayers = 1,
00153             minNumber3DLayers = 2,
00154             d0_par1 = ( 2.0, 4.0 ),
00155             dz_par1 = ( 1.8, 4.0 ),
00156             d0_par2 = ( 2.0, 4.0 ),
00157             dz_par2 = ( 1.8, 4.0 )
00158             ),
00159         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00160             name = 'tobTecStepTight',
00161             preFilterName = 'tobTecStepLoose',
00162             chi2n_par = 0.3,
00163             res_par = ( 0.003, 0.001 ),
00164             minNumberLayers = 5,
00165             maxNumberLostLayers = 0,
00166             minNumber3DLayers = 2,
00167             d0_par1 = ( 1.5, 4.0 ),
00168             dz_par1 = ( 1.4, 4.0 ),
00169             d0_par2 = ( 1.5, 4.0 ),
00170             dz_par2 = ( 1.4, 4.0 )
00171             ),
00172         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00173             name = 'tobTecStep',
00174             preFilterName = 'tobTecStepTight',
00175             chi2n_par = 0.2,
00176             res_par = ( 0.003, 0.001 ),
00177             minNumberLayers = 5,
00178             maxNumberLostLayers = 0,
00179             minNumber3DLayers = 2,
00180             d0_par1 = ( 1.4, 4.0 ),
00181             dz_par1 = ( 1.3, 4.0 ),
00182             d0_par2 = ( 1.4, 4.0 ),
00183             dz_par2 = ( 1.3, 4.0 )
00184             ),
00185         ) #end of vpset
00186     ) #end of clone
00187 
00188 
00189 TobTecStep = cms.Sequence(tobTecStepClusters*
00190                           tobTecStepSeeds*
00191                           tobTecStepTrackCandidates*
00192                           tobTecStepTracks*
00193                           tobTecStepSelector)
00194