forked from cms-sw/cmssw
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathhltInitialStepTrackCandidates_cfi.py
More file actions
107 lines (100 loc) · 5.15 KB
/
Copy pathhltInitialStepTrackCandidates_cfi.py
File metadata and controls
107 lines (100 loc) · 5.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import FWCore.ParameterSet.Config as cms
hltInitialStepTrackCandidates = cms.EDProducer("CkfTrackCandidateMaker",
MeasurementTrackerEvent = cms.InputTag("hltMeasurementTrackerEvent"),
NavigationSchool = cms.string('SimpleNavigationSchool'),
RedundantSeedCleaner = cms.string('CachingSeedCleanerBySharedInput'),
TrajectoryBuilderPSet = cms.PSet(
refToPSet_ = cms.string('initialStepTrajectoryBuilder')
),
TrajectoryCleaner = cms.string('TrajectoryCleanerBySharedHits'),
TransientInitialStateEstimatorParameters = cms.PSet(
numberMeasurementsForFit = cms.int32(4),
propagatorAlongTISE = cms.string('PropagatorWithMaterialParabolicMf'),
propagatorOppositeTISE = cms.string('PropagatorWithMaterialParabolicMfOpposite')
),
cleanTrajectoryAfterInOut = cms.bool(True),
doSeedingRegionRebuilding = cms.bool(True),
maxNSeeds = cms.uint32(100000),
maxSeedsBeforeCleaning = cms.uint32(1000),
numHitsForSeedCleaner = cms.int32(50),
onlyPixelHitsForSeedCleaner = cms.bool(True),
reverseTrajectories = cms.bool(False),
src = cms.InputTag("hltInitialStepSeeds"),
useHitsSplitting = cms.bool(False)
)
_hltInitialStepTrackCandidatesLST = cms.EDProducer('LSTOutputConverter',
lstOutput = cms.InputTag('hltLST'),
lstInput = cms.InputTag('hltInputLST'),
lstPixelSeeds = cms.InputTag('hltInputLST'),
includeT5s = cms.bool(True),
includeNonpLSTSs = cms.bool(False),
propagatorAlong = cms.ESInputTag('', 'PropagatorWithMaterial'),
propagatorOpposite = cms.ESInputTag('', 'PropagatorWithMaterialOpposite'),
SeedCreatorPSet = cms.PSet(
ComponentName = cms.string('SeedFromConsecutiveHitsCreator'),
propagator = cms.string('PropagatorWithMaterial'),
SeedMomentumForBOFF = cms.double(5),
OriginTransverseErrorMultiplier = cms.double(1),
MinOneOverPtError = cms.double(1),
magneticField = cms.string(''),
TTRHBuilder = cms.string('WithTrackAngle'),
forceKinematicWithRegionDirection = cms.bool(False)
)
)
_hltInitialStepTrackCandidatesMkFit = cms.EDProducer('MkFitOutputConverter',
batchSize = cms.int32(16),
candMVASel = cms.bool(False),
candCutSel = cms.bool(True),
candMinNHitsCut = cms.int32(3),
candMinPtCut = cms.double(0.8),
candWP = cms.double(0),
doErrorRescale = cms.bool(True),
mightGet = cms.optional.untracked.vstring,
mkFitEventOfHits = cms.InputTag("hltMkFitEventOfHits"),
mkFitPixelHits = cms.InputTag("hltMkFitSiPixelHits"),
mkFitSeeds = cms.InputTag("hltInitialStepMkFitSeeds"),
mkFitStripHits = cms.InputTag("hltMkFitSiPhase2Hits"),
propagatorAlong = cms.ESInputTag("","PropagatorWithMaterial"),
propagatorOpposite = cms.ESInputTag("","PropagatorWithMaterialOpposite"),
qualityMaxInvPt = cms.double(100),
qualityMaxPosErr = cms.double(100),
qualityMaxR = cms.double(120),
qualityMaxZ = cms.double(280),
qualityMinTheta = cms.double(0.01),
qualitySignPt = cms.bool(True),
seeds = cms.InputTag("hltInitialStepSeeds"),
tfDnnLabel = cms.string('trackSelectionTf'),
tracks = cms.InputTag("hltInitialStepTrackCandidatesMkFit"),
ttrhBuilder = cms.ESInputTag("","WithTrackAngle")
)
_hltInitialStepTrackCandidatesMkFitLSTSeeds = _hltInitialStepTrackCandidatesMkFit.clone(
seeds = "hltInitialStepTrajectorySeedsLST",
candMinNHitsCut = 4,
candMinPtCut = 0.9
)
from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack
from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
from Configuration.ProcessModifiers.seedingLST_cff import seedingLST
from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep
# All useful combinations added to make the code work as expected and for clarity
(~(singleIterPatatrack & seedingLST) & trackingLST).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST)
(singleIterPatatrack & trackingLST & seedingLST).toModify(hltInitialStepTrackCandidates, src = "hltInitialStepTrajectorySeedsLST") # All LST seeds
(~seedingLST & ~trackingLST & hltTrackingMkFitInitialStep).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesMkFit)
_singlePataLSTMkFit = singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep
_singlePataLSTMkFit.toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesMkFitLSTSeeds)
# Supported combinations for LST CPU vs. GPU validation
# The default hltInitialStepTrackCandidatesSerialSync is defined
# for the _singlePataLSTMkFit procModifier combination.
# Avoids config duplication warnings.
hltInitialStepTrackCandidatesSerialSync = _hltInitialStepTrackCandidatesMkFitLSTSeeds.clone(
mkFitSeeds = "hltInitialStepMkFitSeedsSerialSync",
seeds = "hltInitialStepTrajectorySeedsLSTSerialSync",
tracks = "hltInitialStepTrackCandidatesMkFitSerialSync",
)
(singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(hltInitialStepTrackCandidatesSerialSync,
_hltInitialStepTrackCandidatesLST.clone(
lstOutput = "hltLSTSerialSync",
lstInput = "hltInputLSTSerialSync",
lstPixelSeeds = "hltInputLSTSerialSync"
)
)