CMS 3D CMS Logo

hiDetachedTripletStep_cff.py
Go to the documentation of this file.
2 from HIPixelTripletSeeds_cff import *
3 from HIPixel3PrimTracks_cfi import *
4 
5 hiDetachedTripletStepClusters = cms.EDProducer("HITrackClusterRemover",
6  clusterLessSolution = cms.bool(True),
7  trajectories = cms.InputTag("hiGlobalPrimTracks"),
8  overrideTrkQuals = cms.InputTag('hiInitialStepSelector','hiInitialStep'),
9  TrackQuality = cms.string('highPurity'),
10  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
11  pixelClusters = cms.InputTag("siPixelClusters"),
12  stripClusters = cms.InputTag("siStripClusters"),
13  Common = cms.PSet(
14  maxChi2 = cms.double(9.0),
15  ),
16  Strip = cms.PSet(
17  #Yen-Jie's mod to preserve merged clusters
18  maxSize = cms.uint32(2),
19  maxChi2 = cms.double(9.0)
20  )
21 )
22 
23 
24 
25 
26 # SEEDING LAYERS
28 hiDetachedTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone()
29 hiDetachedTripletStepSeedLayers.BPix.skipClusters = cms.InputTag('hiDetachedTripletStepClusters')
30 hiDetachedTripletStepSeedLayers.FPix.skipClusters = cms.InputTag('hiDetachedTripletStepClusters')
31 
32 # SEEDS
33 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cfi import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
34 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
35 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi import pixelTripletHLTEDProducer as _pixelTripletHLTEDProducer
41 
42 hiDetachedTripletStepTrackingRegions = _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
43  precise = True,
44  useMultipleScattering = False,
45  useFakeVertices = False,
46  beamSpot = "offlineBeamSpot",
47  useFixedError = True,
48  nSigmaZ = 4.0,
49  sigmaZVertex = 4.0,
50  fixedError = 0.5,
51  VertexCollection = "hiSelectedVertex",
52  ptMin = 0.9,
53  useFoundVertices = True,
54  originRadius = 0.5
55 ))
56 hiDetachedTripletStepTracksHitDoublets = _hitPairEDProducer.clone(
57  clusterCheck = "",
58  seedingLayers = "hiDetachedTripletStepSeedLayers",
59  trackingRegions = "hiDetachedTripletStepTrackingRegions",
60  maxElement = 0,
61  produceIntermediateHitDoublets = True,
62 )
63 hiDetachedTripletStepTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
64  doublets = "hiDetachedTripletStepTracksHitDoublets",
65  extraHitRPhitolerance = 0.0,
66  extraHitRZtolerance = 0.0,
67  maxElement = 1000000,
68  SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(),
69  produceSeedingHitSets = True,
70 )
71 hiDetachedTripletStepPixelTracksFilter = hiFilter.clone(
72  nSigmaTipMaxTolerance = 0,
73  lipMax = 1.0,
74  tipMax = 1.0,
75  ptMin = 0.95,
76 )
77 hiDetachedTripletStepPixelTracks = cms.EDProducer("PixelTrackProducer",
78 
79  passLabel = cms.string('Pixel detached tracks with vertex constraint'),
80 
81  # Ordered Hits
82  SeedingHitSets = cms.InputTag("hiDetachedTripletStepTracksHitTriplets"),
83 
84  # Fitter
85  Fitter = cms.InputTag("pixelFitterByHelixProjections"),
86 
87  # Filter
88  Filter = cms.InputTag("hiDetachedTripletStepPixelTracksFilter"),
89 
90  # Cleaner
91  Cleaner = cms.string("trackCleaner")
92 )
93 
94 
95 import RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
96 hiDetachedTripletStepSeeds = RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
97  InputCollection = 'hiDetachedTripletStepPixelTracks'
98  )
99 
100 # QUALITY CUTS DURING TRACK BUILDING
102 hiDetachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
103  maxLostHits = 1,
104  minimumNumberOfHits = 6,
105  minPt = cms.double(0.3),
106  constantValueForLostHitsFractionFilter = cms.double(0.701)
107  )
108 
110 hiDetachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator.clone(
111  ComponentName = cms.string('hiDetachedTripletStepChi2Est'),
112  nSigma = cms.double(3.0),
113  MaxChi2 = cms.double(9.0)
114  )
115 
116 
117 # TRACK BUILDING
119 hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
120  MeasurementTrackerName = '',
121  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiDetachedTripletStepTrajectoryFilter')),
122  maxCand = 2,
123  estimator = cms.string('hiDetachedTripletStepChi2Est'),
124  maxDPhiForLooperReconstruction = cms.double(0),
125  maxPtForLooperReconstruction = cms.double(0),
126  alwaysUseInvalidHits = cms.bool(False)
127  )
128 
129 # MAKING OF TRACK CANDIDATES
131 hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
132  src = cms.InputTag('hiDetachedTripletStepSeeds'),
133  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
134  numHitsForSeedCleaner = cms.int32(50),
135  onlyPixelHitsForSeedCleaner = cms.bool(True),
136  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiDetachedTripletStepTrajectoryBuilder')),
137  TrajectoryBuilder = cms.string('hiDetachedTripletStepTrajectoryBuilder'),
138  clustersToSkip = cms.InputTag('hiDetachedTripletStepClusters'),
139  doSeedingRegionRebuilding = True,
140  useHitsSplitting = True
141  )
142 
143 
144 # TRACK FITTING
146 hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
147  src = 'hiDetachedTripletStepTrackCandidates',
148  AlgorithmName = cms.string('detachedTripletStep'),
149  Fitter=cms.string('FlexibleKFFittingSmoother')
150  )
151 
152 # Final selection
154 hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
155  src='hiDetachedTripletStepTracks',
156  useAnyMVA = cms.bool(True),
157  GBRForestLabel = cms.string('HIMVASelectorIter7'),
158  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
159  trackSelectors= cms.VPSet(
160  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
161  name = 'hiDetachedTripletStepLoose',
162  applyAdaptedPVCuts = cms.bool(False),
163  useMVA = cms.bool(False),
164  ), #end of pset
165  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
166  name = 'hiDetachedTripletStepTight',
167  preFilterName = 'hiDetachedTripletStepLoose',
168  applyAdaptedPVCuts = cms.bool(False),
169  useMVA = cms.bool(True),
170  minMVA = cms.double(-0.2)
171  ),
172  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
173  name = 'hiDetachedTripletStep',
174  preFilterName = 'hiDetachedTripletStepTight',
175  applyAdaptedPVCuts = cms.bool(False),
176  useMVA = cms.bool(True),
177  minMVA = cms.double(-0.09)
178  ),
179  ) #end of vpset
180  ) #end of clone
181 
182 from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder
184 hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
185  TrackProducers=cms.VInputTag(cms.InputTag('hiDetachedTripletStepTracks')),
186  hasSelector=cms.vint32(1),
187  selectedTrackQuals = cms.VInputTag(cms.InputTag("hiDetachedTripletStepSelector","hiDetachedTripletStep")),
188  copyExtras = True,
189  makeReKeyedSeeds = cms.untracked.bool(False),
190  )
191 
192 
193 hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepClusters*
194  hiDetachedTripletStepSeedLayers*
195  hiDetachedTripletStepTrackingRegions*
196  hiDetachedTripletStepTracksHitDoublets*
197  hiDetachedTripletStepTracksHitTriplets*
198  pixelFitterByHelixProjections*
199  hiDetachedTripletStepPixelTracksFilter*
200  hiDetachedTripletStepPixelTracks*
201  hiDetachedTripletStepSeeds*
202  hiDetachedTripletStepTrackCandidates*
203  hiDetachedTripletStepTracks*
204  hiDetachedTripletStepSelector*
205  hiDetachedTripletStepQual)
206 
207 
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...