Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
9b1732d
Add configuration option for duplicate removal, enable by default
makortel Sep 13, 2019
9f31c6c
Move all geometry-related stuff to an ESProduct
makortel Oct 3, 2019
465900a
Migrate to the updated hit interface
makortel Oct 4, 2019
17d5077
Compute cluster charge only once, dereference Refs only once)
makortel Oct 10, 2019
5bc1169
A hashmap per layer is a bit faster
makortel Oct 10, 2019
61f2f82
Add customize function to run mkFit on HLT
makortel Nov 25, 2019
9ce4863
Split MkFitInput{Converter,Wrapper} to MkFitHit{Converter,Wrapper} an…
makortel Nov 13, 2020
5355fcd
Remove support for fullVector following its removal from mkFit itself
makortel Jan 14, 2021
8ea9a9f
Fixing naming for MTV in 112X
mmasciov Feb 2, 2021
c8b1553
Migrate to multi-iteration interface
makortel Feb 12, 2021
6ed452a
Use mkFit in highPtTripletStep
makortel Feb 19, 2021
9b878d5
Add support for cluster mask, use it in HighPtTripletStep
makortel Mar 5, 2021
1127f54
Add support for cluster charge cut per iteration
makortel Mar 9, 2021
7ed601f
Allow switching individual iterations to mkFit, add customizations an…
makortel Mar 18, 2021
150feaf
Add option to use task_arena limited to 1 thread
makortel Mar 19, 2021
0f9bd99
use 1D strip hits in barrel
cerati Mar 24, 2021
f35ccac
Introduce per-iteration JSON files for mkFit configuration
makortel Mar 23, 2021
b8d4f68
Copy createCMS2017 from mkFit
makortel May 18, 2021
27c9d22
Document configuration parameters in README
osschar May 24, 2021
78094ae
Split MkFitHitProducer to MkFitSi{Pixel,Strip}HitConverter and MkFitE…
makortel Jun 3, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier does iteration-independent changes for enabling mkFit
trackingMkFitCommon = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for detachedQuadStep
trackingMkFitDetachedQuadStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for detachedTripletStep
trackingMkFitDetachedTripletStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for highPtTripletStep
trackingMkFitHighPtTripletStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for initialStep
trackingMkFitInitialStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for lowPtQuadStep
trackingMkFitLowPtQuadStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for lowPtTripletStep
trackingMkFitLowPtTripletStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for mixedTripletStep
trackingMkFitMixedTripletStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for pixelLessStep
trackingMkFitPixelLessStep = cms.Modifier()
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit for tobTecStep
trackingMkFitTobTecStep = cms.Modifier()
26 changes: 24 additions & 2 deletions Configuration/ProcessModifiers/python/trackingMkFit_cff.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
import FWCore.ParameterSet.Config as cms

# This modifier sets replaces the default pattern recognition with mkFit (possibly in selected iterations only)
trackingMkFit = cms.Modifier()
from Configuration.ProcessModifiers.trackingMkFitCommon_cff import *
from Configuration.ProcessModifiers.trackingMkFitInitialStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitLowPtQuadStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitHighPtTripletStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitLowPtTripletStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitDetachedQuadStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitDetachedTripletStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitMixedTripletStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitPixelLessStep_cff import *
from Configuration.ProcessModifiers.trackingMkFitTobTecStep_cff import *

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why did you choose to make use of individual modifiers ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Individual Modifiers allow to test switching individual iterations to mkFit (like here a customization for detachedTripletStep can be given without enabling it with the trackingMkFit Modifierchain). This is intended only for short term.

# Use mkFit in selected iterations
trackingMkFit = cms.ModifierChain(
trackingMkFitCommon,
trackingMkFitInitialStep,
trackingMkFitLowPtQuadStep,
trackingMkFitHighPtTripletStep,
trackingMkFitLowPtTripletStep,
trackingMkFitDetachedQuadStep,
# trackingMkFitDetachedTripletStep, # to be enabled later
# trackingMkFitMixedTripletStep, # to be enabled later
trackingMkFitPixelLessStep,
trackingMkFitTobTecStep,
)
Original file line number Diff line number Diff line change
Expand Up @@ -291,18 +291,24 @@ def condition_(self, fragment, stepList, key, hasHarvest):

class UpgradeWorkflow_trackingMkFit(UpgradeWorkflowTracking):
def setup_(self, step, stepName, stepDict, k, properties):
if 'Digi' in step: stepDict[stepName][k] = merge([self.step2, stepDict[step][k]])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure I understand this change :(

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's copied from the similar line below for Reco. IIUC something like that is needed to add the --customise command to the cmsDriver line.

if 'Reco' in step: stepDict[stepName][k] = merge([self.step3, stepDict[step][k]])
def condition_(self, fragment, stepList, key, hasHarvest):
return '2017' in key or '2021' in key
upgradeWFs['trackingMkFit'] = UpgradeWorkflow_trackingMkFit(
steps = [
'Digi',
'DigiTrigger',
'Reco',
'RecoGlobal',
],
PU = [],
suffix = '_trackingMkFit',
offset = 0.7,
)
upgradeWFs['trackingMkFit'].step2 = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you going to make use of the mkFit at HLT as well ? I'm confused :(

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This customize function provides a way to test mkFit in HLT menu, regardless of whether it will be used there. Having the customize function in the matrix workflow helps to keep the customize function functional.

Written that, I don't feel strongly on this point, so if you think it would be easier to not have the HLT customization, I can remove it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure we really know yet what/if some level of usage in an adapted mkFit for HLT will be needed. So not sure.
Maybe we revisit this when we know more?

'--customise': 'RecoTracker/MkFit/customizeHLTIter0ToMkFit.customizeHLTIter0ToMkFit'
}
upgradeWFs['trackingMkFit'].step3 = {
'--procModifiers': 'trackingMkFit'
}
Expand Down
28 changes: 28 additions & 0 deletions RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,29 @@
phase2clustersToSkip = cms.InputTag('detachedQuadStepClusters')
)

from Configuration.ProcessModifiers.trackingMkFitDetachedQuadStep_cff import trackingMkFitDetachedQuadStep
import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
detachedQuadStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
seeds = 'detachedQuadStepSeeds',
)
detachedQuadStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
config = 'RecoTracker/MkFit/data/mkfit-phase1-detachedQuadStep.json',
ComponentName = 'detachedQuadStepTrackCandidatesMkFitConfig',
)
detachedQuadStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
seeds = 'detachedQuadStepTrackCandidatesMkFitSeeds',
config = ('', 'detachedQuadStepTrackCandidatesMkFitConfig'),
clustersToSkip = 'detachedQuadStepClusters',
)
trackingMkFitDetachedQuadStep.toReplaceWith(detachedQuadStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
seeds = 'detachedQuadStepSeeds',
mkFitSeeds = 'detachedQuadStepTrackCandidatesMkFitSeeds',
tracks = 'detachedQuadStepTrackCandidatesMkFit',
))

#For FastSim phase1 tracking
import FastSimulation.Tracking.TrackCandidateProducer_cfi
_fastSim_detachedQuadStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
Expand Down Expand Up @@ -337,6 +360,11 @@
detachedQuadStepTracks,
detachedQuadStep)
DetachedQuadStep = cms.Sequence(DetachedQuadStepTask)

_DetachedQuadStepTask_trackingMkFit = DetachedQuadStepTask.copy()
_DetachedQuadStepTask_trackingMkFit.add(detachedQuadStepTrackCandidatesMkFitSeeds, detachedQuadStepTrackCandidatesMkFit, detachedQuadStepTrackCandidatesMkFitConfig)
trackingMkFitDetachedQuadStep.toReplaceWith(DetachedQuadStepTask, _DetachedQuadStepTask_trackingMkFit)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we will need to test it on Phase2 as well .... ok, after the Run3 developments ;)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but that will need more development than just adjusting configuration files.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Phase2 adaptation is part of the plan, but will only start after we are done w Run3 preparation.

_DetachedQuadStepTask_Phase2PU140 = DetachedQuadStepTask.copy()
_DetachedQuadStepTask_Phase2PU140.replace(detachedQuadStep, cms.Task(detachedQuadStepSelector,detachedQuadStep))
trackingPhase2PU140.toReplaceWith(DetachedQuadStepTask, _DetachedQuadStepTask_Phase2PU140)
Expand Down
28 changes: 28 additions & 0 deletions RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,29 @@
detachedTripletStepTrackCandidates.TrajectoryCleaner = 'detachedTripletStepTrajectoryCleanerBySharedHits'
trackingLowPU.toModify(detachedTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)

from Configuration.ProcessModifiers.trackingMkFitDetachedTripletStep_cff import trackingMkFitDetachedTripletStep
import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
detachedTripletStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
seeds = 'detachedTripletStepSeeds',
)
detachedTripletStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
ComponentName = 'detachedTripletStepTrackCandidatesMkFitConfig',
config = 'RecoTracker/MkFit/data/mkfit-phase1-detachedTripletStep.json',
)
detachedTripletStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
seeds = 'detachedTripletStepTrackCandidatesMkFitSeeds',
config = ('', 'detachedTripletStepTrackCandidatesMkFitConfig'),
clustersToSkip = 'detachedTripletStepClusters',
)
trackingMkFitDetachedTripletStep.toReplaceWith(detachedTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
seeds = 'detachedTripletStepSeeds',
mkFitSeeds = 'detachedTripletStepTrackCandidatesMkFitSeeds',
tracks = 'detachedTripletStepTrackCandidatesMkFit',
))

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we will need to update the FastSim as well ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why? FastSim pattern recognition is something very different anyway.

import FastSimulation.Tracking.TrackCandidateProducer_cfi
_fastSim_detachedTripletStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
src = 'detachedTripletStepSeeds',
Expand Down Expand Up @@ -379,6 +402,11 @@
detachedTripletStepClassifier1,detachedTripletStepClassifier2,
detachedTripletStep)
DetachedTripletStep = cms.Sequence(DetachedTripletStepTask)

_DetachedTripletStepTask_trackingMkFit = DetachedTripletStepTask.copy()
_DetachedTripletStepTask_trackingMkFit.add(detachedTripletStepTrackCandidatesMkFitSeeds, detachedTripletStepTrackCandidatesMkFit, detachedTripletStepTrackCandidatesMkFitConfig)
trackingMkFitDetachedTripletStep.toReplaceWith(DetachedTripletStepTask, _DetachedTripletStepTask_trackingMkFit)

_DetachedTripletStepTask_LowPU = DetachedTripletStepTask.copyAndExclude([detachedTripletStepClassifier2])
_DetachedTripletStepTask_LowPU.replace(detachedTripletStepClassifier1, detachedTripletStepSelector)
trackingLowPU.toReplaceWith(DetachedTripletStepTask, _DetachedTripletStepTask_LowPU)
Expand Down
28 changes: 28 additions & 0 deletions RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,29 @@
useHitsSplitting = True
)

from Configuration.ProcessModifiers.trackingMkFitHighPtTripletStep_cff import trackingMkFitHighPtTripletStep
import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
highPtTripletStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
seeds = 'highPtTripletStepSeeds',
)
highPtTripletStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
ComponentName = 'highPtTripletStepTrackCandidatesMkFitConfig',
config = 'RecoTracker/MkFit/data/mkfit-phase1-highPtTripletStep.json',
)
highPtTripletStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
seeds = 'highPtTripletStepTrackCandidatesMkFitSeeds',
config = ('', 'highPtTripletStepTrackCandidatesMkFitConfig'),
clustersToSkip = 'highPtTripletStepClusters',
)
trackingMkFitHighPtTripletStep.toReplaceWith(highPtTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
seeds = 'highPtTripletStepSeeds',
mkFitSeeds = 'highPtTripletStepTrackCandidatesMkFitSeeds',
tracks = 'highPtTripletStepTrackCandidatesMkFit',
))

# For Phase2PU140
from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits
highPtTripletStepTrajectoryCleanerBySharedHits = _trajectoryCleanerBySharedHits.clone(
Expand Down Expand Up @@ -332,6 +355,11 @@
highPtTripletStepTracks,
highPtTripletStep)
HighPtTripletStep = cms.Sequence(HighPtTripletStepTask)

_HighPtTripletStepTask_trackingMkFit = HighPtTripletStepTask.copy()
_HighPtTripletStepTask_trackingMkFit.add(highPtTripletStepTrackCandidatesMkFitSeeds, highPtTripletStepTrackCandidatesMkFit, highPtTripletStepTrackCandidatesMkFitConfig)
trackingMkFitHighPtTripletStep.toReplaceWith(HighPtTripletStepTask, _HighPtTripletStepTask_trackingMkFit)

_HighPtTripletStepTask_Phase2PU140 = HighPtTripletStepTask.copy()
_HighPtTripletStepTask_Phase2PU140.replace(highPtTripletStep, highPtTripletStepSelector)
_HighPtTripletStep_Phase2PU140 = cms.Sequence(_HighPtTripletStepTask_Phase2PU140)
Expand Down
34 changes: 26 additions & 8 deletions RecoTracker/IterativeTracking/python/InitialStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,19 +223,32 @@
useHitsSplitting = True
)

from Configuration.ProcessModifiers.trackingMkFit_cff import trackingMkFit
import RecoTracker.MkFit.mkFitInputConverter_cfi as mkFitInputConverter_cfi
from Configuration.ProcessModifiers.trackingMkFitInitialStep_cff import trackingMkFitInitialStep
from RecoTracker.MkFit.mkFitGeometryESProducer_cfi import mkFitGeometryESProducer
import RecoTracker.MkFit.mkFitSiPixelHitConverter_cfi as mkFitSiPixelHitConverter_cfi
import RecoTracker.MkFit.mkFitSiStripHitConverter_cfi as mkFitSiStripHitConverter_cfi
import RecoTracker.MkFit.mkFitEventOfHitsProducer_cfi as mkFitEventOfHitsProducer_cfi
import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
initialStepTrackCandidatesMkFitInput = mkFitInputConverter_cfi.mkFitInputConverter.clone(
mkFitSiPixelHits = mkFitSiPixelHitConverter_cfi.mkFitSiPixelHitConverter.clone() # TODO: figure out better place for this module?
mkFitSiStripHits = mkFitSiStripHitConverter_cfi.mkFitSiStripHitConverter.clone() # TODO: figure out better place for this module?
mkFitEventOfHits = mkFitEventOfHitsProducer_cfi.mkFitEventOfHitsProducer.clone() # TODO: figure out better place for this module?
initialStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
seeds = 'initialStepSeeds',
)
initialStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
ComponentName = 'initialStepTrackCandidatesMkFitConfig',
config = 'RecoTracker/MkFit/data/mkfit-phase1-initialStep.json',
)
initialStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
hitsSeeds = 'initialStepTrackCandidatesMkFitInput',
seeds = 'initialStepTrackCandidatesMkFitSeeds',
config = ('', 'initialStepTrackCandidatesMkFitConfig'),
)
trackingMkFit.toReplaceWith(initialStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
trackingMkFitInitialStep.toReplaceWith(initialStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
seeds = 'initialStepSeeds',
hitsSeeds = 'initialStepTrackCandidatesMkFitInput',
mkFitSeeds = 'initialStepTrackCandidatesMkFitSeeds',
tracks = 'initialStepTrackCandidatesMkFit',
))

Expand Down Expand Up @@ -413,9 +426,14 @@
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(initialStepTrackCandidatesMkFitInput, initialStepTrackCandidatesMkFit)
trackingMkFit.toReplaceWith(InitialStepTask, _InitialStepTask_trackingMkFit)
_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)
Expand Down
27 changes: 27 additions & 0 deletions RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,29 @@
phase2clustersToSkip = cms.InputTag('lowPtQuadStepClusters')
)

from Configuration.ProcessModifiers.trackingMkFitLowPtQuadStep_cff import trackingMkFitLowPtQuadStep
import RecoTracker.MkFit.mkFitSeedConverter_cfi as mkFitSeedConverter_cfi
import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi as mkFitIterationConfigESProducer_cfi
import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
lowPtQuadStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
seeds = 'lowPtQuadStepSeeds',
)
lowPtQuadStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
ComponentName = 'lowPtQuadStepTrackCandidatesMkFitConfig',
config = 'RecoTracker/MkFit/data/mkfit-phase1-lowPtQuadStep.json',
)
lowPtQuadStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
seeds = 'lowPtQuadStepTrackCandidatesMkFitSeeds',
config = ('', 'lowPtQuadStepTrackCandidatesMkFitConfig'),
clustersToSkip = 'lowPtQuadStepClusters',
)
trackingMkFitLowPtQuadStep.toReplaceWith(lowPtQuadStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
seeds = 'lowPtQuadStepSeeds',
mkFitSeeds = 'lowPtQuadStepTrackCandidatesMkFitSeeds',
tracks = 'lowPtQuadStepTrackCandidatesMkFit',
))

#For FastSim phase1 tracking
import FastSimulation.Tracking.TrackCandidateProducer_cfi
_fastSim_lowPtQuadStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
Expand Down Expand Up @@ -278,6 +301,10 @@
lowPtQuadStep)
LowPtQuadStep = cms.Sequence(LowPtQuadStepTask)

_LowPtQuadStepTask_trackingMkFit = LowPtQuadStepTask.copy()
_LowPtQuadStepTask_trackingMkFit.add(lowPtQuadStepTrackCandidatesMkFitSeeds, lowPtQuadStepTrackCandidatesMkFit, lowPtQuadStepTrackCandidatesMkFitConfig)
trackingMkFitLowPtQuadStep.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_trackingMkFit)

_LowPtQuadStepTask_Phase2PU140 = LowPtQuadStepTask.copy()
_LowPtQuadStepTask_Phase2PU140.replace(lowPtQuadStep, lowPtQuadStepSelector)
trackingPhase2PU140.toReplaceWith(LowPtQuadStepTask, _LowPtQuadStepTask_Phase2PU140)
Expand Down
Loading