Esempio n. 1
0
InitialStepTask = cms.Task(initialStepSeedLayers, initialStepTrackingRegions,
                           initialStepHitDoublets, initialStepHitTriplets,
                           initialStepSeeds, initialStepTrackCandidates,
                           initialStepTracks, firstStepPrimaryVerticesUnsorted,
                           initialStepTrackRefsForJets,
                           firstStepPrimaryVertices, initialStepClassifier1,
                           initialStepClassifier2, initialStepClassifier3,
                           initialStep, caloJetsForTrkTask)
InitialStep = cms.Sequence(InitialStepTask)

from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon
_InitialStepTask_trackingMkFitCommon = InitialStepTask.copy()
_InitialStepTask_trackingMkFitCommon.add(mkFitSiPixelHits, mkFitSiStripHits,
                                         mkFitEventOfHits,
                                         mkFitGeometryESProducer)
trackingMkFitCommon.toReplaceWith(InitialStepTask,
                                  _InitialStepTask_trackingMkFitCommon)

_InitialStepTask_trackingMkFit = InitialStepTask.copy()
_InitialStepTask_trackingMkFit.add(initialStepTrackCandidatesMkFitSeeds,
                                   initialStepTrackCandidatesMkFit,
                                   initialStepTrackCandidatesMkFitConfig)
trackingMkFitInitialStep.toReplaceWith(InitialStepTask,
                                       _InitialStepTask_trackingMkFit)

_InitialStepTask_LowPU = InitialStepTask.copyAndExclude([
    firstStepPrimaryVerticesUnsorted, initialStepTrackRefsForJets,
    caloJetsForTrkTask, firstStepPrimaryVertices, initialStepClassifier1,
    initialStepClassifier2, initialStepClassifier3
])
_InitialStepTask_LowPU.replace(initialStep, initialStepSelector)
trackingLowPU.toReplaceWith(InitialStepTask, _InitialStepTask_LowPU)
)
_InitialStepPreSplittingTask_trackingPhase1.replace(
    initialStepHitTripletsPreSplitting,
    cms.Task(initialStepHitTripletsPreSplitting,
             initialStepHitQuadrupletsPreSplitting))
trackingPhase1.toReplaceWith(
    InitialStepPreSplittingTask,
    _InitialStepPreSplittingTask_trackingPhase1.copyAndExclude(
        [initialStepHitTripletsPreSplitting]))

from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon
_InitialStepPreSplittingTask_trackingMkFitCommon = InitialStepPreSplittingTask.copy(
)
_InitialStepPreSplittingTask_trackingMkFitCommon.add(mkFitSiStripHits)
trackingMkFitCommon.toReplaceWith(
    InitialStepPreSplittingTask,
    _InitialStepPreSplittingTask_trackingMkFitCommon)
_InitialStepPreSplittingTask_trackingMkFit = InitialStepPreSplittingTask.copy()
_InitialStepPreSplittingTask_trackingMkFit.add(
    mkFitSiPixelHitsPreSplitting, mkFitEventOfHitsPreSplitting,
    initialStepTrackCandidatesMkFitSeedsPreSplitting,
    initialStepTrackCandidatesMkFitPreSplitting,
    initialStepTrackCandidatesMkFitConfigPreSplitting)
trackingMkFitInitialStepPreSplitting.toReplaceWith(
    InitialStepPreSplittingTask, _InitialStepPreSplittingTask_trackingMkFit)

# 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.