CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/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     minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
00014     pixelClusters = cms.InputTag("siPixelClusters"),
00015     stripClusters = cms.InputTag("siStripClusters"),
00016     Common = cms.PSet(
00017         maxChi2 = cms.double(9.0)
00018     )
00019 )
00020 
00021 # SEEDING LAYERS
00022 tobTecStepSeedLayers = cms.ESProducer("SeedingLayersESProducer",
00023     ComponentName = cms.string('tobTecStepSeedLayers'),
00024 
00025     layerList = cms.vstring('TOB1+TOB2', 
00026         'TOB1+TEC1_pos', 'TOB1+TEC1_neg', 
00027         'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos', 
00028         'TEC3_pos+TEC4_pos', 'TEC4_pos+TEC5_pos', 
00029         'TEC5_pos+TEC6_pos', 'TEC6_pos+TEC7_pos', 
00030         'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg', 
00031         'TEC3_neg+TEC4_neg', 'TEC4_neg+TEC5_neg', 
00032         'TEC5_neg+TEC6_neg', 'TEC6_neg+TEC7_neg'),
00033 
00034     TOB = cms.PSet(
00035         matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
00036         skipClusters = cms.InputTag('tobTecStepClusters'),
00037         TTRHBuilder = cms.string('WithTrackAngle')
00038     ),
00039 
00040     TEC = cms.PSet(
00041         matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
00042         skipClusters = cms.InputTag('tobTecStepClusters'),
00043         #    untracked bool useSimpleRphiHitsCleaner = false
00044         useRingSlector = cms.bool(True),
00045         TTRHBuilder = cms.string('WithTrackAngle'),
00046         minRing = cms.int32(5),
00047         maxRing = cms.int32(5)
00048     )
00049 )
00050 # SEEDS
00051 import RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff
00052 tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
00053 tobTecStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'tobTecStepSeedLayers'
00054 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00055 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 30.0
00056 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 6.0
00057    
00058 
00059 # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
00060 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00061 
00062 tobTecStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00063     ComponentName = 'tobTecStepTrajectoryFilter',
00064     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00065     maxLostHits = 0,
00066     minimumNumberOfHits = 6,
00067     minPt = 0.1,
00068     minHitsMinPt = 3
00069     )
00070     )
00071 
00072 tobTecStepInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00073     ComponentName = 'tobTecStepInOutTrajectoryFilter',
00074     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00075     maxLostHits = 0,
00076     minimumNumberOfHits = 4,
00077     minPt = 0.1,
00078     minHitsMinPt = 3
00079     )
00080     )
00081 
00082 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
00083 tobTecStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
00084     ComponentName = cms.string('tobTecStepChi2Est'),
00085     nSigma = cms.double(3.0),
00086     MaxChi2 = cms.double(16.0)
00087 )
00088 
00089 # TRACK BUILDING
00090 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00091 tobTecStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00092     ComponentName = 'tobTecStepTrajectoryBuilder',
00093     MeasurementTrackerName = '',
00094     clustersToSkip = cms.InputTag('tobTecStepClusters'),
00095     trajectoryFilterName = 'tobTecStepTrajectoryFilter',
00096     inOutTrajectoryFilterName = 'tobTecStepInOutTrajectoryFilter',
00097     useSameTrajFilter = False,
00098     minNrOfHitsForRebuild = 4,
00099     alwaysUseInvalidHits = False,
00100     maxCand = 2,
00101     estimator = cms.string('tobTecStepChi2Est'),
00102     #startSeedHitsInRebuild = True
00103     maxDPhiForLooperReconstruction = cms.double(2.0),
00104     maxPtForLooperReconstruction = cms.double(0.7)  
00105     )
00106 
00107 # MAKING OF TRACK CANDIDATES
00108 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00109 tobTecStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00110     src = cms.InputTag('tobTecStepSeeds'),
00111     ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
00112     numHitsForSeedCleaner = cms.int32(50),
00113     onlyPixelHitsForSeedCleaner = cms.bool(True),
00114 
00115     TrajectoryBuilder = 'tobTecStepTrajectoryBuilder',
00116     doSeedingRegionRebuilding = True,
00117     useHitsSplitting = True,
00118     cleanTrajectoryAfterInOut = True
00119 )
00120 
00121 # TRACK FITTING AND SMOOTHING OPTIONS
00122 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
00123 tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
00124     ComponentName = 'tobTecStepFitterSmoother',
00125     EstimateCut = 30,
00126     MinNumberOfHits = 8,
00127     Fitter = cms.string('tobTecStepRKFitter'),
00128     Smoother = cms.string('tobTecStepRKSmoother')
00129     )
00130 
00131 tobTecStepFitterSmootherForLoopers = tobTecStepFitterSmoother.clone(
00132     ComponentName = 'tobTecStepFitterSmootherForLoopers',
00133     Fitter = cms.string('tobTecStepRKFitterForLoopers'),
00134     Smoother = cms.string('tobTecStepRKSmootherForLoopers')
00135 )
00136 
00137 # Also necessary to specify minimum number of hits after final track fit
00138 tobTecStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
00139     ComponentName = cms.string('tobTecStepRKFitter'),
00140     minHits = 8
00141 )
00142 tobTecStepRKTrajectoryFitterForLoopers = tobTecStepRKTrajectoryFitter.clone(
00143     ComponentName = cms.string('tobTecStepRKFitterForLoopers'),
00144     Propagator = cms.string('PropagatorWithMaterialForLoopers'),
00145 )
00146 
00147 tobTecStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
00148     ComponentName = cms.string('tobTecStepRKSmoother'),
00149     errorRescaling = 10.0,
00150     minHits = 8
00151 )
00152 tobTecStepRKTrajectorySmootherForLoopers = tobTecStepRKTrajectorySmoother.clone(
00153     ComponentName = cms.string('tobTecStepRKSmootherForLoopers'),
00154     Propagator = cms.string('PropagatorWithMaterialForLoopers'),
00155 )
00156 
00157 import TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi
00158 tobTecFlexibleKFFittingSmoother = TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi.FlexibleKFFittingSmoother.clone(
00159     ComponentName = cms.string('tobTecFlexibleKFFittingSmoother'),
00160     standardFitter = cms.string('tobTecStepFitterSmoother'),
00161     looperFitter = cms.string('tobTecStepFitterSmootherForLoopers'),
00162 )
00163 
00164 
00165 
00166 
00167 # TRACK FITTING
00168 import RecoTracker.TrackProducer.TrackProducer_cfi
00169 tobTecStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00170     src = 'tobTecStepTrackCandidates',
00171     AlgorithmName = cms.string('iter6'),
00172     #Fitter = 'tobTecStepFitterSmoother',
00173     Fitter = 'tobTecFlexibleKFFittingSmoother',
00174     )
00175 
00176 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00177 tobTecStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
00178     src='tobTecStepTracks',
00179     trackSelectors= cms.VPSet(
00180         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00181             name = 'tobTecStepLoose',
00182             chi2n_par = 0.4,
00183             res_par = ( 0.003, 0.001 ),
00184             minNumberLayers = 5,
00185             maxNumberLostLayers = 1,
00186             minNumber3DLayers = 2,
00187             d0_par1 = ( 2.0, 4.0 ),
00188             dz_par1 = ( 1.8, 4.0 ),
00189             d0_par2 = ( 2.0, 4.0 ),
00190             dz_par2 = ( 1.8, 4.0 )
00191             ),
00192         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00193             name = 'tobTecStepTight',
00194             preFilterName = 'tobTecStepLoose',
00195             chi2n_par = 0.3,
00196             res_par = ( 0.003, 0.001 ),
00197             minNumberLayers = 5,
00198             maxNumberLostLayers = 0,
00199             minNumber3DLayers = 2,
00200             d0_par1 = ( 1.5, 4.0 ),
00201             dz_par1 = ( 1.4, 4.0 ),
00202             d0_par2 = ( 1.5, 4.0 ),
00203             dz_par2 = ( 1.4, 4.0 )
00204             ),
00205         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00206             name = 'tobTecStep',
00207             preFilterName = 'tobTecStepTight',
00208             chi2n_par = 0.2,
00209             res_par = ( 0.003, 0.001 ),
00210             minNumberLayers = 5,
00211             maxNumberLostLayers = 0,
00212             minNumber3DLayers = 2,
00213             d0_par1 = ( 1.4, 4.0 ),
00214             dz_par1 = ( 1.3, 4.0 ),
00215             d0_par2 = ( 1.4, 4.0 ),
00216             dz_par2 = ( 1.3, 4.0 )
00217             ),
00218         ) #end of vpset
00219     ) #end of clone
00220 
00221 
00222 TobTecStep = cms.Sequence(tobTecStepClusters*
00223                           tobTecStepSeeds*
00224                           tobTecStepTrackCandidates*
00225                           tobTecStepTracks*
00226                           tobTecStepSelector)
00227