CMS 3D CMS Logo

hiPixelPairStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 
4 
5 # NEW CLUSTERS (remove previously used clusters)
6 hiPixelPairClusters = cms.EDProducer("HITrackClusterRemover",
7  clusterLessSolution= cms.bool(True),
8  oldClusterRemovalInfo = cms.InputTag("hiLowPtTripletStepClusters"),
9  trajectories = cms.InputTag("hiLowPtTripletStepTracks"),
10  overrideTrkQuals = cms.InputTag('hiLowPtTripletStepSelector','hiLowPtTripletStep'),
11  TrackQuality = cms.string('highPurity'),
12  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
13  pixelClusters = cms.InputTag("siPixelClusters"),
14  stripClusters = cms.InputTag("siStripClusters"),
15  Common = cms.PSet(
16  maxChi2 = cms.double(9.0),
17  ),
18  Strip = cms.PSet(
19  maxChi2 = cms.double(9.0),
20  #Yen-Jie's mod to preserve merged clusters
21  maxSize = cms.uint32(2)
22  )
23  )
24 
25 
26 # SEEDING LAYERS
28 hiPixelPairSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi.PixelLayerPairs.clone(
29  layerList = cms.vstring('BPix1+BPix2', 'BPix1+BPix3', 'BPix2+BPix3',
30  'BPix1+FPix1_pos', 'BPix1+FPix1_neg',
31  'BPix2+FPix1_pos', 'BPix2+FPix1_neg',
32  'FPix1_pos+FPix2_pos', 'FPix1_neg+FPix2_neg'),
33  BPix = cms.PSet(
34  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
35  HitProducer = cms.string('siPixelRecHits'),
36  skipClusters = cms.InputTag('hiPixelPairClusters')
37  ),
38  FPix = cms.PSet(
39  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
40  HitProducer = cms.string('siPixelRecHits'),
41  skipClusters = cms.InputTag('hiPixelPairClusters')
42  )
43  )
44 
45 # SEEDS
47 hiPixelPairSeeds = RecoTracker.TkSeedGenerator.GlobalSeedsFromPairsWithVertices_cff.globalSeedsFromPairsWithVertices.clone()
48 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.VertexCollection=cms.InputTag("hiSelectedPixelVertex")
49 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.ptMin = 1.0
50 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.originRadius = 0.005
51 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.nSigmaZ = 4.0
52 # sigmaZVertex is only used when usedFixedError is True -Matt
53 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.sigmaZVertex = 4.0
54 hiPixelPairSeeds.RegionFactoryPSet.RegionPSet.useFixedError = cms.bool(False)
55 hiPixelPairSeeds.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag('hiPixelPairSeedLayers')
56 hiPixelPairSeeds.OrderedHitsFactoryPSet.maxElement = 5000000
57 hiPixelPairSeeds.ClusterCheckPSet.MaxNumberOfPixelClusters = 5000000
58 hiPixelPairSeeds.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
59 hiPixelPairSeeds.ClusterCheckPSet.MaxNumberOfCosmicClusters = 50000000
60 del hiPixelPairSeeds.ClusterCheckPSet.cut
61 
62 hiPixelPairSeeds.SeedComparitorPSet = cms.PSet(
63  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
64  FilterAtHelixStage = cms.bool(True),
65  FilterPixelHits = cms.bool(True),
66  FilterStripHits = cms.bool(False),
67  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
68  ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache")
69  )
70 
71 # QUALITY CUTS DURING TRACK BUILDING
73 hiPixelPairTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
74  #maxLostHits = 0,
75  minimumNumberOfHits = 6,
76  minPt = 1.0
77  )
78 
80 hiPixelPairChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
81  ComponentName = cms.string('hiPixelPairChi2Est'),
82  nSigma = cms.double(3.0),
83  MaxChi2 = cms.double(9.0)
84  )
85 
86 # TRACK BUILDING
88 hiPixelPairTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
89  MeasurementTrackerName = '',
90  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiPixelPairTrajectoryFilter')),
91  maxCand = 3,
92  estimator = cms.string('hiPixelPairChi2Est'),
93  maxDPhiForLooperReconstruction = cms.double(2.0),
94  maxPtForLooperReconstruction = cms.double(0.7)
95  )
96 
97 # MAKING OF TRACK CANDIDATES
99 hiPixelPairTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
100  src = cms.InputTag('hiPixelPairSeeds'),
101  clustersToSkip = cms.InputTag('hiPixelPairClusters'),
102  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiPixelPairTrajectoryBuilder')),
103  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
104  numHitsForSeedCleaner = cms.int32(50),
105  onlyPixelHitsForSeedCleaner = cms.bool(True),
106 
107  )
108 
109 
110 # TRACK FITTING
112 hiPixelPairGlobalPrimTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
113  AlgorithmName = cms.string('pixelPairStep'),
114  src = 'hiPixelPairTrackCandidates',
115  Fitter = cms.string('FlexibleKFFittingSmoother')
116  )
117 
118 
119 
120 # Final selection
122 hiPixelPairStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
123  src='hiPixelPairGlobalPrimTracks',
124  useAnyMVA = cms.bool(True),
125  GBRForestLabel = cms.string('HIMVASelectorIter6'),
126  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'dxyperdxyerror', 'dzperdzerror', 'nhits', 'nlayers', 'eta']),
127  trackSelectors= cms.VPSet(
128  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
129  name = 'hiPixelPairStepLoose',
130  useMVA = cms.bool(False)
131  ), #end of pset
132  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
133  name = 'hiPixelPairStepTight',
134  preFilterName = 'hiPixelPairStepLoose',
135  useMVA = cms.bool(True),
136  minMVA = cms.double(-0.58)
137  ),
138  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
139  name = 'hiPixelPairStep',
140  preFilterName = 'hiPixelPairStepTight',
141  useMVA = cms.bool(True),
142  minMVA = cms.double(0.77)
143  ),
144  ) #end of vpset
145  ) #end of clone
146 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
147 trackingPhase1.toModify(hiPixelPairStepSelector, useAnyMVA = cms.bool(False))
148 trackingPhase1.toModify(hiPixelPairStepSelector, trackSelectors= cms.VPSet(
149  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
150  name = 'hiPixelPairStepLoose',
151  useMVA = cms.bool(False)
152  ), #end of pset
153  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
154  name = 'hiPixelPairStepTight',
155  preFilterName = 'hiPixelPairStepLoose',
156  useMVA = cms.bool(False),
157  minMVA = cms.double(-0.58)
158  ),
159  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
160  name = 'hiPixelPairStep',
161  preFilterName = 'hiPixelPairStepTight',
162  useMVA = cms.bool(False),
163  minMVA = cms.double(0.77)
164  ),
165  ) #end of vpset
166 )
167 
168 
169 
170 # Final sequence
171 
172 hiPixelPairStep = cms.Sequence(hiPixelPairClusters*
173  hiPixelPairSeedLayers*
174  hiPixelPairSeeds*
175  hiPixelPairTrackCandidates*
176  hiPixelPairGlobalPrimTracks*
177  hiPixelPairStepSelector)