mixedTripletStepClassifier1.qualityCuts = [-0.5,0.0,0.5]
mixedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone()
mixedTripletStepClassifier2.src = 'mixedTripletStepTracks'
mixedTripletStepClassifier2.GBRForestLabel = 'MVASelectorIter0_13TeV'
mixedTripletStepClassifier2.qualityCuts = [-0.2,-0.2,-0.2]

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
mixedTripletStep = ClassifierMerger.clone()
mixedTripletStep.inputClassifiers=['mixedTripletStepClassifier1','mixedTripletStepClassifier2']

trackingPhase1.toReplaceWith(mixedTripletStep, mixedTripletStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorMixedTripletStep_Phase1',
     qualityCuts = [-0.5,0.0,0.5],
))
trackingPhase1QuadProp.toReplaceWith(mixedTripletStep, mixedTripletStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorMixedTripletStep_Phase1',
     qualityCuts = [-0.5,0.0,0.5],
))

# For LowPU and Phase1PU70
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
# First LowPU
mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'mixedTripletStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter4'),
    trackSelectors = [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'mixedTripletStepVtxLoose',
            chi2n_par = 1.2,
            res_par = ( 0.003, 0.001 ),
            minNumberLayers = 3,
    produceSeedingHitSets=False,
    produceIntermediateHitTriplets=True,
)
from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
_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')),
)
trackingPhase1QuadProp.toReplaceWith(
    initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly)
trackingPhase1.toReplaceWith(
    initialStepSeeds,
    _initialStepSeedsConsecutiveHitsTripletOnly.clone(
        seedingHitSets="initialStepHitQuadruplets"))
trackingPhase2PU140.toModify(initialStepSeeds,
                             seedingHitSets="initialStepHitQuadruplets")

# temporary...
_initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet(
    ComponentName=cms.string("SeedFromConsecutiveHitsCreator"),
    MinOneOverPtError=initialStepSeeds.MinOneOverPtError,
    OriginTransverseErrorMultiplier=initialStepSeeds.
    OriginTransverseErrorMultiplier,
    SeedMomentumForBOFF=initialStepSeeds.SeedMomentumForBOFF,
    TTRHBuilder=initialStepSeeds.TTRHBuilder,
Exemple #3
0
pixelLessStep = ClassifierMerger.clone()
pixelLessStep.inputClassifiers = [
    'pixelLessStepClassifier1', 'pixelLessStepClassifier2'
]

from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
trackingPhase1.toReplaceWith(
    pixelLessStep,
    pixelLessStepClassifier1.clone(
        mva=dict(GBRForestLabel='MVASelectorPixelLessStep_Phase1'),
        qualityCuts=[-0.4, 0.0, 0.4],
    ))
trackingPhase1QuadProp.toReplaceWith(
    pixelLessStep,
    pixelLessStepClassifier1.clone(
        mva=dict(GBRForestLabel='MVASelectorPixelLessStep_Phase1'),
        qualityCuts=[-0.4, 0.0, 0.4],
    ))

# For LowPU
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='pixelLessStepTracks',
    useAnyMVA=cms.bool(False),
    GBRForestLabel=cms.string('MVASelectorIter5'),
    trackSelectors=cms.VPSet(
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='pixelLessStepLoose',
            chi2n_par=0.5,
            res_par=(0.003, 0.001),
            minNumberLayers=4,
Exemple #4
0
from Configuration.Eras.Modifier_fastSim_cff import fastSim
from FastSimulation.Tracking.ElectronSeeds_cff import _newCombinedSeeds
fastSim.toReplaceWith(newCombinedSeeds, _newCombinedSeeds.clone())

electronSeedsSeqTask = cms.Task(
    initialStepSeedClusterMask, pixelPairStepSeedClusterMask,
    mixedTripletStepSeedClusterMask, pixelLessStepSeedClusterMask,
    tripletElectronSeedLayers, tripletElectronTrackingRegions,
    tripletElectronHitDoublets, tripletElectronHitTriplets,
    tripletElectronSeeds, tripletElectronClusterMask,
    pixelPairElectronSeedLayers, pixelPairElectronTrackingRegions,
    pixelPairElectronHitDoublets, pixelPairElectronSeeds,
    stripPairElectronSeedLayers, stripPairElectronTrackingRegions,
    stripPairElectronHitDoublets, stripPairElectronSeeds, newCombinedSeeds)
electronSeedsSeq = cms.Sequence(electronSeedsSeqTask)
_electronSeedsSeqTask_Phase1 = electronSeedsSeqTask.copy()
_electronSeedsSeqTask_Phase1.replace(pixelPairStepSeedClusterMask,
                                     detachedTripletStepSeedClusterMask)
trackingPhase1.toReplaceWith(electronSeedsSeqTask,
                             _electronSeedsSeqTask_Phase1)
trackingPhase1QuadProp.toReplaceWith(electronSeedsSeqTask,
                                     _electronSeedsSeqTask_Phase1)
trackingPhase2PU140.toReplaceWith(
    electronSeedsSeqTask,
    cms.Task(initialStepSeedClusterMask, highPtTripletStepSeedClusterMask,
             pixelPairStepSeedClusterMask, tripletElectronSeedLayers,
             tripletElectronTrackingRegions, tripletElectronHitDoublets,
             tripletElectronHitTriplets, tripletElectronSeeds,
             newCombinedSeeds))
Exemple #5
0
            dz_par2 = ( 0.8, 4.0 )
            )
        ), #end of vpset
     vertices = "pixelVertices"
    ) #end of clone

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
detachedQuadStep = ClassifierMerger.clone()
detachedQuadStep.inputClassifiers=['detachedQuadStepClassifier1','detachedQuadStepClassifier2']

trackingPhase1.toReplaceWith(detachedQuadStep, detachedQuadStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorDetachedQuadStep_Phase1',
     qualityCuts = [-0.5,0.0,0.5],
))
trackingPhase1QuadProp.toReplaceWith(detachedQuadStep, detachedQuadStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorDetachedQuadStep_Phase1',
     qualityCuts = [-0.5,0.0,0.5],
))

from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder
import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
trackingPhase1PU70.toReplaceWith(detachedQuadStep, RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
    TrackProducers = [
        'detachedQuadStepTracks',
        'detachedQuadStepTracks',
    ],
    hasSelector = [1,1],
    shareFrac = cms.double(0.095),
    indivShareFrac = [0.095, 0.095],
    selectedTrackQuals = [
        cms.InputTag("detachedQuadStepSelector","detachedQuadStepVtx"),
        cms.InputTag("detachedQuadStepSelector","detachedQuadStepTrk")
        min3DLayers=[3, 3, 3],
        maxLostLayers=[2, 2, 2],
        dz_par=dict(
            dz_par1=[0.7, 0.6, 0.45],
            dz_par2=[0.5, 0.4, 0.4],
            dz_exp=[4, 4, 4],
        ),
        dr_par=dict(
            dr_par1=[0.8, 0.7, 0.6],
            dr_par2=[0.5, 0.4, 0.3],
            dr_exp=[4, 4, 4],
            d0err_par=[0.002, 0.002, 0.001],
        ),
    ))
trackingPhase1.toReplaceWith(lowPtTripletStep, _cutClassifierForPhase1)
trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, _cutClassifierForPhase1)

# For LowPU and Phase1PU70
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='lowPtTripletStepTracks',
    useAnyMVA=cms.bool(False),
    GBRForestLabel=cms.string('MVASelectorIter1'),
    trackSelectors=[
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='lowPtTripletStepLoose', ),  #end of pset
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
            name='lowPtTripletStepTight',
            preFilterName='lowPtTripletStepLoose',
        ),
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.
    extraHitRPhitolerance = detachedQuadStepHitTriplets.extraHitRPhitolerance,
    maxChi2 = dict(
        pt1    = 0.8, pt2    = 2,
        value1 = 500, value2 = 100,
        enabled = True,
    ),
    extraPhiTolerance = dict(
        pt1    = 0.4, pt2    = 1,
        value1 = 0.2, value2 = 0.05,
        enabled = True,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
)
trackingPhase1QuadProp.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadruplets_propagation)
trackingPhase2PU140.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadruplets_propagation)


# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_detachedQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
detachedQuadStepTrajectoryFilterBase = _detachedQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase2PU140.toReplaceWith(detachedQuadStepTrajectoryFilterBase,
    _detachedQuadStepTrajectoryFilterBase.clone(
Exemple #8
0
# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
lowPtTripletStep = TrackMVAClassifierPrompt.clone()
lowPtTripletStep.src = 'lowPtTripletStepTracks'
lowPtTripletStep.mva.GBRForestLabel = 'MVASelectorIter1_13TeV'
lowPtTripletStep.qualityCuts = [-0.6, -0.3, -0.1]

trackingPhase1.toReplaceWith(
    lowPtTripletStep,
    lowPtTripletStep.clone(
        mva=dict(GBRForestLabel='MVASelectorLowPtTripletStep_Phase1'),
        qualityCuts=[-0.4, 0.0, 0.3],
    ))
trackingPhase1QuadProp.toReplaceWith(
    lowPtTripletStep,
    lowPtTripletStep.clone(
        mva=dict(GBRForestLabel='MVASelectorLowPtTripletStep_Phase1'),
        qualityCuts=[-0.4, 0.0, 0.3],
    ))
fastSim.toModify(lowPtTripletStep,
                 vertices="firstStepPrimaryVerticesBeforeMixing")

# For LowPU and Phase2PU140
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='lowPtTripletStepTracks',
    useAnyMVA=cms.bool(False),
    GBRForestLabel=cms.string('MVASelectorIter1'),
    trackSelectors=[
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='lowPtTripletStepLoose', ),  #end of pset
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
    CAHardPtCut = 0.3,
)
trackingPhase2PU140.toModify(highPtTripletStepHitTriplets,CAThetaCut = 0.003,CAPhiCut = 0.06,CAHardPtCut = 0.5)

from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
    seedingHitSets = "highPtTripletStepHitTriplets",
)

trackingPhase1QuadProp.toModify(highPtTripletStepHitDoublets, layerPairs = [0]) # layer pair (0,1)
_highPtTripletStepHitTriplets_propagation = _pixelTripletHLTEDProducer.clone(
    doublets = "highPtTripletStepHitDoublets",
    produceSeedingHitSets = True,
    SeedComparitorPSet = highPtTripletStepHitTriplets.SeedComparitorPSet,
)
trackingPhase1QuadProp.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)

pp_on_XeXe_2017.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.7)
Exemple #10
0
                                 tripletElectronHitTriplets*
                                 tripletElectronSeeds*
                                 tripletElectronClusterMask*
                                 pixelPairElectronSeedLayers*
                                 pixelPairElectronTrackingRegions*
                                 pixelPairElectronHitDoublets*
                                 pixelPairElectronSeeds*
                                 stripPairElectronSeedLayers*
                                 stripPairElectronTrackingRegions*
                                 stripPairElectronHitDoublets*
                                 stripPairElectronSeeds*
                                 newCombinedSeeds)
_electronSeedsSeq_Phase1 = electronSeedsSeq.copy()
_electronSeedsSeq_Phase1.replace(pixelPairStepSeedClusterMask, detachedTripletStepSeedClusterMask)
trackingPhase1.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1)
trackingPhase1QuadProp.toReplaceWith(electronSeedsSeq, _electronSeedsSeq_Phase1)
trackingPhase1PU70.toReplaceWith(electronSeedsSeq, cms.Sequence(
    initialStepSeedClusterMask*
    highPtTripletStepSeedClusterMask*
    pixelPairStepSeedClusterMask*
    tripletElectronSeedLayers*
    tripletElectronTrackingRegions*
    tripletElectronHitDoublets*
    tripletElectronHitTriplets*
    tripletElectronSeeds*
    newCombinedSeeds
))
trackingPhase2PU140.toReplaceWith(electronSeedsSeq, cms.Sequence(
    initialStepSeedClusterMask*
    highPtTripletStepSeedClusterMask*
    pixelPairStepSeedClusterMask*
Exemple #11
0
# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
lowPtQuadStep = TrackMVAClassifierPrompt.clone(
    src='lowPtQuadStepTracks',
    GBRForestLabel='MVASelectorIter1_13TeV',
    qualityCuts=[-0.6, -0.3, -0.1])

trackingPhase1.toReplaceWith(
    lowPtQuadStep,
    lowPtQuadStep.clone(
        GBRForestLabel='MVASelectorLowPtQuadStep_Phase1',
        qualityCuts=[-0.65, -0.35, -0.15],
    ))
trackingPhase1QuadProp.toReplaceWith(
    lowPtQuadStep,
    lowPtQuadStep.clone(
        GBRForestLabel='MVASelectorLowPtQuadStep_Phase1',
        qualityCuts=[-0.65, -0.35, -0.15],
    ))

# For Phase1PU70
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='lowPtQuadStepTracks',
    trackSelectors=[
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='lowPtQuadStepLoose',
            chi2n_par=2.0,
            res_par=(0.003, 0.002),
            minNumberLayers=3,
            maxNumberLostLayers=2,
            minNumber3DLayers=3,
Exemple #12
0
trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)

# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
lowPtTripletStep =  TrackMVAClassifierPrompt.clone()
lowPtTripletStep.src = 'lowPtTripletStepTracks'
lowPtTripletStep.mva.GBRForestLabel = 'MVASelectorIter1_13TeV'
lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1]

trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
     mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'),
     qualityCuts = [-0.4,0.0,0.3],
))
trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
     mva = dict(GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1'),
     qualityCuts = [-0.4,0.0,0.3],
))


# For LowPU and Phase2PU140
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'lowPtTripletStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter1'),
    trackSelectors= [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'lowPtTripletStepLoose',
        ), #end of pset
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
            name = 'lowPtTripletStepTight',
Exemple #13
0
tobTecStepClassifier2.src = 'tobTecStepTracks'
tobTecStepClassifier2.GBRForestLabel = 'MVASelectorIter0_13TeV'
tobTecStepClassifier2.qualityCuts = [0.0,0.0,0.0]

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
tobTecStep = ClassifierMerger.clone()
tobTecStep.inputClassifiers=['tobTecStepClassifier1','tobTecStepClassifier2']

from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
trackingPhase1.toReplaceWith(tobTecStep, tobTecStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorTobTecStep_Phase1',
     qualityCuts = [-0.6,-0.45,-0.3],
))
trackingPhase1QuadProp.toReplaceWith(tobTecStep, tobTecStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorTobTecStep_Phase1',
     qualityCuts = [-0.6,-0.45,-0.3],
))

import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
trackingLowPU.toReplaceWith(tobTecStep, RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'tobTecStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter6'),
    trackSelectors = [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'tobTecStepLoose',
            chi2n_par = 0.4,
            res_par = ( 0.003, 0.001 ),
            minNumberLayers = 5,
            maxNumberLostLayers = 1,
            minNumber3DLayers = 2,
Exemple #14
0
        ret.append(item)
    return ret
_seedProducers = _filterForNtuple(_TrackValidation_cff._seedProducers)
_seedProducers_trackingPhase1 = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1)
_seedProducers_trackingPhase1QuadProp = _filterForNtuple(_TrackValidation_cff._seedProducers_trackingPhase1QuadProp)
_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_trackingPhase1QuadProp, _trackingNtupleSeedSelectors_trackingPhase1QuadProp) = _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)

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

trackingNtupleSequence = cms.Sequence()
Exemple #15
0
from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
mixedTripletStep = ClassifierMerger.clone()
mixedTripletStep.inputClassifiers = [
    'mixedTripletStepClassifier1', 'mixedTripletStepClassifier2'
]

trackingPhase1.toReplaceWith(
    mixedTripletStep,
    mixedTripletStepClassifier1.clone(
        mva=dict(GBRForestLabel='MVASelectorMixedTripletStep_Phase1'),
        qualityCuts=[-0.5, 0.0, 0.5],
    ))
trackingPhase1QuadProp.toReplaceWith(
    mixedTripletStep,
    mixedTripletStepClassifier1.clone(
        mva=dict(GBRForestLabel='MVASelectorMixedTripletStep_Phase1'),
        qualityCuts=[-0.5, 0.0, 0.5],
    ))

# For LowPU
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='mixedTripletStepTracks',
    useAnyMVA=cms.bool(False),
    GBRForestLabel=cms.string('MVASelectorIter4'),
    trackSelectors=[
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='mixedTripletStepVtxLoose',
            chi2n_par=1.2,
            res_par=(0.003, 0.001),
            minNumberLayers=3,
trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)

# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
lowPtTripletStep =  TrackMVAClassifierPrompt.clone()
lowPtTripletStep.src = 'lowPtTripletStepTracks'
lowPtTripletStep.GBRForestLabel = 'MVASelectorIter1_13TeV'
lowPtTripletStep.qualityCuts = [-0.6,-0.3,-0.1]

trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
     GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1',
     qualityCuts = [0.0,0.2,0.4],
))
trackingPhase1QuadProp.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
     GBRForestLabel = 'MVASelectorLowPtTripletStep_Phase1',
     qualityCuts = [0.0,0.2,0.4],
))


# For LowPU and Phase2PU140
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'lowPtTripletStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter1'),
    trackSelectors= [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'lowPtTripletStepLoose',
        ), #end of pset
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
            name = 'lowPtTripletStepTight',
Exemple #17
0
    initialStepTrackRefsForJetsPreSplitting, caloTowerForTrkPreSplitting,
    ak4CaloJetsForTrkPreSplitting, jetsForCoreTrackingPreSplitting,
    siPixelClusters, siPixelRecHits, MeasurementTrackerEvent,
    siPixelClusterShapeCache)
InitialStepPreSplitting = cms.Sequence(InitialStepPreSplittingTask)
_InitialStepPreSplittingTask_trackingPhase1 = InitialStepPreSplittingTask.copy(
)
_InitialStepPreSplittingTask_trackingPhase1.replace(
    initialStepHitTripletsPreSplitting,
    cms.Task(initialStepHitTripletsPreSplitting,
             initialStepHitQuadrupletsPreSplitting))
trackingPhase1.toReplaceWith(
    InitialStepPreSplittingTask,
    _InitialStepPreSplittingTask_trackingPhase1.copyAndExclude(
        [initialStepHitTripletsPreSplitting]))
trackingPhase1QuadProp.toReplaceWith(
    InitialStepPreSplittingTask, _InitialStepPreSplittingTask_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.
Exemple #18
0
    CAPhiCut = 0.2,
)
initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone()
trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)

from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer
trackingPhase1QuadProp.toReplaceWith(initialStepHitQuadruplets, _pixelQuadrupletEDProducer.clone(
    triplets = "initialStepHitTriplets",
    extraHitRZtolerance = initialStepHitTriplets.extraHitRZtolerance,
    extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
    maxChi2 = dict(
        pt1    = 0.8, pt2    = 2,
        value1 = 200, value2 = 100,
        enabled = True,
    ),
    extraPhiTolerance = dict(
        pt1    = 0.6, pt2    = 1,
        value1 = 0.15, value2 = 0.1,
        enabled = True,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet
))

trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)
trackingPhase2PU140.toModify(initialStepHitQuadruplets,
    CAThetaCut = 0.0010,
    CAPhiCut = 0.175,
)
Exemple #19
0

# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
lowPtQuadStep =  TrackMVAClassifierPrompt.clone(
    src = 'lowPtQuadStepTracks',
    GBRForestLabel = 'MVASelectorIter1_13TeV',
    qualityCuts = [-0.6,-0.3,-0.1]
)

trackingPhase1.toReplaceWith(lowPtQuadStep, lowPtQuadStep.clone(
    GBRForestLabel = 'MVASelectorLowPtQuadStep_Phase1',
    qualityCuts = [-0.65,-0.35,-0.15],
))
trackingPhase1QuadProp.toReplaceWith(lowPtQuadStep, lowPtQuadStep.clone(
    GBRForestLabel = 'MVASelectorLowPtQuadStep_Phase1',
    qualityCuts = [-0.65,-0.35,-0.15],
))

# For Phase1PU70
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'lowPtQuadStepTracks',
    trackSelectors = [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'lowPtQuadStepLoose',
            chi2n_par = 2.0,
            res_par = ( 0.003, 0.002 ),
            minNumberLayers = 3,
            maxNumberLostLayers = 2,
            minNumber3DLayers = 3,
            d0_par1 = ( 0.8, 4.0 ),
Exemple #20
0
pixelLessStepClassifier2.src = 'pixelLessStepTracks'
pixelLessStepClassifier2.GBRForestLabel = 'MVASelectorIter0_13TeV'
pixelLessStepClassifier2.qualityCuts = [-0.0,0.0,0.0]

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
pixelLessStep = ClassifierMerger.clone()
pixelLessStep.inputClassifiers=['pixelLessStepClassifier1','pixelLessStepClassifier2']

from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
trackingPhase1.toReplaceWith(pixelLessStep, pixelLessStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorPixelLessStep_Phase1',
     qualityCuts = [-0.4,0.0,0.4],
))
trackingPhase1QuadProp.toReplaceWith(pixelLessStep, pixelLessStepClassifier1.clone(
     GBRForestLabel = 'MVASelectorPixelLessStep_Phase1',
     qualityCuts = [-0.4,0.0,0.4],
))

# For LowPU
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='pixelLessStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter5'),
    trackSelectors= cms.VPSet(
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'pixelLessStepLoose',
            chi2n_par = 0.5,
            res_par = ( 0.003, 0.001 ),
            minNumberLayers = 4,
            maxNumberLostLayers = 1,
                             CAThetaCut=0.003,
                             CAPhiCut=0.06,
                             CAHardPtCut=0.5)

from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
highPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
    seedingHitSets="highPtTripletStepHitTriplets", )

trackingPhase1QuadProp.toModify(highPtTripletStepHitDoublets,
                                layerPairs=[0])  # layer pair (0,1)
_highPtTripletStepHitTriplets_propagation = _pixelTripletHLTEDProducer.clone(
    doublets="highPtTripletStepHitDoublets",
    produceSeedingHitSets=True,
    SeedComparitorPSet=highPtTripletStepHitTriplets.SeedComparitorPSet,
)
trackingPhase1QuadProp.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)

pp_on_XeXe_2017.toModify(highPtTripletStepTrajectoryFilterBase, minPt=0.7)
detachedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone()
detachedTripletStepClassifier2.src = 'detachedTripletStepTracks'
detachedTripletStepClassifier2.mva.GBRForestLabel = 'MVASelectorIter0_13TeV'
detachedTripletStepClassifier2.qualityCuts = [-0.2,0.0,0.4]
fastSim.toModify(detachedTripletStepClassifier2,vertices = "firstStepPrimaryVerticesBeforeMixing")

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
detachedTripletStep = ClassifierMerger.clone()
detachedTripletStep.inputClassifiers=['detachedTripletStepClassifier1','detachedTripletStepClassifier2']

trackingPhase1.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone(
     mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'),
     qualityCuts = [-0.2,0.3,0.8],
))
trackingPhase1QuadProp.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone(
     mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'),
     qualityCuts = [-0.2,0.3,0.8],
))

# For LowPU
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'detachedTripletStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter3'),
    trackSelectors = [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'detachedTripletStepVtxLoose',
            chi2n_par = 1.6,
            res_par = ( 0.003, 0.001 ),
            minNumberLayers = 3,
            d0_par1 = ( 1.2, 3.0 ),
Exemple #23
0
        )
    )
)
pixelPairStepHitDoubletsB = pixelPairStepHitDoublets.clone(
    seedingLayers = "pixelPairStepSeedLayersB",
    trackingRegions = "pixelPairStepTrackingRegionsB",
)
pixelPairStepSeedsB = pixelPairStepSeedsA.clone(seedingHitSets = "pixelPairStepHitDoubletsB")

# Merge
from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi import globalCombinedSeeds as _globalCombinedSeeds
_pixelPairStepSeedsMerged = _globalCombinedSeeds.clone(
    seedCollections = ["pixelPairStepSeedsA", "pixelPairStepSeedsB"],
)
trackingPhase1.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged)
trackingPhase1QuadProp.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged)



# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    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
                         dr_par2=[0.4, 0.35, 0.25],
                         dr_exp=[4, 4, 4],
                         d0err_par=[0.002, 0.002, 0.001])))

trackingPhase1.toReplaceWith(
    highPtTripletStep,
    TrackMVAClassifierPrompt.clone(
        src='highPtTripletStepTracks',
        GBRForestLabel='MVASelectorHighPtTripletStep_Phase1',
        qualityCuts=[0.2, 0.3, 0.4],
    ))
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
trackingPhase1QuadProp.toReplaceWith(
    highPtTripletStep,
    TrackMVAClassifierPrompt.clone(
        src='highPtTripletStepTracks',
        GBRForestLabel='MVASelectorHighPtTripletStep_Phase1',
        qualityCuts=[0.2, 0.3, 0.4],
    ))

# For Phase1PU70
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
highPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='highPtTripletStepTracks',
    trackSelectors=[
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='highPtTripletStepLoose',
            chi2n_par=2.0,
            res_par=(0.003, 0.002),
            minNumberLayers=3,
            maxNumberLostLayers=3,
Exemple #25
0
    CAPhiCut = 0.2,
)
initialStepHitQuadruplets = _initialStepCAHitQuadruplets.clone()
trackingPhase1.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)

from RecoPixelVertexing.PixelTriplets.pixelQuadrupletEDProducer_cfi import pixelQuadrupletEDProducer as _pixelQuadrupletEDProducer
trackingPhase1QuadProp.toReplaceWith(initialStepHitQuadruplets, _pixelQuadrupletEDProducer.clone(
    triplets = "initialStepHitTriplets",
    extraHitRZtolerance = initialStepHitTriplets.extraHitRZtolerance,
    extraHitRPhitolerance = initialStepHitTriplets.extraHitRPhitolerance,
    maxChi2 = dict(
        pt1    = 0.8, pt2    = 2,
        value1 = 200, value2 = 100,
        enabled = True,
    ),
    extraPhiTolerance = dict(
        pt1    = 0.6, pt2    = 1,
        value1 = 0.15, value2 = 0.1,
        enabled = True,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
    SeedComparitorPSet = initialStepHitTriplets.SeedComparitorPSet
))

trackingPhase2PU140.toModify(initialStepHitDoublets, layerPairs = [0,1,2]) # layer pairs (0,1), (1,2), (2,3)
trackingPhase2PU140.toModify(initialStepHitQuadruplets,
    CAThetaCut = 0.0010,
    CAPhiCut = 0.175,
)
Exemple #26
0
        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)

# 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
jetCoreRegionalStep.mva.maxDz = [0.5, 0.35, 0.2]
jetCoreRegionalStep.mva.maxDr = [0.3, 0.2, 0.1]
jetCoreRegionalStep.vertices = 'firstStepGoodPrimaryVertices'

from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
trackingPhase1.toReplaceWith(
    jetCoreRegionalStep,
    TrackMVAClassifierPrompt.clone(
        src='jetCoreRegionalStepTracks',
        mva=dict(GBRForestLabel='MVASelectorJetCoreRegionalStep_Phase1'),
        qualityCuts=[-0.2, 0.0, 0.4],
    ))
trackingPhase1QuadProp.toReplaceWith(
    jetCoreRegionalStep,
    TrackMVAClassifierPrompt.clone(
        src='jetCoreRegionalStepTracks',
        mva=dict(GBRForestLabel='MVASelectorJetCoreRegionalStep_Phase1'),
        qualityCuts=[-0.2, 0.0, 0.4],
    ))

# Final sequence
JetCoreRegionalStep = cms.Sequence(
    cms.ignore(jetsForCoreTracking) *
    cms.ignore(firstStepGoodPrimaryVertices) *
    #jetCoreRegionalStepClusters*
    jetCoreRegionalStepSeedLayers * jetCoreRegionalStepTrackingRegions *
    jetCoreRegionalStepHitDoublets * jetCoreRegionalStepSeeds *
    jetCoreRegionalStepTrackCandidates * jetCoreRegionalStepTracks *
    #                                   jetCoreRegionalStepClassifier1*jetCoreRegionalStepClassifier2*
    jetCoreRegionalStep)
Exemple #28
0
    produceSeedingHitSets = False,
    produceIntermediateHitTriplets = True,
)
from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
_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')
    ),
)
trackingPhase1QuadProp.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly)
trackingPhase1.toReplaceWith(initialStepSeeds, _initialStepSeedsConsecutiveHitsTripletOnly.clone(
        seedingHitSets = "initialStepHitQuadruplets"
))
trackingPhase2PU140.toModify(initialStepSeeds, seedingHitSets = "initialStepHitQuadruplets")

# temporary...
_initialStepHitQuadrupletsMerging.SeedCreatorPSet = cms.PSet(
    ComponentName = cms.string("SeedFromConsecutiveHitsCreator"),
    MinOneOverPtError = initialStepSeeds.MinOneOverPtError,
    OriginTransverseErrorMultiplier = initialStepSeeds.OriginTransverseErrorMultiplier,
    SeedMomentumForBOFF = initialStepSeeds.SeedMomentumForBOFF,
    TTRHBuilder = initialStepSeeds.TTRHBuilder,
    forceKinematicWithRegionDirection = initialStepSeeds.forceKinematicWithRegionDirection,
    magneticField = initialStepSeeds.magneticField,
    propagator = initialStepSeeds.propagator,
Exemple #29
0
    extraHitRPhitolerance = detachedQuadStepHitTriplets.extraHitRPhitolerance,
    maxChi2 = dict(
        pt1    = 0.8, pt2    = 2,
        value1 = 500, value2 = 100,
        enabled = True,
    ),
    extraPhiTolerance = dict(
        pt1    = 0.4, pt2    = 1,
        value1 = 0.2, value2 = 0.05,
        enabled = True,
    ),
    useBendingCorrection = True,
    fitFastCircle = True,
    fitFastCircleChi2Cut = True,
)
trackingPhase1QuadProp.toReplaceWith(detachedQuadStepHitQuadruplets, _detachedQuadStepHitQuadruplets_propagation)


# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff as _TrajectoryFilter_cff
_detachedQuadStepTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    minimumNumberOfHits = 3,
    minPt = 0.075,
)
detachedQuadStepTrajectoryFilterBase = _detachedQuadStepTrajectoryFilterBase.clone(
    maxCCCLostHits = 0,
    minGoodStripCharge = dict(refToPSet_ = 'SiStripClusterChargeCutLoose')
)
trackingPhase2PU140.toReplaceWith(detachedQuadStepTrajectoryFilterBase,
    _detachedQuadStepTrajectoryFilterBase.clone(
        maxLostHitsFraction = 1./10.,
Exemple #30
0
                        eta=[0.0],
                        phi=[3.0],
                    )))
pixelPairStepHitDoubletsB = pixelPairStepHitDoublets.clone(
    seedingLayers="pixelPairStepSeedLayersB",
    trackingRegions="pixelPairStepTrackingRegionsB",
)
pixelPairStepSeedsB = pixelPairStepSeedsA.clone(
    seedingHitSets="pixelPairStepHitDoubletsB")

# Merge
from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi import globalCombinedSeeds as _globalCombinedSeeds
_pixelPairStepSeedsMerged = _globalCombinedSeeds.clone(
    seedCollections=["pixelPairStepSeedsA", "pixelPairStepSeedsB"], )
trackingPhase1.toReplaceWith(pixelPairStepSeeds, _pixelPairStepSeedsMerged)
trackingPhase1QuadProp.toReplaceWith(pixelPairStepSeeds,
                                     _pixelPairStepSeedsMerged)

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
_pixelPairStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
    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)
Exemple #31
0
    maxChi2 = dict(
        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)



# 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)
Exemple #32
0
tobTecStep.inputClassifiers = [
    'tobTecStepClassifier1', 'tobTecStepClassifier2'
]

from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp

trackingPhase1.toReplaceWith(
    tobTecStep,
    tobTecStepClassifier1.clone(
        mva=dict(GBRForestLabel='MVASelectorTobTecStep_Phase1'),
        qualityCuts=[-0.6, -0.45, -0.3],
    ))
trackingPhase1QuadProp.toReplaceWith(
    tobTecStep,
    tobTecStepClassifier1.clone(
        mva=dict(GBRForestLabel='MVASelectorTobTecStep_Phase1'),
        qualityCuts=[-0.6, -0.45, -0.3],
    ))

import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi

trackingLowPU.toReplaceWith(
    tobTecStep,
    RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.
    clone(
        src='tobTecStepTracks',
        useAnyMVA=cms.bool(False),
        GBRForestLabel=cms.string('MVASelectorIter6'),
        trackSelectors=[
            RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.
            clone(name='tobTecStepLoose',
                                       initialStepTrackCandidatesPreSplitting*
                                       initialStepTracksPreSplitting*
                                       firstStepPrimaryVerticesPreSplitting*
                                       initialStepTrackRefsForJetsPreSplitting*
                                       caloTowerForTrkPreSplitting*
                                       ak4CaloJetsForTrkPreSplitting*
                                       jetsForCoreTrackingPreSplitting*
                                       siPixelClusters*
                                       siPixelRecHits*
                                       MeasurementTrackerEvent*
                                       siPixelClusterShapeCache)

_InitialStepPreSplitting_trackingPhase1 = InitialStepPreSplitting.copy()
_InitialStepPreSplitting_trackingPhase1.replace(initialStepHitTripletsPreSplitting, initialStepHitTripletsPreSplitting*initialStepHitQuadrupletsPreSplitting)
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.
Exemple #34
0
     _seedProducers_trackingPhase1, globals())
(_seedSelectors_trackingPhase1QuadProp,
 _trackingNtupleSeedSelectors_trackingPhase1QuadProp
 ) = _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
Exemple #35
0
detachedTripletStepClassifier1.qualityCuts = [-0.5,0.0,0.5]
detachedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone()
detachedTripletStepClassifier2.src = 'detachedTripletStepTracks'
detachedTripletStepClassifier2.mva.GBRForestLabel = 'MVASelectorIter0_13TeV'
detachedTripletStepClassifier2.qualityCuts = [-0.2,0.0,0.4]

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
detachedTripletStep = ClassifierMerger.clone()
detachedTripletStep.inputClassifiers=['detachedTripletStepClassifier1','detachedTripletStepClassifier2']

trackingPhase1.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone(
     mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'),
     qualityCuts = [-0.2,0.3,0.8],
))
trackingPhase1QuadProp.toReplaceWith(detachedTripletStep, detachedTripletStepClassifier1.clone(
     mva = dict(GBRForestLabel = 'MVASelectorDetachedTripletStep_Phase1'),
     qualityCuts = [-0.2,0.3,0.8],
))

# For LowPU
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
detachedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'detachedTripletStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter3'),
    trackSelectors = [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'detachedTripletStepVtxLoose',
            chi2n_par = 1.6,
            res_par = ( 0.003, 0.001 ),
            minNumberLayers = 3,
            d0_par1 = ( 1.2, 3.0 ),
jetCoreRegionalStep.mva.minLayers = [3,5,5]
jetCoreRegionalStep.mva.min3DLayers = [1,2,3]
jetCoreRegionalStep.mva.maxLostLayers = [4,3,2]
jetCoreRegionalStep.mva.maxDz = [0.5,0.35,0.2];
jetCoreRegionalStep.mva.maxDr = [0.3,0.2,0.1];
jetCoreRegionalStep.vertices = 'firstStepGoodPrimaryVertices'

from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
trackingPhase1.toReplaceWith(jetCoreRegionalStep, TrackMVAClassifierPrompt.clone(
     src = 'jetCoreRegionalStepTracks',
     mva = dict(GBRForestLabel = 'MVASelectorJetCoreRegionalStep_Phase1'),
     qualityCuts = [-0.2,0.0,0.4],
))
trackingPhase1QuadProp.toReplaceWith(jetCoreRegionalStep, TrackMVAClassifierPrompt.clone(
     src = 'jetCoreRegionalStepTracks',
     mva = dict(GBRForestLabel = 'MVASelectorJetCoreRegionalStep_Phase1'),
     qualityCuts = [-0.2,0.0,0.4],
))
fastSim.toModify(jetCoreRegionalStep,vertices = "firstStepPrimaryVerticesBeforeMixing")

# Final sequence
JetCoreRegionalStepTask = cms.Task(jetsForCoreTracking,
                                   firstStepGoodPrimaryVertices,
                                   #jetCoreRegionalStepClusters,
                                   jetCoreRegionalStepSeedLayers,
                                   jetCoreRegionalStepTrackingRegions,
                                   jetCoreRegionalStepHitDoublets,
                                   jetCoreRegionalStepSeeds,
                                   jetCoreRegionalStepTrackCandidates,
                                   jetCoreRegionalStepTracks,
#                                   jetCoreRegionalStepClassifier1,jetCoreRegionalStepClassifier2,
Exemple #37
0
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *

lowPtTripletStep = TrackMVAClassifierPrompt.clone()
lowPtTripletStep.src = 'lowPtTripletStepTracks'
lowPtTripletStep.GBRForestLabel = 'MVASelectorIter1_13TeV'
lowPtTripletStep.qualityCuts = [-0.6, -0.3, -0.1]

trackingPhase1.toReplaceWith(
    lowPtTripletStep,
    lowPtTripletStep.clone(
        GBRForestLabel='MVASelectorLowPtTripletStep_Phase1',
        qualityCuts=[0.0, 0.2, 0.4],
    ))
trackingPhase1QuadProp.toReplaceWith(
    lowPtTripletStep,
    lowPtTripletStep.clone(
        GBRForestLabel='MVASelectorLowPtTripletStep_Phase1',
        qualityCuts=[0.0, 0.2, 0.4],
    ))

# For LowPU and Phase2PU140
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi

lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='lowPtTripletStepTracks',
    useAnyMVA=cms.bool(False),
    GBRForestLabel=cms.string('MVASelectorIter1'),
    trackSelectors=[
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='lowPtTripletStepLoose', ),  #end of pset
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
            name='lowPtTripletStepTight',
Exemple #38
0
from RecoTracker.IterativeTracking.LowPtTripletStep_cff import lowPtTripletStep
initialStepClassifier2 = detachedTripletStepClassifier1.clone()
initialStepClassifier2.src = 'initialStepTracks'
initialStepClassifier3 = lowPtTripletStep.clone()
initialStepClassifier3.src = 'initialStepTracks'

from RecoTracker.FinalTrackSelectors.ClassifierMerger_cfi import *
initialStep = ClassifierMerger.clone()
initialStep.inputClassifiers=['initialStepClassifier1','initialStepClassifier2','initialStepClassifier3']

trackingPhase1.toReplaceWith(initialStep, initialStepClassifier1.clone(
        GBRForestLabel = 'MVASelectorInitialStep_Phase1',
        qualityCuts = [-0.95,-0.85,-0.75],
))
trackingPhase1QuadProp.toReplaceWith(initialStep, initialStepClassifier1.clone(
        GBRForestLabel = 'MVASelectorInitialStep_Phase1',
        qualityCuts = [-0.95,-0.85,-0.75],
))

# For LowPU and Phase1PU70
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
initialStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src = 'initialStepTracks',
    useAnyMVA = cms.bool(False),
    GBRForestLabel = cms.string('MVASelectorIter0'),
    trackSelectors = [
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name = 'initialStepLoose',
        ), #end of pset
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
            name = 'initialStepTight',
            preFilterName = 'initialStepLoose',