diff --git a/HLTrigger/Configuration/python/customizeHLTforCMSSW.py b/HLTrigger/Configuration/python/customizeHLTforCMSSW.py index acf54c44bba50..5b9a2cfcfa738 100644 --- a/HLTrigger/Configuration/python/customizeHLTforCMSSW.py +++ b/HLTrigger/Configuration/python/customizeHLTforCMSSW.py @@ -157,6 +157,33 @@ def customiseFor35269(process): process.load("RecoTracker.TkMSParametrization.multipleScatteringParametrisationMakerESProducer_cfi") return process +def customiseFor35385(process): + """Update the HLT configuration for the changes in #35385: + Introduction of fillDescriptions for CkfTrackCandidateMaker and CkfTrajectoryMaker + """ + for iMod in producers_by_type(process, 'CkfTrackCandidateMaker'): + for aPar in ['SimpleMagneticField', 'TrajectoryBuilder']: + if hasattr(iMod, aPar): delattr(iMod, aPar) + + if not hasattr(iMod, 'maxSeedsBeforeCleaning'): + iMod.maxSeedsBeforeCleaning = cms.uint32(0) + + for iMod in producers_by_type(process, 'CkfTrajectoryMaker'): + for aPar in ['TrajectoryBuilder']: + if hasattr(iMod, aPar): delattr(iMod, aPar) + + for aPSet in process._Process__psets.values(): + if hasattr(aPSet, 'ComponentType') and aPSet.ComponentType in ['CkfTrajectoryBuilder', 'GroupedCkfTrajectoryBuilder', 'MuonCkfTrajectoryBuilder']: + for aPar in ['MeasurementTrackerName', 'cleanTrajectoryAfterInOut', 'doSeedingRegionRebuilding', 'useHitsSplitting']: + if hasattr(aPSet, aPar): delattr(aPSet, aPar) + + if aPSet.ComponentType == 'GroupedCkfTrajectoryBuilder' and aPSet.useSameTrajFilter: + if not hasattr(aPSet, 'inOutTrajectoryFilter'): aPSet.inOutTrajectoryFilter = aPSet.trajectoryFilter.clone() + + if aPSet.ComponentType == 'CkfTrajectoryBuilder' and hasattr(aPSet, 'minNrOfHitsForRebuild'): delattr(aPSet, 'minNrOfHitsForRebuild') + + return process + # CMSSW version specific customizations def customizeHLTforCMSSW(process, menuType="GRun"): @@ -170,5 +197,6 @@ def customizeHLTforCMSSW(process, menuType="GRun"): process = customiseFor35309(process) process = customiseFor35315(process) process = customiseFor35269(process) + process = customiseFor35385(process) return process diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py index 8e658e41f1e73..cafb61e47eb69 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonDetachedTripletStep_cff.py @@ -82,8 +82,8 @@ hiRegitMuDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrackCandidates.clone( src = 'hiRegitMuDetachedTripletStepSeeds', - TrajectoryBuilder = 'hiRegitMuDetachedTripletStepTrajectoryBuilder', - clustersToSkip = cms.InputTag("hiRegitMuDetachedTripletStepClusters") + skipClusters = True, + clustersToSkip = 'hiRegitMuDetachedTripletStepClusters' ) # fitting: feed new-names diff --git a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py index 2b9f243170627..1adde1b80a2f3 100644 --- a/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py +++ b/RecoHI/HiMuonAlgos/python/HiRegitMuonPixelPairStep_cff.py @@ -78,7 +78,7 @@ # trackign candidate hiRegitMuPixelPairStepTrackCandidates = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrackCandidates.clone( src = 'hiRegitMuPixelPairStepSeeds', - TrajectoryBuilder = 'hiRegitMuPixelPairStepTrajectoryBuilder', + skipClusters = True, clustersToSkip = "hiRegitMuPixelPairStepClusters", maxNSeeds = 1000000 ) diff --git a/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py b/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py index dddf4a366994c..bd93e47eec4e0 100644 --- a/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py +++ b/RecoHI/HiTracking/python/hiDetachedQuadStep_cff.py @@ -123,7 +123,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiDetachedQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiDetachedQuadStepTrajectoryFilter'), maxCand = 4,#4 for pp estimator = 'hiDetachedQuadStepChi2Est', @@ -142,11 +141,11 @@ hiDetachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'hiDetachedQuadStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'hiDetachedQuadStepTrajectoryBuilder'), - TrajectoryBuilder = 'hiDetachedQuadStepTrajectoryBuilder', - clustersToSkip = cms.InputTag('hiDetachedQuadStepClusters'), + skipClusters = True, + clustersToSkip = 'hiDetachedQuadStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True ) diff --git a/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py b/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py index 0109d271b5e12..1509830007117 100644 --- a/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiDetachedTripletStep_cff.py @@ -144,7 +144,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiDetachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiDetachedTripletStepTrajectoryFilter'), maxCand = 2, estimator = 'hiDetachedTripletStepChi2Est', @@ -161,8 +160,8 @@ numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), TrajectoryBuilderPSet = dict(refToPSet_ = 'hiDetachedTripletStepTrajectoryBuilder'), - TrajectoryBuilder = 'hiDetachedTripletStepTrajectoryBuilder', - clustersToSkip = cms.InputTag('hiDetachedTripletStepClusters'), + skipClusters = True, + clustersToSkip = 'hiDetachedTripletStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True ) diff --git a/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py b/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py index 223114ce43a2e..127f921ef6577 100644 --- a/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiHighPtTripletStep_cff.py @@ -122,7 +122,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiHighPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiHighPtTripletStepTrajectoryFilter'), maxCand = 3,#3 for pp estimator = 'hiHighPtTripletStepChi2Est', @@ -141,11 +140,11 @@ hiHighPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'hiHighPtTripletStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'hiHighPtTripletStepTrajectoryBuilder'), - TrajectoryBuilder = 'hiHighPtTripletStepTrajectoryBuilder', - clustersToSkip = cms.InputTag('hiHighPtTripletStepClusters'), + skipClusters = True, + clustersToSkip = 'hiHighPtTripletStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True ) diff --git a/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py b/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py index 177c7dc34f443..40e8bb81a11a5 100644 --- a/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py +++ b/RecoHI/HiTracking/python/hiJetCoreRegionalStep_cff.py @@ -122,7 +122,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiJetCoreRegionalStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiJetCoreRegionalStepTrajectoryFilter'), maxCand = 50, estimator = 'hiJetCoreRegionalStepChi2Est', diff --git a/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py b/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py index 7498183431447..cdba21a4aece9 100644 --- a/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py +++ b/RecoHI/HiTracking/python/hiLowPtQuadStep_cff.py @@ -126,7 +126,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiLowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiLowPtQuadStepTrajectoryFilter'), maxCand = 4,#4 for pp estimator = 'hiLowPtQuadStepChi2Est', @@ -145,11 +144,11 @@ hiLowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'hiLowPtQuadStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'hiLowPtQuadStepTrajectoryBuilder'), - TrajectoryBuilder = 'hiLowPtQuadStepTrajectoryBuilder', - clustersToSkip = cms.InputTag('hiLowPtQuadStepClusters'), + skipClusters = True, + clustersToSkip = 'hiLowPtQuadStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True ) diff --git a/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py b/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py index 1c51e621ace80..21729c82c3c99 100644 --- a/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiLowPtTripletStep_cff.py @@ -136,7 +136,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiLowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiLowPtTripletStepTrajectoryFilter'), maxCand = 3, estimator = 'hiLowPtTripletStepChi2Est', @@ -151,10 +150,11 @@ hiLowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'hiLowPtTripletStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'hiLowPtTripletStepTrajectoryBuilder'), - clustersToSkip = cms.InputTag('hiLowPtTripletStepClusters'), + skipClusters = True, + clustersToSkip = 'hiLowPtTripletStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True ) diff --git a/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py b/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py index 94cb720c63cef..137238d614380 100644 --- a/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiMixedTripletStep_cff.py @@ -73,7 +73,8 @@ mixedTripletStepPropagatorOpposite.ptMin = 0.4 # MAKING OF TRACK CANDIDATES -mixedTripletStepTrackCandidates.clustersToSkip = cms.InputTag('hiMixedTripletStepClusters') +mixedTripletStepTrackCandidates.skipClusters = True +mixedTripletStepTrackCandidates.clustersToSkip = 'hiMixedTripletStepClusters' # TRACK FITTING hiMixedTripletStepTracks = mixedTripletStepTracks.clone() diff --git a/RecoHI/HiTracking/python/hiPixelLessStep_cff.py b/RecoHI/HiTracking/python/hiPixelLessStep_cff.py index 6e8b438b45079..43ecdc95b5b08 100644 --- a/RecoHI/HiTracking/python/hiPixelLessStep_cff.py +++ b/RecoHI/HiTracking/python/hiPixelLessStep_cff.py @@ -42,6 +42,7 @@ pixelLessStepTrajectoryFilter.minPt = 0.7 # MAKING OF TRACK CANDIDATES +pixelLessStepTrackCandidates.skipClusters = True pixelLessStepTrackCandidates.clustersToSkip = 'hiPixelLessStepClusters' # TRACK FITTING diff --git a/RecoHI/HiTracking/python/hiPixelPairStep_cff.py b/RecoHI/HiTracking/python/hiPixelPairStep_cff.py index 10f98f1781995..c9f7fa1b0086b 100644 --- a/RecoHI/HiTracking/python/hiPixelPairStep_cff.py +++ b/RecoHI/HiTracking/python/hiPixelPairStep_cff.py @@ -137,7 +137,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi hiPixelPairTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'hiPixelPairTrajectoryFilter'), maxCand = 3, estimator = 'hiPixelPairChi2Est', @@ -149,11 +148,12 @@ import RecoTracker.CkfPattern.CkfTrackCandidates_cfi hiPixelPairTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'hiPixelPairSeeds', - clustersToSkip = cms.InputTag('hiPixelPairClusters'), + skipClusters = True, + clustersToSkip = 'hiPixelPairClusters', TrajectoryBuilderPSet = dict(refToPSet_ = 'hiPixelPairTrajectoryBuilder'), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, ) trackingPhase1.toModify(hiPixelPairTrackCandidates, src = 'hiPixelPairStepSeedsPhase1' diff --git a/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py b/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py index c6fa41618e548..f42f819e5faed 100644 --- a/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiRegitDetachedTripletStep_cff.py @@ -52,8 +52,9 @@ # building: feed the new-named seeds hiRegitDetachedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryFilterBase.clone() hiRegitDetachedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiRegitDetachedTripletStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('hiRegitDetachedTripletStepClusters') + trajectoryFilter = dict(refToPSet_ = 'hiRegitDetachedTripletStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'hiRegitDetachedTripletStepClusters' ) hiRegitDetachedTripletStepTrackCandidates = RecoTracker.IterativeTracking.DetachedTripletStep_cff.detachedTripletStepTrackCandidates.clone( diff --git a/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py b/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py index f425900472870..ad1e383d3f3f7 100644 --- a/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py +++ b/RecoHI/HiTracking/python/hiRegitInitialStep_cff.py @@ -45,8 +45,9 @@ hiRegitInitialStepTrajectoryBuilder = RecoTracker.IterativeTracking.InitialStep_cff.initialStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiRegitInitialStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('hiRegitInitialStepClusters') + trajectoryFilter = dict(refToPSet_ = 'hiRegitInitialStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'hiRegitInitialStepClusters' ) # track candidates diff --git a/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py b/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py index 64125a6fbd8b9..100df4c4f7007 100644 --- a/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiRegitLowPtTripletStep_cff.py @@ -56,8 +56,9 @@ hiRegitLowPtTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.LowPtTripletStep_cff.lowPtTripletStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiRegitLowPtTripletStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('hiRegitLowPtTripletStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'hiRegitLowPtTripletStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'hiRegitLowPtTripletStepClusters', ) # track candidates diff --git a/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py b/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py index 46688260b095a..5a4fc813e13e0 100644 --- a/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py +++ b/RecoHI/HiTracking/python/hiRegitMixedTripletStep_cff.py @@ -73,8 +73,9 @@ hiRegitMixedTripletStepTrajectoryFilter = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryFilter.clone() hiRegitMixedTripletStepTrajectoryBuilder = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiRegitMixedTripletStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('hiRegitMixedTripletStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'hiRegitMixedTripletStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'hiRegitMixedTripletStepClusters', ) hiRegitMixedTripletStepTrackCandidates = RecoTracker.IterativeTracking.MixedTripletStep_cff.mixedTripletStepTrackCandidates.clone( diff --git a/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py b/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py index 0dc00747f25cc..c7530fe3f34b1 100644 --- a/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py +++ b/RecoHI/HiTracking/python/hiRegitPixelPairStep_cff.py @@ -49,8 +49,9 @@ hiRegitPixelPairStepTrajectoryFilter = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryFilterBase.clone() hiRegitPixelPairStepTrajectoryBuilder = RecoTracker.IterativeTracking.PixelPairStep_cff.pixelPairStepTrajectoryBuilder.clone( - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('hiRegitPixelPairStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('hiRegitPixelPairStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'hiRegitPixelPairStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'hiRegitPixelPairStepClusters', ) # trackign candidate diff --git a/RecoHI/HiTracking/python/hiTobTecStep_cff.py b/RecoHI/HiTracking/python/hiTobTecStep_cff.py index 52ba2973d0a61..b7b53ad07edc8 100644 --- a/RecoHI/HiTracking/python/hiTobTecStep_cff.py +++ b/RecoHI/HiTracking/python/hiTobTecStep_cff.py @@ -52,6 +52,7 @@ tobTecStepTrajectoryFilter.minPt = 0.85 # MAKING OF TRACK CANDIDATES +tobTecStepTrackCandidates.skipClusters = True tobTecStepTrackCandidates.clustersToSkip = 'hiTobTecStepClusters' # TRACK FITTING diff --git a/RecoMuon/L3TrackFinder/interface/MuonCkfTrajectoryBuilder.h b/RecoMuon/L3TrackFinder/interface/MuonCkfTrajectoryBuilder.h index f4b205a6803c2..932d56d73cfc0 100644 --- a/RecoMuon/L3TrackFinder/interface/MuonCkfTrajectoryBuilder.h +++ b/RecoMuon/L3TrackFinder/interface/MuonCkfTrajectoryBuilder.h @@ -1,15 +1,19 @@ #ifndef RecoMuon_L3TrackFinder_MuonCkfTrajectoryBuilder_H #define RecoMuon_L3TrackFinder_MuonCkfTrajectoryBuilder_H -#include "RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h" #include "FWCore/Framework/interface/ESWatcher.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h" class TrackingComponentsRecord; + class MuonCkfTrajectoryBuilder : public CkfTrajectoryBuilder { public: MuonCkfTrajectoryBuilder(const edm::ParameterSet& conf, edm::ConsumesCollector& iC); ~MuonCkfTrajectoryBuilder() override; + static void fillPSetDescription(edm::ParameterSetDescription& iDesc); + protected: void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override; diff --git a/RecoMuon/L3TrackFinder/plugins/SealModules.cc b/RecoMuon/L3TrackFinder/plugins/SealModules.cc index 289c2c32339e5..66528331f148f 100644 --- a/RecoMuon/L3TrackFinder/plugins/SealModules.cc +++ b/RecoMuon/L3TrackFinder/plugins/SealModules.cc @@ -1,8 +1,9 @@ #include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/ParameterSet/interface/ValidatedPluginMacros.h" #include "RecoMuon/L3TrackFinder/interface/MuonCkfTrajectoryBuilder.h" #include "RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilderFactory.h" #include "RecoMuon/L3TrackFinder/interface/HLTMuonL2SelectorForL3IO.h" -DEFINE_EDM_PLUGIN(BaseCkfTrajectoryBuilderFactory, MuonCkfTrajectoryBuilder, "MuonCkfTrajectoryBuilder"); +DEFINE_EDM_VALIDATED_PLUGIN(BaseCkfTrajectoryBuilderFactory, MuonCkfTrajectoryBuilder, "MuonCkfTrajectoryBuilder"); DEFINE_FWK_MODULE(HLTMuonL2SelectorForL3IO); diff --git a/RecoMuon/L3TrackFinder/python/MuonCkfTrajectoryBuilder_cfi.py b/RecoMuon/L3TrackFinder/python/MuonCkfTrajectoryBuilder_cfi.py index a7b7270458c60..42fce0618221a 100644 --- a/RecoMuon/L3TrackFinder/python/MuonCkfTrajectoryBuilder_cfi.py +++ b/RecoMuon/L3TrackFinder/python/MuonCkfTrajectoryBuilder_cfi.py @@ -8,7 +8,6 @@ intermediateCleaning = cms.bool(False), #would skip the first layer to search for measurement if bare TrajectorySeed useSeedLayer = cms.bool(False), - MeasurementTrackerName = cms.string(''), estimator = cms.string('Chi2'), TTRHBuilder = cms.string('WithTrackAngle'), #propagator used only if useSeedLayer=true diff --git a/RecoMuon/L3TrackFinder/src/MuonCkfTrajectoryBuilder.cc b/RecoMuon/L3TrackFinder/src/MuonCkfTrajectoryBuilder.cc index 74d68df5ac7d5..b95c59f37f79b 100644 --- a/RecoMuon/L3TrackFinder/src/MuonCkfTrajectoryBuilder.cc +++ b/RecoMuon/L3TrackFinder/src/MuonCkfTrajectoryBuilder.cc @@ -30,6 +30,15 @@ MuonCkfTrajectoryBuilder::MuonCkfTrajectoryBuilder(const edm::ParameterSet& conf MuonCkfTrajectoryBuilder::~MuonCkfTrajectoryBuilder() {} +void MuonCkfTrajectoryBuilder::fillPSetDescription(edm::ParameterSetDescription& iDesc) { + CkfTrajectoryBuilder::fillPSetDescription(iDesc); + iDesc.add("deltaEta", .1); + iDesc.add("deltaPhi", .1); + iDesc.add("propagatorProximity", "SteppingHelixPropagatorAny"); + iDesc.add("useSeedLayer", false); + iDesc.add("rescaleErrorIfFail", 1.); +} + void MuonCkfTrajectoryBuilder::setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) { CkfTrajectoryBuilder::setEvent_(iEvent, iSetup); diff --git a/RecoPixelVertexing/PixelLowPtUtilities/interface/ClusterShapeTrajectoryFilter.h b/RecoPixelVertexing/PixelLowPtUtilities/interface/ClusterShapeTrajectoryFilter.h index 154d8ddd314d0..0305758e7675b 100644 --- a/RecoPixelVertexing/PixelLowPtUtilities/interface/ClusterShapeTrajectoryFilter.h +++ b/RecoPixelVertexing/PixelLowPtUtilities/interface/ClusterShapeTrajectoryFilter.h @@ -1,8 +1,9 @@ #ifndef _ClusterShapeTrajectoryFilter_h_ #define _ClusterShapeTrajectoryFilter_h_ -#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/Utilities/interface/EDGetToken.h" +#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" namespace edm { class ParameterSet; @@ -21,9 +22,10 @@ class SiPixelClusterShapeCache; class ClusterShapeTrajectoryFilter : public TrajectoryFilter { public: ClusterShapeTrajectoryFilter(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC); - ~ClusterShapeTrajectoryFilter() override; + static void fillPSetDescription(edm::ParameterSetDescription& iDesc); + void setEvent(const edm::Event& iEvent, const edm::EventSetup& iSetup) override; bool qualityFilter(const TempTrajectory&) const override; diff --git a/RecoPixelVertexing/PixelLowPtUtilities/interface/StripSubClusterShapeTrajectoryFilter.h b/RecoPixelVertexing/PixelLowPtUtilities/interface/StripSubClusterShapeTrajectoryFilter.h index fcd1e71e14970..d8d69b9c17bc0 100644 --- a/RecoPixelVertexing/PixelLowPtUtilities/interface/StripSubClusterShapeTrajectoryFilter.h +++ b/RecoPixelVertexing/PixelLowPtUtilities/interface/StripSubClusterShapeTrajectoryFilter.h @@ -7,6 +7,7 @@ #include "RecoTracker/MeasurementDet/interface/MeasurementTrackerEvent.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Utilities/interface/EDGetToken.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "RecoTracker/TkSeedingLayers/interface/SeedComparitor.h" #include "CondFormats/SiStripObjects/interface/SiStripNoises.h" @@ -33,6 +34,8 @@ class StripSubClusterShapeFilterBase { StripSubClusterShapeFilterBase(const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC); virtual ~StripSubClusterShapeFilterBase(); + static void fillPSetDescription(edm::ParameterSetDescription &iDesc); + protected: void setEventBase(const edm::Event &, const edm::EventSetup &); @@ -86,6 +89,10 @@ class StripSubClusterShapeTrajectoryFilter : public StripSubClusterShapeFilterBa ~StripSubClusterShapeTrajectoryFilter() override {} + static void fillPSetDescription(edm::ParameterSetDescription &iDesc) { + StripSubClusterShapeFilterBase::fillPSetDescription(iDesc); + } + bool qualityFilter(const TempTrajectory &) const override; bool qualityFilter(const Trajectory &) const override; diff --git a/RecoPixelVertexing/PixelLowPtUtilities/plugins/modules.cc b/RecoPixelVertexing/PixelLowPtUtilities/plugins/modules.cc index 9bbc4e84c7414..a98f4ab787056 100644 --- a/RecoPixelVertexing/PixelLowPtUtilities/plugins/modules.cc +++ b/RecoPixelVertexing/PixelLowPtUtilities/plugins/modules.cc @@ -30,10 +30,11 @@ DEFINE_EDM_PLUGIN(HitTripletGeneratorFromPairAndLayersFactory, // TrajectoryFilter #include "FWCore/Utilities/interface/typelookup.h" +#include "FWCore/ParameterSet/interface/ValidatedPluginMacros.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h" #include "RecoPixelVertexing/PixelLowPtUtilities/interface/ClusterShapeTrajectoryFilter.h" -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, ClusterShapeTrajectoryFilter, "ClusterShapeTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, ClusterShapeTrajectoryFilter, "ClusterShapeTrajectoryFilter"); // the seed comparitor to remove seeds on incompatible angle/cluster compatibility #include "RecoPixelVertexing/PixelLowPtUtilities/interface/LowPtClusterShapeSeedComparitor.h" @@ -41,7 +42,7 @@ DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, ClusterShapeTrajectoryFilter, "Cluste DEFINE_EDM_PLUGIN(SeedComparitorFactory, LowPtClusterShapeSeedComparitor, "LowPtClusterShapeSeedComparitor"); #include "RecoPixelVertexing/PixelLowPtUtilities/interface/StripSubClusterShapeTrajectoryFilter.h" -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, - StripSubClusterShapeTrajectoryFilter, - "StripSubClusterShapeTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, + StripSubClusterShapeTrajectoryFilter, + "StripSubClusterShapeTrajectoryFilter"); DEFINE_EDM_PLUGIN(SeedComparitorFactory, StripSubClusterShapeSeedFilter, "StripSubClusterShapeSeedFilter"); diff --git a/RecoPixelVertexing/PixelLowPtUtilities/python/StripSubClusterShapeSeedFilter_cfi.py b/RecoPixelVertexing/PixelLowPtUtilities/python/StripSubClusterShapeSeedFilter_cfi.py index dfae66e724f76..f825b300d2e2d 100644 --- a/RecoPixelVertexing/PixelLowPtUtilities/python/StripSubClusterShapeSeedFilter_cfi.py +++ b/RecoPixelVertexing/PixelLowPtUtilities/python/StripSubClusterShapeSeedFilter_cfi.py @@ -6,5 +6,5 @@ ComponentName = cms.string('StripSubClusterShapeSeedFilter'), FilterAtHelixStage = cms.bool(False), label = cms.untracked.string("Seeds"), + layerMask = cms.PSet() ) - diff --git a/RecoPixelVertexing/PixelLowPtUtilities/src/ClusterShapeTrajectoryFilter.cc b/RecoPixelVertexing/PixelLowPtUtilities/src/ClusterShapeTrajectoryFilter.cc index 6ff70589ce341..a7265dd47c8dc 100644 --- a/RecoPixelVertexing/PixelLowPtUtilities/src/ClusterShapeTrajectoryFilter.cc +++ b/RecoPixelVertexing/PixelLowPtUtilities/src/ClusterShapeTrajectoryFilter.cc @@ -30,9 +30,7 @@ #include "RecoTracker/Record/interface/CkfComponentsRecord.h" #include -using namespace std; -/*****************************************************************************/ ClusterShapeTrajectoryFilter::ClusterShapeTrajectoryFilter(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC) : theCacheToken(iC.consumes(iConfig.getParameter("cacheSrc"))), theFilterToken(iC.esConsumes(edm::ESInputTag("", "ClusterShapeHitFilter"))), @@ -40,17 +38,20 @@ ClusterShapeTrajectoryFilter::ClusterShapeTrajectoryFilter(const edm::ParameterS ClusterShapeTrajectoryFilter::~ClusterShapeTrajectoryFilter() {} +void ClusterShapeTrajectoryFilter::fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("cacheSrc", edm::InputTag("siPixelClusterShapeCache")); +} + void ClusterShapeTrajectoryFilter::setEvent(const edm::Event& iEvent, const edm::EventSetup& iSetup) { theFilter = &iSetup.getData(theFilterToken); theCache = &iEvent.get(theCacheToken); } -/*****************************************************************************/ bool ClusterShapeTrajectoryFilter::toBeContinued(Trajectory& trajectory) const { assert(theCache); - vector tms = trajectory.measurements(); + std::vector tms = trajectory.measurements(); - for (vector::const_iterator tm = tms.begin(); tm != tms.end(); tm++) { + for (std::vector::const_iterator tm = tms.begin(); tm != tms.end(); tm++) { const TrackingRecHit* ttRecHit = &(*((*tm).recHit())); if (ttRecHit->isValid()) { @@ -97,7 +98,6 @@ bool ClusterShapeTrajectoryFilter::toBeContinued(Trajectory& trajectory) const { return true; } -/*****************************************************************************/ bool ClusterShapeTrajectoryFilter::toBeContinued(TempTrajectory& trajectory) const { assert(theCache); const TempTrajectory::DataContainer& tms = trajectory.measurements(); @@ -165,10 +165,8 @@ bool ClusterShapeTrajectoryFilter::toBeContinued(TempTrajectory& trajectory) con return true; } -/*****************************************************************************/ bool ClusterShapeTrajectoryFilter::qualityFilter(const Trajectory& trajectory) const { return true; } -/*****************************************************************************/ bool ClusterShapeTrajectoryFilter::qualityFilter(const TempTrajectory& trajectory) const { TempTrajectory t = trajectory; diff --git a/RecoPixelVertexing/PixelLowPtUtilities/src/StripSubClusterShapeTrajectoryFilter.cc b/RecoPixelVertexing/PixelLowPtUtilities/src/StripSubClusterShapeTrajectoryFilter.cc index 6c7a71f66c831..7172daaaf35ce 100644 --- a/RecoPixelVertexing/PixelLowPtUtilities/src/StripSubClusterShapeTrajectoryFilter.cc +++ b/RecoPixelVertexing/PixelLowPtUtilities/src/StripSubClusterShapeTrajectoryFilter.cc @@ -130,7 +130,6 @@ namespace { } // namespace -/*****************************************************************************/ StripSubClusterShapeFilterBase::StripSubClusterShapeFilterBase(const edm::ParameterSet &iCfg, edm::ConsumesCollector &iC) : topoToken_(iC.esConsumes()), @@ -161,8 +160,8 @@ StripSubClusterShapeFilterBase::StripSubClusterShapeFilterBase(const edm::Parame failTooNarrow_(0) #endif { - if (iCfg.exists("layerMask")) { - const edm::ParameterSet &iLM = iCfg.getParameter("layerMask"); + const edm::ParameterSet &iLM = iCfg.getParameter("layerMask"); + if (not iLM.empty()) { const char *ndets[4] = {"TIB", "TID", "TOB", "TEC"}; const int idets[4] = {3, 4, 5, 6}; for (unsigned int i = 0; i < 4; ++i) { @@ -183,7 +182,6 @@ StripSubClusterShapeFilterBase::StripSubClusterShapeFilterBase(const edm::Parame } } -/*****************************************************************************/ StripSubClusterShapeFilterBase::~StripSubClusterShapeFilterBase() { #if 0 std::cout << "StripSubClusterShapeFilterBase " << label_ <<": called " << called_ << std::endl; @@ -196,6 +194,25 @@ StripSubClusterShapeFilterBase::~StripSubClusterShapeFilterBase() { #endif } +void StripSubClusterShapeFilterBase::fillPSetDescription(edm::ParameterSetDescription &iDesc) { + iDesc.addUntracked("label", ""); + iDesc.add("maxNSat", 3); + iDesc.add("trimMaxADC", 30.); + iDesc.add("trimMaxFracTotal", .15); + iDesc.add("trimMaxFracNeigh", .25); + iDesc.add("maxTrimmedSizeDiffPos", .7); + iDesc.add("maxTrimmedSizeDiffNeg", 1.); + iDesc.add("subclusterWindow", .7); + iDesc.add("seedCutMIPs", .35); + iDesc.add("seedCutSN", 7.); + iDesc.add("subclusterCutMIPs", .45); + iDesc.add("subclusterCutSN", 12.); + + edm::ParameterSetDescription psdLM; + psdLM.setAllowAnything(); + iDesc.add("layerMask", psdLM); +} + bool StripSubClusterShapeFilterBase::testLastHit(const TrackingRecHit *hit, const TrajectoryStateOnSurface &tsos, bool mustProject) const { diff --git a/RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilder.h b/RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilder.h index 11b8c738f65e7..e6e03cb8f4fea 100644 --- a/RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilder.h +++ b/RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilder.h @@ -6,6 +6,7 @@ #include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/Utilities/interface/ESGetToken.h" #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h" @@ -75,6 +76,8 @@ class BaseCkfTrajectoryBuilder : public TrajectoryBuilder { BaseCkfTrajectoryBuilder& operator=(const BaseCkfTrajectoryBuilder&) = delete; ~BaseCkfTrajectoryBuilder() override; + static void fillPSetDescription(edm::ParameterSetDescription& iDesc); + // new interface returning the start Trajectory... virtual TempTrajectory buildTrajectories(const TrajectorySeed& seed, TrajectoryContainer& ret, diff --git a/RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h b/RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h index 1117a159ff93b..7cfedb1e9af90 100644 --- a/RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h +++ b/RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h @@ -6,6 +6,8 @@ #include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" #include "TrackingTools/PatternTools/interface/TrajectoryBuilder.h" #include "RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilder.h" @@ -42,6 +44,8 @@ namespace cms { virtual void produceBase(edm::Event& e, const edm::EventSetup& es); + static void fillPSetDescription(edm::ParameterSetDescription& desc); + protected: bool theTrackCandidateOutput; bool theTrajectoryOutput; @@ -73,8 +77,8 @@ namespace cms { edm::EDGetTokenT > theSeedLabel; edm::EDGetTokenT theMTELabel; - bool skipClusters_; - bool phase2skipClusters_; + bool const skipClusters_; + bool const skipPhase2Clusters_; typedef edm::ContainerMask > PixelClusterMask; typedef edm::ContainerMask > StripClusterMask; typedef edm::ContainerMask > Phase2OTClusterMask; diff --git a/RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h b/RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h index b1bf2caf60150..020a0727d450c 100644 --- a/RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h +++ b/RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h @@ -11,6 +11,7 @@ class TrajectoryStateOnSurface; class TrajectoryFilter; #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/Event.h" @@ -41,6 +42,8 @@ class CkfTrajectoryBuilder : public BaseCkfTrajectoryBuilder { ~CkfTrajectoryBuilder() override {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc); + /// trajectories building starting from a seed TrajectoryContainer trajectories(const TrajectorySeed& seed) const override; /// trajectories building starting from a seed diff --git a/RecoTracker/CkfPattern/plugins/CkfTrackCandidateMaker.h b/RecoTracker/CkfPattern/plugins/CkfTrackCandidateMaker.h index df04d6c825322..a6f5807b94f31 100644 --- a/RecoTracker/CkfPattern/plugins/CkfTrackCandidateMaker.h +++ b/RecoTracker/CkfPattern/plugins/CkfTrackCandidateMaker.h @@ -31,6 +31,13 @@ namespace cms { ~CkfTrackCandidateMaker() override { ; } + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.setComment("Make Ckf track candidates"); + CkfTrackCandidateMakerBase::fillPSetDescription(desc); + descriptions.addWithDefaultLabel(desc); + } + void beginRun(edm::Run const& r, edm::EventSetup const& es) override { beginRunBase(r, es); } void produce(edm::Event& e, const edm::EventSetup& es) override { produceBase(e, es); } diff --git a/RecoTracker/CkfPattern/plugins/CkfTrajectoryMaker.h b/RecoTracker/CkfPattern/plugins/CkfTrajectoryMaker.h index 56f069af97330..334404c637e2d 100644 --- a/RecoTracker/CkfPattern/plugins/CkfTrajectoryMaker.h +++ b/RecoTracker/CkfPattern/plugins/CkfTrajectoryMaker.h @@ -36,6 +36,14 @@ namespace cms { ~CkfTrajectoryMaker() override { ; } + static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + desc.setComment("Make CKF trajectories"); + desc.add("trackCandidateAlso", false); + CkfTrackCandidateMakerBase::fillPSetDescription(desc); + descriptions.addWithDefaultLabel(desc); + } + void beginRun(edm::Run const& run, edm::EventSetup const& es) override { beginRunBase(run, es); } void produce(edm::Event& e, const edm::EventSetup& es) override { produceBase(e, es); } diff --git a/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.cc b/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.cc index bad4d1ec39059..e0141eb8a2670 100644 --- a/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.cc +++ b/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.cc @@ -12,6 +12,7 @@ #include "TrackingTools/TrackFitters/interface/KFTrajectoryFitter.h" #include "GroupedTrajCandLess.h" #include "TrackingTools/TrajectoryFiltering/interface/RegionalTrajectoryFilter.h" +#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h" #include "TrackingTools/PatternTools/interface/TempTrajectory.h" #include "RecoTracker/MeasurementDet/interface/MeasurementTracker.h" #include "RecoTracker/MeasurementDet/interface/MeasurementTrackerEvent.h" @@ -29,6 +30,7 @@ #include "TrackingTools/PatternTools/interface/TrajMeasLessEstim.h" #include "TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/PluginDescription.h" #include "FWCore/Utilities/interface/thread_safety_macros.h" #include "TrackingTools/PatternTools/interface/TransverseImpactPointExtrapolator.h" @@ -132,13 +134,9 @@ GroupedCkfTrajectoryBuilder::GroupedCkfTrajectoryBuilder(const edm::ParameterSet theRequireSeedHitsInRebuild = conf.getParameter("requireSeedHitsInRebuild"); theKeepOriginalIfRebuildFails = conf.getParameter("keepOriginalIfRebuildFails"); theMinNrOfHitsForRebuild = max(0, conf.getParameter("minNrOfHitsForRebuild")); - maxPt2ForLooperReconstruction = conf.existsAs("maxPtForLooperReconstruction") - ? conf.getParameter("maxPtForLooperReconstruction") - : 0; + maxPt2ForLooperReconstruction = conf.getParameter("maxPtForLooperReconstruction"); maxPt2ForLooperReconstruction *= maxPt2ForLooperReconstruction; - maxDPhiForLooperReconstruction = conf.existsAs("maxDPhiForLooperReconstruction") - ? conf.getParameter("maxDPhiForLooperReconstruction") - : 2.0; + maxDPhiForLooperReconstruction = conf.getParameter("maxDPhiForLooperReconstruction"); /* ======= B.M. to be ported layer =========== bool setOK = thePropagator->setMaxDirectionChange(1.6); @@ -152,6 +150,32 @@ GroupedCkfTrajectoryBuilder::GroupedCkfTrajectoryBuilder(const edm::ParameterSet ===================================== */ } +void GroupedCkfTrajectoryBuilder::fillPSetDescription(edm::ParameterSetDescription& iDesc) { + BaseCkfTrajectoryBuilder::fillPSetDescription(iDesc); + + iDesc.add("useSameTrajFilter", true); + iDesc.add("maxCand", 5); + iDesc.add("lostHitPenalty", 30.); + iDesc.add("foundHitBonus", 10.); + iDesc.add("intermediateCleaning", true); + iDesc.add("alwaysUseInvalidHits", true); + iDesc.add("lockHits", true); + iDesc.add("bestHitOnly", true); + iDesc.add("requireSeedHitsInRebuild", true); + iDesc.add("keepOriginalIfRebuildFails", false); + iDesc.add("minNrOfHitsForRebuild", 5); + iDesc.add("maxPtForLooperReconstruction", 0.); + iDesc.add("maxDPhiForLooperReconstruction", 2.0); + + edm::ParameterSetDescription psdTJ1; + psdTJ1.addNode(edm::PluginDescription("ComponentType", true)); + iDesc.add("trajectoryFilter", psdTJ1); + + edm::ParameterSetDescription psdTJ2; + psdTJ2.addNode(edm::PluginDescription("ComponentType", true)); + iDesc.add("inOutTrajectoryFilter", psdTJ2); +} + /* void GroupedCkfTrajectoryBuilder::setEvent(const edm::Event& event) const { diff --git a/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.h b/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.h index aa98aec3a37d9..44a1cfb16b22f 100644 --- a/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.h +++ b/RecoTracker/CkfPattern/plugins/GroupedCkfTrajectoryBuilder.h @@ -2,6 +2,7 @@ #define GroupedCkfTrajectoryBuilder_H #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/Framework/interface/EventSetup.h" #include "RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilder.h" @@ -26,6 +27,8 @@ class dso_internal GroupedCkfTrajectoryBuilder final : public BaseCkfTrajectoryB /// destructor ~GroupedCkfTrajectoryBuilder() override {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc); + /// set Event for the internal MeasurementTracker data member // virtual void setEvent(const edm::Event& event) const; diff --git a/RecoTracker/CkfPattern/plugins/SealModules.cc b/RecoTracker/CkfPattern/plugins/SealModules.cc index 57b0c28c77734..b20c0db3e72e3 100644 --- a/RecoTracker/CkfPattern/plugins/SealModules.cc +++ b/RecoTracker/CkfPattern/plugins/SealModules.cc @@ -1,5 +1,4 @@ #include "FWCore/PluginManager/interface/ModuleDef.h" - #include "FWCore/Framework/interface/MakerMacros.h" #include "CkfTrackCandidateMaker.h" @@ -14,9 +13,12 @@ using cms::CkfTrajectoryMaker; DEFINE_FWK_MODULE(CkfTrackCandidateMaker); DEFINE_FWK_MODULE(CkfTrajectoryMaker); +#include "FWCore/ParameterSet/interface/ValidatedPluginMacros.h" #include "RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilderFactory.h" #include "RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h" #include "GroupedCkfTrajectoryBuilder.h" -DEFINE_EDM_PLUGIN(BaseCkfTrajectoryBuilderFactory, CkfTrajectoryBuilder, "CkfTrajectoryBuilder"); -DEFINE_EDM_PLUGIN(BaseCkfTrajectoryBuilderFactory, GroupedCkfTrajectoryBuilder, "GroupedCkfTrajectoryBuilder"); +DEFINE_EDM_VALIDATED_PLUGIN(BaseCkfTrajectoryBuilderFactory, CkfTrajectoryBuilder, "CkfTrajectoryBuilder"); +DEFINE_EDM_VALIDATED_PLUGIN(BaseCkfTrajectoryBuilderFactory, + GroupedCkfTrajectoryBuilder, + "GroupedCkfTrajectoryBuilder"); diff --git a/RecoTracker/CkfPattern/python/CkfTrackCandidates_cfi.py b/RecoTracker/CkfPattern/python/CkfTrackCandidates_cfi.py index 2a6792a560ee1..1e623ca4367a3 100644 --- a/RecoTracker/CkfPattern/python/CkfTrackCandidates_cfi.py +++ b/RecoTracker/CkfPattern/python/CkfTrackCandidates_cfi.py @@ -1,36 +1,7 @@ import FWCore.ParameterSet.Config as cms -ckfTrackCandidates = cms.EDProducer("CkfTrackCandidateMaker", -# During tracking, eliminate seeds used by an already found track - RedundantSeedCleaner = cms.string('CachingSeedCleanerBySharedInput'), -# Decide how to eliminate tracks sharing hits at end of tracking phase - TrajectoryCleaner = cms.string('TrajectoryCleanerBySharedHits'), -# Run cleaning after in-out tracking in addition to at end of tracking ? - cleanTrajectoryAfterInOut = cms.bool(True), - reverseTrajectories =cms.bool(False), -# Split matched strip tracker hits into mono/stereo components. - useHitsSplitting = cms.bool(True), -# After in-out tracking, do out-in tracking through the seeding -# region and then further in. - doSeedingRegionRebuilding = cms.bool(True), -# SeedProducer = cms.string('globalMixedSeeds'), -# SeedLabel = cms.string(''), - maxNSeeds = cms.uint32(500000), - maxSeedsBeforeCleaning = cms.uint32(5000), -# SeedProducer:SeedLabel descoped to src - src = cms.InputTag('globalMixedSeeds'), - SimpleMagneticField = cms.string(''), -# SimpleMagneticField = cms.string('ParabolicMf'), # parabolic magnetic field - NavigationSchool = cms.string('SimpleNavigationSchool'), - TrajectoryBuilder = cms.string('GroupedCkfTrajectoryBuilder'), - TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('GroupedCkfTrajectoryBuilder')), - TransientInitialStateEstimatorParameters = cms.PSet( - propagatorAlongTISE = cms.string('PropagatorWithMaterial'), - propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite'), -# propagatorAlongTISE = cms.string('PropagatorWithMaterialParabolicMf'), # parabolic magnetic field -# propagatorOppositeTISE = cms.string('PropagatorWithMaterialParabolicMfOpposite'), # parabolic magnetic field - numberMeasurementsForFit = cms.int32(4) - ), - MeasurementTrackerEvent = cms.InputTag("MeasurementTrackerEvent"), +import RecoTracker.CkfPattern.ckfTrackCandidateMaker_cfi as _mod +ckfTrackCandidates = _mod.ckfTrackCandidateMaker.clone( + TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('GroupedCkfTrajectoryBuilder')) ) diff --git a/RecoTracker/CkfPattern/python/CkfTrajectoryBuilder_cfi.py b/RecoTracker/CkfPattern/python/CkfTrajectoryBuilder_cfi.py index f23afaa8c28c7..b8a808a3ab598 100644 --- a/RecoTracker/CkfPattern/python/CkfTrajectoryBuilder_cfi.py +++ b/RecoTracker/CkfPattern/python/CkfTrajectoryBuilder_cfi.py @@ -10,7 +10,6 @@ trajectoryFilter = cms.PSet(refToPSet_ = cms.string('CkfBaseTrajectoryFilter_block')), maxCand = cms.int32(5), intermediateCleaning = cms.bool(True), - MeasurementTrackerName = cms.string(''), estimator = cms.string('Chi2'), TTRHBuilder = cms.string('WithTrackAngle'), updator = cms.string('KFUpdator'), diff --git a/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilderP5_cff.py b/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilderP5_cff.py index 19582ea13a5f6..c74147d4ff333 100644 --- a/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilderP5_cff.py +++ b/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilderP5_cff.py @@ -45,7 +45,6 @@ #replace ckfBaseTrajectoryFilterP5.minimumNumberOfHits = 4 # ##CTF_P5_MeasurementTracker.ComponentName = 'CTF_P5' # useless duplication of MeasurementTracker -##GroupedCkfTrajectoryBuilderP5.MeasurementTrackerName = 'CTF_P5' # useless duplication of MeasurementTracker GroupedCkfTrajectoryBuilderP5 = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( trajectoryFilter = dict(refToPSet_ = 'ckfBaseTrajectoryFilterP5'), maxCand = 1, diff --git a/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilder_cfi.py b/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilder_cfi.py index 47bb7a4e4b4b5..16d00372b270e 100644 --- a/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilder_cfi.py +++ b/RecoTracker/CkfPattern/python/GroupedCkfTrajectoryBuilder_cfi.py @@ -23,7 +23,6 @@ # Chi2 added to track candidate if no hit found in layer lostHitPenalty = cms.double(30.0), foundHitBonus = cms.double(10.0), - MeasurementTrackerName = cms.string(''), lockHits = cms.bool(True), TTRHBuilder = cms.string('WithTrackAngle'), updator = cms.string('KFUpdator'), diff --git a/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilder.cc b/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilder.cc index 84aebfa9a1f90..edefc24f79106 100644 --- a/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilder.cc +++ b/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilder.cc @@ -43,6 +43,15 @@ BaseCkfTrajectoryBuilder::BaseCkfTrajectoryBuilder(const edm::ParameterSet& conf BaseCkfTrajectoryBuilder::~BaseCkfTrajectoryBuilder() {} +void BaseCkfTrajectoryBuilder::fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("seedAs5DHit", false); + iDesc.add("updator", "KFUpdator"); + iDesc.add("propagatorAlong", "PropagatorWithMaterial"); + iDesc.add("propagatorOpposite", "PropagatorWithMaterialOpposite"); + iDesc.add("estimator", "Chi2"); + iDesc.add("TTRHBuilder", "WithTrackAngle"); +} + std::unique_ptr BaseCkfTrajectoryBuilder::createTrajectoryFilter(const edm::ParameterSet& pset, edm::ConsumesCollector& iC) { return TrajectoryFilterFactory::get()->create(pset.getParameter("ComponentType"), pset, iC); diff --git a/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilderFactory.cc b/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilderFactory.cc index d27a732e532ab..960c9438c5ce9 100644 --- a/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilderFactory.cc +++ b/RecoTracker/CkfPattern/src/BaseCkfTrajectoryBuilderFactory.cc @@ -1,3 +1,4 @@ #include "RecoTracker/CkfPattern/interface/BaseCkfTrajectoryBuilderFactory.h" +#include "FWCore/ParameterSet/interface/ValidatedPluginFactoryMacros.h" -EDM_REGISTER_PLUGINFACTORY(BaseCkfTrajectoryBuilderFactory, "BaseCkfTrajectoryBuilderFactory"); +EDM_REGISTER_VALIDATED_PLUGINFACTORY(BaseCkfTrajectoryBuilderFactory, "BaseCkfTrajectoryBuilderFactory"); diff --git a/RecoTracker/CkfPattern/src/CkfTrackCandidateMakerBase.cc b/RecoTracker/CkfPattern/src/CkfTrackCandidateMakerBase.cc index 7de1aec82550d..681e2cced13bd 100644 --- a/RecoTracker/CkfPattern/src/CkfTrackCandidateMakerBase.cc +++ b/RecoTracker/CkfPattern/src/CkfTrackCandidateMakerBase.cc @@ -1,8 +1,9 @@ #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/PluginDescription.h" #include "FWCore/Utilities/interface/isFinite.h" -#include +#include "FWCore/Utilities/interface/ESInputTag.h" #include "DataFormats/Common/interface/OwnVector.h" #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h" @@ -62,8 +63,7 @@ namespace cms { useSplitting(conf.getParameter("useHitsSplitting")), doSeedingRegionRebuilding(conf.getParameter("doSeedingRegionRebuilding")), cleanTrajectoryAfterInOut(conf.getParameter("cleanTrajectoryAfterInOut")), - reverseTrajectories(conf.existsAs("reverseTrajectories") && - conf.getParameter("reverseTrajectories")), + reverseTrajectories(conf.getParameter("reverseTrajectories")), theMaxNSeeds(conf.getParameter("maxNSeeds")), theTrajectoryBuilder( createBaseCkfTrajectoryBuilder(conf.getParameter("TrajectoryBuilderPSet"), iC)), @@ -76,23 +76,18 @@ namespace cms { iC.esConsumes(edm::ESInputTag("", conf.getParameter("NavigationSchool")))), theNavigationSchool(nullptr), thePropagatorToken(iC.esConsumes(edm::ESInputTag("", "AnyDirectionAnalyticalPropagator"))), - maxSeedsBeforeCleaning_(0), + maxSeedsBeforeCleaning_(conf.getParameter("maxSeedsBeforeCleaning")), theMTELabel(iC.consumes(conf.getParameter("MeasurementTrackerEvent"))), - skipClusters_(false), - phase2skipClusters_(false) { + skipClusters_(conf.getParameter("skipClusters")), + skipPhase2Clusters_(conf.getParameter("skipPhase2Clusters")) { theSeedLabel = iC.consumes>(conf.getParameter("src")); -#ifndef VI_REPRODUCIBLE - if (conf.exists("maxSeedsBeforeCleaning")) - maxSeedsBeforeCleaning_ = conf.getParameter("maxSeedsBeforeCleaning"); -#endif - if (conf.existsAs("clustersToSkip")) { - skipClusters_ = true; + + if (skipClusters_) { maskPixels_ = iC.consumes(conf.getParameter("clustersToSkip")); maskStrips_ = iC.consumes(conf.getParameter("clustersToSkip")); } //FIXME:: just temporary solution for phase2! - if (conf.existsAs("phase2clustersToSkip")) { - phase2skipClusters_ = true; + if (skipPhase2Clusters_) { maskPixels_ = iC.consumes(conf.getParameter("phase2clustersToSkip")); maskPhase2OTs_ = iC.consumes(conf.getParameter("phase2clustersToSkip")); } @@ -165,7 +160,7 @@ namespace cms { dataWithMasks = std::make_unique(*data, *stripMask, *pixelMask); //std::cout << "Trajectory builder " << conf_.getParameter("@module_label") << " created with masks " << std::endl; theTrajectoryBuilder->setEvent(e, es, &*dataWithMasks); - } else if (phase2skipClusters_) { + } else if (skipPhase2Clusters_) { //FIXME:just temporary solution for phase2! edm::Handle pixelMask; e.getByToken(maskPixels_, pixelMask); @@ -540,4 +535,35 @@ namespace cms { e.put(std::move(outputSeedStopInfos)); } + void CkfTrackCandidateMakerBase::fillPSetDescription(edm::ParameterSetDescription& desc) { + desc.add("cleanTrajectoryAfterInOut", true); + desc.add("doSeedingRegionRebuilding", true); + desc.add("onlyPixelHitsForSeedCleaner", false); + desc.add("reverseTrajectories", false); + desc.add("useHitsSplitting", true); + desc.add("MeasurementTrackerEvent", edm::InputTag("MeasurementTrackerEvent")); + desc.add("src", edm::InputTag("globalMixedSeeds")); + + desc.add("skipClusters", false); + desc.add("clustersToSkip", edm::InputTag("")); + desc.add("skipPhase2Clusters", false); + desc.add("phase2clustersToSkip", edm::InputTag("")); + + edm::ParameterSetDescription psdTB; + psdTB.addNode(edm::PluginDescription("ComponentType", true)); + desc.add("TrajectoryBuilderPSet", psdTB); + + edm::ParameterSetDescription psd1; + psd1.add("propagatorAlongTISE", "PropagatorWithMaterial"); + psd1.add("propagatorOppositeTISE", "PropagatorWithMaterialOpposite"); + psd1.add("numberMeasurementsForFit", 4); + desc.add("TransientInitialStateEstimatorParameters", psd1); + + desc.add("numHitsForSeedCleaner", 4); + desc.add("NavigationSchool", "SimpleNavigationSchool"); + desc.add("RedundantSeedCleaner", "CachingSeedCleanerBySharedInput"); + desc.add("TrajectoryCleaner", "TrajectoryCleanerBySharedHits"); + desc.add("maxNSeeds", 500000); + desc.add("maxSeedsBeforeCleaning", 0); + } } // namespace cms diff --git a/RecoTracker/CkfPattern/src/CkfTrajectoryBuilder.cc b/RecoTracker/CkfPattern/src/CkfTrajectoryBuilder.cc index 79d888103a1c5..bd16b2dfe3879 100644 --- a/RecoTracker/CkfPattern/src/CkfTrajectoryBuilder.cc +++ b/RecoTracker/CkfPattern/src/CkfTrajectoryBuilder.cc @@ -1,6 +1,7 @@ #include "RecoTracker/CkfPattern/interface/CkfTrajectoryBuilder.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/PluginDescription.h" #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" @@ -23,6 +24,7 @@ #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h" #include "TrackingTools/PatternTools/interface/TransverseImpactPointExtrapolator.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" +#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h" using namespace std; @@ -49,6 +51,18 @@ CkfTrajectoryBuilder::CkfTrajectoryBuilder(const edm::ParameterSet& conf, */ } +void CkfTrajectoryBuilder::fillPSetDescription(edm::ParameterSetDescription& iDesc) { + BaseCkfTrajectoryBuilder::fillPSetDescription(iDesc); + iDesc.add("maxCand", 5); + iDesc.add("lostHitPenalty", 30.); + iDesc.add("intermediateCleaning", true); + iDesc.add("alwaysUseInvalidHits", true); + + edm::ParameterSetDescription psdTF; + psdTF.addNode(edm::PluginDescription("ComponentType", true)); + iDesc.add("trajectoryFilter", psdTF); +} + /* void CkfTrajectoryBuilder::setEvent(const edm::Event& event) const { diff --git a/RecoTracker/Configuration/python/RecoTrackerTopBottom_cff.py b/RecoTracker/Configuration/python/RecoTrackerTopBottom_cff.py index f0ffa9f85d812..99f27e143fd47 100644 --- a/RecoTracker/Configuration/python/RecoTrackerTopBottom_cff.py +++ b/RecoTracker/Configuration/python/RecoTrackerTopBottom_cff.py @@ -120,9 +120,7 @@ ComponentName = 'MeasurementTrackerTop' ) -GroupedCkfTrajectoryBuilderP5Top = GroupedCkfTrajectoryBuilderP5.clone( - MeasurementTrackerName = 'MeasurementTrackerTop' -) +GroupedCkfTrajectoryBuilderP5Top = GroupedCkfTrajectoryBuilderP5.clone() ckfTrackCandidatesP5Top = ckfTrackCandidatesP5.clone( TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Top'), @@ -220,9 +218,7 @@ ComponentName = 'MeasurementTrackerBottom' ) -GroupedCkfTrajectoryBuilderP5Bottom = GroupedCkfTrajectoryBuilderP5.clone( - MeasurementTrackerName = 'MeasurementTrackerBottom' -) +GroupedCkfTrajectoryBuilderP5Bottom = GroupedCkfTrajectoryBuilderP5.clone() ckfTrackCandidatesP5Bottom = ckfTrackCandidatesP5.clone( TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Bottom'), diff --git a/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py b/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py index ba1d20e86b636..cc2b9232b27a5 100644 --- a/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py +++ b/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py @@ -296,13 +296,16 @@ import RecoTracker.CkfPattern.CkfTrackCandidates_cfi convTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'photonConvTrajSeedFromSingleLeg:convSeedCandidates', - clustersToSkip = cms.InputTag('convClusters'), + skipClusters = True, + clustersToSkip = 'convClusters', TrajectoryBuilderPSet = dict(refToPSet_ = 'convCkfTrajectoryBuilder') ) trackingPhase2PU140.toModify(convTrackCandidates, - clustersToSkip = None, - phase2clustersToSkip = cms.InputTag('convClusters') + skipClusters = False, + clustersToSkip = '', + skipPhase2Clusters = True, + phase2clustersToSkip = 'convClusters' ) import TrackingTools.TrackFitters.RungeKuttaFitters_cff diff --git a/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py b/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py index 4e2b04aa63213..bab4a5a163cbc 100644 --- a/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py +++ b/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py @@ -148,7 +148,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi detachedQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'detachedQuadStepTrajectoryFilter'), maxCand = 3, alwaysUseInvalidHits = True, @@ -172,7 +171,8 @@ import RecoTracker.CkfPattern.CkfTrackCandidates_cfi detachedQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'detachedQuadStepSeeds', - clustersToSkip = cms.InputTag('detachedQuadStepClusters'), + skipClusters = True, + clustersToSkip = 'detachedQuadStepClusters', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput numHitsForSeedCleaner = cms.int32(50), onlyPixelHitsForSeedCleaner = cms.bool(True), @@ -182,8 +182,10 @@ useHitsSplitting = True ) trackingPhase2PU140.toModify(detachedQuadStepTrackCandidates, - clustersToSkip = None, - phase2clustersToSkip = cms.InputTag('detachedQuadStepClusters') + skipClusters = False, + clustersToSkip = '', + skipPhase2Clusters = True, + phase2clustersToSkip = 'detachedQuadStepClusters' ) from Configuration.ProcessModifiers.trackingMkFitDetachedQuadStep_cff import trackingMkFitDetachedQuadStep diff --git a/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py b/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py index a8748a1b1f627..bce1e60db47d1 100644 --- a/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py @@ -179,7 +179,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi detachedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = cms.PSet(refToPSet_ = cms.string('detachedTripletStepTrajectoryFilter')), maxCand = 3, alwaysUseInvalidHits = True, diff --git a/RecoTracker/IterativeTracking/python/DisplacedGeneralStep_cff.py b/RecoTracker/IterativeTracking/python/DisplacedGeneralStep_cff.py index 2c36c5bdca0ea..7c675181ea37b 100644 --- a/RecoTracker/IterativeTracking/python/DisplacedGeneralStep_cff.py +++ b/RecoTracker/IterativeTracking/python/DisplacedGeneralStep_cff.py @@ -101,14 +101,13 @@ #----------------------------------------- TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi displacedGeneralStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('displacedGeneralStepTrajectoryFilter')), - inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('displacedGeneralStepTrajectoryFilterInOut')), + trajectoryFilter = dict(refToPSet_ = 'displacedGeneralStepTrajectoryFilter'), + inOutTrajectoryFilter = dict(refToPSet_ = 'displacedGeneralStepTrajectoryFilterInOut'), useSameTrajFilter = False, minNrOfHitsForRebuild = 4, maxCand = 2, estimator = 'displacedGeneralStepChi2Est' - ) +) diff --git a/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py b/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py index cd1d48e1b848d..51c92c66243f0 100644 --- a/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py @@ -206,10 +206,11 @@ import RecoTracker.CkfPattern.CkfTrackCandidates_cfi as _CkfTrackCandidates_cfi highPtTripletStepTrackCandidates = _CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'highPtTripletStepSeeds', - clustersToSkip = cms.InputTag('highPtTripletStepClusters'), + skipClusters = True, + clustersToSkip = 'highPtTripletStepClusters', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'highPtTripletStepTrajectoryBuilder'), doSeedingRegionRebuilding = True, useHitsSplitting = True @@ -247,8 +248,10 @@ ) trackingPhase2PU140.toModify(highPtTripletStepTrackCandidates, TrajectoryCleaner = 'highPtTripletStepTrajectoryCleanerBySharedHits', - clustersToSkip = None, - phase2clustersToSkip = cms.InputTag('highPtTripletStepClusters') + skipClusters = False, + clustersToSkip = '', + skipPhase2Clusters = True, + phase2clustersToSkip = 'highPtTripletStepClusters' ) #For FastSim phase1 tracking diff --git a/RecoTracker/IterativeTracking/python/JetCoreRegionalStep_cff.py b/RecoTracker/IterativeTracking/python/JetCoreRegionalStep_cff.py index 9466b60c8bbd5..9ec43e074e7bd 100644 --- a/RecoTracker/IterativeTracking/python/JetCoreRegionalStep_cff.py +++ b/RecoTracker/IterativeTracking/python/JetCoreRegionalStep_cff.py @@ -142,18 +142,18 @@ #need to also load the refToPSet_ used by GroupedCkfTrajectoryBuilder CkfBaseTrajectoryFilter_block = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.CkfBaseTrajectoryFilter_block jetCoreRegionalStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('jetCoreRegionalStepTrajectoryFilter')), - #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'jetCoreRegionalStepTrajectoryFilter'), + #skipClusters = True, + #clustersToSkip = 'jetCoreRegionalStepClusters', maxCand = 50, estimator = 'jetCoreRegionalStepChi2Est', maxDPhiForLooperReconstruction = cms.double(2.0), maxPtForLooperReconstruction = cms.double(0.7) - ) +) jetCoreRegionalStepBarrelTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('jetCoreRegionalStepBarrelTrajectoryFilter')), - #clustersToSkip = cms.InputTag('jetCoreRegionalStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'jetCoreRegionalStepBarrelTrajectoryFilter'), + #skipClusters = True, + #clustersToSkip = 'jetCoreRegionalStepClusters', maxCand = 50, estimator = 'jetCoreRegionalStepChi2Est', keepOriginalIfRebuildFails = True, diff --git a/RecoTracker/IterativeTracking/python/LowPtBarrelTripletStep_cff.py b/RecoTracker/IterativeTracking/python/LowPtBarrelTripletStep_cff.py index 2371e5f8ef1d9..df7bf76cc0dff 100644 --- a/RecoTracker/IterativeTracking/python/LowPtBarrelTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/LowPtBarrelTripletStep_cff.py @@ -57,9 +57,9 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi lowPtBarrelTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtBarrelTripletStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('lowPtBarrelTripletStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'lowPtBarrelTripletStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'lowPtBarrelTripletStepClusters', maxCand = 3, #lostHitPenalty = cms.double(10.0), estimator = 'lowPtBarrelTripletStepChi2Est', @@ -68,7 +68,7 @@ maxPtForLooperReconstruction = cms.double(0.63) # set the variable to a negative value to turn-off the looper reconstruction #maxPtForLooperReconstruction = cms.double(-1.) - ) +) # MAKING OF TRACK CANDIDATES import RecoTracker.CkfPattern.CkfTrackCandidates_cfi diff --git a/RecoTracker/IterativeTracking/python/LowPtForwardTripletStep_cff.py b/RecoTracker/IterativeTracking/python/LowPtForwardTripletStep_cff.py index 067cb54f754b5..957906eef4f82 100644 --- a/RecoTracker/IterativeTracking/python/LowPtForwardTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/LowPtForwardTripletStep_cff.py @@ -60,9 +60,9 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi lowPtForwardTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtForwardTripletStepTrajectoryFilter')), - clustersToSkip = cms.InputTag('lowPtForwardTripletStepClusters'), + trajectoryFilter = dict(refToPSet_ = 'lowPtForwardTripletStepTrajectoryFilter'), + skipClusters = True, + clustersToSkip = 'lowPtForwardTripletStepClusters', maxCand = 3, estimator = 'lowPtForwardTripletStepChi2Est' ) diff --git a/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py b/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py index f7b44fcfe68a4..e70da6b15ac18 100644 --- a/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py +++ b/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py @@ -135,7 +135,6 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi lowPtQuadStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', trajectoryFilter = dict(refToPSet_ = 'lowPtQuadStepTrajectoryFilter'), maxCand = 4, estimator = 'lowPtQuadStepChi2Est', @@ -163,17 +162,20 @@ lowPtQuadStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'lowPtQuadStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = dict(refToPSet_ = 'lowPtQuadStepTrajectoryBuilder'), TrajectoryCleaner = 'lowPtQuadStepTrajectoryCleanerBySharedHits', - clustersToSkip = cms.InputTag('lowPtQuadStepClusters'), + skipClusters = True, + clustersToSkip = 'lowPtQuadStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True ) trackingPhase2PU140.toModify(lowPtQuadStepTrackCandidates, - clustersToSkip = None, - phase2clustersToSkip = cms.InputTag('lowPtQuadStepClusters') + skipClusters = False, + clustersToSkip = '', + skipPhase2Clusters = True, + phase2clustersToSkip = 'lowPtQuadStepClusters' ) from Configuration.ProcessModifiers.trackingMkFitLowPtQuadStep_cff import trackingMkFitLowPtQuadStep diff --git a/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py b/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py index 66fd32de00ec1..808f82e328a60 100644 --- a/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py @@ -207,8 +207,7 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryFilter')), + trajectoryFilter = dict(refToPSet_ = 'lowPtTripletStepTrajectoryFilter'), maxCand = 4, estimator = 'lowPtTripletStepChi2Est', maxDPhiForLooperReconstruction = cms.double(2.0), @@ -228,18 +227,21 @@ lowPtTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'lowPtTripletStepSeeds', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('lowPtTripletStepTrajectoryBuilder')), - clustersToSkip = cms.InputTag('lowPtTripletStepClusters'), + skipClusters = True, + clustersToSkip = 'lowPtTripletStepClusters', doSeedingRegionRebuilding = True, useHitsSplitting = True, TrajectoryCleaner = 'lowPtTripletStepTrajectoryCleanerBySharedHits' ) trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates, - clustersToSkip = None, - phase2clustersToSkip = cms.InputTag('lowPtTripletStepClusters') + skipClusters = False, + clustersToSkip = '', + skipPhase2Clusters = True, + phase2clustersToSkip = 'lowPtTripletStepClusters' ) from Configuration.ProcessModifiers.trackingMkFitLowPtTripletStep_cff import trackingMkFitLowPtTripletStep diff --git a/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py b/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py index 47755e574d81f..045cd9e589aed 100644 --- a/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py @@ -267,8 +267,7 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('mixedTripletStepTrajectoryFilter')), + trajectoryFilter = dict(refToPSet_ = 'mixedTripletStepTrajectoryFilter'), propagatorAlong = 'mixedTripletStepPropagator', propagatorOpposite = 'mixedTripletStepPropagatorOpposite', maxCand = 2, diff --git a/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py b/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py index 36517c0cc3d46..a35e31f6b0a4a 100644 --- a/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py +++ b/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py @@ -265,8 +265,7 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi pixelLessStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('pixelLessStepTrajectoryFilter')), + trajectoryFilter = dict(refToPSet_ = 'pixelLessStepTrajectoryFilter'), minNrOfHitsForRebuild = 4, maxCand = 2, alwaysUseInvalidHits = False, @@ -279,10 +278,11 @@ import RecoTracker.CkfPattern.CkfTrackCandidates_cfi pixelLessStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'pixelLessStepSeeds', - clustersToSkip = cms.InputTag('pixelLessStepClusters'), + skipClusters = True, + clustersToSkip = 'pixelLessStepClusters', ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - #onlyPixelHitsForSeedCleaner = cms.bool(True), + numHitsForSeedCleaner = 50, + #onlyPixelHitsForSeedCleaner = True, TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('pixelLessStepTrajectoryBuilder')), TrajectoryCleaner = 'pixelLessStepTrajectoryCleanerBySharedHits' ) diff --git a/RecoTracker/IterativeTracking/python/PixelPairStep_cff.py b/RecoTracker/IterativeTracking/python/PixelPairStep_cff.py index a887989b41f7d..fc536b46cb8b7 100644 --- a/RecoTracker/IterativeTracking/python/PixelPairStep_cff.py +++ b/RecoTracker/IterativeTracking/python/PixelPairStep_cff.py @@ -271,8 +271,7 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi pixelPairStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryFilter')), + trajectoryFilter = dict(refToPSet_ = 'pixelPairStepTrajectoryFilter'), maxCand = 3, estimator = 'pixelPairStepChi2Est', maxDPhiForLooperReconstruction = cms.double(2.0), @@ -293,12 +292,12 @@ import RecoTracker.CkfPattern.CkfTrackCandidates_cfi pixelPairStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone( src = 'pixelPairStepSeeds', - clustersToSkip = cms.InputTag('pixelPairStepClusters'), + skipClusters = True, + clustersToSkip = 'pixelPairStepClusters', TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('pixelPairStepTrajectoryBuilder')), ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput - numHitsForSeedCleaner = cms.int32(50), - onlyPixelHitsForSeedCleaner = cms.bool(True), - + numHitsForSeedCleaner = 50, + onlyPixelHitsForSeedCleaner = True ) from Configuration.ProcessModifiers.trackingMkFitPixelPairStep_cff import trackingMkFitPixelPairStep @@ -325,9 +324,11 @@ )) trackingPhase2PU140.toModify(pixelPairStepTrackCandidates, - clustersToSkip = None, - phase2clustersToSkip = cms.InputTag('pixelPairStepClusters'), - TrajectoryCleaner = 'pixelPairStepTrajectoryCleanerBySharedHits' + skipClusters = False, + clustersToSkip = '', + skipPhase2Clusters = True, + phase2clustersToSkip = 'pixelPairStepClusters', + TrajectoryCleaner = 'pixelPairStepTrajectoryCleanerBySharedHits' ) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(pixelPairStepTrackCandidates, diff --git a/RecoTracker/IterativeTracking/python/TobTecStep_cff.py b/RecoTracker/IterativeTracking/python/TobTecStep_cff.py index 470a4dc6a037f..f400042f1aaae 100644 --- a/RecoTracker/IterativeTracking/python/TobTecStep_cff.py +++ b/RecoTracker/IterativeTracking/python/TobTecStep_cff.py @@ -232,9 +232,8 @@ # TRACK BUILDING import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi tobTecStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone( - MeasurementTrackerName = '', - trajectoryFilter = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryFilter')), - inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('tobTecStepInOutTrajectoryFilter')), + trajectoryFilter = dict(refToPSet_ = 'tobTecStepTrajectoryFilter'), + inOutTrajectoryFilter = dict(refToPSet_ = 'tobTecStepInOutTrajectoryFilter'), useSameTrajFilter = False, minNrOfHitsForRebuild = 4, alwaysUseInvalidHits = False, diff --git a/TrackingTools/GsfTracking/python/CkfElectronCandidateMaker_cff.py b/TrackingTools/GsfTracking/python/CkfElectronCandidateMaker_cff.py index 23cee3cadc9e8..1d70c5bc10b3f 100644 --- a/TrackingTools/GsfTracking/python/CkfElectronCandidateMaker_cff.py +++ b/TrackingTools/GsfTracking/python/CkfElectronCandidateMaker_cff.py @@ -36,7 +36,6 @@ propagatorAlong = 'fwdGsfElectronPropagator', propagatorOpposite = 'bwdGsfElectronPropagator', estimator = 'ElectronChi2', - MeasurementTrackerName = '', lostHitPenalty = 90., alwaysUseInvalidHits = True, TTRHBuilder = 'WithTrackAngle', @@ -64,7 +63,6 @@ ValidHitBonus = 1000.0, MissingHitPenalty = 0.0 ) - # "backward" propagator for electrons from TrackingTools.GsfTracking.bwdGsfElectronPropagator_cff import * diff --git a/TrackingTools/TrajectoryFiltering/interface/ChargeSignificanceTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/ChargeSignificanceTrajectoryFilter.h index 3892db67cb4f9..f42950840a1ce 100644 --- a/TrackingTools/TrajectoryFiltering/interface/ChargeSignificanceTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/ChargeSignificanceTrajectoryFilter.h @@ -1,6 +1,7 @@ #ifndef ChargeSignificanceTrajectoryFilter_H #define ChargeSignificanceTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "TrackingTools/PatternTools/interface/Trajectory.h" #include "TrackingTools/PatternTools/interface/TempTrajectory.h" @@ -18,6 +19,8 @@ class ChargeSignificanceTrajectoryFilter final : public TrajectoryFilter { explicit ChargeSignificanceTrajectoryFilter(const edm::ParameterSet& pset, edm::ConsumesCollector& iC) : theChargeSignificance(pset.getParameter("chargeSignificance")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { iDesc.add("chargeSignificance", -1.); } + bool qualityFilter(const Trajectory& traj) const override { return traj.isValid(); } bool qualityFilter(const TempTrajectory& traj) const override { return traj.isValid(); } diff --git a/TrackingTools/TrajectoryFiltering/interface/CkfBaseTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/CkfBaseTrajectoryFilter.h index a691dad636377..c10e44c0b5fb1 100644 --- a/TrackingTools/TrajectoryFiltering/interface/CkfBaseTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/CkfBaseTrajectoryFilter.h @@ -1,8 +1,8 @@ #ifndef CkfBaseTrajectoryFilter_H #define CkfBaseTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" - #include "TrackingTools/TrajectoryFiltering/interface/ChargeSignificanceTrajectoryFilter.h" #include "TrackingTools/TrajectoryFiltering/interface/MaxConsecLostHitsTrajectoryFilter.h" #include "TrackingTools/TrajectoryFiltering/interface/MaxHitsTrajectoryFilter.h" @@ -13,7 +13,6 @@ #include "TrackingTools/TrajectoryFiltering/interface/LooperTrajectoryFilter.h" #include "TrackingTools/TrajectoryFiltering/interface/SeedExtensionTrajectoryFilter.h" #include "TrackingTools/TrajectoryFiltering/interface/MaxCCCLostHitsTrajectoryFilter.h" -#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" class CkfBaseTrajectoryFilter : public TrajectoryFilter { public: @@ -30,6 +29,19 @@ class CkfBaseTrajectoryFilter : public TrajectoryFilter { theSeedExtensionTrajectoryFilter(new SeedExtensionTrajectoryFilter(pset, iC)), theMaxCCCLostHitsTrajectoryFilter(new MaxCCCLostHitsTrajectoryFilter(pset, iC)) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + ChargeSignificanceTrajectoryFilter::fillPSetDescription(iDesc); + MaxConsecLostHitsTrajectoryFilter::fillPSetDescription(iDesc); + MaxHitsTrajectoryFilter::fillPSetDescription(iDesc); + MaxLostHitsTrajectoryFilter::fillPSetDescription(iDesc); + LostHitsFractionTrajectoryFilter::fillPSetDescription(iDesc); + MinHitsTrajectoryFilter::fillPSetDescription(iDesc); + MinPtTrajectoryFilter::fillPSetDescription(iDesc); + LooperTrajectoryFilter::fillPSetDescription(iDesc); + SeedExtensionTrajectoryFilter::fillPSetDescription(iDesc); + MaxCCCLostHitsTrajectoryFilter::fillPSetDescription(iDesc); + } + void setEvent(const edm::Event& iEvent, const edm::EventSetup& iSetup) override { theChargeSignificanceTrajectoryFilter->setEvent(iEvent, iSetup); theMaxLostHitsTrajectoryFilter->setEvent(iEvent, iSetup); @@ -50,19 +62,6 @@ class CkfBaseTrajectoryFilter : public TrajectoryFilter { std::string name() const override { return "CkfBaseTrajectoryFilter"; } - inline edm::ParameterSetDescription getFilledConfigurationDescription() { - edm::ParameterSetDescription descLooper = theLooperTrajectoryFilter->getFilledConfigurationDescription(); - edm::ParameterSetDescription descLostHitsFraction = - theLostHitsFractionTrajectoryFilter->getFilledConfigurationDescription(); - edm::ParameterSetDescription descMinHits = theMinHitsTrajectoryFilter->getFilledConfigurationDescription(); - - edm::ParameterSetDescription desc; - desc.add("looperTrajectoryFilter", descLooper); - desc.add("lostHitsFractionTrajectoryFilter", descLostHitsFraction); - desc.add("minHitsTrajectoryFilter", descMinHits); - return desc; - } - protected: template bool QF(const T& traj) const { diff --git a/TrackingTools/TrajectoryFiltering/interface/CompositeTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/CompositeTrajectoryFilter.h index 19b10b44ba884..7b1cc6e19f450 100644 --- a/TrackingTools/TrajectoryFiltering/interface/CompositeTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/CompositeTrajectoryFilter.h @@ -1,6 +1,8 @@ #ifndef CompositeTrajectoryFilter_H #define CompositeTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "FWCore/ParameterSet/interface/PluginDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h" #include "TrackingTools/PatternTools/interface/Trajectory.h" @@ -26,6 +28,13 @@ class CompositeTrajectoryFilter : public TrajectoryFilter { ~CompositeTrajectoryFilter() override {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + edm::ParameterSetDescription psdTF; + psdTF.addNode(edm::PluginDescription("ComponentType", true)); + std::vector vPSetFilters; + iDesc.addVPSet("filters", psdTF, vPSetFilters); + } + void setEvent(const edm::Event& iEvent, const edm::EventSetup& iSetup) override { for (auto& f : filters) { f->setEvent(iEvent, iSetup); diff --git a/TrackingTools/TrajectoryFiltering/interface/LooperTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/LooperTrajectoryFilter.h index 5391a6f0ad7fa..b40544f7eb8a1 100644 --- a/TrackingTools/TrajectoryFiltering/interface/LooperTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/LooperTrajectoryFilter.h @@ -1,8 +1,8 @@ #ifndef LooperTrajectoryFilter_H #define LooperTrajectoryFilter_H -#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" class LooperTrajectoryFilter final : public TrajectoryFilter { public: @@ -19,6 +19,12 @@ class LooperTrajectoryFilter final : public TrajectoryFilter { theExtraNumberOfHitsBeforeTheFirstLoop = pset.getParameter("extraNumberOfHitsBeforeTheFirstLoop"); } + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("minNumberOfHitsForLoopers", 13); + iDesc.add("minNumberOfHitsPerLoop", 4); + iDesc.add("extraNumberOfHitsBeforeTheFirstLoop", 4); + } + bool qualityFilter(const Trajectory& traj) const override { return QF(traj); } bool qualityFilter(const TempTrajectory& traj) const override { return QF(traj); } diff --git a/TrackingTools/TrajectoryFiltering/interface/LostHitsFractionTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/LostHitsFractionTrajectoryFilter.h index 86923983286da..040ef2932357f 100644 --- a/TrackingTools/TrajectoryFiltering/interface/LostHitsFractionTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/LostHitsFractionTrajectoryFilter.h @@ -1,8 +1,8 @@ #ifndef LostHitsFractionTrajectoryFilter_H #define LostHitsFractionTrajectoryFilter_H -#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" class LostHitsFractionTrajectoryFilter final : public TrajectoryFilter { public: @@ -14,6 +14,11 @@ class LostHitsFractionTrajectoryFilter final : public TrajectoryFilter { theConstantValue = pset.getParameter("constantValueForLostHitsFractionFilter"); } + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("maxLostHitsFraction", .1); + iDesc.add("constantValueForLostHitsFractionFilter", 2.); + } + bool qualityFilter(const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; } bool qualityFilter(const TempTrajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; diff --git a/TrackingTools/TrajectoryFiltering/interface/MaxCCCLostHitsTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/MaxCCCLostHitsTrajectoryFilter.h index 300fb7af6bc02..e130744a8407b 100644 --- a/TrackingTools/TrajectoryFiltering/interface/MaxCCCLostHitsTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/MaxCCCLostHitsTrajectoryFilter.h @@ -1,6 +1,7 @@ #ifndef MaxCCCLostHitsTrajectoryFilter_H #define MaxCCCLostHitsTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "RecoLocalTracker/SiStripClusterizer/interface/ClusterChargeCut.h" @@ -14,6 +15,11 @@ class MaxCCCLostHitsTrajectoryFilter final : public TrajectoryFilter { : theMaxCCCLostHits_(pset.getParameter("maxCCCLostHits")), minGoodStripCharge_(clusterChargeCut(pset, "minGoodStripCharge")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("maxCCCLostHits", 9999); + iDesc.add("minGoodStripCharge", getFilledConfigurationDescription4CCC()); + } + bool qualityFilter(const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; } bool qualityFilter(const TempTrajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; diff --git a/TrackingTools/TrajectoryFiltering/interface/MaxConsecLostHitsTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/MaxConsecLostHitsTrajectoryFilter.h index e35f766156b49..f5ac74fa7843f 100644 --- a/TrackingTools/TrajectoryFiltering/interface/MaxConsecLostHitsTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/MaxConsecLostHitsTrajectoryFilter.h @@ -1,6 +1,7 @@ #ifndef MaxConsecLostHitsTrajectoryFilter_H #define MaxConsecLostHitsTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" class MaxConsecLostHitsTrajectoryFilter final : public TrajectoryFilter { @@ -10,6 +11,8 @@ class MaxConsecLostHitsTrajectoryFilter final : public TrajectoryFilter { explicit MaxConsecLostHitsTrajectoryFilter(const edm::ParameterSet& pset, edm::ConsumesCollector& iC) : theMaxConsecLostHits(pset.getParameter("maxConsecLostHits")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { iDesc.add("maxConsecLostHits", 1); } + bool qualityFilter(const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; } bool qualityFilter(const TempTrajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; diff --git a/TrackingTools/TrajectoryFiltering/interface/MaxHitsTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/MaxHitsTrajectoryFilter.h index e9daa22b9589e..0a4ed406e93ac 100644 --- a/TrackingTools/TrajectoryFiltering/interface/MaxHitsTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/MaxHitsTrajectoryFilter.h @@ -1,6 +1,7 @@ #ifndef MaxHitsTrajectoryFilter_H #define MaxHitsTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" class MaxHitsTrajectoryFilter final : public TrajectoryFilter { @@ -13,6 +14,8 @@ class MaxHitsTrajectoryFilter final : public TrajectoryFilter { theMaxHits = 10000; } + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { iDesc.add("maxNumberOfHits", 100); } + bool qualityFilter(const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; } bool qualityFilter(const TempTrajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; diff --git a/TrackingTools/TrajectoryFiltering/interface/MaxLostHitsTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/MaxLostHitsTrajectoryFilter.h index 1c0b147889344..dc6cdc0cf8cbe 100644 --- a/TrackingTools/TrajectoryFiltering/interface/MaxLostHitsTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/MaxLostHitsTrajectoryFilter.h @@ -1,6 +1,7 @@ #ifndef MaxLostHitsTrajectoryFilter_H #define MaxLostHitsTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" class MaxLostHitsTrajectoryFilter final : public TrajectoryFilter { @@ -10,6 +11,8 @@ class MaxLostHitsTrajectoryFilter final : public TrajectoryFilter { explicit MaxLostHitsTrajectoryFilter(const edm::ParameterSet& pset, edm::ConsumesCollector& iC) : theMaxLostHits(pset.getParameter("maxLostHits")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { iDesc.add("maxLostHits", 999); } + bool qualityFilter(const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; } bool qualityFilter(const TempTrajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; diff --git a/TrackingTools/TrajectoryFiltering/interface/MinHitsTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/MinHitsTrajectoryFilter.h index 302c8324a8532..66cbdcf3688c4 100644 --- a/TrackingTools/TrajectoryFiltering/interface/MinHitsTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/MinHitsTrajectoryFilter.h @@ -27,6 +27,13 @@ class MinHitsTrajectoryFilter final : public TrajectoryFilter { theMinHitsAtHighEta(pset.getParameter("minHitsAtHighEta")), theSeedPairPenalty(pset.getParameter("seedPairPenalty")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("minimumNumberOfHits", 5); + iDesc.add("highEtaSwitch", 5.0); + iDesc.add("minHitsAtHighEta", 5); + iDesc.add("seedPairPenalty", 0); + } + bool qualityFilter(const Trajectory& traj) const override { return QF(traj); } bool qualityFilter(const TempTrajectory& traj) const override { return QF(traj); } diff --git a/TrackingTools/TrajectoryFiltering/interface/MinPtTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/MinPtTrajectoryFilter.h index e9f63c19d778c..368bdeac90b68 100644 --- a/TrackingTools/TrajectoryFiltering/interface/MinPtTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/MinPtTrajectoryFilter.h @@ -1,10 +1,10 @@ #ifndef MinPtTrajectoryFilter_H #define MinPtTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "TrackingTools/PatternTools/interface/Trajectory.h" #include "TrackingTools/PatternTools/interface/TempTrajectory.h" - #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h" #include "TrackingTools/TrajectoryParametrization/interface/CurvilinearTrajectoryError.h" #include "TrackingTools/TrajectoryState/interface/TrajectoryStateAccessor.h" @@ -28,6 +28,12 @@ class MinPtTrajectoryFilter final : public TrajectoryFilter { thePtMin2 *= thePtMin2; } + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("minPt", 0.9); + iDesc.add("nSigmaMinPt", 5.0); + iDesc.add("minHitsMinPt", 3); + } + bool qualityFilter(const Trajectory& traj) const override { return test(traj.lastMeasurement(), traj.foundHits()); } bool qualityFilter(const TempTrajectory& traj) const override { return test(traj.lastMeasurement(), traj.foundHits()); diff --git a/TrackingTools/TrajectoryFiltering/interface/SeedExtensionTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/SeedExtensionTrajectoryFilter.h index 2f701f7e03ef4..8eef2e92c46c8 100644 --- a/TrackingTools/TrajectoryFiltering/interface/SeedExtensionTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/SeedExtensionTrajectoryFilter.h @@ -1,6 +1,7 @@ #ifndef SeedExtensionTrajectoryFilter_H #define SeedExtensionTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" class SeedExtensionTrajectoryFilter final : public TrajectoryFilter { @@ -12,6 +13,12 @@ class SeedExtensionTrajectoryFilter final : public TrajectoryFilter { thePixel(pset.getParameter("pixelSeedExtension")), theExtension(pset.getParameter("seedExtension")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("strictSeedExtension", false); + iDesc.add("pixelSeedExtension", false); + iDesc.add("seedExtension", 0); + } + bool qualityFilter(const Trajectory& traj) const override { return QF(traj); } bool qualityFilter(const TempTrajectory& traj) const override { return QF(traj); } diff --git a/TrackingTools/TrajectoryFiltering/interface/ThresholdPtTrajectoryFilter.h b/TrackingTools/TrajectoryFiltering/interface/ThresholdPtTrajectoryFilter.h index 0417d0080b462..58615cbf36845 100644 --- a/TrackingTools/TrajectoryFiltering/interface/ThresholdPtTrajectoryFilter.h +++ b/TrackingTools/TrajectoryFiltering/interface/ThresholdPtTrajectoryFilter.h @@ -1,10 +1,10 @@ #ifndef ThresholdPtTrajectoryFilter_H #define ThresholdPtTrajectoryFilter_H +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h" #include "TrackingTools/PatternTools/interface/Trajectory.h" #include "TrackingTools/PatternTools/interface/TempTrajectory.h" - #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h" #include "TrackingTools/TrajectoryParametrization/interface/CurvilinearTrajectoryError.h" #include "TrackingTools/TrajectoryState/interface/TrajectoryStateAccessor.h" @@ -25,6 +25,12 @@ class ThresholdPtTrajectoryFilter : public TrajectoryFilter { theNSigma(pset.getParameter("nSigmaThresholdPt")), theMinHits(pset.getParameter("minHitsThresholdPt")) {} + static void fillPSetDescription(edm::ParameterSetDescription& iDesc) { + iDesc.add("thresholdPt", 10.); + iDesc.add("nSigmaThresholdPt", 5.); + iDesc.add("minHitsThresholdPt", 3); + } + bool qualityFilter(const Trajectory& traj) const override { return !test(traj.lastMeasurement(), traj.foundHits()); } bool qualityFilter(const TempTrajectory& traj) const override { return !test(traj.lastMeasurement(), traj.foundHits()); diff --git a/TrackingTools/TrajectoryFiltering/plugins/modules.cc b/TrackingTools/TrajectoryFiltering/plugins/modules.cc index 6ec015fd87022..0375d16cf9c95 100644 --- a/TrackingTools/TrajectoryFiltering/plugins/modules.cc +++ b/TrackingTools/TrajectoryFiltering/plugins/modules.cc @@ -1,6 +1,7 @@ #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/Framework/interface/ModuleFactory.h" #include "FWCore/Framework/interface/ESProducer.h" +#include "FWCore/ParameterSet/interface/ValidatedPluginMacros.h" #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h" @@ -15,13 +16,17 @@ #include "TrackingTools/TrajectoryFiltering/interface/CkfBaseTrajectoryFilter.h" #include "TrackingTools/TrajectoryFiltering/interface/ChargeSignificanceTrajectoryFilter.h" -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, MaxHitsTrajectoryFilter, "MaxHitsTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, MinHitsTrajectoryFilter, "MinHitsTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, MaxLostHitsTrajectoryFilter, "MaxLostHitsTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, MaxConsecLostHitsTrajectoryFilter, "MaxConsecLostHitsTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, MaxCCCLostHitsTrajectoryFilter, "MaxCCCLostHitsTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, MinPtTrajectoryFilter, "MinPtTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, ThresholdPtTrajectoryFilter, "ThresholdPtTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, CompositeTrajectoryFilter, "CompositeTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, CkfBaseTrajectoryFilter, "CkfBaseTrajectoryFilter"); -DEFINE_EDM_PLUGIN(TrajectoryFilterFactory, ChargeSignificanceTrajectoryFilter, "ChargeSignificanceTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, MaxHitsTrajectoryFilter, "MaxHitsTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, MinHitsTrajectoryFilter, "MinHitsTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, MaxLostHitsTrajectoryFilter, "MaxLostHitsTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, + MaxConsecLostHitsTrajectoryFilter, + "MaxConsecLostHitsTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, MaxCCCLostHitsTrajectoryFilter, "MaxCCCLostHitsTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, MinPtTrajectoryFilter, "MinPtTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, ThresholdPtTrajectoryFilter, "ThresholdPtTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, CompositeTrajectoryFilter, "CompositeTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, CkfBaseTrajectoryFilter, "CkfBaseTrajectoryFilter"); +DEFINE_EDM_VALIDATED_PLUGIN(TrajectoryFilterFactory, + ChargeSignificanceTrajectoryFilter, + "ChargeSignificanceTrajectoryFilter"); diff --git a/TrackingTools/TrajectoryFiltering/src/TrajectoryFilterFactory.cc b/TrackingTools/TrajectoryFiltering/src/TrajectoryFilterFactory.cc index bb16493655601..b9d4ba7064fed 100644 --- a/TrackingTools/TrajectoryFiltering/src/TrajectoryFilterFactory.cc +++ b/TrackingTools/TrajectoryFiltering/src/TrajectoryFilterFactory.cc @@ -1,3 +1,4 @@ #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h" +#include "FWCore/ParameterSet/interface/ValidatedPluginFactoryMacros.h" -EDM_REGISTER_PLUGINFACTORY(TrajectoryFilterFactory, "TrajectoryFilterFactory"); +EDM_REGISTER_VALIDATED_PLUGINFACTORY(TrajectoryFilterFactory, "TrajectoryFilterFactory");