Skip to content

Commit

Permalink
Merge pull request #28755 from makortel/mkfitModifier
Browse files Browse the repository at this point in the history
Implement mkFit customization in initialStep with a Modifier
  • Loading branch information
cmsbuild authored Jan 19, 2020
2 parents c742feb + 68c0af5 commit 48e1294
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 23 deletions.
4 changes: 4 additions & 0 deletions Configuration/ProcessModifiers/python/trackingMkFit_cff.py
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 (possibly in selected iterations only)
trackingMkFit = cms.Modifier()
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ def condition_(self, fragment, stepList, key, hasHarvest):
offset = 0.7,
)
upgradeWFs['trackingMkFit'].step3 = {
'--customise': 'RecoTracker/MkFit/customizeInitialStepToMkFit.customizeInitialStepToMkFit'
'--procModifiers': 'trackingMkFit'
}

# Patatrack workflows
Expand Down
20 changes: 20 additions & 0 deletions RecoTracker/IterativeTracking/python/InitialStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,22 @@
useHitsSplitting = True
)

from Configuration.ProcessModifiers.trackingMkFit_cff import trackingMkFit
import RecoTracker.MkFit.mkFitInputConverter_cfi as mkFitInputConverter_cfi
import RecoTracker.MkFit.mkFitProducer_cfi as mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as mkFitOutputConverter_cfi
initialStepTrackCandidatesMkFitInput = mkFitInputConverter_cfi.mkFitInputConverter.clone(
seeds = "initialStepSeeds",
)
initialStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
hitsSeeds = "initialStepTrackCandidatesMkFitInput",
)
trackingMkFit.toReplaceWith(initialStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
seeds = "initialStepSeeds",
hitsSeeds = "initialStepTrackCandidatesMkFitInput",
tracks = "initialStepTrackCandidatesMkFit",
))

import FastSimulation.Tracking.TrackCandidateProducer_cfi
fastSim.toReplaceWith(initialStepTrackCandidates,
FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
Expand Down Expand Up @@ -395,6 +411,10 @@
initialStep,caloJetsForTrkTask)
InitialStep = cms.Sequence(InitialStepTask)

_InitialStepTask_trackingMkFit = InitialStepTask.copy()
_InitialStepTask_trackingMkFit.add(initialStepTrackCandidatesMkFitInput, initialStepTrackCandidatesMkFit)
trackingMkFit.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)
Expand Down
9 changes: 6 additions & 3 deletions RecoTracker/MkFit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ single job. This restriction will be removed in the future.
Also note that at the moment the mkFit works only with the CMS phase1
tracker detector. Support for the phase2 tracker will be added later.

## Customize functions for runTheMatrix workflows (offline reconstruction)
## Modifier for runTheMatrix workflows (offline reconstruction)

* `RecoTracker/MkFit/customizeInitialStepToMkFit.customizeInitialStepToMkFit`
* `Configuration.ProcessModifiers.trackingMkFit_cff.trackingMkFit`
* Replaces initialStep track building module with `mkFit`.

## Customize functions for runTheMatrix workflows (offline reconstruction)

* `RecoTracker/MkFit/customizeInitialStepOnly.customizeInitialStepOnly`
* Run only the initialStep tracking. In practice this configuration
runs the initialStepPreSplitting iteration, but named as
Expand All @@ -26,5 +29,5 @@ tracker detector. Support for the phase2 tracker will be added later.

These can be used with e.g.
```bash
$ runTheMatrix.py -l <workflow(s)> --apply 2 --command "--customise RecoTracker/MkFit/customizeInitialStepToMkFit.customizeInitialStepToMkFit"
$ runTheMatrix.py -l <workflow(s)> --apply 2 --command "--procModifiers trackingMkFit --customise RecoTracker/MkFit/customizeInitialStepToMkFit.customizeInitialStepOnly"
```
19 changes: 0 additions & 19 deletions RecoTracker/MkFit/python/customizeInitialStepToMkFit.py

This file was deleted.

0 comments on commit 48e1294

Please sign in to comment.