CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTracker/IterativeTracking/python/LargeD0_TibTidTecStep_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 4 using TIB + TEC ring 1-2 seeding
00005 #
00006 
00007 #HIT REMOVAL
00008 trkfilter4 = 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("largeD0step3")
00014 )
00015 
00016 largeD0step4Clusters = cms.EDProducer("TrackClusterRemover",
00017     trajectories = cms.InputTag("trkfilter4"),
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("largeD0step3Clusters"),
00026 #    pixelClusters = cms.InputTag("largeD0step3Clusters"),
00027 #    stripClusters = cms.InputTag("largeD0step3Clusters"),
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 largeD0step4PixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.SiPixelRecHits.clone(
00049     src = 'largeD0step4Clusters',
00050 )
00051 largeD0step4StripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
00052     ClusterProducer = 'largeD0step4Clusters',
00053 )
00054 #SEEDING LAYERS
00055 import RecoTracker.TkSeedingLayers.PixelLessLayerPairs_cfi
00056 largeD0step4layerpairs = RecoTracker.TkSeedingLayers.PixelLessLayerPairs_cfi.pixellesslayerpairs.clone(
00057     ComponentName = 'largeD0step4LayerPairs',
00058 )
00059 largeD0step4layerpairs.TIB.matchedRecHits = 'largeD0step4StripRecHits:matchedRecHit'
00060 largeD0step4layerpairs.TID.matchedRecHits = 'largeD0step4StripRecHits:matchedRecHit'
00061 largeD0step4layerpairs.TEC.matchedRecHits = 'largeD0step4StripRecHits:matchedRecHit'
00062 
00063 #SEEDS
00064 import RecoTracker.TkSeedGenerator.GlobalPixelLessSeeds_cff
00065 largeD0step4Seeds = RecoTracker.TkSeedGenerator.GlobalPixelLessSeeds_cff.globalPixelLessSeeds.clone()
00066 largeD0step4Seeds.OrderedHitsFactoryPSet.SeedingLayers = 'largeD0step4LayerPairs'
00067 largeD0step4Seeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00068 largeD0step4Seeds.RegionFactoryPSet.RegionPSet.originRadius = 5.0
00069 largeD0step4Seeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
00070 #largeD0step4Seeds.SeedCreatorPSet.propagator = cms.string('PropagatorWithMaterialPtMin09')
00071 
00072 #TRAJECTORY MEASUREMENT
00073 import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
00074 largeD0step4MeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
00075     ComponentName = 'largeD0step4MeasurementTracker',
00076     pixelClusterProducer = 'largeD0step4Clusters',
00077     stripClusterProducer = 'largeD0step4Clusters',
00078 )
00079 #TRAJECTORY FILTERS (for inwards and outwards track building steps)
00080 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00081 
00082 largeD0step4CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00083     ComponentName = 'largeD0step4CkfTrajectoryFilter',
00084 )
00085 largeD0step4CkfTrajectoryFilter.filterPset.maxLostHits = 0
00086 #largeD0step4CkfTrajectoryFilter.filterPset.maxConsecLostHits = 2
00087 largeD0step4CkfTrajectoryFilter.filterPset.minimumNumberOfHits = 7
00088 largeD0step4CkfTrajectoryFilter.filterPset.minPt = 0.6
00089 largeD0step4CkfTrajectoryFilter.filterPset.minHitsMinPt = 3
00090 
00091 largeD0step4CkfInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00092     ComponentName = 'largeD0step4CkfInOutTrajectoryFilter',
00093 )
00094 largeD0step4CkfInOutTrajectoryFilter.filterPset.maxLostHits = 0
00095 #largeD0step4CkfInOutTrajectoryFilter.filterPset.maxConsecLostHits = 2
00096 largeD0step4CkfInOutTrajectoryFilter.filterPset.minimumNumberOfHits = 7
00097 largeD0step4CkfInOutTrajectoryFilter.filterPset.minPt = 0.6
00098 largeD0step4CkfInOutTrajectoryFilter.filterPset.minHitsMinPt = 3
00099 
00100 #TRAJECTORY BUILDER
00101 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00102 largeD0step4CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00103     ComponentName = 'largeD0step4CkfTrajectoryBuilder',
00104     MeasurementTrackerName = 'largeD0step4MeasurementTracker',
00105     trajectoryFilterName = 'largeD0step4CkfTrajectoryFilter',
00106     inOutTrajectoryFilterName = 'largeD0step4CkfInOutTrajectoryFilter',
00107     useSameTrajFilter = False,
00108     minNrOfHitsForRebuild = 7,
00109     #lar    maxCand = 5,
00110     #lar    lostHitPenalty = 100.,
00111     #lar    alwaysUseInvalidHits = False,
00112     #lar    propagatorAlong = cms.string('PropagatorWithMaterialPtMin09'),
00113     #lar    propagatorOpposite = cms.string('PropagatorWithMaterialOppositePtMin09'),
00114 )
00115 #TRACK CANDIDATES
00116 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00117 largeD0step4TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00118     src = 'largeD0step4Seeds',
00119     TrajectoryBuilder = 'largeD0step4CkfTrajectoryBuilder',
00120     doSeedingRegionRebuilding = True,
00121     useHitsSplitting = True,
00122     cleanTrajectoryAfterInOut = True,
00123 )
00124 #
00125 # TRACK FITTING AND SMOOTHING
00126 #
00127 
00128 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
00129 largeD0step4FittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKFittingSmoother.clone(
00130     ComponentName = 'largeD0step4FittingSmootherWithOutlierRejection',
00131     EstimateCut = 20,
00132     MinNumberOfHits = 7,
00133     Fitter = cms.string('largeD0step4RKFitter'),
00134     Smoother = cms.string('largeD0step4RKSmoother'),
00135 )
00136 # Also necessary to specify minimum number of hits after final track fit
00137 largeD0step4RKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
00138     ComponentName = cms.string('largeD0step4RKFitter'),
00139     minHits = 7,
00140 )
00141 largeD0step4RKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
00142     ComponentName = cms.string('largeD0step4RKSmoother'),
00143     minHits = 7,
00144 )
00145 #TRACKS
00146 import RecoTracker.TrackProducer.TrackProducer_cfi
00147 largeD0step4WithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00148     src = 'largeD0step4TrackCandidates',
00149     clusterRemovalInfo = 'largeD0step4Clusters',
00150     AlgorithmName = cms.string('iter4LargeD0'),
00151     Fitter = 'largeD0step4FittingSmootherWithOutlierRejection',
00152 )
00153 # TRACK QUALITY DEFINITION
00154 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
00155 import RecoTracker.FinalTrackSelectors.selectTight_cfi
00156 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
00157 
00158 largeD0step4Loose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
00159     src = 'largeD0step4WithMaterialTracks',
00160     keepAllTracks = False,
00161     copyExtras = False,
00162     copyTrajectories = True,
00163     applyAdaptedPVCuts = False,
00164     chi2n_par = 99.,
00165     minNumberLayers = 5,
00166     minNumber3DLayers = 0,
00167 )
00168 largeD0step4Tight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
00169     src = 'largeD0step4Loose',
00170     keepAllTracks = True,
00171     copyExtras = False,
00172     copyTrajectories = True,
00173     applyAdaptedPVCuts = False,
00174     chi2n_par = 99.,
00175     minNumberLayers = 8,
00176     minNumber3DLayers = 2,
00177 )
00178 largeD0step4Trk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00179     src = 'largeD0step4Tight',
00180     keepAllTracks = True,
00181     copyExtras = False,
00182     copyTrajectories = True,
00183     applyAdaptedPVCuts = False,
00184     chi2n_par = 99.,
00185     minNumberLayers = 8,
00186     minNumber3DLayers = 3,
00187 )
00188 largeD0step4 = cms.Sequence(trkfilter4*
00189                             largeD0step4Clusters*
00190                             largeD0step4PixelRecHits*largeD0step4StripRecHits*
00191                             largeD0step4Seeds*
00192                             largeD0step4TrackCandidates*
00193                             largeD0step4WithMaterialTracks*
00194                             largeD0step4Loose*
00195                             largeD0step4Tight*
00196                             largeD0step4Trk)
00197                           
00198 
00199 
00200 
00201 
00202 
00203 
00204