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