Beispiel #1
0
            minNumberLayers=3,
            maxNumberLostLayers=2,
            minNumber3DLayers=3,
            d0_par1=(0.7, 4.0),
            dz_par1=(0.6, 4.0),
            d0_par2=(0.5, 4.0),
            dz_par2=(0.5, 4.0)),
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.
        clone(name='lowPtQuadStep',
              preFilterName='lowPtQuadStepTight',
              chi2n_par=1.2,
              res_par=(0.003, 0.001),
              minNumberLayers=3,
              maxNumberLostLayers=2,
              minNumber3DLayers=3,
              d0_par1=(0.5, 4.0),
              dz_par1=(0.5, 4.0),
              d0_par2=(0.45, 4.0),
              dz_par2=(0.45, 4.0)),
    ),  #end of vpset
    vertices="pixelVertices")  #end of clone

# Final sequence
LowPtQuadStep = cms.Sequence(
    lowPtQuadStepClusters * lowPtQuadStepSeedLayers * lowPtQuadStepSeeds *
    lowPtQuadStepTrackCandidates * lowPtQuadStepTracks * lowPtQuadStep)
_LowPtQuadStep_Phase1PU70 = LowPtQuadStep.copy()
_LowPtQuadStep_Phase1PU70.replace(lowPtQuadStep, lowPtQuadStepSelector)
trackingPhase1PU70.toReplaceWith(LowPtQuadStep, _LowPtQuadStep_Phase1PU70)
trackingPhase2PU140.toReplaceWith(LowPtQuadStep, _LowPtQuadStep_Phase1PU70)
Beispiel #2
0
initialStepTrajectoryFilterBase = _initialStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(initialStepTrajectoryFilterBase, maxCCCLostHits = 2)
initialStepTrajectoryFilterInOut = initialStepTrajectoryFilterBase.clone(
    minimumNumberOfHits = 4,
    seedExtension = 1,
    strictSeedExtension = True, # don't allow inactive
    pixelSeedExtension = True,
)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
trackingPhase1PU70.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)
trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilterBase, _initialStepTrajectoryFilterBase)

import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
initialStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
initialStepTrajectoryFilter = cms.PSet(
    ComponentType = cms.string('CompositeTrajectoryFilter'),
    filters = cms.VPSet(
        cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterBase')),
    #    cms.PSet( refToPSet_ = cms.string('initialStepTrajectoryFilterShape'))
    ),
)

trackingPhase2PU140.toReplaceWith(initialStepTrajectoryFilter, TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.2
    )
Beispiel #3
0
    SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
)
_SeedComparitorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))
trackingLowPU.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase1PU70.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase2PU140.toModify(pixelTracksHitTriplets, maxElement=0, **_SeedComparitorPSet)

pixelTracksHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone(
    triplets = "pixelTracksHitTriplets",
    layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")),
)

# Pixel tracks
pixelTracks = _pixelTracksDefault.clone()
_SeedingHitSets = dict(SeedingHitSets = "pixelTracksHitQuadruplets")
trackingPhase1PU70.toModify(pixelTracks, **_SeedingHitSets)
trackingPhase2PU140.toModify(pixelTracks, **_SeedingHitSets)

pixelTracksSequence = cms.Sequence(
    pixelTracksTrackingRegions +
    pixelTracksHitDoublets +
    pixelTracksHitTriplets +
    pixelFitterByHelixProjections +
    pixelTrackFilterByKinematics +
    pixelTracks
)
_pixelTracksSequence_quad = pixelTracksSequence.copy()
_pixelTracksSequence_quad.replace(pixelTracksHitTriplets, pixelTracksHitTriplets+pixelTracksHitQuadruplets)
trackingPhase1PU70.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
trackingPhase2PU140.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
Beispiel #4
0
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    CAThetaCut = 0.0012,
    CAPhiCut = 0.2,
))

trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)
trackingPhase2PU140.toReplaceWith(initialStepHitQuadruplets, _caHitQuadrupletEDProducer.clone(
    doublets = "initialStepHitDoublets",
    extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
    SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet,
    maxChi2 = dict(
        pt1    = 0.7, pt2    = 2,
        value1 = 200, value2 = 50,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    CAThetaCut = 0.0010,
    CAPhiCut = 0.175,
))


trackingPhase2PU140.toModify(initialStepHitTriplets,
    produceSeedingHitSets = False,
    produceIntermediateHitTriplets = True,
)

from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
_initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
Beispiel #5
0
)
trackingPhase1QuadProp.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadruplets_propagation)



# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)

from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
# Composite filter
lowPtQuadStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters = [cms.PSet(refToPSet_ = cms.string('lowPtQuadStepTrajectoryFilterBase'))]
)
trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryFilter,
    filters = lowPtQuadStepTrajectoryFilter.filters.value() + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
)

import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
lowPtQuadStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
    ComponentName = 'lowPtQuadStepChi2Est',
    nSigma = 3.0,
    MaxChi2 = 9.0,
Beispiel #6
0
    maxChi2 = dict(
        pt1    = 0.8, pt2    = 2,
        value1 = 70 , value2 = 8,
    ),
    useBendingCorrection = True,
    CAThetaCut = 0.002,
    CAPhiCut = 0.05,
))

trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1]) # layer pairs (0,1), (1,2)
trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
    doublets = "lowPtTripletStepHitDoublets",
    extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
    SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
    maxChi2 = dict(
        pt1    = 0.8, pt2    = 2,
        value1 = 70 , value2 = 8,
    ),
    useBendingCorrection = True,
    CAThetaCut = 0.002,
    CAPhiCut = 0.05,
))
 


# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
Beispiel #7
0
    minPt = 0.1,
)
pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone(
    seedPairPenalty =0,
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(pixelPairStepTrajectoryFilterBase, maxCCCLostHits = 2)
trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase)
trackingPhase1PU70.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone(
    maxLostHitsFraction = 1./10.,
    constantValueForLostHitsFractionFilter = 0.801,
))
trackingPhase2PU140.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone(
    maxLostHitsFraction = 1./10.,
    constantValueForLostHitsFractionFilter = 0.701,
))
import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
pixelPairStepTrajectoryFilter = cms.PSet(
    ComponentType = cms.string('CompositeTrajectoryFilter'),
    filters = cms.VPSet(
        cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterBase')),
    #    cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))
    ),
)



import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
pixelPairStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
Beispiel #8
0
)

# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger
trackingPhase2PU140.toReplaceWith(preDuplicateMergingGeneralTracks, _trackListMerger.clone(
    TrackProducers     = ["earlyGeneralTracks", 
                          "muonSeededTracksInOut", 
                          "muonSeededTracksOutIn"],
    hasSelector        = [0,1,1],
    selectedTrackQuals = ["muonSeededTracksInOutSelector:muonSeededTracksInOutHighPurity", # not used but needed
                          "muonSeededTracksInOutSelector:muonSeededTracksInOutHighPurity",
                          "muonSeededTracksOutInSelector:muonSeededTracksOutInHighPurity"],
#    mvaValueTags       = ["earlyGeneralTracks:MVAVals",
#                          "muonSeededTracksInOutSelector:MVAVals",
#                          "muonSeededTracksOutInSelector:MVAVals"],
    mvaValueTags = cms.VInputTag(
        cms.InputTag("earlyGeneralTracks","MVAVals"),
        cms.InputTag("muonSeededTracksInOutSelector","MVAVals"),
        cms.InputTag("muonSeededTracksOutInSelector","MVAVals"),
    ),
    #setsToMerge      = dict(pQual = False, tLists = [0, 1, 2]),
    setsToMerge = cms.VPSet(cms.PSet(pQual = cms.bool(False), tLists = cms.vint32(0, 1, 2))),
    FoundHitBonus    = 100.0,
    LostHitPenalty   = 1.0,
    indivShareFrac   = [1.0, 0.16, 0.095, 0.09, 0.095,0.095, 0.095, 0.08],
    copyExtras       = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
    )
)
Beispiel #9
0
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    CAThetaCut = 0.0012,
    CAPhiCut = 0.2,
))

trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)
trackingPhase2PU140.toReplaceWith(initialStepHitQuadruplets, _caHitQuadrupletEDProducer.clone(
    doublets = "initialStepHitDoublets",
    extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
    SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet,
    maxChi2 = dict(
        pt1    = 0.7, pt2    = 2,
        value1 = 200, value2 = 50,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    CAThetaCut = 0.0010,
    CAPhiCut = 0.175,
))


trackingPhase2PU140.toModify(initialStepHitTriplets,
    produceSeedingHitSets = False,
    produceIntermediateHitTriplets = True,
)

from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
_initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
Beispiel #10
0
            continue
        if "SeedsTripl" in item:
            continue
        ret.append(item)
    return ret
_seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers)
_seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1)
_seedProducers_trackingPhase2PU140  = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase2PU140)

(_seedSelectors, trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers, globals())
(_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase1, globals())
(_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase2PU140, globals())
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1)
trackingPhase2PU140.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140)

trackingNtuple.seedTracks = _seedSelectors
trackingPhase1.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase1)
trackingPhase2PU140.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase2PU140)

def _seedProdToTrackCands(name):
    return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates")
trackingNtuple.trackCandidates = map(_seedProdToTrackCands, _seedProducers)
trackingPhase1.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase1))
trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=map(_seedProdToTrackCands, _seedProducers_trackingPhase2PU140))

trackingNtupleSequence = cms.Sequence()
# reproduce hits because they're not stored in RECO
if _includeHits:
    trackingNtupleSequence += (
Beispiel #11
0
import FWCore.ParameterSet.Config as cms

from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import *
#
# for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex
#
#from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import *
from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import *
recopixelvertexing = cms.Sequence(PixelLayerTriplets * pixelTracksSequence *
                                  pixelVertices)

# For LowPU and Phase1PU70
PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone(
    BPix=dict(HitProducer="siPixelRecHitsPreSplitting"),
    FPix=dict(HitProducer="siPixelRecHitsPreSplitting"),
)
_recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy()
_recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets,
                                             PixelLayerTripletsPreSplitting)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(recopixelvertexing,
                            _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(recopixelvertexing,
                                 _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(recopixelvertexing,
                                  _recopixelvertexing_LowPU_Phase1PU70)
            dz_par2=(0.5, 4.0)),
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.
        clone(name='highPtTripletStep',
              preFilterName='highPtTripletStepTight',
              chi2n_par=0.6,
              res_par=(0.003, 0.001),
              minNumberLayers=3,
              maxNumberLostLayers=2,
              minNumber3DLayers=3,
              d0_par1=(0.5, 4.0),
              dz_par1=(0.6, 4.0),
              d0_par2=(0.45, 4.0),
              dz_par2=(0.45, 4.0)),
    ),  #end of vpset
    vertices="pixelVertices")  #end of clone

# Final sequence
HighPtTripletStep = cms.Sequence(
    highPtTripletStepClusters * highPtTripletStepSeedLayers *
    highPtTripletStepSeeds * highPtTripletStepTrackCandidates *
    highPtTripletStepTracks *
    #                                 highPtTripletStepClassifier1*highPtTripletStepClassifier2*highPtTripletStepClassifier3*
    highPtTripletStep)
_HighPtTripletStep_Phase1PU70 = HighPtTripletStep.copy()
_HighPtTripletStep_Phase1PU70.replace(highPtTripletStep,
                                      highPtTripletStepSelector)
trackingPhase1PU70.toReplaceWith(HighPtTripletStep,
                                 _HighPtTripletStep_Phase1PU70)
trackingPhase2PU140.toReplaceWith(HighPtTripletStep,
                                  _HighPtTripletStep_Phase1PU70)
Beispiel #13
0
        pt1    = 0.8  , pt2    = 2,
        value1 = 2000, value2 = 100,
        enabled = True,
    ),
    extraPhiTolerance = dict(
        pt1    = 0.3, pt2    = 1,
        value1 = 0.4, value2 = 0.05,
        enabled = True,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    SeedComparitorPSet = lowPtQuadStepHitTriplets.SeedComparitorPSet,
)
trackingPhase1QuadProp.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadruplets_propagation)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadruplets_propagation)



# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)
Beispiel #14
0
(_seedSelectors,
 trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers(
     _seedProducers, globals())
(_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1
 ) = _TrackValidation_cff._addSeedToTrackProducers(
     _seedProducers_trackingPhase1, globals())
(_seedSelectors_trackingPhase2PU140,
 _trackingNtupleSeedSelectors_trackingPhase2PU140
 ) = _TrackValidation_cff._addSeedToTrackProducers(
     _seedProducers_trackingPhase2PU140, globals())
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors,
                             _trackingNtupleSeedSelectors_trackingPhase1)
trackingPhase2PU140.toReplaceWith(
    trackingNtupleSeedSelectors,
    _trackingNtupleSeedSelectors_trackingPhase2PU140)

trackingNtuple.seedTracks = _seedSelectors
trackingPhase1.toModify(trackingNtuple,
                        seedTracks=_seedSelectors_trackingPhase1)
trackingPhase2PU140.toModify(trackingNtuple,
                             seedTracks=_seedSelectors_trackingPhase2PU140)


def _seedProdToTrackCands(name):
    return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates")


trackingNtuple.trackCandidates = map(_seedProdToTrackCands, _seedProducers)
trackingPhase1.toModify(trackingNtuple,
Beispiel #15
0
            minHitsToBypassChecks = 20
            ),
        ) #end of vpset
    ) #end of clone



muonSeededStepCoreInOut = cms.Sequence(
    muonSeededSeedsInOut + muonSeededTrackCandidatesInOut + muonSeededTracksInOut
)
muonSeededStepCore = cms.Sequence(
    muonSeededStepCoreInOut +
    muonSeededSeedsOutIn + muonSeededTrackCandidatesOutIn + muonSeededTracksOutIn
)
#Phase2 : just muon Seed InOut is used in this moment
trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut)
muonSeededStepExtraInOut = cms.Sequence(
    muonSeededTracksInOutClassifier
)
trackingPhase1PU70.toReplaceWith(muonSeededStepExtraInOut, cms.Sequence(
    muonSeededTracksInOutSelector
))
trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOut, cms.Sequence(
    muonSeededTracksInOutSelector
))
muonSeededStepExtra = cms.Sequence(
    muonSeededStepExtraInOut +
    muonSeededTracksOutInClassifier
)
trackingPhase1PU70.toReplaceWith(muonSeededStepExtra, cms.Sequence(
    muonSeededStepExtraInOut +
Beispiel #16
0
)
trackingPhase1.toModify(earlyGeneralTracks, **_forPhase1)
trackingPhase1QuadProp.toModify(earlyGeneralTracks, **_forPhase1)

# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger
trackingPhase2PU140.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone(
    TrackProducers =['initialStepTracks',
                     'highPtTripletStepTracks',
                     'lowPtQuadStepTracks',
                     'lowPtTripletStepTracks',
                     'detachedQuadStepTracks',
                     'pixelPairStepTracks',
                    ],
    hasSelector = [1,1,1,1,1,1],
    indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09],
    selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStep"),
                                       cms.InputTag("highPtTripletStepSelector","highPtTripletStep"),
                                       cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"),
                                       cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"),
                                       cms.InputTag("detachedQuadStep"),
                                       cms.InputTag("pixelPairStepSelector","pixelPairStep"),
                                       ),
    setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5), pQual=cms.bool(True) )
                             ),
    copyExtras = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
    )
)
from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
    seedingHitSets="highPtTripletStepHitTriplets", )

trackingPhase1QuadProp.toModify(highPtTripletStepHitDoublets,
                                layerPairs=[0])  # layer pair (0,1)
trackingPhase2PU140.toModify(highPtTripletStepHitDoublets,
                             layerPairs=[0])  # layer pair (0,1)
_highPtTripletStepHitTriplets_propagation = _pixelTripletHLTEDProducer.clone(
    doublets="highPtTripletStepHitDoublets",
    produceSeedingHitSets=True,
    SeedComparitorPSet=highPtTripletStepHitTriplets.SeedComparitorPSet,
)
trackingPhase1QuadProp.toReplaceWith(
    highPtTripletStepHitTriplets, _highPtTripletStepHitTriplets_propagation)
trackingPhase2PU140.toReplaceWith(highPtTripletStepHitTriplets,
                                  _highPtTripletStepHitTriplets_propagation)

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_highPtTripletStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits=3,
    minPt=0.2,
)
highPtTripletStepTrajectoryFilterBase = _highPtTripletStepTrajectoryFilterBase.clone(
    maxCCCLostHits=0,
    minGoodStripCharge=dict(refToPSet_='SiStripClusterChargeCutLoose'))
trackingPhase2PU140.toReplaceWith(highPtTripletStepTrajectoryFilterBase,
                                  _highPtTripletStepTrajectoryFilterBase)
highPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters=[
        cms.PSet(
Beispiel #18
0
)
pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone(
    seedPairPenalty=0,
    maxCCCLostHits=0,
    minGoodStripCharge=dict(refToPSet_='SiStripClusterChargeCutLoose'))
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(pixelPairStepTrajectoryFilterBase,
                                 maxCCCLostHits=2)
trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase,
                            _pixelPairStepTrajectoryFilterBase)
trackingPhase1.toModify(pixelPairStepTrajectoryFilterBase,
                        minimumNumberOfHits=4)
trackingPhase2PU140.toReplaceWith(
    pixelPairStepTrajectoryFilterBase,
    _pixelPairStepTrajectoryFilterBase.clone(
        minimumNumberOfHits=4,
        maxLostHitsFraction=1. / 10.,
        constantValueForLostHitsFractionFilter=0.701,
    ))
highBetaStar_2018.toModify(pixelPairStepTrajectoryFilterBase, minPt=0.05)

import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone(
)
pixelPairStepTrajectoryFilter = cms.PSet(
    ComponentType=cms.string('CompositeTrajectoryFilter'),
    filters=cms.VPSet(
        cms.PSet(refToPSet_=cms.string('pixelPairStepTrajectoryFilterBase')),
        #    cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))
    ),
)
Beispiel #19
0
            continue
        if "SeedsTripl" in item:
            continue
        ret.append(item)
    return ret
_seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers)
_seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1)
_seedProducers_trackingPhase2PU140  = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase2PU140)

(_seedSelectors, trackingNtupleSeedSelectors) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers, globals())
(_seedSelectors_trackingPhase1, _trackingNtupleSeedSelectors_trackingPhase1) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase1, globals())
(_seedSelectors_trackingPhase2PU140, _trackingNtupleSeedSelectors_trackingPhase2PU140) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers_trackingPhase2PU140, globals())
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase1)
trackingPhase2PU140.toReplaceWith(trackingNtupleSeedSelectors, _trackingNtupleSeedSelectors_trackingPhase2PU140)

trackingNtuple.seedTracks = _seedSelectors
trackingPhase1.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase1)
trackingPhase2PU140.toModify(trackingNtuple, seedTracks = _seedSelectors_trackingPhase2PU140)

def _seedProdToTrackCands(name):
    return name.replace("seedTracks", "").replace("Seeds", "TrackCandidates")
trackingNtuple.trackCandidates = [_seedProdToTrackCands(i) for i in _seedProducers]
trackingPhase1.toModify(trackingNtuple, trackCandidates=[_seedProdToTrackCands(i) for i in _seedProducers_trackingPhase1])
trackingPhase2PU140.toModify(trackingNtuple, trackCandidates=[_seedProdToTrackCands(i) for i in _seedProducers_trackingPhase2PU140])

trackingNtupleTask = cms.Task()
# reproduce hits because they're not stored in RECO
if _includeHits:
    trackingNtupleTask.add(siPixelRecHits, siStripMatchedRecHits)
    ],
)
trackingPhase1.toModify(earlyGeneralTracks, **_forPhase1)

# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
from RecoTracker.FinalTrackSelectors.trackListMerger_cfi import trackListMerger as _trackListMerger
trackingPhase2PU140.toReplaceWith(earlyGeneralTracks, _trackListMerger.clone(
    TrackProducers =['initialStepTracks',
                     'highPtTripletStepTracks',
                     'lowPtQuadStepTracks',
                     'lowPtTripletStepTracks',
                     'detachedQuadStepTracks',
                     'pixelPairStepTracks',
                    ],
    hasSelector = [1,1,1,1,1,1],
    indivShareFrac = [1.0,0.16,0.095,0.09,0.09,0.09],
    selectedTrackQuals = cms.VInputTag(cms.InputTag("initialStepSelector","initialStep"),
                                       cms.InputTag("highPtTripletStepSelector","highPtTripletStep"),
                                       cms.InputTag("lowPtQuadStepSelector","lowPtQuadStep"),
                                       cms.InputTag("lowPtTripletStepSelector","lowPtTripletStep"),
                                       cms.InputTag("detachedQuadStep"),
                                       cms.InputTag("pixelPairStepSelector","pixelPairStep"),
                                       ),
    setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1,2,3,4,5), pQual=cms.bool(True) )
                             ),
    copyExtras = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
    )
)
##########

vertexAnalysisSelection = cms.Sequence(
    cms.ignore(selectedOfflinePrimaryVertices) +
    cms.ignore(selectedOfflinePrimaryVerticesWithBS))

##########

vertexAnalysisSequence = cms.Sequence(vertexAnalysisSelection + vertexAnalysis)

vertexAnalysisSequenceTrackingOnly = cms.Sequence(vertexAnalysisSelection +
                                                  vertexAnalysisTrackingOnly)

from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation
trackingParticlePixelTrackAsssociation = _trackingParticleRecoTrackAsssociation.clone(
    label_tr="pixelTracks")

_vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy(
)
_vertexAnalysisSequenceTrackingOnly_trackingLowPU += (
    trackingParticlePixelTrackAsssociation + selectedPixelVertices +
    pixelVertexAnalysisTrackingOnly)
trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly,
                            _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase1PU70.toReplaceWith(
    vertexAnalysisSequenceTrackingOnly,
    _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase2PU140.toReplaceWith(
    vertexAnalysisSequenceTrackingOnly,
    _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
Beispiel #22
0
              min_nhits=7,
              maxNumberLostLayers=2,
              minNumber3DLayers=2,
              minHitsToBypassChecks=20),
    )  #end of vpset
)  #end of clone

muonSeededStepCoreInOut = cms.Sequence(muonSeededSeedsInOut +
                                       muonSeededTrackCandidatesInOut +
                                       muonSeededTracksInOut)
muonSeededStepCore = cms.Sequence(muonSeededStepCoreInOut +
                                  muonSeededSeedsOutIn +
                                  muonSeededTrackCandidatesOutIn +
                                  muonSeededTracksOutIn)
#Phase2 : just muon Seed InOut is used in this moment
trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut)
muonSeededStepExtraInOut = cms.Sequence(muonSeededTracksInOutClassifier)
trackingPhase1PU70.toReplaceWith(muonSeededStepExtraInOut,
                                 cms.Sequence(muonSeededTracksInOutSelector))
trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOut,
                                  cms.Sequence(muonSeededTracksInOutSelector))
muonSeededStepExtra = cms.Sequence(muonSeededStepExtraInOut +
                                   muonSeededTracksOutInClassifier)
trackingPhase1PU70.toReplaceWith(
    muonSeededStepExtra,
    cms.Sequence(muonSeededStepExtraInOut + muonSeededTracksOutInSelector))
trackingPhase2PU140.toReplaceWith(muonSeededStepExtra,
                                  cms.Sequence(muonSeededStepExtraInOut))

muonSeededStep = cms.Sequence(earlyMuons + muonSeededStepCore +
                              muonSeededStepExtra)
Beispiel #23
0
globalreco_tracking = cms.Sequence(offlineBeamSpot*
                          MeasurementTrackerEventPreSplitting* # unclear where to put this
                          siPixelClusterShapeCachePreSplitting* # unclear where to put this
                          standalonemuontracking*
                          trackingGlobalReco*
                          hcalGlobalRecoSequence*
                          vertexreco)
_globalreco_tracking_LowPU_Phase1PU70 = globalreco_tracking.copy()
_globalreco_tracking_LowPU_Phase1PU70.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase1PU70)

globalreco = cms.Sequence(globalreco_tracking*
                          particleFlowCluster*
                          ecalClusters*
                          caloTowersRec*                          
                          egammaGlobalReco*
                          jetGlobalReco*
                          muonGlobalReco*
                          pfTrackingGlobalReco*
                          muoncosmicreco*
                          CastorFullReco)

_phase2_globalreco = globalreco.copyAndExclude([CastorFullReco])
phase2_common.toReplaceWith(globalreco, _phase2_globalreco)
Beispiel #24
0
import FWCore.ParameterSet.Config as cms

from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import *
#
# for STARTUP ONLY use try and use Offline 3D PV from pixelTracks, with adaptive vertex
#
#from RecoPixelVertexing.PixelVertexFinding.PixelVertexes_cff import *
from RecoVertex.PrimaryVertexProducer.OfflinePixel3DPrimaryVertices_cfi import *
recopixelvertexing = cms.Sequence(PixelLayerTriplets*pixelTracksSequence*pixelVertices)

# For LowPU and Phase1PU70
PixelLayerTripletsPreSplitting = PixelLayerTriplets.clone(
    BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
    FPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
)
_recopixelvertexing_LowPU_Phase1PU70 = recopixelvertexing.copy()
_recopixelvertexing_LowPU_Phase1PU70.replace(PixelLayerTriplets, PixelLayerTripletsPreSplitting)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(recopixelvertexing, _recopixelvertexing_LowPU_Phase1PU70)
Beispiel #25
0
muonSeededStepCoreOutIn = cms.Sequence(muonSeededStepCoreOutInTask)

muonSeededStepCoreTask = cms.Task(
    muonSeededStepCoreInOutTask ,
    muonSeededStepCoreOutInTask
)
muonSeededStepCore = cms.Sequence(muonSeededStepCoreTask)
#Phase2 : just muon Seed InOut is used in this moment
#trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut)
muonSeededStepExtraInOutTask = cms.Task(
    muonSeededTracksInOutClassifier
)
muonSeededStepExtraInOut = cms.Sequence(muonSeededStepExtraInOutTask)

trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOutTask, cms.Task(
    muonSeededTracksInOutSelector
))

muonSeededStepExtraTask = cms.Task(
    muonSeededStepExtraInOutTask ,
    muonSeededTracksOutInClassifier
)

muonSeededStepExtra = cms.Sequence(muonSeededStepExtraTask)
trackingPhase2PU140.toReplaceWith(muonSeededStepExtraTask, cms.Task(
    muonSeededStepExtraInOutTask ,
    muonSeededTracksOutInSelector
))

muonSeededStepTask = cms.Task(
    earlyMuons,
Beispiel #26
0
muonSeededStepCoreOutIn = cms.Sequence(muonSeededStepCoreOutInTask)

muonSeededStepCoreTask = cms.Task(
    muonSeededStepCoreInOutTask ,
    muonSeededStepCoreOutInTask
)
muonSeededStepCore = cms.Sequence(muonSeededStepCoreTask)
#Phase2 : just muon Seed InOut is used in this moment
#trackingPhase2PU140.toReplaceWith(muonSeededStepCore, muonSeededStepCoreInOut)
muonSeededStepExtraInOutTask = cms.Task(
    muonSeededTracksInOutClassifier
)
muonSeededStepExtraInOut = cms.Sequence(muonSeededStepExtraInOutTask)

trackingPhase2PU140.toReplaceWith(muonSeededStepExtraInOutTask, cms.Task(
    muonSeededTracksInOutSelector
))

muonSeededStepExtraTask = cms.Task(
    muonSeededStepExtraInOutTask ,
    muonSeededTracksOutInClassifier
)

muonSeededStepExtra = cms.Sequence(muonSeededStepExtraTask)
trackingPhase2PU140.toReplaceWith(muonSeededStepExtraTask, cms.Task(
    muonSeededStepExtraInOutTask ,
    muonSeededTracksOutInSelector
))

muonSeededStepTask = cms.Task(
    earlyMuons,
Beispiel #27
0
trackingPhase1PU70.toModify(pixelTracksHitDoublets, **_seedingLayers)
trackingPhase2PU140.toModify(pixelTracksHitDoublets, **_seedingLayers)

pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
    doublets = "pixelTracksHitDoublets",
    produceSeedingHitSets = True,
    SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
)
_SeedComparitorPSet = dict(SeedComparitorPSet = dict(clusterShapeCacheSrc = "siPixelClusterShapeCachePreSplitting"))
trackingLowPU.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase1PU70.toModify(pixelTracksHitTriplets, **_SeedComparitorPSet)
trackingPhase2PU140.toModify(pixelTracksHitTriplets, maxElement=0, **_SeedComparitorPSet)

pixelTracksHitQuadruplets = _pixelQuadrupletMergerEDProducer.clone(
    triplets = "pixelTracksHitTriplets",
    layerList = dict(refToPSet_ = cms.string("PixelSeedMergerQuadruplets")),
)

pixelTracksSequence = cms.Sequence(
    pixelTracksTrackingRegions +
    pixelTracksHitDoublets +
    pixelTracksHitTriplets +
    pixelFitterByHelixProjections +
    pixelTrackFilterByKinematics +
    pixelTracks
)
_pixelTracksSequence_quad = pixelTracksSequence.copy()
_pixelTracksSequence_quad.replace(pixelTracksHitTriplets, pixelTracksHitTriplets+pixelTracksHitQuadruplets)
trackingPhase1PU70.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
trackingPhase2PU140.toReplaceWith(pixelTracksSequence, _pixelTracksSequence_quad)
))

# For Phase2PU140
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(preDuplicateMergingGeneralTracks, _trackListMerger.clone(
    TrackProducers = cms.VInputTag(
        cms.InputTag("earlyGeneralTracks"),
        cms.InputTag("muonSeededTracksInOut"),
        #cms.InputTag("muonSeededTracksOutIn"),
    ),
    hasSelector = cms.vint32(0,1),
    selectedTrackQuals = cms.VInputTag(
        cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity"), # not used but needed
        cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity")
        #cms.InputTag("muonSeededTracksOutInSelector","muonSeededTracksOutInHighPurity"),
    ),
    mvaValueTags = cms.VInputTag(
        cms.InputTag("earlyGeneralTracks","MVAVals"),
        cms.InputTag("muonSeededTracksInOutSelector","MVAVals"),
    #    cms.InputTag("muonSeededTracksOutInSelector","MVAVals"),
    ),
    setsToMerge = cms.VPSet(cms.PSet(pQual = cms.bool(False), tLists = cms.vint32(0, 1))),
    FoundHitBonus  = 100.0,
    LostHitPenalty =   1.0,
    indivShareFrac = cms.vdouble(1.0, 0.16, 0.095, 0.09, 0.095,0.095, 0.095, 0.08),
    copyExtras = True,
    makeReKeyedSeeds = cms.untracked.bool(False)
    )
)

Beispiel #29
0
import FWCore.ParameterSet.Config as cms

from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover
initialStepSeedClusterMask = seedClusterRemover.clone(
    trajectories = cms.InputTag("initialStepSeeds"),
    oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters")
)
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toModify(initialStepSeedClusterMask, oldClusterRemovalInfo = "highPtTripletStepClusters")

from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(initialStepSeedClusterMask, seedClusterRemoverPhase2.clone(
    trajectories = cms.InputTag("initialStepSeeds"),
    oldClusterRemovalInfo = cms.InputTag("highPtTripletStepClusters")
    )
)

highPtTripletStepSeedClusterMask = seedClusterRemover.clone( # for Phase1PU70
    trajectories = "highPtTripletStepSeeds",
    oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask")
)
pixelPairStepSeedClusterMask = seedClusterRemover.clone(
    trajectories = cms.InputTag("pixelPairStepSeeds"),
    oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask")
)
trackingPhase1PU70.toModify(pixelPairStepSeedClusterMask, oldClusterRemovalInfo = "highPtTripletStepSeedClusterMask")

trackingPhase2PU140.toReplaceWith(highPtTripletStepSeedClusterMask, seedClusterRemoverPhase2.clone(
    trajectories = cms.InputTag("highPtTripletStepSeeds"),
    oldClusterRemovalInfo = cms.InputTag("initialStepSeedClusterMask")
Beispiel #30
0
from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
    seedingHitSets = "highPtTripletStepHitTriplets",
)

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_highPtTripletStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.2,
)
highPtTripletStepTrajectoryFilterBase = _highPtTripletStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase2PU140.toReplaceWith(highPtTripletStepTrajectoryFilterBase, _highPtTripletStepTrajectoryFilterBase)

for e in [pp_on_XeXe_2017, pp_on_AA_2018]:
    e.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.7)
highBetaStar_2018.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.05)

highPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters = [cms.PSet(refToPSet_ = cms.string('highPtTripletStepTrajectoryFilterBase'))]
)

trackingPhase2PU140.toModify(highPtTripletStepTrajectoryFilter,
    filters = highPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
)


highPtTripletStepTrajectoryFilterInOut = highPtTripletStepTrajectoryFilterBase.clone(
    cms.ignore(selectedOfflinePrimaryVertices)
    + cms.ignore(selectedOfflinePrimaryVerticesWithBS)
)

##########

vertexAnalysisSequence = cms.Sequence(
    vertexAnalysisSelection
    + vertexAnalysis
)

vertexAnalysisSequenceTrackingOnly = cms.Sequence(
    vertexAnalysisSelection
    + vertexAnalysisTrackingOnly
)

from SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi import trackingParticleRecoTrackAsssociation as _trackingParticleRecoTrackAsssociation
trackingParticlePixelTrackAsssociation = _trackingParticleRecoTrackAsssociation.clone(
    label_tr = "pixelTracks"
)

_vertexAnalysisSequenceTrackingOnly_trackingLowPU = vertexAnalysisSequenceTrackingOnly.copy()
_vertexAnalysisSequenceTrackingOnly_trackingLowPU += (
    trackingParticlePixelTrackAsssociation
    + selectedPixelVertices
    + pixelVertexAnalysisTrackingOnly
)
trackingLowPU.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase1PU70.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
trackingPhase2PU140.toReplaceWith(vertexAnalysisSequenceTrackingOnly, _vertexAnalysisSequenceTrackingOnly_trackingLowPU)
Beispiel #32
0
 ) = _TrackValidation_cff._addSeedToTrackProducers(
     _seedProducers_trackingPhase1QuadProp, globals())
(_seedSelectors_trackingPhase2PU140,
 _trackingNtupleSeedSelectors_trackingPhase2PU140
 ) = _TrackValidation_cff._addSeedToTrackProducers(
     _seedProducers_trackingPhase2PU140, globals())
from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase1.toReplaceWith(trackingNtupleSeedSelectors,
                             _trackingNtupleSeedSelectors_trackingPhase1)
trackingPhase1QuadProp.toReplaceWith(
    trackingNtupleSeedSelectors,
    _trackingNtupleSeedSelectors_trackingPhase1QuadProp)
trackingPhase2PU140.toReplaceWith(
    trackingNtupleSeedSelectors,
    _trackingNtupleSeedSelectors_trackingPhase2PU140)

trackingNtuple.seedTracks = _seedSelectors
trackingPhase1.toModify(trackingNtuple,
                        seedTracks=_seedSelectors_trackingPhase1)
trackingPhase1QuadProp.toModify(trackingNtuple,
                                seedTracks=_seedSelectors_trackingPhase1)
trackingPhase2PU140.toModify(trackingNtuple,
                             seedTracks=_seedSelectors_trackingPhase2PU140)

trackingNtupleSequence = cms.Sequence()
# reproduce hits because they're not stored in RECO
if _includeHits:
    trackingNtupleSequence += (siPixelRecHits + siStripMatchedRecHits)
    _phase2_trackingNtupleSequence = trackingNtupleSequence.copy()
Beispiel #33
0
from RecoLocalCalo.Castor.Castor_cff import *
from RecoLocalCalo.Configuration.hcalGlobalReco_cff import *

globalreco_tracking = cms.Sequence(offlineBeamSpot*
                          MeasurementTrackerEventPreSplitting* # unclear where to put this
                          siPixelClusterShapeCachePreSplitting* # unclear where to put this
                          standalonemuontracking*
                          trackingGlobalReco*
                          hcalGlobalRecoSequence*
                          vertexreco)
_globalreco_tracking_LowPU_Phase2PU140 = globalreco_tracking.copy()
_globalreco_tracking_LowPU_Phase2PU140.replace(trackingGlobalReco, recopixelvertexing+trackingGlobalReco)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase2PU140)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(globalreco_tracking, _globalreco_tracking_LowPU_Phase2PU140)

globalreco = cms.Sequence(globalreco_tracking*
                          particleFlowCluster*
                          ecalClusters*
                          caloTowersRec*                          
                          egammaGlobalReco*
                          jetGlobalReco*
                          muonGlobalReco*
                          pfTrackingGlobalReco*
                          muoncosmicreco*
                          CastorFullReco)

_phase2_globalreco = globalreco.copyAndExclude([CastorFullReco])
phase2_common.toReplaceWith(globalreco, _phase2_globalreco)
Beispiel #34
0
_initialStepSeedsConsecutiveHitsTripletOnly = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
    seedingHitSets = "initialStepHitTriplets",
    SeedComparitorPSet = dict(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
        ComponentName = 'PixelClusterShapeSeedComparitor',
        FilterAtHelixStage = cms.bool(False),
        FilterPixelHits = cms.bool(True),
        FilterStripHits = cms.bool(False),
        ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
        ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
    ),
)
trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
        seedingHitSets = "initialStepHitQuadruplets"
))
trackingPhase2PU140.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
        seedingHitSets = "initialStepHitQuadruplets"
))
import FastSimulation.Tracking.TrajectorySeedProducer_cfi
from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
_fastSim_initialStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
    trackingRegions = "initialStepTrackingRegions",
    seedFinderSelector = dict( pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(initialStepHitTriplets),
                               layerList = initialStepSeedLayers.layerList.value())
)
_fastSim_initialStepSeeds.seedFinderSelector.pixelTripletGeneratorFactory.SeedComparitorPSet.ComponentName = "none"
#new for phase1
trackingPhase1.toModify(_fastSim_initialStepSeeds, seedFinderSelector = dict(
        pixelTripletGeneratorFactory = None,
        CAHitQuadrupletGeneratorFactory = _hitSetProducerToFactoryPSet(initialStepHitQuadruplets).clone(SeedComparitorPSet = dict(ComponentName = "none")),
        #new parameters required for phase1 seeding
        BPix = dict(
Beispiel #35
0
import FWCore.ParameterSet.Config as cms

from RecoLocalTracker.SubCollectionProducers.SeedClusterRemover_cfi import seedClusterRemover
initialStepSeedClusterMask = seedClusterRemover.clone(
    trajectories=cms.InputTag("initialStepSeeds"),
    oldClusterRemovalInfo=cms.InputTag("pixelLessStepClusters"))
from Configuration.Eras.Modifier_trackingPhase1PU70_cff import trackingPhase1PU70
trackingPhase1PU70.toModify(initialStepSeedClusterMask,
                            oldClusterRemovalInfo="highPtTripletStepClusters")

from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(
    initialStepSeedClusterMask,
    seedClusterRemoverPhase2.clone(
        trajectories=cms.InputTag("initialStepSeeds"),
        oldClusterRemovalInfo=cms.InputTag("highPtTripletStepClusters")))

highPtTripletStepSeedClusterMask = seedClusterRemover.clone(  # for Phase1PU70
    trajectories="highPtTripletStepSeeds",
    oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask"))
pixelPairStepSeedClusterMask = seedClusterRemover.clone(
    trajectories=cms.InputTag("pixelPairStepSeeds"),
    oldClusterRemovalInfo=cms.InputTag("initialStepSeedClusterMask"))
trackingPhase1PU70.toModify(
    pixelPairStepSeedClusterMask,
    oldClusterRemovalInfo="highPtTripletStepSeedClusterMask")

trackingPhase2PU140.toReplaceWith(
    highPtTripletStepSeedClusterMask,
    seedClusterRemoverPhase2.clone(
Beispiel #36
0
    minimumNumberOfHits = 3,
    minPt = 0.1,
)
pixelPairStepTrajectoryFilterBase = _pixelPairStepTrajectoryFilterBase.clone(
    seedPairPenalty =0,
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(pixelPairStepTrajectoryFilterBase, maxCCCLostHits = 2)
trackingLowPU.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase)
trackingPhase1.toModify(pixelPairStepTrajectoryFilterBase, minimumNumberOfHits = 4)
trackingPhase1QuadProp.toModify(pixelPairStepTrajectoryFilterBase, minimumNumberOfHits = 4)
trackingPhase2PU140.toReplaceWith(pixelPairStepTrajectoryFilterBase, _pixelPairStepTrajectoryFilterBase.clone(
    minimumNumberOfHits = 4,
    maxLostHitsFraction = 1./10.,
    constantValueForLostHitsFractionFilter = 0.701,
))
import RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi
pixelPairStepTrajectoryFilterShape = RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeTrajectoryFilter_cfi.StripSubClusterShapeTrajectoryFilterTIX12.clone()
pixelPairStepTrajectoryFilter = cms.PSet(
    ComponentType = cms.string('CompositeTrajectoryFilter'),
    filters = cms.VPSet(
        cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterBase')),
    #    cms.PSet( refToPSet_ = cms.string('pixelPairStepTrajectoryFilterShape'))
    ),
)
from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
trackingPhase2PU140.toModify(pixelPairStepTrajectoryFilter,
    filters = pixelPairStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
)
Beispiel #37
0
  oldClusterRemovalInfo = cms.InputTag("tobTecStepClusters"),
  TrackQuality          = cms.string('highPurity'),
)
convClusters = _convClustersBase.clone(
  trackClassifier       = cms.InputTag('tobTecStep',"QualityMasks"),
)

#Phase2 : configuring the phase2 track Cluster Remover
from RecoLocalTracker.SubCollectionProducers.phase2trackClusterRemover_cfi import phase2trackClusterRemover as _phase2trackClusterRemover
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(convClusters, _phase2trackClusterRemover.clone(
    maxChi2                                  = 30.0,
    phase2pixelClusters                      = "siPixelClusters",
    phase2OTClusters                         = "siPhase2Clusters",
    TrackQuality                             = 'highPurity',
    minNumberOfLayersWithMeasBeforeFiltering = 0,
    trajectories                             = cms.InputTag("detachedQuadStepTracks"),
    oldClusterRemovalInfo                    = cms.InputTag("detachedQuadStepClusters"),
    overrideTrkQuals                         = cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk"),
    )
)

_convLayerPairsStripOnlyLayers = ['TIB1+TID1_pos', 
                                 'TIB1+TID1_neg', 
                                 'TIB1+TID2_pos', 
                                 'TIB1+TID2_neg',
                                 'TIB1+TIB2',
                                 'TIB1+TIB3',
                                 
                                 'TIB2+TID1_pos', 
                                 'TIB2+TID1_neg', 
Beispiel #38
0
    BPix = dict(skipClusters = cms.InputTag('detachedQuadStepClusters')),
    FPix = dict(skipClusters = cms.InputTag('detachedQuadStepClusters'))
)

# TrackingRegion
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
detachedQuadStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
    ptMin = 0.3,
    originHalfLength = 15.0,
    originRadius = 1.5
))
from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi import globalTrackingRegionFromBeamSpot as _globalTrackingRegionFromBeamSpot
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(detachedQuadStepTrackingRegions, _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
    ptMin = 0.45,
    originRadius = 0.9,
    nSigmaZ = 5.0
)))

from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
pp_on_XeXe_2017.toReplaceWith(detachedQuadStepTrackingRegions, 
                              _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
            fixedError = 3.75,
            ptMin = 0.8,
            originRadius = 1.5
            )
                                                                      )
)

# seeding
Beispiel #39
0
# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutLoose'))
)
from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
_tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)

from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeTrajectoryFilter_cfi import *
# Composite filter
lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
    filters   = [cms.PSet(refToPSet_ = cms.string('lowPtTripletStepStandardTrajectoryFilter')),
                 # cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))
                ]
    )
trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
    filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string('ClusterShapeTrajectoryFilter'))]
)

import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
    ComponentName = cms.string('lowPtTripletStepChi2Est'),
trackingPhase1.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_trackingPhase1.copyAndExclude([initialStepHitTripletsPreSplitting]))
trackingPhase1QuadProp.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_trackingPhase1)

# Although InitialStepPreSplitting is not really part of LowPU/Run1/Phase2PU140
# tracking, we use it to get siPixelClusters and siPixelRecHits
# collections for non-splitted pixel clusters. All modules before
# iterTracking sequence use siPixelClustersPreSplitting and
# siPixelRecHitsPreSplitting for that purpose.
#
# If siPixelClusters would be defined in
# RecoLocalTracker.Configuration.RecoLocalTracker_cff, we would have a
# situation where
# - LowPU/Phase2PU140 has siPixelClusters defined in RecoLocalTracker_cff
# - everything else has siPixelClusters defined here
# and this leads to a mess. The way it is done here we have only
# one place (within Reconstruction_cff) where siPixelClusters
# module is defined.
from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters
from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
trackingLowPU.toReplaceWith(siPixelClusters, _siPixelClusters)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
trackingPhase2PU140.toReplaceWith(siPixelClusters, _siPixelClusters)
_InitialStepPreSplitting_LowPU_Phase2PU140 = cms.Sequence(
    siPixelClusters +
    siPixelRecHits +
    MeasurementTrackerEvent +
    siPixelClusterShapeCache
)
trackingLowPU.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase2PU140)
trackingPhase2PU140.toReplaceWith(InitialStepPreSplitting, _InitialStepPreSplitting_LowPU_Phase2PU140)
    ComponentName = cms.string("SeedFromConsecutiveHitsCreator"),
    MinOneOverPtError = lowPtQuadStepSeeds.MinOneOverPtError,
    OriginTransverseErrorMultiplier = lowPtQuadStepSeeds.OriginTransverseErrorMultiplier,
    SeedMomentumForBOFF = lowPtQuadStepSeeds.SeedMomentumForBOFF,
    TTRHBuilder = lowPtQuadStepSeeds.TTRHBuilder,
    forceKinematicWithRegionDirection = lowPtQuadStepSeeds.forceKinematicWithRegionDirection,
    magneticField = lowPtQuadStepSeeds.magneticField,
    propagator = lowPtQuadStepSeeds.propagator,

)
_lowPtQuadStepHitQuadrupletsMerging.SeedComparitorPSet = lowPtQuadStepSeeds.SeedComparitorPSet

trackingPhase1PU70.toModify(lowPtQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True)
trackingPhase1PU70.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadrupletsMerging)
trackingPhase2PU140.toModify(lowPtQuadStepHitTriplets, produceIntermediateHitTriplets=False, produceSeedingHitSets=True)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepHitQuadruplets, _lowPtQuadStepHitQuadrupletsMerging)


# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_lowPtQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
lowPtQuadStepTrajectoryFilterBase = _lowPtQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase1PU70.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)
trackingPhase2PU140.toReplaceWith(lowPtQuadStepTrajectoryFilterBase, _lowPtQuadStepTrajectoryFilterBase)