CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTracker/IterativeTracking/python/LargeD0_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: Iteration 5 using TOB + TEC ring 5 seeding
00005 #
00006 
00007 #HIT REMOVAL
00008 trkfilter5 = cms.EDProducer("QualityFilter",
00009     TrackQuality = cms.string('highPurity'),
00010 # Reject hits found in standard iterations                          
00011     recTracks = cms.InputTag("tobtecStep")
00012 # Reject hits found in all previous iterations                          
00013 #    recTracks = cms.InputTag("largeD0step4")
00014 )
00015 
00016 largeD0step5Clusters = cms.EDProducer("TrackClusterRemover",
00017     trajectories = cms.InputTag("trkfilter5"),
00018 
00019 # To run this step eliminating hits from standard iterations.
00020     oldClusterRemovalInfo = cms.InputTag("fifthClusters"),
00021     pixelClusters = cms.InputTag("fifthClusters"),
00022     stripClusters = cms.InputTag("fifthClusters"),
00023 
00024 # To run this step, eliminating hits from all previous iterations ...   
00025 #    oldClusterRemovalInfo = cms.InputTag("largeD0step4Clusters"),
00026 #    pixelClusters = cms.InputTag("largeD0step4Clusters"),
00027 #    stripClusters = cms.InputTag("largeD0step4Clusters"),
00028 
00029 # To run it, not eliminating any hits.
00030 #    trajectories = cms.InputTag("zeroStepFilter"),
00031 #    pixelClusters = cms.InputTag("siPixelClusters"),
00032 #    stripClusters = cms.InputTag("siStripClusters"),
00033                                      
00034     Common = cms.PSet(
00035        maxChi2 = cms.double(30.0)
00036 # To run it not eliminating any hits, you also need ...
00037 #       maxChi2 = cms.double(0.0)
00038     )
00039 )
00040 
00041 # Propagator taking into account momentum uncertainty in multiple
00042 # scattering calculation.
00043 #from TrackingTools.MaterialEffects.Propagators_PtMin09_cff import *
00044 
00045 #TRACKER HITS
00046 import RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi
00047 import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi
00048 largeD0step5PixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.SiPixelRecHits.clone(
00049     src = 'largeD0step5Clusters',
00050 )
00051 largeD0step5StripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
00052     ClusterProducer = 'largeD0step5Clusters',
00053 )
00054 #SEEDING LAYERS
00055 import RecoTracker.TkSeedingLayers.TobTecLayerPairs_cfi
00056 largeD0step5layerpairs = RecoTracker.TkSeedingLayers.TobTecLayerPairs_cfi.tobteclayerpairs.clone(
00057     ComponentName = 'largeD0step5LayerPairs',
00058 )
00059 largeD0step5layerpairs.TOB.matchedRecHits = 'largeD0step5StripRecHits:matchedRecHit'
00060 largeD0step5layerpairs.TEC.matchedRecHits = 'largeD0step5StripRecHits:matchedRecHit'
00061 
00062 #SEEDS
00063 from RecoTracker.TkSeedGenerator.GlobalPixelLessSeeds_cff import *
00064 largeD0step5Seeds = RecoTracker.TkSeedGenerator.GlobalPixelLessSeeds_cff.globalPixelLessSeeds.clone()
00065 largeD0step5Seeds.OrderedHitsFactoryPSet.SeedingLayers = 'largeD0step5LayerPairs'
00066 largeD0step5Seeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00067 largeD0step5Seeds.RegionFactoryPSet.RegionPSet.originRadius = 10.0
00068 largeD0step5Seeds.RegionFactoryPSet.RegionPSet.originHalfLength = 20.0
00069 #largeD0step5Seeds.SeedCreatorPSet.propagator = cms.string('PropagatorWithMaterialPtMin09')
00070 
00071 #TRAJECTORY MEASUREMENT
00072 import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
00073 largeD0step5MeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
00074     ComponentName = 'largeD0step5MeasurementTracker',
00075     pixelClusterProducer = 'largeD0step5Clusters',
00076     stripClusterProducer = 'largeD0step5Clusters',
00077 )
00078 #TRAJECTORY FILTERS (for inwards and outwards track building steps)
00079 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00080 
00081 largeD0step5CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00082     ComponentName = 'largeD0step5CkfTrajectoryFilter',
00083 )
00084 largeD0step5CkfTrajectoryFilter.filterPset.maxLostHits = 0
00085 #largeD0step5CkfTrajectoryFilter.filterPset.maxConsecLostHits = 2
00086 largeD0step5CkfTrajectoryFilter.filterPset.minimumNumberOfHits = 6
00087 largeD0step5CkfTrajectoryFilter.filterPset.minPt = 0.6
00088 largeD0step5CkfTrajectoryFilter.filterPset.minHitsMinPt = 3
00089 
00090 largeD0step5CkfInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00091     ComponentName = 'largeD0step5CkfInOutTrajectoryFilter'
00092     )
00093 largeD0step5CkfInOutTrajectoryFilter.filterPset.maxLostHits = 0
00094 #lar    largeD0step5CkfInOutTrajectoryFilter.filterPset.maxConsecLostHits = 2
00095 largeD0step5CkfInOutTrajectoryFilter.filterPset.minimumNumberOfHits = 4
00096 largeD0step5CkfInOutTrajectoryFilter.filterPset.minPt = 0.6
00097 largeD0step5CkfInOutTrajectoryFilter.filterPset.minHitsMinPt = 3
00098 
00099 #TRAJECTORY BUILDER
00100 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00101 largeD0step5CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00102     ComponentName = 'largeD0step5CkfTrajectoryBuilder',
00103     MeasurementTrackerName = 'largeD0step5MeasurementTracker',
00104     trajectoryFilterName = 'largeD0step5CkfTrajectoryFilter',
00105     inOutTrajectoryFilterName = 'largeD0step5CkfInOutTrajectoryFilter',
00106     useSameTrajFilter = False,
00107     minNrOfHitsForRebuild = 4,
00108     #lar    maxCand = 5,
00109     #lar    lostHitPenalty = 100.,
00110     #lar    alwaysUseInvalidHits = False,
00111     #lar    propagatorAlong = cms.string('PropagatorWithMaterialPtMin09'),
00112     #lar    propagatorOpposite = cms.string('PropagatorWithMaterialOppositePtMin09'),
00113 )
00114 #TRACK CANDIDATES
00115 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00116 largeD0step5TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00117     src = 'largeD0step5Seeds',
00118     TrajectoryBuilder = 'largeD0step5CkfTrajectoryBuilder',
00119     doSeedingRegionRebuilding = True,
00120     useHitsSplitting = True,
00121     cleanTrajectoryAfterInOut = False,
00122 )
00123 #
00124 # TRACK FITTING AND SMOOTHING
00125 #
00126 
00127 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
00128 largeD0step5FittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKFittingSmoother.clone(
00129     ComponentName = 'largeD0step5FittingSmootherWithOutlierRejection',
00130     EstimateCut = 20,
00131     MinNumberOfHits = 6,
00132     Fitter = cms.string('largeD0step5RKFitter'),
00133     Smoother = cms.string('largeD0step5RKSmoother'),
00134 )
00135 # Also necessary to specify minimum number of hits after final track fit
00136 largeD0step5RKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
00137     ComponentName = cms.string('largeD0step5RKFitter'),
00138     minHits = 6,
00139 )
00140 largeD0step5RKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
00141     ComponentName = cms.string('largeD0step5RKSmoother'),
00142     minHits = 6,
00143 )
00144 #TRACKS
00145 import RecoTracker.TrackProducer.TrackProducer_cfi
00146 largeD0step5WithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00147     src = 'largeD0step5TrackCandidates',
00148     clusterRemovalInfo = 'largeD0step5Clusters',
00149     AlgorithmName = cms.string('iter5LargeD0'),
00150     Fitter = 'largeD0step5FittingSmootherWithOutlierRejection',
00151 )
00152 # TRACK QUALITY DEFINITION
00153 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
00154 import RecoTracker.FinalTrackSelectors.selectTight_cfi
00155 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
00156 
00157 largeD0step5Loose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
00158     src = 'largeD0step5WithMaterialTracks',
00159     keepAllTracks = False,
00160     copyExtras = False,
00161     copyTrajectories = True,
00162     applyAdaptedPVCuts = False,
00163     chi2n_par = 99.,
00164     minNumberLayers = 5,
00165     minNumber3DLayers = 0,
00166     maxNumberLostLayers = 0,
00167 )
00168 largeD0step5Tight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
00169     src = 'largeD0step5Loose',
00170     keepAllTracks = True,
00171     copyExtras = False,
00172     copyTrajectories = True,
00173     applyAdaptedPVCuts = False,
00174     chi2n_par = 99.,
00175     minNumberLayers = 7,
00176     minNumber3DLayers = 2,
00177     maxNumberLostLayers = 0,
00178 )
00179 largeD0step5Trk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00180     src = 'largeD0step5Tight',
00181     keepAllTracks = True,
00182     copyExtras = False,
00183     copyTrajectories = True,
00184     applyAdaptedPVCuts = False,
00185     chi2n_par = 99.,
00186     minNumberLayers = 7,
00187     minNumber3DLayers = 2,
00188     maxNumberLostLayers = 1,
00189 )
00190 largeD0step5 = cms.Sequence(trkfilter5*
00191                           largeD0step5Clusters*
00192                           largeD0step5PixelRecHits*largeD0step5StripRecHits*
00193                           largeD0step5Seeds*
00194                           largeD0step5TrackCandidates*
00195                           largeD0step5WithMaterialTracks*
00196                           largeD0step5Loose*
00197                           largeD0step5Tight*
00198                           largeD0step5Trk)
00199 
00200                           
00201 
00202 
00203 
00204 
00205 
00206 
00207