32 process.hltPixelLayerTriplets.layerList = cms.vstring(
37 'BPix2+BPix3+FPix1_pos',
38 'BPix2+BPix3+FPix1_neg',
39 'BPix1+BPix2+FPix1_pos',
40 'BPix1+BPix2+FPix1_neg',
41 'BPix2+FPix1_pos+FPix2_pos',
42 'BPix2+FPix1_neg+FPix2_neg',
43 'BPix1+FPix1_pos+FPix2_pos',
44 'BPix1+FPix1_neg+FPix2_neg',
45 'FPix1_pos+FPix2_pos+FPix3_pos',
46 'FPix1_neg+FPix2_neg+FPix3_neg'
49 process.hltPixelLayerQuadruplets = cms.EDProducer(
"SeedingLayersEDProducer",
51 useErrorsFromParam = cms.bool(
True ),
52 hitErrorRPhi = cms.double( 0.0027 ),
53 TTRHBuilder = cms.string(
"hltESPTTRHBuilderPixelOnly" ),
54 HitProducer = cms.string(
"hltSiPixelRecHits" ),
55 hitErrorRZ = cms.double( 0.006 )
58 useErrorsFromParam = cms.bool(
True ),
59 hitErrorRPhi = cms.double( 0.0051 ),
60 TTRHBuilder = cms.string(
"hltESPTTRHBuilderPixelOnly" ),
61 HitProducer = cms.string(
"hltSiPixelRecHits" ),
62 hitErrorRZ = cms.double( 0.0036 )
72 layerList = cms.vstring(
73 'BPix1+BPix2+BPix3+BPix4',
74 'BPix1+BPix2+BPix3+FPix1_pos',
75 'BPix1+BPix2+BPix3+FPix1_neg',
76 'BPix1+BPix2+FPix1_pos+FPix2_pos',
77 'BPix1+BPix2+FPix1_neg+FPix2_neg',
78 'BPix1+FPix1_pos+FPix2_pos+FPix3_pos',
79 'BPix1+FPix1_neg+FPix2_neg+FPix3_neg'
84 from RecoPixelVertexing.PixelTriplets.caHitQuadrupletEDProducer_cfi
import caHitQuadrupletEDProducer
as _caHitQuadrupletEDProducer
86 process.hltPixelTracksTrackingRegions.RegionPSet = cms.PSet(
87 precise = cms.bool(
True ),
88 beamSpot = cms.InputTag(
"hltOnlineBeamSpot" ),
89 originRadius = cms.double(0.02),
90 ptMin = cms.double(0.9),
91 nSigmaZ = cms.double(4.0),
94 process.hltPixelTracksHitDoublets.seedingLayers =
"hltPixelLayerQuadruplets"
95 process.hltPixelTracksHitDoublets.layerPairs = [0,1,2]
97 process.hltPixelTracksHitQuadruplets = _caHitQuadrupletEDProducer.clone(
98 doublets =
"hltPixelTracksHitDoublets",
99 extraHitRPhitolerance = cms.double(0.032),
107 useBendingCorrection =
True,
108 fitFastCircle =
True,
109 fitFastCircleChi2Cut =
True,
110 CAThetaCut = cms.double(0.0012),
111 CAPhiCut = cms.double(0.2),
112 CAHardPtCut = cms.double(0),
113 SeedComparitorPSet = cms.PSet(
114 ComponentName = cms.string(
"LowPtClusterShapeSeedComparitor" ),
115 clusterShapeCacheSrc = cms.InputTag(
"hltSiPixelClustersCache" )
119 process.hltPixelTracks.SeedingHitSets =
"hltPixelTracksHitQuadruplets"
121 process.HLTIter0PSetTrajectoryFilterIT.minimumNumberOfHits = cms.int32( 4 )
122 process.HLTIter0PSetTrajectoryFilterIT.minHitsMinPt = cms.int32( 4 )
123 process.hltIter0PFlowTrackCutClassifier.mva.minLayers = cms.vint32( 3, 3, 4 )
124 process.hltIter0PFlowTrackCutClassifier.mva.min3DLayers = cms.vint32( 0, 3, 4 )
125 process.hltIter0PFlowTrackCutClassifier.mva.minPixelHits = cms.vint32( 0, 3, 4 )
127 replace_with(process.hltIter1PixelLayerTriplets, cms.EDProducer(
"SeedingLayersEDProducer",
128 layerList = cms.vstring(
130 'BPix1+BPix2+FPix1_pos',
131 'BPix1+BPix2+FPix1_neg',
132 'BPix1+FPix1_pos+FPix2_pos',
133 'BPix1+FPix1_neg+FPix2_neg'
139 HitProducer = cms.string(
"hltSiPixelRecHits" ),
140 hitErrorRZ = cms.double( 0.0036 ),
141 useErrorsFromParam = cms.bool(
True ),
142 TTRHBuilder = cms.string(
"hltESPTTRHBuilderPixelOnly" ),
143 skipClusters = cms.InputTag(
"hltIter1ClustersRefRemoval" ),
144 hitErrorRPhi = cms.double( 0.0051 )
151 HitProducer = cms.string(
"hltSiPixelRecHits" ),
152 hitErrorRZ = cms.double( 0.006 ),
153 useErrorsFromParam = cms.bool(
True ),
154 TTRHBuilder = cms.string(
"hltESPTTRHBuilderPixelOnly" ),
155 skipClusters = cms.InputTag(
"hltIter1ClustersRefRemoval" ),
156 hitErrorRPhi = cms.double( 0.0027 )
161 process.HLTIter1PSetTrajectoryFilterIT = cms.PSet(
162 ComponentType = cms.string(
'CkfBaseTrajectoryFilter'),
163 chargeSignificance = cms.double(-1.0),
164 constantValueForLostHitsFractionFilter = cms.double(2.0),
165 extraNumberOfHitsBeforeTheFirstLoop = cms.int32(4),
166 maxCCCLostHits = cms.int32(0),
167 maxConsecLostHits = cms.int32(1),
168 maxLostHits = cms.int32(1),
169 maxLostHitsFraction = cms.double(0.1),
170 maxNumberOfHits = cms.int32(100),
171 minGoodStripCharge = cms.PSet( refToPSet_ = cms.string(
"HLTSiStripClusterChargeCutNone" ) ),
172 minHitsMinPt = cms.int32(3),
173 minNumberOfHitsForLoopers = cms.int32(13),
174 minNumberOfHitsPerLoop = cms.int32(4),
175 minPt = cms.double(0.2),
176 minimumNumberOfHits = cms.int32(4),
177 nSigmaMinPt = cms.double(5.0),
178 pixelSeedExtension = cms.bool(
True),
179 seedExtension = cms.int32(1),
180 seedPairPenalty = cms.int32(0),
181 strictSeedExtension = cms.bool(
True)
184 process.HLTIter1PSetTrajectoryFilterInOutIT = cms.PSet(
185 ComponentType = cms.string(
'CkfBaseTrajectoryFilter'),
186 chargeSignificance = cms.double(-1.0),
187 constantValueForLostHitsFractionFilter = cms.double(2.0),
188 extraNumberOfHitsBeforeTheFirstLoop = cms.int32(4),
189 maxCCCLostHits = cms.int32(0),
190 maxConsecLostHits = cms.int32(1),
191 maxLostHits = cms.int32(1),
192 maxLostHitsFraction = cms.double(0.1),
193 maxNumberOfHits = cms.int32(100),
194 minGoodStripCharge = cms.PSet( refToPSet_ = cms.string(
"HLTSiStripClusterChargeCutNone" ) ),
195 minHitsMinPt = cms.int32(3),
196 minNumberOfHitsForLoopers = cms.int32(13),
197 minNumberOfHitsPerLoop = cms.int32(4),
198 minPt = cms.double(0.2),
199 minimumNumberOfHits = cms.int32(4),
200 nSigmaMinPt = cms.double(5.0),
201 pixelSeedExtension = cms.bool(
True),
202 seedExtension = cms.int32(1),
203 seedPairPenalty = cms.int32(0),
204 strictSeedExtension = cms.bool(
True)
207 process.HLTIter1PSetTrajectoryBuilderIT = cms.PSet(
208 inOutTrajectoryFilter = cms.PSet( refToPSet_ = cms.string(
'HLTIter1PSetTrajectoryFilterInOutIT') ),
209 propagatorAlong = cms.string(
"PropagatorWithMaterialParabolicMf" ),
210 trajectoryFilter = cms.PSet( refToPSet_ = cms.string(
"HLTIter1PSetTrajectoryFilterIT" ) ),
211 maxCand = cms.int32( 2 ),
212 ComponentType = cms.string(
"CkfTrajectoryBuilder" ),
213 propagatorOpposite = cms.string(
"PropagatorWithMaterialParabolicMfOpposite" ),
214 MeasurementTrackerName = cms.string(
"hltIter1ESPMeasurementTracker" ),
215 estimator = cms.string(
"hltESPChi2ChargeMeasurementEstimator16" ),
216 TTRHBuilder = cms.string(
"hltESPTTRHBWithTrackAngle" ),
217 updator = cms.string(
"hltESPKFUpdator" ),
218 alwaysUseInvalidHits = cms.bool(
False ),
219 intermediateCleaning = cms.bool(
True ),
220 lostHitPenalty = cms.double( 30.0 ),
221 useSameTrajFilter = cms.bool(
False)
224 replace_with(process.HLTIterativeTrackingIteration1, cms.Sequence( process.hltIter1ClustersRefRemoval + process.hltIter1MaskedMeasurementTrackerEvent + process.hltIter1PixelLayerTriplets + process.hltIter1PFlowPixelTrackingRegions + process.hltIter1PFlowPixelClusterCheck + process.hltIter1PFlowPixelHitDoublets + process.hltIter1PFlowPixelHitTriplets + process.hltIter1PFlowPixelSeeds + process.hltIter1PFlowCkfTrackCandidates + process.hltIter1PFlowCtfWithMaterialTracks + process.hltIter1PFlowTrackCutClassifierPrompt + process.hltIter1PFlowTrackCutClassifierDetached + process.hltIter1PFlowTrackCutClassifierMerged + process.hltIter1PFlowTrackSelectionHighPurity ))
226 process.hltIter2PixelLayerTriplets = cms.EDProducer(
"SeedingLayersEDProducer",
227 layerList = cms.vstring(
229 'BPix1+BPix2+FPix1_pos',
230 'BPix1+BPix2+FPix1_neg',
231 'BPix1+FPix1_pos+FPix2_pos',
232 'BPix1+FPix1_neg+FPix2_neg'
238 HitProducer = cms.string(
"hltSiPixelRecHits" ),
239 hitErrorRZ = cms.double( 0.0036 ),
240 useErrorsFromParam = cms.bool(
True ),
241 TTRHBuilder = cms.string(
"hltESPTTRHBuilderPixelOnly" ),
242 skipClusters = cms.InputTag(
"hltIter2ClustersRefRemoval" ),
243 hitErrorRPhi = cms.double( 0.0051 )
250 HitProducer = cms.string(
"hltSiPixelRecHits" ),
251 hitErrorRZ = cms.double( 0.006 ),
252 useErrorsFromParam = cms.bool(
True ),
253 TTRHBuilder = cms.string(
"hltESPTTRHBuilderPixelOnly" ),
254 skipClusters = cms.InputTag(
"hltIter2ClustersRefRemoval" ),
255 hitErrorRPhi = cms.double( 0.0027 )
260 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
261 process.hltIter2PFlowPixelHitDoublets.seedingLayers =
"hltIter2PixelLayerTriplets"
262 process.hltIter2PFlowPixelHitDoublets.produceIntermediateHitDoublets =
True
263 process.hltIter2PFlowPixelHitDoublets.produceSeedingHitSets =
False
264 process.hltIter2PFlowPixelHitDoublets.seedingLayers =
"hltIter2PixelLayerTriplets"
265 process.hltIter2PFlowPixelHitTriplets = _pixelTripletHLTEDProducer.clone(
266 doublets =
"hltIter2PFlowPixelHitDoublets",
267 useBending = cms.bool(
True ),
268 useFixedPreFiltering = cms.bool(
False ),
269 maxElement = cms.uint32( 100000 ),
270 phiPreFiltering = cms.double( 0.3 ),
271 extraHitRPhitolerance = cms.double( 0.032 ),
272 useMultScattering = cms.bool(
True ),
273 extraHitRZtolerance = cms.double( 0.037 ),
274 SeedComparitorPSet = cms.PSet( ComponentName = cms.string(
"none" ) ),
275 produceSeedingHitSets =
True,
278 def _copy(old, new, skip=[]):
280 for key
in old.parameterNames_():
281 if key
not in skipSet:
282 setattr(new, key, getattr(old, key))
284 replace_with(process.hltIter2PFlowPixelSeeds, _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(seedingHitSets=
"hltIter2PFlowPixelHitTriplets"))
285 _copy(process.HLTSeedFromConsecutiveHitsTripletOnlyCreator, process.hltIter2PFlowPixelSeeds, skip=[
"ComponentName"])
287 replace_with(process.HLTIterativeTrackingIteration2, cms.Sequence( process.hltIter2ClustersRefRemoval + process.hltIter2MaskedMeasurementTrackerEvent + process.hltIter2PixelLayerTriplets + process.hltIter2PFlowPixelTrackingRegions + process.hltIter2PFlowPixelClusterCheck + process.hltIter2PFlowPixelHitDoublets + process.hltIter2PFlowPixelHitTriplets + process.hltIter2PFlowPixelSeeds + process.hltIter2PFlowCkfTrackCandidates + process.hltIter2PFlowCtfWithMaterialTracks + process.hltIter2PFlowTrackCutClassifier + process.hltIter2PFlowTrackSelectionHighPurity ))
292 for sequence
in itertools.chain(
293 process._Process__sequences.itervalues(),
294 process._Process__paths.itervalues(),
295 process._Process__endpaths.itervalues()
298 sequence.visit(ModuleNodeVisitor(modules))
300 if process.hltPixelTracks
in modules
and not process.hltPixelLayerQuadruplets
in modules:
302 sequence.remove(process.hltPixelLayerTriplets)
303 index = sequence.index(process.hltPixelTracksHitDoublets)
304 sequence.insert(index,process.hltPixelLayerQuadruplets)
305 index = sequence.index(process.hltPixelTracksHitTriplets)
306 sequence.remove(process.hltPixelTracksHitTriplets)
307 sequence.insert(index, process.hltPixelTracksHitQuadruplets)
310 del process.hltPixelTracksHitTriplets