CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTracker/IterativeTracking/python/LargeD0_PixelTibTidTecStep_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 3 using Outer pixel + inner TIB/TID/TEC ring seeding
00005 #
00006 
00007 #HIT REMOVAL
00008 trkfilter3 = 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("largeD0step2")
00014 )
00015 
00016 largeD0step3Clusters = cms.EDProducer("TrackClusterRemover",
00017     trajectories = cms.InputTag("trkfilter3"),
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("largeD0step2Clusters"),
00026 #    pixelClusters = cms.InputTag("largeD0step2Clusters"),
00027 #    stripClusters = cms.InputTag("largeD0step2Clusters"),
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 import TrackingTools.MaterialEffects.MaterialPropagator_cfi
00045 MaterialPropagatorPtMin06 = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
00046     ComponentName = 'PropagatorWithMaterialPtMin06',
00047     ptMin = 0.6,
00048 ) 
00049 import TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi
00050 OppositeMaterialPropagatorPtMin06 = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
00051     ComponentName = 'PropagatorWithMaterialOppositePtMin06',
00052     ptMin = 0.6,
00053 )
00054 #TRACKER HITS
00055 import RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi
00056 import RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi
00057 largeD0step3PixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.SiPixelRecHits.clone(
00058     src = 'largeD0step3Clusters',
00059     )
00060 largeD0step3StripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
00061     ClusterProducer = 'largeD0step3Clusters',
00062     )
00063 #SEEDING LAYERS
00064 import RecoTracker.TkSeedingLayers.PixelAndStripLayerPairs_cfi
00065 largeD0step3layerpairs = RecoTracker.TkSeedingLayers.PixelAndStripLayerPairs_cfi.pixelandstriplayerpairs.clone(
00066     ComponentName = 'largeD0step3LayerPairs',
00067     )
00068 largeD0step3layerpairs.BPix.HitProducer = 'largeD0step3PixelRecHits'
00069 largeD0step3layerpairs.FPix.HitProducer = 'largeD0step3PixelRecHits'
00070 largeD0step3layerpairs.TIB.matchedRecHits = 'largeD0step3StripRecHits:matchedRecHit'
00071 largeD0step3layerpairs.TID.matchedRecHits = 'largeD0step3StripRecHits:matchedRecHit'
00072 largeD0step3layerpairs.TEC.matchedRecHits = 'largeD0step3StripRecHits:matchedRecHit'
00073 
00074 #SEEDS
00075 import RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff
00076 largeD0step3Seeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
00077 largeD0step3Seeds.OrderedHitsFactoryPSet.SeedingLayers = 'largeD0step3LayerPairs'
00078 largeD0step3Seeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00079 largeD0step3Seeds.RegionFactoryPSet.RegionPSet.originRadius = 3.5
00080 largeD0step3Seeds.RegionFactoryPSet.RegionPSet.originHalfLength = 12.5
00081 import RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi
00082 largeD0step3Seeds.SeedCreatorPSet = RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi.SeedFromConsecutiveHitsStraightLineCreator.clone(
00083     propagator = cms.string('PropagatorWithMaterialPtMin06')
00084 )
00085 
00086 
00087 #TRAJECTORY MEASUREMENT
00088 import RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi
00089 largeD0step3MeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
00090     ComponentName = 'largeD0step3MeasurementTracker',
00091     pixelClusterProducer = 'largeD0step3Clusters',
00092     stripClusterProducer = 'largeD0step3Clusters',
00093 )
00094 #TRAJECTORY FILTERS (for inwards and outwards track building steps)
00095 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00096 
00097 largeD0step3CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00098     ComponentName = 'largeD0step3CkfTrajectoryFilter'
00099     )
00100 largeD0step3CkfTrajectoryFilter.filterPset.maxLostHits = 0
00101 #lar    largeD0step3CkfTrajectoryFilter.filterPset.maxConsecLostHits = 2
00102 largeD0step3CkfTrajectoryFilter.filterPset.minimumNumberOfHits = 7
00103 largeD0step3CkfTrajectoryFilter.filterPset.minPt = 0.6
00104 largeD0step3CkfTrajectoryFilter.filterPset.minHitsMinPt = 3
00105 
00106 largeD0step3CkfInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00107     ComponentName = 'largeD0step3CkfInOutTrajectoryFilter'
00108     )
00109 largeD0step3CkfInOutTrajectoryFilter.filterPset.maxLostHits = 0
00110 #lar    largeD0step3CkfInOutTrajectoryFilter.filterPset.maxConsecLostHits = 2
00111 largeD0step3CkfInOutTrajectoryFilter.filterPset.minimumNumberOfHits = 7
00112 largeD0step3CkfInOutTrajectoryFilter.filterPset.minPt = 0.6
00113 largeD0step3CkfInOutTrajectoryFilter.filterPset.minHitsMinPt = 3
00114 
00115 #TRAJECTORY BUILDER
00116 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00117 largeD0step3CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00118     ComponentName = 'largeD0step3CkfTrajectoryBuilder',
00119     MeasurementTrackerName = 'largeD0step3MeasurementTracker',
00120     trajectoryFilterName = 'largeD0step3CkfTrajectoryFilter',
00121     inOutTrajectoryFilterName = 'largeD0step3CkfInOutTrajectoryFilter',
00122     useSameTrajFilter = False,
00123     minNrOfHitsForRebuild = 7,
00124     #lar    maxCand = 5,
00125     #lar    lostHitPenalty = 100.,
00126     #lar    alwaysUseInvalidHits = False,
00127     propagatorAlong = cms.string('PropagatorWithMaterialPtMin06'),
00128     propagatorOpposite = cms.string('PropagatorWithMaterialOppositePtMin06'),
00129 )
00130 #TRACK CANDIDATES
00131 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00132 largeD0step3TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00133     src = 'largeD0step3Seeds',
00134     TrajectoryBuilder = 'largeD0step3CkfTrajectoryBuilder',
00135     doSeedingRegionRebuilding = True,
00136     useHitsSplitting = True,
00137     cleanTrajectoryAfterInOut = True,
00138 )
00139 #
00140 # TRACK FITTING AND SMOOTHING
00141 #
00142 
00143 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
00144 largeD0step3FittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKFittingSmoother.clone(
00145     ComponentName = 'largeD0step3FittingSmootherWithOutlierRejection',
00146     EstimateCut = 20,
00147     MinNumberOfHits = 7,
00148     Fitter = cms.string('largeD0step3RKFitter'),
00149     Smoother = cms.string('largeD0step3RKSmoother'),
00150 )
00151 # Also necessary to specify minimum number of hits after final track fit
00152 largeD0step3RKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
00153     ComponentName = cms.string('largeD0step3RKFitter'),
00154     minHits = 7,
00155 )
00156 largeD0step3RKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
00157     ComponentName = cms.string('largeD0step3RKSmoother'),
00158     minHits = 7,
00159 )
00160 #TRACKS
00161 import RecoTracker.TrackProducer.TrackProducer_cfi
00162 largeD0step3WithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00163     src = 'largeD0step3TrackCandidates',
00164     clusterRemovalInfo = 'largeD0step3Clusters',
00165     AlgorithmName = cms.string('iter3LargeD0'),
00166     Fitter = 'largeD0step3FittingSmootherWithOutlierRejection',
00167 )
00168 # TRACK QUALITY DEFINITION
00169 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
00170 import RecoTracker.FinalTrackSelectors.selectTight_cfi
00171 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
00172 
00173 largeD0step3Loose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
00174     src = 'largeD0step3WithMaterialTracks',
00175     keepAllTracks = False,
00176     copyExtras = False,
00177     copyTrajectories = True,
00178     applyAdaptedPVCuts = False,
00179     chi2n_par = 99.,
00180     minNumberLayers = 5,
00181     minNumber3DLayers = 0,
00182 )
00183 largeD0step3Tight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
00184     src = 'largeD0step3Loose',
00185     keepAllTracks = True,
00186     copyExtras = False,
00187     copyTrajectories = True,
00188     applyAdaptedPVCuts = False,
00189     chi2n_par = 99.,
00190     minNumberLayers = 10,
00191     minNumber3DLayers = 3,
00192 )
00193 largeD0step3Trk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
00194     src = 'largeD0step3Tight',
00195     keepAllTracks = True,
00196     copyExtras = False,
00197     copyTrajectories = True,
00198     applyAdaptedPVCuts = False,
00199     chi2n_par = 99.,
00200     minNumberLayers = 10,
00201     minNumber3DLayers = 3,
00202 )
00203 largeD0step3 = cms.Sequence(trkfilter3*
00204                             largeD0step3Clusters*
00205                             largeD0step3PixelRecHits*largeD0step3StripRecHits*
00206                             largeD0step3Seeds*
00207                             largeD0step3TrackCandidates*
00208                             largeD0step3WithMaterialTracks*
00209                             largeD0step3Loose*
00210                             largeD0step3Tight*
00211                             largeD0step3Trk)
00212 
00213                           
00214 
00215 
00216 
00217 
00218 
00219 
00220