CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelPairStep_cff.py
Go to the documentation of this file.
2 
3 
4 # NEW CLUSTERS (remove previously used clusters)
6 pixelPairStepClusters = trackClusterRemover.clone(
7  maxChi2 = cms.double(9.0),
8  trajectories = cms.InputTag("lowPtTripletStepTracks"),
9  pixelClusters = cms.InputTag("siPixelClusters"),
10  stripClusters = cms.InputTag("siStripClusters"),
11  oldClusterRemovalInfo = cms.InputTag("lowPtTripletStepClusters"),
12  overrideTrkQuals = cms.InputTag('lowPtTripletStepSelector','lowPtTripletStep'),
13  TrackQuality = cms.string('highPurity'),
14  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
15 )
16 
17 # SEEDING LAYERS
18 pixelPairStepSeedLayers = cms.EDProducer("SeedingLayersEDProducer",
19  layerList = cms.vstring('BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3',
20  'BPix1+FPix1_pos', 'BPix1+FPix1_neg',
21  'BPix2+FPix1_pos', 'BPix2+FPix1_neg',
22  'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'),
23  BPix = cms.PSet(
24  TTRHBuilder = cms.string('WithTrackAngle'),
25  HitProducer = cms.string('siPixelRecHits'),
26  skipClusters = cms.InputTag('pixelPairStepClusters')
27  ),
28  FPix = cms.PSet(
29  TTRHBuilder = cms.string('WithTrackAngle'),
30  HitProducer = cms.string('siPixelRecHits'),
31  skipClusters = cms.InputTag('pixelPairStepClusters')
32  )
33 )
34 
35 # SEEDS
37 pixelPairStepSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone()
38 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.VertexCollection = cms.InputTag("firstStepPrimaryVertices")
39 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
40 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.015
41 pixelPairStepSeeds.RegionFactoryPSet.RegionPSet.fixedError = 0.03
42 pixelPairStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag('pixelPairStepSeedLayers')
43 
44 pixelPairStepSeeds.SeedComparitorPSet = cms.PSet(
45  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
46  FilterAtHelixStage = cms.bool(True),
47  FilterPixelHits = cms.bool(True),
48  FilterStripHits = cms.bool(False),
49  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
50  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache'),
51  )
52 
53 # QUALITY CUTS DURING TRACK BUILDING
55 pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
56  minimumNumberOfHits = 3,
57  minPt = 0.1
58  )
59 import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
60 pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
61 pixelPairStepTrajectoryFilter = cms.PSet(
62  ComponentType = cms.string('CompositeTrajectoryFilter'),
63  filters = cms.VPSet(
64  cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterBase')),
65  cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))),
66 )
67 
68 
69 
70 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimatorESProducer_cfi
71 pixelPairStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimatorESProducer_cfi.Chi2ChargeMeasurementEstimator.clone(
72  ComponentName = cms.string('pixelPairStepChi2Est'),
73  nSigma = cms.double(3.0),
74  MaxChi2 = cms.double(9.0),
75  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
76  pTChargeCutThreshold = cms.double(15.)
77 )
78 
79 # TRACK BUILDING
81 pixelPairStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
82  MeasurementTrackerName = '',
83  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryFilter')),
84  maxCand = 3,
85  estimator = cms.string('pixelPairStepChi2Est'),
86  maxDPhiForLooperReconstruction = cms.double(2.0),
87  maxPtForLooperReconstruction = cms.double(0.7)
88  )
89 
90 # MAKING OF TRACK CANDIDATES
92 pixelPairStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
93  src = cms.InputTag('pixelPairStepSeeds'),
94  clustersToSkip = cms.InputTag('pixelPairStepClusters'),
95  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryBuilder')),
96  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
97  numHitsForSeedCleaner = cms.int32(50),
98  onlyPixelHitsForSeedCleaner = cms.bool(True),
99 
100 )
101 
102 
103 # TRACK FITTING
105 pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
106  AlgorithmName = cms.string('pixelPairStep'),
107  src = 'pixelPairStepTrackCandidates',
108  Fitter = cms.string('FlexibleKFFittingSmoother')
109  )
110 
111 # Final selection
113 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
114 pixelPairStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
115  src='pixelPairStepTracks',
116  useAnyMVA = cms.bool(True),
117  GBRForestLabel = cms.string('MVASelectorIter2_13TeV_v0'),
118  trackSelectors= cms.VPSet(
119  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
120  name = 'pixelPairStepLoose',
121  ), #end of pset
122  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
123  name = 'pixelPairStepTight',
124  preFilterName = 'pixelPairStepLoose',
125  ),
126  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
127  name = 'pixelPairStep',
128  preFilterName = 'pixelPairStepTight',
129  ),
130  ) #end of vpset
131  ) #end of clone
132 
133 # Final sequence
134 PixelPairStep = cms.Sequence(pixelPairStepClusters*
135  pixelPairStepSeedLayers*
136  pixelPairStepSeeds*
137  pixelPairStepTrackCandidates*
138  pixelPairStepTracks*
139  pixelPairStepSelector)