from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import ClusterShapeHitFilterESProducer as _ClusterShapeHitFilterESProducer tobTecStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone( ComponentName='tobTecStepClusterShapeHitFilter', doStripShapeCut=cms.bool(False), clusterChargeCut=dict(refToPSet_='SiStripClusterChargeCutTight')) from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer tobTecStepHitDoubletsTripl = _hitPairEDProducer.clone( seedingLayers="tobTecStepSeedLayersTripl", trackingRegions="tobTecStepTrackingRegionsTripl", maxElement=50000000, produceIntermediateHitDoublets=True, ) from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer tobTecStepHitTripletsTripl = _multiHitFromChi2EDProducer.clone( doublets="tobTecStepHitDoubletsTripl", extraPhiKDBox=0.01, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter _tobTecStepSeedComparitorPSet = dict( ComponentName='CombinedSeedComparitor', mode=cms.string("and"), comparitors=cms.VPSet( cms. PSet( # FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName=cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage=cms.bool(True), FilterPixelHits=cms.bool(False), FilterStripHits=cms.bool(True), ClusterShapeHitFilterName=cms.string( 'tobTecStepClusterShapeHitFilter'),
pixelLessStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone( ComponentName = 'pixelLessStepClusterShapeHitFilter', doStripShapeCut = cms.bool(False), clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight') ) from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer pixelLessStepHitDoublets = _hitPairEDProducer.clone( seedingLayers = "pixelLessStepSeedLayers", trackingRegions = "pixelLessStepTrackingRegions", maxElement = 0, produceIntermediateHitDoublets = True, ) from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer pixelLessStepHitTriplets = _multiHitFromChi2EDProducer.clone( doublets = "pixelLessStepHitDoublets", ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter pixelLessStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone( seedingHitSets = "pixelLessStepHitTriplets", SeedComparitorPSet = dict( ComponentName = 'CombinedSeedComparitor', mode = cms.string("and"), comparitors = cms.VPSet( cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(False), FilterStripHits = cms.bool(True), ClusterShapeHitFilterName = cms.string('pixelLessStepClusterShapeHitFilter'),
tobTecStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone( ComponentName = 'tobTecStepClusterShapeHitFilter', doStripShapeCut = cms.bool(False), clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight') ) from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer tobTecStepHitDoubletsTripl = _hitPairEDProducer.clone( seedingLayers = "tobTecStepSeedLayersTripl", trackingRegions = "tobTecStepTrackingRegionsTripl", maxElement = 50000000, produceIntermediateHitDoublets = True, ) from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer tobTecStepHitTripletsTripl = _multiHitFromChi2EDProducer.clone( doublets = "tobTecStepHitDoubletsTripl", extraPhiKDBox = 0.01, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter _tobTecStepSeedComparitorPSet = dict( ComponentName = 'CombinedSeedComparitor', mode = cms.string("and"), comparitors = cms.VPSet( cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(False), FilterStripHits = cms.bool(True), ClusterShapeHitFilterName = cms.string('tobTecStepClusterShapeHitFilter'), ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") # not really needed here since FilterPixelHits=False ),
pixelLessStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone( ComponentName = 'pixelLessStepClusterShapeHitFilter', doStripShapeCut = cms.bool(False), clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight') ) from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer pixelLessStepHitDoublets = _hitPairEDProducer.clone( seedingLayers = "pixelLessStepSeedLayers", trackingRegions = "pixelLessStepTrackingRegions", maxElement = 0, produceIntermediateHitDoublets = True, ) from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer pixelLessStepHitTriplets = _multiHitFromChi2EDProducer.clone( doublets = "pixelLessStepHitDoublets", ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter pixelLessStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone( seedingHitSets = "pixelLessStepHitTriplets", SeedComparitorPSet = dict( ComponentName = 'CombinedSeedComparitor', mode = cms.string("and"), comparitors = cms.VPSet( cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(False), FilterStripHits = cms.bool(True), ClusterShapeHitFilterName = cms.string('pixelLessStepClusterShapeHitFilter'),
def _regionHitSet(producer): # region regionProducer = { "GlobalRegionProducerFromBeamSpot": _globalTrackingRegionFromBeamSpot, "GlobalTrackingRegionWithVerticesProducer": _globalTrackingRegionWithVertices, "TauRegionalPixelSeedGenerator": _tauRegionalPixelSeedTrackingRegions, "CandidateSeededTrackingRegionsProducer": _seededTrackingRegionsFromBeamSpotFixedZLength, "HITrackingRegionForPrimaryVtxProducer": _hiTrackingRegionFromClusterVtx, }.get(producer.RegionFactoryPSet.ComponentName.value(), None) if regionProducer is None: # got a region not migrated yet raise Exception( "Encountered %s from module %s which is not yet migrated to the new seeding framework. Please migrate." % (producer.RegionFactoryPSet.ComponentName.value(), producer.label())) regionProducer = regionProducer.clone() # some instances of the following region producers have the # following parameters in the HLT configuration, while the # region producers themselves do not use these parameters skip = { "TauRegionalPixelSeedGenerator": [ "precise", "JetMaxEta", "JetMaxN", "JetMinPt", "beamSpot", "originZPos", "useFakeVertices", "useMultipleScattering", "deltaEta", "deltaPhi" ], "GlobalRegionProducerFromBeamSpot": ["useFakeVertices"], "GlobalTrackingRegionWithVerticesProducer": ["originHalfLength"], "CandidateSeededTrackingRegionsProducer": [ "useFakeVertices", "useMultipleScattering", "originZPos", "vertexSrc", "zErrorVertex", "fixedError", "nSigmaZ", "sigmaZVertex", "useFixedError", "useFoundVertices" ], }.get(producer.RegionFactoryPSet.ComponentName.value(), []) _copy(producer.RegionFactoryPSet.RegionPSet, regionProducer.RegionPSet, skip=skip) if producer.RegionFactoryPSet.ComponentName.value( ) == "GlobalRegionProducerFromBeamSpot": # to preserve old behaviour # if nSigmaZ/originHalfLength was missing, it was internally set to 0 if not hasattr(producer.RegionFactoryPSet.RegionPSet, "nSigmaZ"): regionProducer.RegionPSet.nSigmaZ = 0 if not hasattr(producer.RegionFactoryPSet.RegionPSet, "originHalfLength"): regionProducer.RegionPSet.originHalfLength = 0 # hit doublet generator doubletProducer = _hitPairEDProducer.clone( seedingLayers=producer.OrderedHitsFactoryPSet.SeedingLayers.value( ), trackingRegions=regionLabel, clusterCheck=clusterCheckLabel, ) # hit triplet generator tripletProducer = None skip = ["ComponentName"] if producer.OrderedHitsFactoryPSet.ComponentName.value( ) == "StandardHitPairGenerator": doubletProducer.produceSeedingHitSets = True doubletProducer.maxElement = producer.OrderedHitsFactoryPSet.maxElement.value( ) elif producer.OrderedHitsFactoryPSet.ComponentName.value( ) == "StandardHitTripletGenerator": doubletProducer.produceIntermediateHitDoublets = True tripletProducer = { "PixelTripletHLTGenerator": _pixelTripletHLTEDProducer, "PixelTripletLargeTipGenerator": _pixelTripletLargeTipEDProducer, }.get( producer.OrderedHitsFactoryPSet.GeneratorPSet.ComponentName. value(), None) if tripletProducer is None: # got a triplet generator not migrated yet raise Exception( "Encountered %s from module %s which is not yet migrated to the new seeding framework. Please migrate." % (producer.OrderedHitsFactoryPSet.GeneratorPSet. ComponentName.value(), producer.label())) tripletProducer = tripletProducer.clone( doublets=doubletLabel, produceSeedingHitSets=True, ) elif producer.OrderedHitsFactoryPSet.ComponentName.value( ) == "StandardMultiHitGenerator": doubletProducer.produceIntermediateHitDoublets = True if producer.OrderedHitsFactoryPSet.GeneratorPSet.ComponentName.value( ) != "MultiHitGeneratorFromChi2": raise Exception( "In %s, StandardMultiHitGenerator without MultiHitGeneratorFromChi2, but with %s" % label, producer.OrderedHitsFactoryPSet.GeneratorPSet. ComponentName.value()) tripletProducer = _multiHitFromChi2EDProducer.clone( doublets=doubletLabel, ) # some instances have "debug" parameter set while the producer does not use it skip.append("debug") else: # got a hit generator not migrated yet raise Exception( "Encountered %s from module %s which is not yet migrated to the new seeding framework. Please migrate." % (producer.OrderedHitsFactoryPSet.ComponentName.value(), producer.label())) if tripletProducer: _copy(producer.OrderedHitsFactoryPSet.GeneratorPSet, tripletProducer, skip=skip) doubletProducer.maxElement = 0 # this was the old behaviour when calling doublet generator from triplet generator return (regionProducer, doubletProducer, tripletProducer)
ComponentName = 'displacedGeneralStepClusterShapeHitFilter', doStripShapeCut = cms.bool(False), clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight') ) from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer displacedGeneralStepHitDoublets = _hitPairEDProducer.clone( seedingLayers = "displacedGeneralStepSeedLayers", trackingRegions = "displacedGeneralStepTrackingRegions", maxElement = 50000000, produceIntermediateHitDoublets = True, ) from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer displacedGeneralStepHitTriplets = _multiHitFromChi2EDProducer.clone( doublets = "displacedGeneralStepHitDoublets", extraPhiKDBox = 0.01, ) from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter displacedGeneralStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone( seedingHitSets = "displacedGeneralStepHitTriplets", SeedComparitorPSet = dict( ComponentName = 'CombinedSeedComparitor', mode = cms.string("and"), comparitors = cms.VPSet( cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste? ComponentName = cms.string('PixelClusterShapeSeedComparitor'), FilterAtHelixStage = cms.bool(True), FilterPixelHits = cms.bool(False),