CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
37 hiDetachedTripletStepPixelTracks = cms.EDProducer("PixelTrackProducer",
38 
39  passLabel = cms.string('Pixel detached tracks with vertex constraint'),
40 
41  RegionFactoryPSet = cms.PSet(
42  ComponentName = cms.string('GlobalTrackingRegionWithVerticesProducer'),
43  RegionPSet = cms.PSet(
44  precise = cms.bool(True),
45  beamSpot = cms.InputTag("offlineBeamSpot"),
46  useFixedError = cms.bool(True),
47  nSigmaZ = cms.double(4.0),
48  sigmaZVertex = cms.double(4.0),
49  fixedError = cms.double(0.5),
50  VertexCollection = cms.InputTag("hiSelectedVertex"),
51  ptMin = cms.double(0.9),
52  useFoundVertices = cms.bool(True),
53  originRadius = cms.double(0.5)
54  )
55  ),
56 
57  # Ordered Hits
58  OrderedHitsFactoryPSet = cms.PSet(
59  ComponentName = cms.string( "StandardHitTripletGenerator" ),
60  SeedingLayers = cms.InputTag( "PixelLayerTriplets" ),
61  GeneratorPSet = cms.PSet(
62  PixelTripletHLTGenerator
63  )
64  ),
65 
66  # Fitter
67  FitterPSet = cms.PSet(
68  ComponentName = cms.string('PixelFitterByHelixProjections'),
69  TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelTriplets')
70  ),
71 
72  # Filter
73  useFilterWithES = cms.bool( True ),
74  FilterPSet = cms.PSet(
75  nSigmaLipMaxTolerance = cms.double(0),
76  chi2 = cms.double(1000.0),
77  ComponentName = cms.string('HIPixelTrackFilter'),
78  nSigmaTipMaxTolerance = cms.double(0),
79  clusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache"),
80  VertexCollection = cms.InputTag("hiSelectedVertex"),
81  useClusterShape = cms.bool(False),
82  lipMax = cms.double(1.0),
83  tipMax = cms.double(1.0),
84  ptMin = cms.double(0.95)
85  ),
86 
87  # Cleaner
88  CleanerPSet = cms.PSet(
89  ComponentName = cms.string( "TrackCleaner" )
90  )
91 )
92 
93 
94 
95 hiDetachedTripletStepPixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.extraHitRPhitolerance = cms.double(0.0)
96 hiDetachedTripletStepPixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.extraHitRZtolerance = cms.double(0.0)
97 hiDetachedTripletStepPixelTracks.OrderedHitsFactoryPSet.SeedingLayers = cms.InputTag('hiDetachedTripletStepSeedLayers')
98 
99 hiDetachedTripletStepPixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(1000000)
100 hiDetachedTripletStepPixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor
101 
102 import RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi
103 hiDetachedTripletStepSeeds = RecoPixelVertexing.PixelLowPtUtilities.TrackSeeds_cfi.pixelTrackSeeds.clone(
104  InputCollection = 'hiDetachedTripletStepPixelTracks'
105  )
106 
107 # QUALITY CUTS DURING TRACK BUILDING
109 hiDetachedTripletStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
110  maxLostHits = 1,
111  minimumNumberOfHits = 6,
112  minPt = cms.double(0.3),
113  constantValueForLostHitsFractionFilter = cms.double(0.701)
114  )
115 
117 hiDetachedTripletStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
118  ComponentName = cms.string('hiDetachedTripletStepChi2Est'),
119  nSigma = cms.double(3.0),
120  MaxChi2 = cms.double(9.0)
121  )
122 
123 
124 # TRACK BUILDING
126 hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
127  MeasurementTrackerName = '',
128  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiDetachedTripletStepTrajectoryFilter')),
129  maxCand = 2,
130  estimator = cms.string('hiDetachedTripletStepChi2Est'),
131  maxDPhiForLooperReconstruction = cms.double(0),
132  maxPtForLooperReconstruction = cms.double(0),
133  alwaysUseInvalidHits = cms.bool(False)
134  )
135 
136 # MAKING OF TRACK CANDIDATES
138 hiDetachedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
139  src = cms.InputTag('hiDetachedTripletStepSeeds'),
140  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
141  numHitsForSeedCleaner = cms.int32(50),
142  onlyPixelHitsForSeedCleaner = cms.bool(True),
143  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('hiDetachedTripletStepTrajectoryBuilder')),
144  TrajectoryBuilder = cms.string('hiDetachedTripletStepTrajectoryBuilder'),
145  clustersToSkip = cms.InputTag('hiDetachedTripletStepClusters'),
146  doSeedingRegionRebuilding = True,
147  useHitsSplitting = True
148  )
149 
150 
151 # TRACK FITTING
153 hiDetachedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
154  src = 'hiDetachedTripletStepTrackCandidates',
155  AlgorithmName = cms.string('detachedTripletStep'),
156  Fitter=cms.string('FlexibleKFFittingSmoother')
157  )
158 
159 # Final selection
161 hiDetachedTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
162  src='hiDetachedTripletStepTracks',
163  useAnyMVA = cms.bool(True),
164  GBRForestLabel = cms.string('HIMVASelectorIter7'),
165  GBRForestVars = cms.vstring(['chi2perdofperlayer', 'nhits', 'nlayers', 'eta']),
166  trackSelectors= cms.VPSet(
167  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(
168  name = 'hiDetachedTripletStepLoose',
169  applyAdaptedPVCuts = cms.bool(False),
170  useMVA = cms.bool(False),
171  ), #end of pset
172  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
173  name = 'hiDetachedTripletStepTight',
174  preFilterName = 'hiDetachedTripletStepLoose',
175  applyAdaptedPVCuts = cms.bool(False),
176  useMVA = cms.bool(True),
177  minMVA = cms.double(-0.2)
178  ),
179  RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
180  name = 'hiDetachedTripletStep',
181  preFilterName = 'hiDetachedTripletStepTight',
182  applyAdaptedPVCuts = cms.bool(False),
183  useMVA = cms.bool(True),
184  minMVA = cms.double(-0.09)
185  ),
186  ) #end of vpset
187  ) #end of clone
188 
190 hiDetachedTripletStepQual = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
191  TrackProducers=cms.VInputTag(cms.InputTag('hiDetachedTripletStepTracks')),
192  hasSelector=cms.vint32(1),
193  selectedTrackQuals = cms.VInputTag(cms.InputTag("hiDetachedTripletStepSelector","hiDetachedTripletStep")),
194  copyExtras = True,
195  makeReKeyedSeeds = cms.untracked.bool(False),
196  )
197 
198 
199 hiDetachedTripletStep = cms.Sequence(hiDetachedTripletStepClusters*
200  hiDetachedTripletStepSeedLayers*
201  hiDetachedTripletStepPixelTracks*
202  hiDetachedTripletStepSeeds*
203  hiDetachedTripletStepTrackCandidates*
204  hiDetachedTripletStepTracks*
205  hiDetachedTripletStepSelector*
206  hiDetachedTripletStepQual)
207 
208 
pp iterative tracking modified for hiOffline reco (the vertex is the one reconstructed in HI) 3rd ste...