CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 ###############################################
00004 # Low pT and detached tracks from pixel triplets
00005 ###############################################
00006 
00007 # REMOVE HITS ASSIGNED TO GOOD TRACKS FROM PREVIOUS ITERATIONS
00008 
00009 detachedTripletStepClusters = cms.EDProducer("TrackClusterRemover",
00010     clusterLessSolution = cms.bool(True),
00011     oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
00012     trajectories = cms.InputTag("pixelPairStepTracks"),
00013     overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep'),
00014     TrackQuality = cms.string('highPurity'),
00015     minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
00016     pixelClusters = cms.InputTag("siPixelClusters"),
00017     stripClusters = cms.InputTag("siStripClusters"),
00018     Common = cms.PSet(
00019         maxChi2 = cms.double(9.0)
00020     )
00021 )
00022 
00023 # SEEDING LAYERS
00024 import RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi
00025 detachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.pixellayertriplets.clone(
00026     ComponentName = 'detachedTripletStepSeedLayers'
00027     )
00028 detachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
00029 detachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('detachedTripletStepClusters')
00030 
00031 # SEEDS
00032 from RecoPixelVertexing.PixelTriplets.PixelTripletLargeTipGenerator_cfi import *
00033 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
00034 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
00035 import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff
00036 detachedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
00037 detachedTripletStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'detachedTripletStepSeedLayers'
00038 detachedTripletStepSeeds.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
00039 detachedTripletStepSeeds.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
00040 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.3
00041 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
00042 detachedTripletStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.5
00043 
00044 detachedTripletStepSeeds.SeedComparitorPSet = cms.PSet(
00045         ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
00046         FilterAtHelixStage = cms.bool(False),
00047         FilterPixelHits = cms.bool(True),
00048         FilterStripHits = cms.bool(False),
00049         ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter')
00050     )
00051 
00052 # QUALITY CUTS DURING TRACK BUILDING
00053 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00054 detachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00055     ComponentName = 'detachedTripletStepTrajectoryFilter',
00056     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00057     maxLostHitsFraction = cms.double(1./10.),
00058     constantValueForLostHitsFractionFilter = cms.double(0.701),
00059     minimumNumberOfHits = 3,
00060     minPt = 0.075
00061     )
00062     )
00063 
00064 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
00065 detachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
00066     ComponentName = cms.string('detachedTripletStepChi2Est'),
00067     nSigma = cms.double(3.0),
00068     MaxChi2 = cms.double(9.0)
00069 )
00070 
00071 # TRACK BUILDING
00072 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00073 detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00074     ComponentName = 'detachedTripletStepTrajectoryBuilder',
00075     MeasurementTrackerName = '',
00076     trajectoryFilterName = 'detachedTripletStepTrajectoryFilter',
00077     clustersToSkip = cms.InputTag('detachedTripletStepClusters'),
00078     maxCand = 2,
00079     alwaysUseInvalidHits = False,
00080     estimator = cms.string('detachedTripletStepChi2Est'),
00081     maxDPhiForLooperReconstruction = cms.double(2.0),
00082     maxPtForLooperReconstruction = cms.double(0.7) 
00083     )
00084 
00085 # MAKING OF TRACK CANDIDATES
00086 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00087 detachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00088     src = cms.InputTag('detachedTripletStepSeeds'),
00089     ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
00090     numHitsForSeedCleaner = cms.int32(50),
00091     onlyPixelHitsForSeedCleaner = cms.bool(True),
00092 
00093     TrajectoryBuilder = 'detachedTripletStepTrajectoryBuilder',
00094     doSeedingRegionRebuilding = True,
00095     useHitsSplitting = True
00096     )
00097 
00098 # TRACK FITTING
00099 import RecoTracker.TrackProducer.TrackProducer_cfi
00100 detachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00101     AlgorithmName = cms.string('iter3'),
00102     src = 'detachedTripletStepTrackCandidates',
00103     Fitter = cms.string('FlexibleKFFittingSmoother')
00104     )
00105 
00106 # TRACK SELECTION AND QUALITY FLAG SETTING.
00107 
00108 # TRACK SELECTION AND QUALITY FLAG SETTING.
00109 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
00110 detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
00111     src='detachedTripletStepTracks',
00112     trackSelectors= cms.VPSet(
00113         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00114             name = 'detachedTripletStepVtxLoose',
00115             chi2n_par = 1.6,
00116             res_par = ( 0.003, 0.001 ),
00117             minNumberLayers = 3,
00118             d0_par1 = ( 1.2, 3.0 ),
00119             dz_par1 = ( 1.2, 3.0 ),
00120             d0_par2 = ( 1.3, 3.0 ),
00121             dz_par2 = ( 1.3, 3.0 )
00122             ),
00123         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
00124             name = 'detachedTripletStepTrkLoose',
00125             chi2n_par = 0.7,
00126             res_par = ( 0.003, 0.001 ),
00127             minNumberLayers = 3,
00128             d0_par1 = ( 1.6, 4.0 ),
00129             dz_par1 = ( 1.6, 4.0 ),
00130             d0_par2 = ( 1.6, 4.0 ),
00131             dz_par2 = ( 1.6, 4.0 )
00132             ),
00133         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00134             name = 'detachedTripletStepVtxTight',
00135             preFilterName = 'detachedTripletStepVtxLoose',
00136             chi2n_par = 0.7,
00137             res_par = ( 0.003, 0.001 ),
00138             minNumberLayers = 3,
00139             maxNumberLostLayers = 1,
00140             minNumber3DLayers = 3,
00141             d0_par1 = ( 0.95, 3.0 ),
00142             dz_par1 = ( 0.9, 3.0 ),
00143             d0_par2 = ( 1.0, 3.0 ),
00144             dz_par2 = ( 1.0, 3.0 )
00145             ),
00146         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
00147             name = 'detachedTripletStepTrkTight',
00148             preFilterName = 'detachedTripletStepTrkLoose',
00149             chi2n_par = 0.5,
00150             res_par = ( 0.003, 0.001 ),
00151             minNumberLayers = 5,
00152             maxNumberLostLayers = 1,
00153             minNumber3DLayers = 3,
00154             d0_par1 = ( 1.1, 4.0 ),
00155             dz_par1 = ( 1.1, 4.0 ),
00156             d0_par2 = ( 1.1, 4.0 ),
00157             dz_par2 = ( 1.1, 4.0 )
00158             ),
00159         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00160             name = 'detachedTripletStepVtx',
00161             preFilterName = 'detachedTripletStepVtxTight',
00162             chi2n_par = 0.7,
00163             res_par = ( 0.003, 0.001 ),
00164             minNumberLayers = 3,
00165             maxNumberLostLayers = 1,
00166             minNumber3DLayers = 3,
00167             d0_par1 = ( 0.85, 3.0 ),
00168             dz_par1 = ( 0.8, 3.0 ),
00169             d0_par2 = ( 0.9, 3.0 ),
00170             dz_par2 = ( 0.9, 3.0 )
00171             ),
00172         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
00173             name = 'detachedTripletStepTrk',
00174             preFilterName = 'detachedTripletStepTrkTight',
00175             chi2n_par = 0.4,
00176             res_par = ( 0.003, 0.001 ),
00177             minNumberLayers = 5,
00178             maxNumberLostLayers = 1,
00179             minNumber3DLayers = 4,
00180             d0_par1 = ( 1.0, 4.0 ),
00181             dz_par1 = ( 1.0, 4.0 ),
00182             d0_par2 = ( 1.0, 4.0 ),
00183             dz_par2 = ( 1.0, 4.0 )
00184             )
00185         ) #end of vpset
00186     ) #end of clone
00187 
00188 
00189 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
00190 detachedTripletStep = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
00191     TrackProducers = cms.VInputTag(cms.InputTag('detachedTripletStepTracks'),
00192                                    cms.InputTag('detachedTripletStepTracks')),
00193     hasSelector=cms.vint32(1,1),
00194     selectedTrackQuals = cms.VInputTag(cms.InputTag("detachedTripletStepSelector","detachedTripletStepVtx"),
00195                                        cms.InputTag("detachedTripletStepSelector","detachedTripletStepTrk")),
00196     setsToMerge = cms.VPSet(cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )),
00197     writeOnlyTrkQuals=cms.bool(True)
00198 )
00199 
00200 DetachedTripletStep = cms.Sequence(detachedTripletStepClusters*
00201                                                detachedTripletStepSeeds*
00202                                                detachedTripletStepTrackCandidates*
00203                                                detachedTripletStepTracks*
00204                                                detachedTripletStepSelector*
00205                                                detachedTripletStep)