CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 # NEW CLUSTERS (remove previously used clusters)
00004 hiMixedTripletClusters = cms.EDProducer("TrackClusterRemover",
00005                                         clusterLessSolution= cms.bool(True),
00006                                         oldClusterRemovalInfo = cms.InputTag("hiSecondPixelTripletClusters"),
00007                                         trajectories = cms.InputTag("hiSecondPixelTripletGlobalPrimTracks"),
00008                                         overrideTrkQuals = cms.InputTag('hiSecondPixelTripletStepSelector','hiSecondPixelTripletStep'),
00009                                         TrackQuality = cms.string('highPurity'),
00010                                         pixelClusters = cms.InputTag("siPixelClusters"),
00011                                         stripClusters = cms.InputTag("siStripClusters"),
00012                                         Common = cms.PSet(
00013     maxChi2 = cms.double(9.0),
00014     ),
00015                                         Strip = cms.PSet(
00016     maxChi2 = cms.double(9.0),
00017     #Yen-Jie's mod to preserve merged clusters
00018     maxSize = cms.uint32(2)
00019     )
00020                                         )
00021 
00022 
00023                                         
00024 
00025 
00026 # SEEDING LAYERS
00027 hiMixedTripletSeedLayersA = cms.ESProducer("SeedingLayersESProducer",
00028                                              ComponentName = cms.string('hiMixedTripletSeedLayersA'),
00029                                              layerList = cms.vstring('FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg'),
00030                                                                      #'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'),
00031                                    BPix = cms.PSet(
00032     useErrorsFromParam = cms.bool(True),
00033     hitErrorRZ = cms.double(0.006),
00034     hitErrorRPhi = cms.double(0.0027),
00035     TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
00036     HitProducer = cms.string('siPixelRecHits'),
00037     skipClusters = cms.InputTag('hiMixedTripletClusters')
00038     ),
00039                                    FPix = cms.PSet(
00040     useErrorsFromParam = cms.bool(True),
00041     hitErrorRPhi = cms.double(0.0051),
00042     hitErrorRZ = cms.double(0.0036),
00043     TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
00044     HitProducer = cms.string('siPixelRecHits'),
00045     skipClusters = cms.InputTag('hiMixedTripletClusters')
00046     ),
00047                                    TEC = cms.PSet(
00048     matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
00049     useRingSlector = cms.bool(True),
00050     TTRHBuilder = cms.string('WithTrackAngle'),
00051     minRing = cms.int32(1),
00052     maxRing = cms.int32(1),
00053     skipClusters = cms.InputTag('hiMixedTripletClusters')
00054     )
00055                                    )
00056 
00057 # SEEDS
00058 from RecoPixelVertexing.PixelTriplets.PixelTripletLargeTipGenerator_cfi import *
00059 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
00060 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
00061 import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff
00062 hiMixedTripletSeedsA = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
00063 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.SeedingLayers = 'hiMixedTripletSeedLayersA'
00064 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
00065 hiMixedTripletSeedsA.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
00066 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.ptMin = 4.0
00067 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.originRadius = 0.005
00068 #hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
00069 hiMixedTripletSeedsA.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
00070 
00071 hiMixedTripletSeedsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
00072 hiMixedTripletSeedsA.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
00073 hiMixedTripletSeedsA.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
00074 
00075 
00076 # SEEDING LAYERS
00077 hiMixedTripletSeedLayersB = cms.ESProducer("SeedingLayersESProducer",
00078                                    ComponentName = cms.string('hiMixedTripletSeedLayersB'),
00079                                    layerList = cms.vstring(
00080     #'BPix1+BPix2+TIB1',
00081     #'BPix1+BPix2+TIB2',    
00082     #'BPix1+BPix3+TIB1',
00083     #'BPix1+BPix3+TIB2',    
00084     'BPix2+BPix3+TIB1',
00085     'BPix2+BPix3+TIB2'),
00086                                    BPix = cms.PSet(
00087     useErrorsFromParam = cms.bool(True),
00088     hitErrorRPhi = cms.double(0.0027),
00089     hitErrorRZ = cms.double(0.006),
00090     TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4MixedTriplets'),
00091     HitProducer = cms.string('siPixelRecHits'),
00092     skipClusters = cms.InputTag('hiMixedTripletClusters')
00093     ),
00094                                    TIB = cms.PSet(
00095     matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
00096     TTRHBuilder = cms.string('WithTrackAngle'),
00097     skipClusters = cms.InputTag('hiMixedTripletClusters')
00098     )
00099                                    )
00100 
00101 # SEEDS
00102 from RecoPixelVertexing.PixelTriplets.PixelTripletLargeTipGenerator_cfi import *
00103 PixelTripletLargeTipGenerator.extraHitRZtolerance = 0.0
00104 PixelTripletLargeTipGenerator.extraHitRPhitolerance = 0.0
00105 import RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff
00106 hiMixedTripletSeedsB = RecoTracker.TkSeedGenerator.GlobalSeedsFromTriplets_cff.globalSeedsFromTriplets.clone()
00107 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.SeedingLayers = 'hiMixedTripletSeedLayersB'
00108 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)
00109 hiMixedTripletSeedsB.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
00110 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.ptMin = 4.0
00111 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.originRadius = 0.005
00112 #hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
00113 hiMixedTripletSeedsB.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
00114 
00115 hiMixedTripletSeedsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 5000000
00116 hiMixedTripletSeedsB.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
00117 hiMixedTripletSeedsB.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
00118 
00119 import RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi
00120 hiMixedTripletSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
00121 hiMixedTripletSeeds.seedCollections = cms.VInputTag(
00122     cms.InputTag('hiMixedTripletSeedsA'),
00123     cms.InputTag('hiMixedTripletSeedsB'),
00124     )
00125 
00126 # QUALITY CUTS DURING TRACK BUILDING
00127 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
00128 hiMixedTripletTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
00129     ComponentName = 'hiMixedTripletTrajectoryFilter',
00130     filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
00131     maxLostHits = 0,
00132     minimumNumberOfHits = 6,
00133     minPt = 1.0
00134     )
00135     )
00136 
00137 # Propagator taking into account momentum uncertainty in multiple scattering calculation.
00138 import TrackingTools.MaterialEffects.MaterialPropagator_cfi
00139 hiMixedTripletPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
00140     ComponentName = 'hiMixedTripletPropagator',
00141     ptMin = 1.0
00142     )
00143 import TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi
00144 hiMixedTripletPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
00145     ComponentName = 'hiMixedTripletPropagatorOpposite',
00146     ptMin = 1.0
00147     )
00148 
00149 import TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi
00150 hiMixedTripletChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
00151     ComponentName = cms.string('hiMixedTripletChi2Est'),
00152     nSigma = cms.double(3.0),
00153     MaxChi2 = cms.double(16.0)
00154     )
00155 
00156 # TRACK BUILDING
00157 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
00158 hiMixedTripletTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
00159     ComponentName = 'hiMixedTripletTrajectoryBuilder',
00160     MeasurementTrackerName = '',
00161     trajectoryFilterName = 'hiMixedTripletTrajectoryFilter',
00162     propagatorAlong = cms.string('hiMixedTripletPropagator'),
00163     propagatorOpposite = cms.string('hiMixedTripletPropagatorOpposite'),
00164     clustersToSkip = cms.InputTag('hiMixedTripletClusters'),
00165     maxCand = 2,
00166     estimator = cms.string('hiMixedTripletChi2Est')
00167     )
00168 
00169 # MAKING OF TRACK CANDIDATES
00170 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
00171 hiMixedTripletTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
00172     src = cms.InputTag('hiMixedTripletSeeds'),
00173     TrajectoryBuilder = 'hiMixedTripletTrajectoryBuilder',
00174     doSeedingRegionRebuilding = True,
00175     useHitsSplitting = True
00176     )
00177 # TRACK FITTING
00178 import RecoTracker.TrackProducer.TrackProducer_cfi
00179 hiMixedTripletGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
00180     AlgorithmName = cms.string('iter4'),
00181     src = 'hiMixedTripletTrackCandidates'
00182     )
00183 
00184 # Final selection
00185 import RecoHI.HiTracking.hiMultiTrackSelector_cfi
00186 hiMixedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
00187     src='hiMixedTripletGlobalPrimTracks',
00188     trackSelectors= cms.VPSet(
00189     RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
00190     name = 'hiMixedTripletStepLoose',
00191     ), #end of pset
00192     RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
00193     name = 'hiMixedTripletStepTight',
00194     preFilterName = 'hiMixedTripletStepLoose',
00195     ),
00196     RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
00197     name = 'hiMixedTripletStep',
00198     preFilterName = 'hiMixedTripletStepTight',
00199     min_nhits = 14
00200     ),
00201     ) #end of vpset
00202     ) #end of clone
00203 
00204 
00205 
00206 # Final sequence
00207 
00208 hiMixedTripletStep = cms.Sequence(
00209                           hiMixedTripletClusters*
00210                           hiMixedTripletSeedsA*
00211                           hiMixedTripletSeedsB*
00212                           hiMixedTripletSeeds*
00213                           hiMixedTripletTrackCandidates*
00214                           hiMixedTripletGlobalPrimTracks*
00215                           hiMixedTripletStepSelector)
00216