File indexing completed on 2024-04-06 12:28:09
0001 import FWCore.ParameterSet.Config as cms
0002
0003 from RecoTracker.FinalTrackSelectors.DuplicateTrackMerger_cfi import *
0004 from RecoTracker.FinalTrackSelectors.DuplicateListMerger_cfi import *
0005 from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder
0006 from RecoLocalTracker.SiPixelRecHits.SiPixelTemplateStoreESProducer_cfi import SiPixelTemplateStoreESProducer
0007
0008 from TrackingTools.KalmanUpdators.Chi2MeasurementEstimator_cfi import Chi2MeasurementEstimator as _Chi2MeasurementEstimator
0009 duplicateTrackCandidatesChi2Est = _Chi2MeasurementEstimator.clone(
0010 ComponentName = "duplicateTrackCandidatesChi2Est",
0011 MaxChi2 = 100,
0012 )
0013
0014 duplicateTrackCandidates = DuplicateTrackMerger.clone(
0015 source = "preDuplicateMergingGeneralTracks",
0016 useInnermostState = True,
0017 ttrhBuilderName = "WithAngleAndTemplate",
0018 chi2EstimatorName = "duplicateTrackCandidatesChi2Est"
0019 )
0020
0021 import RecoTracker.TrackProducer.TrackProducer_cfi
0022 mergedDuplicateTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
0023 src = "duplicateTrackCandidates:candidates",
0024 Fitter='RKFittingSmoother'
0025 )
0026
0027 from RecoTracker.FinalTrackSelectors.TrackCutClassifier_cff import *
0028 duplicateTrackClassifier = TrackCutClassifier.clone(
0029 src='mergedDuplicateTracks',
0030 mva = dict(
0031 minPixelHits = [0,0,0],
0032 maxChi2 = [9999.,9999.,9999.],
0033 maxChi2n = [10.,1.0,0.4],
0034 minLayers = [0,0,0],
0035 min3DLayers = [0,0,0],
0036 maxLostLayers = [99,99,99])
0037 )
0038
0039 generalTracks = DuplicateListMerger.clone(
0040 originalSource = "preDuplicateMergingGeneralTracks",
0041 originalMVAVals = "preDuplicateMergingGeneralTracks:MVAValues",
0042 mergedSource = "mergedDuplicateTracks",
0043 mergedMVAVals = "duplicateTrackClassifier:MVAValues",
0044 candidateSource = "duplicateTrackCandidates:candidates",
0045 candidateComponents = "duplicateTrackCandidates:candidateMap"
0046 )
0047
0048 generalTracksTask = cms.Task(
0049 duplicateTrackCandidates,
0050 mergedDuplicateTracks,
0051 duplicateTrackClassifier,
0052 generalTracks
0053 )
0054 generalTracksSequence = cms.Sequence(generalTracksTask)
0055
0056 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0057 fastSim.toReplaceWith(generalTracksTask,
0058 cms.Task(duplicateTrackCandidates,
0059 mergedDuplicateTracks,
0060 duplicateTrackClassifier)
0061 )
0062
0063 def _fastSimGeneralTracks(process):
0064 from FastSimulation.Configuration.DigiAliases_cff import loadGeneralTracksAlias
0065 loadGeneralTracksAlias(process)
0066 modifyMergeTrackCollections_fastSimGeneralTracks = fastSim.makeProcessModifier( _fastSimGeneralTracks )
0067
0068 import RecoTracker.FinalTrackSelectors.trackListMerger_cfi
0069 conversionStepTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
0070 TrackProducers = ['convStepTracks'],
0071 hasSelector = [1],
0072 selectedTrackQuals = ['convStepSelector:convStep'],
0073 setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(1), pQual=cms.bool(True) )
0074 ),
0075 copyExtras = True,
0076 makeReKeyedSeeds = cms.untracked.bool(False),
0077 )
0078
0079 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
0080 phase2_timing_layer.toModify(mergedDuplicateTracks, TrajectoryInEvent = True)
0081 phase2_timing_layer.toModify(generalTracks, copyTrajectories = True)