# CKFTrackCandidateMaker
from RecoTracker.CkfPattern.CkfTrackCandidates_cff import *
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone()
electronCkfTrackCandidates.src = cms.InputTag('electronMergedSeeds')
electronCkfTrackCandidates.TrajectoryBuilder = 'TrajectoryBuilderForElectrons'
#electronCkfTrackCandidates.TrajectoryCleaner = 'TrajectoryCleanerBySharedHits'
electronCkfTrackCandidates.NavigationSchool = 'SimpleNavigationSchool'
electronCkfTrackCandidates.RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput'

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName = cms.string('electronTrajectoryCleanerBySharedHits'),
    ValidHitBonus = cms.double(1000.0),
    MissingHitPenalty = cms.double(0.0)
    )
electronCkfTrackCandidates.TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits'
            

# "backward" propagator for electrons
from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import *
# "forward" propagator for electrons
from TrackingTools.GsfTracking.fwdGsfElectronPropagator_cff import *
# TrajectoryFilter





# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi

hiLowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    src="hiLowPtTripletStepTrackCandidates",
    AlgorithmName=cms.string("iter1"),
    Fitter=cms.string("FlexibleKFFittingSmoother"),
)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits

hiLowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName=cms.string("hiLowPtTripletStepTrajectoryCleanerBySharedHits"),
    fractionShared=cms.double(0.16),
    allowSharedFirstHit=cms.bool(True),
)
hiLowPtTripletStepTrackCandidates.TrajectoryCleaner = "hiLowPtTripletStepTrajectoryCleanerBySharedHits"

# Final selection
import RecoHI.HiTracking.hiMultiTrackSelector_cfi

hiLowPtTripletStepSelector = RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiMultiTrackSelector.clone(
    src="hiLowPtTripletStepTracks",
    trackSelectors=cms.VPSet(
        RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiLooseMTS.clone(name="hiLowPtTripletStepLoose"),  # end of pset
        RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiTightMTS.clone(
            name="hiLowPtTripletStepTight", preFilterName="hiLowPtTripletStepLoose"
        ),
        RecoHI.HiTracking.hiMultiTrackSelector_cfi.hiHighpurityMTS.clone(
Beispiel #3
0
# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src=cms.InputTag('mixedTripletStepSeeds'),
    clustersToSkip=cms.InputTag('mixedTripletStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner=cms.int32(50),
    #onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet=cms.PSet(
        refToPSet_=cms.string('mixedTripletStepTrajectoryBuilder')),
    doSeedingRegionRebuilding=True,
    useHitsSplitting=True)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName=cms.string('mixedTripletStepTrajectoryCleanerBySharedHits'),
    fractionShared=cms.double(0.11),
    allowSharedFirstHit=cms.bool(True))
mixedTripletStepTrackCandidates.TrajectoryCleaner = 'mixedTripletStepTrajectoryCleanerBySharedHits'

# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    AlgorithmName=cms.string('mixedTripletStep'),
    src='mixedTripletStepTrackCandidates',
    Fitter=cms.string('FlexibleKFFittingSmoother'))

# TRACK SELECTION AND QUALITY FLAG SETTING.
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
mixedTripletStepClassifier1 = TrackMVAClassifierDetached.clone()
mixedTripletStepClassifier1.src = 'mixedTripletStepTracks'
Beispiel #4
0
# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi

lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    src="lowPtQuadStepTrackCandidates",
    AlgorithmName=cms.string("iter2"),
    Fitter=cms.string("FlexibleKFFittingSmoother"),
    TTRHBuilder=cms.string("WithTrackAngle"),
)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits

lowPtQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName=cms.string("lowPtQuadStepTrajectoryCleanerBySharedHits"),
    fractionShared=cms.double(0.095),
    allowSharedFirstHit=cms.bool(True),
)
lowPtQuadStepTrackCandidates.TrajectoryCleaner = "lowPtQuadStepTrajectoryCleanerBySharedHits"

# Final selection
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi

lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src="lowPtQuadStepTracks",
    trackSelectors=cms.VPSet(
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name="lowPtQuadStepLoose",
            chi2n_par=2.0,
            res_par=(0.003, 0.002),
            minNumberLayers=3,
    src = cms.InputTag('mixedTripletStepSeeds'),
    clustersToSkip = cms.InputTag('mixedTripletStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    #onlyPixelHitsForSeedCleaner = cms.bool(True),

    TrajectoryBuilder = 'mixedTripletStepTrajectoryBuilder',
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
)


from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
        ComponentName = cms.string('mixedTripletStepTrajectoryCleanerBySharedHits'),
            fractionShared = cms.double(0.11),
            allowSharedFirstHit = cms.bool(True)
            )
mixedTripletStepTrackCandidates.TrajectoryCleaner = 'mixedTripletStepTrajectoryCleanerBySharedHits'


# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    AlgorithmName = cms.string('iter4'),
    src = 'mixedTripletStepTrackCandidates',
    Fitter = cms.string('FlexibleKFFittingSmoother')
)

# TRACK SELECTION AND QUALITY FLAG SETTING.
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
Beispiel #6
0
    estimator = 'detachedQuadStepChi2Est',
    maxDPhiForLooperReconstruction = cms.double(2.0),
    maxPtForLooperReconstruction = cms.double(0.7)
)
trackingNoLoopers.toModify(detachedQuadStepTrajectoryBuilder,
                           maxPtForLooperReconstruction = 0.0)
trackingPhase2PU140.toModify(detachedQuadStepTrajectoryBuilder,
    maxCand              = 2,
    alwaysUseInvalidHits = False,
)

# MAKING OF TRACK CANDIDATES
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
detachedQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName       = 'detachedQuadStepTrajectoryCleanerBySharedHits',
    fractionShared      = 0.13,
    allowSharedFirstHit = True
)

import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = 'detachedQuadStepSeeds',
    clustersToSkip = cms.InputTag('detachedQuadStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = dict(refToPSet_ = 'detachedQuadStepTrajectoryBuilder'),
    TrajectoryCleaner = 'detachedQuadStepTrajectoryCleanerBySharedHits',
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
)
Beispiel #7
0
    clustersToSkip=cms.InputTag('pixelPairStepClusters'),
    TrajectoryBuilderPSet=cms.PSet(
        refToPSet_=cms.string('pixelPairStepTrajectoryBuilder')),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner=cms.int32(50),
    onlyPixelHitsForSeedCleaner=cms.bool(True),
)
trackingPhase2PU140.toModify(
    pixelPairStepTrackCandidates,
    clustersToSkip=None,
    phase2clustersToSkip=cms.InputTag("pixelPairStepClusters"),
    TrajectoryCleaner="pixelPairStepTrajectoryCleanerBySharedHits")

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
pixelPairStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
    ComponentName='pixelPairStepTrajectoryCleanerBySharedHits',
    fractionShared=0.095,
    allowSharedFirstHit=True)
trackingPhase2PU140.toModify(pixelPairStepTrajectoryCleanerBySharedHits,
                             fractionShared=0.09)

# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    AlgorithmName=cms.string('pixelPairStep'),
    src='pixelPairStepTrackCandidates',
    Fitter=cms.string('FlexibleKFFittingSmoother'))

# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
pixelPairStep = TrackMVAClassifierPrompt.clone()
pixelPairStep.src = 'pixelPairStepTracks'
Beispiel #8
0
    maxCand = 3,
    alwaysUseInvalidHits = True,
    estimator = 'detachedQuadStepChi2Est',
    maxDPhiForLooperReconstruction = cms.double(2.0),
    maxPtForLooperReconstruction = cms.double(0.7) 
)
trackingPhase2PU140.toModify(detachedQuadStepTrajectoryBuilder,
    maxCand = 2,
    alwaysUseInvalidHits = False,
)

# MAKING OF TRACK CANDIDATES
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
detachedQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName = cms.string('detachedQuadStepTrajectoryCleanerBySharedHits'),
    fractionShared = cms.double(0.13),
    allowSharedFirstHit = cms.bool(True)
)

import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = 'detachedQuadStepSeeds',
    clustersToSkip = cms.InputTag('detachedQuadStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = dict(refToPSet_ = 'detachedQuadStepTrajectoryBuilder'),
    TrajectoryCleaner = 'detachedQuadStepTrajectoryCleanerBySharedHits',
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
)
Beispiel #9
0
(pp_on_XeXe_2017 | pp_on_AA).toModify(tobTecStepTrackCandidatesMkFitConfig, minPt=2.0)

import FastSimulation.Tracking.TrackCandidateProducer_cfi
fastSim.toReplaceWith(tobTecStepTrackCandidates,
                      FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
        MinNumberOfCrossedLayers = 3,
        src      = 'tobTecStepSeeds',
        hitMasks = cms.InputTag('tobTecStepMasks')
        )
)


from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
tobTecStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName       = 'tobTecStepTrajectoryCleanerBySharedHits',
    fractionShared      = 0.09,
    allowSharedFirstHit = True
)
trackingLowPU.toModify(tobTecStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)

# TRACK FITTING AND SMOOTHING OPTIONS
import TrackingTools.TrackFitters.RungeKuttaFitters_cff
tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
    ComponentName   = 'tobTecStepFitterSmoother',
    EstimateCut     = 30,
    MinNumberOfHits = 7,
    Fitter          = 'tobTecStepRKFitter',
    Smoother        = 'tobTecStepRKSmoother'
)
trackingLowPU.toModify(tobTecStepFitterSmoother, MinNumberOfHits = 8)
TrajectoryBuilderForElectrons.estimator = 'ElectronChi2'
TrajectoryBuilderForElectrons.MeasurementTrackerName = ''
TrajectoryBuilderForElectrons.lostHitPenalty = 90.
TrajectoryBuilderForElectrons.alwaysUseInvalidHits = True
TrajectoryBuilderForElectrons.TTRHBuilder = 'WithTrackAngle'
TrajectoryBuilderForElectrons.updator = 'KFUpdator'

# CKFTrackCandidateMaker
from RecoTracker.CkfPattern.CkfTrackCandidates_cff import *
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
)
electronCkfTrackCandidates.src = cms.InputTag('electronMergedSeeds')
electronCkfTrackCandidates.TrajectoryBuilderPSet.refToPSet_ = 'TrajectoryBuilderForElectrons'
#electronCkfTrackCandidates.TrajectoryCleaner = 'TrajectoryCleanerBySharedHits'
electronCkfTrackCandidates.NavigationSchool = 'SimpleNavigationSchool'
electronCkfTrackCandidates.RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput'

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName=cms.string('electronTrajectoryCleanerBySharedHits'),
    ValidHitBonus=cms.double(1000.0),
    MissingHitPenalty=cms.double(0.0))
electronCkfTrackCandidates.TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits'

# "backward" propagator for electrons
from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import *
# "forward" propagator for electrons
from TrackingTools.GsfTracking.fwdGsfElectronPropagator_cff import *
# TrajectoryFilter
Beispiel #11
0
trackingMkFitHighPtTripletStep.toReplaceWith(
    highPtTripletStepTrackCandidates,
    mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
        seeds='highPtTripletStepSeeds',
        mkFitSeeds='highPtTripletStepTrackCandidatesMkFitSeeds',
        tracks='highPtTripletStepTrackCandidatesMkFit',
        candMVASel=True,
        candWP=-0.3,
    ))
(pp_on_XeXe_2017 | pp_on_AA).toModify(
    highPtTripletStepTrackCandidatesMkFitConfig, minPt=0.7)

# For Phase2PU140
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
highPtTripletStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
    ComponentName='highPtTripletStepTrajectoryCleanerBySharedHits',
    fractionShared=0.16,
    allowSharedFirstHit=True)
trackingPhase2PU140.toModify(
    highPtTripletStepTrackCandidates,
    TrajectoryCleaner='highPtTripletStepTrajectoryCleanerBySharedHits',
    clustersToSkip='',
    phase2clustersToSkip='highPtTripletStepClusters')

#For FastSim phase1 tracking
import FastSimulation.Tracking.TrackCandidateProducer_cfi
_fastSim_highPtTripletStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
    src='highPtTripletStepSeeds',
    MinNumberOfCrossedLayers=3,
    hitMasks=cms.InputTag('highPtTripletStepMasks'))
fastSim.toReplaceWith(highPtTripletStepTrackCandidates,
                      _fastSim_highPtTripletStepTrackCandidates)
    keepOriginalIfRebuildFails=True,
    lockHits=False,
    requireSeedHitsInRebuild=False)
trackingNoLoopers.toModify(jetCoreRegionalStepBarrelTrajectoryBuilder,
                           maxPtForLooperReconstruction=cms.double(0.0))
jetCoreRegionalStepEndcapTrajectoryBuilder = jetCoreRegionalStepTrajectoryBuilder.clone(
    trajectoryFilter=cms.PSet(
        refToPSet_=cms.string('jetCoreRegionalStepEndcapTrajectoryFilter')),
    #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'),
)
trackingNoLoopers.toModify(jetCoreRegionalStepEndcapTrajectoryBuilder,
                           maxPtForLooperReconstruction=cms.double(0.0))
#customized cleaner for DeepCore
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
jetCoreRegionalStepDeepCoreTrajectoryCleaner = trajectoryCleanerBySharedHits.clone(
    ComponentName='jetCoreRegionalStepDeepCoreTrajectoryCleaner',
    fractionShared=0.45)

############## to run MCtruthSeedGenerator ####################
#import RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi
#import Validation.RecoTrack.JetCoreMCtruthSeedGenerator_cfi
#seedingDeepCore.toReplaceWith(jetCoreRegionalStepSeedsBarrel,
#    RecoTracker.TkSeedGenerator.deepCoreSeedGenerator_cfi.deepCoreSeedGenerator.clone(#to run MCtruthSeedGenerator clone here from Validation.RecoTrack
#       vertices="firstStepPrimaryVertices"
#    )
#)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
jetCoreRegionalStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src='jetCoreRegionalStepSeeds',
    lostHitPenalty = 90.,
    alwaysUseInvalidHits = True,
    TTRHBuilder = 'WithTrackAngle',
    updator = 'KFUpdator'
)

# CKFTrackCandidateMaker
from RecoTracker.CkfPattern.CkfTrackCandidates_cff import *
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
electronCkfTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = 'electronMergedSeeds',
    TrajectoryBuilderPSet = dict(refToPSet_ = 'TrajectoryBuilderForElectrons'),
    #TrajectoryCleaner = 'TrajectoryCleanerBySharedHits'
    NavigationSchool = 'SimpleNavigationSchool',
    RedundantSeedCleaner = 'CachingSeedCleanerBySharedInput',
    TrajectoryCleaner = 'electronTrajectoryCleanerBySharedHits'
)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
electronTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName = 'electronTrajectoryCleanerBySharedHits',
    ValidHitBonus = 1000.0,
    MissingHitPenalty = 0.0
)

# "backward" propagator for electrons
from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import *
# "forward" propagator for electrons
from TrackingTools.GsfTracking.fwdGsfElectronPropagator_cff import *
# TrajectoryFilter
Beispiel #14
0
highPtTripletStepTrackCandidates = _CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = 'highPtTripletStepSeeds',
    clustersToSkip = cms.InputTag('highPtTripletStepClusters'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = dict(refToPSet_ = 'highPtTripletStepTrajectoryBuilder'),
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
)

# For Phase2PU140
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
highPtTripletStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
    ComponentName = 'highPtTripletStepTrajectoryCleanerBySharedHits',
    fractionShared = 0.16,
    allowSharedFirstHit = True
)
trackingPhase2PU140.toModify(highPtTripletStepTrackCandidates, 
    TrajectoryCleaner = 'highPtTripletStepTrajectoryCleanerBySharedHits', 
    clustersToSkip = None,
    phase2clustersToSkip = cms.InputTag("highPtTripletStepClusters")
)

# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
highPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    src = 'highPtTripletStepTrackCandidates',
    AlgorithmName = 'highPtTripletStep',
    Fitter = 'FlexibleKFFittingSmoother',
)
Beispiel #15
0
        tracks='mixedTripletStepTrackCandidatesMkFit',
    ))

import FastSimulation.Tracking.TrackCandidateProducer_cfi
fastSim.toReplaceWith(
    mixedTripletStepTrackCandidates,
    FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.
    clone(
        src='mixedTripletStepSeeds',
        MinNumberOfCrossedLayers=3,
        hitMasks=cms.InputTag('mixedTripletStepMasks'),
    ))

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName='mixedTripletStepTrajectoryCleanerBySharedHits',
    fractionShared=0.11,
    allowSharedFirstHit=True)
trackingLowPU.toModify(mixedTripletStepTrajectoryCleanerBySharedHits,
                       fractionShared=0.19)

# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    AlgorithmName='mixedTripletStep',
    src='mixedTripletStepTrackCandidates',
    Fitter='FlexibleKFFittingSmoother')
fastSim.toModify(mixedTripletStepTracks, TTRHBuilder='WithoutRefit')

# TRACK SELECTION AND QUALITY FLAG SETTING.
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierDetached_cfi import *
Beispiel #16
0
    TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryBuilder')),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),

)
trackingPhase2PU140.toModify(pixelPairStepTrackCandidates,
    clustersToSkip = None,
    phase2clustersToSkip = cms.InputTag("pixelPairStepClusters"),
    TrajectoryCleaner = "pixelPairStepTrajectoryCleanerBySharedHits"
)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
pixelPairStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
    ComponentName = 'pixelPairStepTrajectoryCleanerBySharedHits',
    fractionShared = 0.095,
    allowSharedFirstHit = True
)
trackingPhase2PU140.toModify(pixelPairStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)

# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
pixelPairStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    AlgorithmName = cms.string('pixelPairStep'),
    src = 'pixelPairStepTrackCandidates',
    Fitter = cms.string('FlexibleKFFittingSmoother')
    )

# Final selection
from RecoTracker.FinalTrackSelectors.TrackMVAClassifierPrompt_cfi import *
pixelPairStep =  TrackMVAClassifierPrompt.clone()
Beispiel #17
0
    maxCand=4,
    estimator=cms.string('lowPtQuadStepChi2Est'),
    maxDPhiForLooperReconstruction=cms.double(2.0),
    # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
    # of the outermost Tracker barrel layer (with B=3.8T)
    maxPtForLooperReconstruction=cms.double(0.7))
trackingPhase2PU140.toModify(
    lowPtQuadStepTrajectoryBuilder,
    minNrOfHitsForRebuild=1,
    keepOriginalIfRebuildFails=True,
)

# MAKING OF TRACK CANDIDATES
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
    ComponentName='lowPtQuadStepTrajectoryCleanerBySharedHits',
    fractionShared=0.16,
    allowSharedFirstHit=True)
trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits,
                             fractionShared=0.09)

import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src='lowPtQuadStepSeeds',
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner=cms.int32(50),
    onlyPixelHitsForSeedCleaner=cms.bool(True),
    TrajectoryBuilderPSet=dict(refToPSet_='lowPtQuadStepTrajectoryBuilder'),
    TrajectoryCleaner='lowPtQuadStepTrajectoryCleanerBySharedHits',
    clustersToSkip=cms.InputTag('lowPtQuadStepClusters'),
    doSeedingRegionRebuilding=True,
    useHitsSplitting=True)
Beispiel #18
0
    maxDPhiForLooperReconstruction = cms.double(2.0),
    # 0.63 GeV is the maximum pT for a charged particle to loop within the 1.1m radius
    # of the outermost Tracker barrel layer (with B=3.8T)
    maxPtForLooperReconstruction = cms.double(0.7) 
)
trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryBuilder,
    minNrOfHitsForRebuild = 1,
    keepOriginalIfRebuildFails = True,
)


# MAKING OF TRACK CANDIDATES
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
lowPtQuadStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
    ComponentName = 'lowPtQuadStepTrajectoryCleanerBySharedHits',
    fractionShared = 0.16,
    allowSharedFirstHit = True
)
trackingPhase2PU140.toModify(lowPtQuadStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)

import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = 'lowPtQuadStepSeeds',
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = dict(refToPSet_ = 'lowPtQuadStepTrajectoryBuilder'),
    TrajectoryCleaner = 'lowPtQuadStepTrajectoryCleanerBySharedHits',
    clustersToSkip = cms.InputTag('lowPtQuadStepClusters'),
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True
    doSeedingRegionRebuilding=True,
    useHitsSplitting=True)

# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi

lowPtQuadStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
    src='lowPtQuadStepTrackCandidates',
    AlgorithmName=cms.string('lowPtQuadStep'),
    Fitter=cms.string('FlexibleKFFittingSmoother'),
    TTRHBuilder=cms.string('WithTrackAngle'))

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits

lowPtQuadStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName=cms.string('lowPtQuadStepTrajectoryCleanerBySharedHits'),
    fractionShared=cms.double(0.095),
    allowSharedFirstHit=cms.bool(True))
lowPtQuadStepTrackCandidates.TrajectoryCleaner = 'lowPtQuadStepTrajectoryCleanerBySharedHits'

# Final selection
import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi

lowPtQuadStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
    src='lowPtQuadStepTracks',
    trackSelectors=cms.VPSet(
        RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
            name='lowPtQuadStepLoose',
            chi2n_par=2.0,
            res_par=(0.003, 0.002),
            minNumberLayers=3,
            maxNumberLostLayers=2,
Beispiel #20
0
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
tobTecStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
    src = cms.InputTag('tobTecStepSeeds'),
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = cms.int32(50),
    onlyPixelHitsForSeedCleaner = cms.bool(True),
    TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryBuilder')),
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True,
    cleanTrajectoryAfterInOut = True
)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
tobTecStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName = cms.string('tobTecStepTrajectoryCleanerBySharedHits'),
    fractionShared = cms.double(0.09),
    allowSharedFirstHit = cms.bool(True)
    )
tobTecStepTrackCandidates.TrajectoryCleaner = 'tobTecStepTrajectoryCleanerBySharedHits'

# TRACK FITTING AND SMOOTHING OPTIONS
import TrackingTools.TrackFitters.RungeKuttaFitters_cff
tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
    ComponentName = 'tobTecStepFitterSmoother',
    EstimateCut = 30,
    MinNumberOfHits = 8,
    Fitter = cms.string('tobTecStepRKFitter'),
    Smoother = cms.string('tobTecStepRKSmoother')
    )

tobTecStepFitterSmootherForLoopers = tobTecStepFitterSmoother.clone(
    src = 'displacedGeneralStepSeeds',
    TrajectoryCleaner = 'displacedGeneralStepTrajectoryCleanerBySharedHits',
    ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
    numHitsForSeedCleaner = 50,
    onlyPixelHitsForSeedCleaner = False,
    TrajectoryBuilderPSet = dict(refToPSet_ = 'displacedGeneralStepTrajectoryBuilder'),
    clustersToSkip = 'displacedGeneralStepClusters',
    doSeedingRegionRebuilding = True,
    useHitsSplitting = True,
    cleanTrajectoryAfterInOut = True
)

from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
displacedGeneralStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
    ComponentName = 'displacedGeneralStepTrajectoryCleanerBySharedHits',
    fractionShared = 0.25,
    allowSharedFirstHit = True
)





# ----------------------------------------- TRACK FITTING AND SMOOTHING OPTIONS
import TrackingTools.TrackFitters.RungeKuttaFitters_cff
displacedGeneralStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
    ComponentName = 'displacedGeneralStepFitterSmoother',
    EstimateCut = 30,
    MinNumberOfHits = 8,
    Fitter = 'displacedGeneralStepRKFitter',
    Smoother = 'displacedGeneralStepRKSmoother'