CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTracker/IterativeTracking/python/PixelPairStep_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 
00004 # NEW CLUSTERS (remove previously used clusters)
00005 pixelPairStepClusters = cms.EDProducer("TrackClusterRemover",
00006     clusterLessSolution = cms.bool(True),
00007     oldClusterRemovalInfo = cms.InputTag("lowPtTripletStepClusters"),
00008     trajectories = cms.InputTag("lowPtTripletStepTracks"),
00009     overrideTrkQuals = cms.InputTag('lowPtTripletStepSelector','lowPtTripletStep'),
00010     TrackQuality = cms.string('highPurity'),
00011     minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
00012     pixelClusters = cms.InputTag("siPixelClusters"),
00013     stripClusters = cms.InputTag("siStripClusters"),
00014     Common = cms.PSet(
00015         maxChi2 = cms.double(9.0)
00016     )
00017 )
00018 
00019 # SEEDING LAYERS
00020 pixelPairStepSeedLayers = cms.ESProducer("SeedingLayersESProducer",
00021     ComponentName = cms.string('pixelPairStepSeedLayers'),
00022     layerList = cms.vstring('BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3', 
00023         'BPix1+FPix1_pos', 'BPix1+FPix1_neg', 
00024         'BPix2+FPix1_pos', 'BPix2+FPix1_neg', 
00025         'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'),
00026     BPix = cms.PSet(
00027         useErrorsFromParam = cms.bool(True),
00028         hitErrorRPhi = cms.double(0.0027),
00029         hitErrorRZ = cms.double(0.006),
00030         TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
00031         HitProducer = cms.string('siPixelRecHits'),
00032         skipClusters = cms.InputTag('pixelPairStepClusters')
00033     ),
00034     FPix = cms.PSet(
00035         useErrorsFromParam = cms.bool(True),
00036         hitErrorRPhi = cms.double(0.0051),
00037         hitErrorRZ = cms.double(0.0036),
00038         TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
00039         HitProducer = cms.string('siPixelRecHits'),
00040         skipClusters = cms.InputTag('pixelPairStepClusters')
00041     )
00042 )
00043 
00044 # SEEDS
00045 import RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff
00046 pixelPairStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone()
00047 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
00048 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.015
00049 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.fixedError = 0.03
00050 pixelPairStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.string('pixelPairStepSeedLayers')
00051 
00052 pixelPairStepSeeds.SeedComparitorPSet = cms.PSet(
00053         ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
00054         FilterAtHelixStage = cms.bool(True),
00055         FilterPixelHits = cms.bool(True),
00056         FilterStripHits = cms.bool(False),
00057         ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
00058     )
00059 
00060 # QUALITY CUTS DURING TRACK BUILDING
00061 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00062 pixelPairStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00063     ComponentName = 'pixelPairStepTrajectoryFilter',
00064     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00065     minimumNumberOfHits = 3,
00066     minPt = 0.1
00067     )
00068     )
00069 
00070 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
00071 pixelPairStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
00072     ComponentName = cms.string('pixelPairStepChi2Est'),
00073     nSigma = cms.double(3.0),
00074     MaxChi2 = cms.double(9.0)
00075 )
00076 
00077 # TRACK BUILDING
00078 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00079 pixelPairStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00080     ComponentName = 'pixelPairStepTrajectoryBuilder',
00081     MeasurementTrackerName = '',
00082     trajectoryFilterName = 'pixelPairStepTrajectoryFilter',
00083     clustersToSkip = cms.InputTag('pixelPairStepClusters'),
00084     maxCand = 2,
00085     estimator = cms.string('pixelPairStepChi2Est'),
00086     maxDPhiForLooperReconstruction = cms.double(2.0),
00087     maxPtForLooperReconstruction = cms.double(0.7) 
00088     )
00089 
00090 # MAKING OF TRACK CANDIDATES
00091 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00092 pixelPairStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00093     src = cms.InputTag('pixelPairStepSeeds'),
00094     TrajectoryBuilder = 'pixelPairStepTrajectoryBuilder',
00095     ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
00096     numHitsForSeedCleaner = cms.int32(50),
00097     onlyPixelHitsForSeedCleaner = cms.bool(True),
00098 
00099 )
00100 
00101 
00102 # TRACK FITTING
00103 import RecoTracker.TrackProducer.TrackProducer_cfi
00104 pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00105     AlgorithmName = cms.string('iter2'),
00106     src = 'pixelPairStepTrackCandidates',
00107     Fitter = cms.string('FlexibleKFFittingSmoother')
00108     )
00109 
00110 # Final selection
00111 import RecoTracker.IterativeTracking.LowPtTripletStep_cff
00112 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00113 pixelPairStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
00114     src='pixelPairStepTracks',
00115     trackSelectors= cms.VPSet(
00116         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00117             name = 'pixelPairStepLoose',
00118             ), #end of pset
00119         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00120             name = 'pixelPairStepTight',
00121             preFilterName = 'pixelPairStepLoose',
00122             ),
00123         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00124             name = 'pixelPairStep',
00125             preFilterName = 'pixelPairStepTight',
00126             ),
00127         ) #end of vpset
00128     ) #end of clone
00129 
00130 # Final sequence
00131 PixelPairStep = cms.Sequence(pixelPairStepClusters*
00132                          pixelPairStepSeeds*
00133                          pixelPairStepTrackCandidates*
00134                          pixelPairStepTracks*
00135                          pixelPairStepSelector)