diff --git a/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py b/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py index f29aafe816b9d..407e5aacd6023 100644 --- a/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py +++ b/RecoTracker/IterativeTracking/python/DetachedQuadStep_cff.py @@ -212,6 +212,7 @@ mkFitSeeds = 'detachedQuadStepTrackCandidatesMkFitSeeds', tracks = 'detachedQuadStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(detachedQuadStepTrackCandidatesMkFitConfig, minPt=0.9) #For FastSim phase1 tracking import FastSimulation.Tracking.TrackCandidateProducer_cfi diff --git a/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py b/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py index 7ac9c667233d0..fe75163cac66c 100644 --- a/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/DetachedTripletStep_cff.py @@ -242,6 +242,7 @@ mkFitSeeds = 'detachedTripletStepTrackCandidatesMkFitSeeds', tracks = 'detachedTripletStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(detachedTripletStepTrackCandidatesMkFitConfig, minPt=0.9) import FastSimulation.Tracking.TrackCandidateProducer_cfi _fastSim_detachedTripletStepTrackCandidates = FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone( diff --git a/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py b/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py index ec90002ed0d3c..06abb75e16687 100644 --- a/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py @@ -242,6 +242,8 @@ mkFitSeeds = 'highPtTripletStepTrackCandidatesMkFitSeeds', tracks = 'highPtTripletStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(highPtTripletStepTrackCandidatesMkFitConfig, minPt=0.7) + # For Phase2PU140 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits as _trajectoryCleanerBySharedHits diff --git a/RecoTracker/IterativeTracking/python/InitialStep_cff.py b/RecoTracker/IterativeTracking/python/InitialStep_cff.py index 2bf9f026fafb8..65f7af1f42d89 100644 --- a/RecoTracker/IterativeTracking/python/InitialStep_cff.py +++ b/RecoTracker/IterativeTracking/python/InitialStep_cff.py @@ -257,6 +257,7 @@ mkFitSeeds = 'initialStepTrackCandidatesMkFitSeeds', tracks = 'initialStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(initialStepTrackCandidatesMkFitConfig, minPt=0.6) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(initialStepTrackCandidates, diff --git a/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py b/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py index fd016d178d8f7..79f9c8e4239a4 100644 --- a/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py +++ b/RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py @@ -202,6 +202,7 @@ mkFitSeeds = 'lowPtQuadStepTrackCandidatesMkFitSeeds', tracks = 'lowPtQuadStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtQuadStepTrackCandidatesMkFitConfig, minPt=0.49) #For FastSim phase1 tracking import FastSimulation.Tracking.TrackCandidateProducer_cfi diff --git a/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py b/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py index ed2d5d12713f4..25496dfb2ee8a 100644 --- a/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/LowPtTripletStep_cff.py @@ -270,6 +270,7 @@ mkFitSeeds = 'lowPtTripletStepTrackCandidatesMkFitSeeds', tracks = 'lowPtTripletStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtTripletStepTrackCandidatesMkFitConfig, minPt=0.49) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(lowPtTripletStepTrackCandidates, diff --git a/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py b/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py index e0030ba00181b..104c76948b8d3 100644 --- a/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py +++ b/RecoTracker/IterativeTracking/python/MixedTripletStep_cff.py @@ -318,6 +318,7 @@ mkFitSeeds = 'mixedTripletStepTrackCandidatesMkFitSeeds', tracks = 'mixedTripletStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(mixedTripletStepTrackCandidatesMkFitConfig, minPt=0.4) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(mixedTripletStepTrackCandidates, diff --git a/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py b/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py index fd9fc14d1edf5..bdc52bb2747e8 100644 --- a/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py +++ b/RecoTracker/IterativeTracking/python/PixelLessStep_cff.py @@ -322,6 +322,7 @@ mkFitSeeds = 'pixelLessStepTrackCandidatesMkFitSeeds', tracks = 'pixelLessStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(pixelLessStepTrackCandidatesMkFitConfig, minPt=2.0) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(pixelLessStepTrackCandidates, diff --git a/RecoTracker/IterativeTracking/python/TobTecStep_cff.py b/RecoTracker/IterativeTracking/python/TobTecStep_cff.py index ed0cfd8ca5e4d..cfdf57de90906 100644 --- a/RecoTracker/IterativeTracking/python/TobTecStep_cff.py +++ b/RecoTracker/IterativeTracking/python/TobTecStep_cff.py @@ -305,6 +305,7 @@ mkFitSeeds = 'tobTecStepTrackCandidatesMkFitSeeds', tracks = 'tobTecStepTrackCandidatesMkFit', )) +(pp_on_XeXe_2017 | pp_on_AA).toModify(tobTecStepTrackCandidatesMkFitConfig, minPt=2.0) import FastSimulation.Tracking.TrackCandidateProducer_cfi fastSim.toReplaceWith(tobTecStepTrackCandidates, diff --git a/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc b/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc index a1f134a3ef3a6..7f1c24b026522 100644 --- a/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc @@ -218,16 +218,19 @@ class MkFitIterationConfigESProducer : public edm::ESProducer { private: const edm::ESGetToken geomToken_; const std::string configFile_; + const float minPtCut_; }; MkFitIterationConfigESProducer::MkFitIterationConfigESProducer(const edm::ParameterSet &iConfig) : geomToken_{setWhatProduced(this, iConfig.getParameter("ComponentName")).consumes()}, - configFile_{iConfig.getParameter("config").fullPath()} {} + configFile_{iConfig.getParameter("config").fullPath()}, + minPtCut_{(float)iConfig.getParameter("minPt")} {} void MkFitIterationConfigESProducer::fillDescriptions(edm::ConfigurationDescriptions &descriptions) { edm::ParameterSetDescription desc; desc.add("ComponentName")->setComment("Product label"); desc.add("config")->setComment("Path to the JSON file for the mkFit configuration parameters"); + desc.add("minPt", 0.0)->setComment("min pT cut applied during track building"); descriptions.addWithDefaultLabel(desc); } @@ -235,6 +238,8 @@ std::unique_ptr MkFitIterationConfigESProducer::produce( const TrackerRecoGeometryRecord &iRecord) { mkfit::ConfigJson cj; auto it_conf = cj.load_File(configFile_); + it_conf->m_params.minPtCut = minPtCut_; + it_conf->m_backward_params.minPtCut = minPtCut_; it_conf->m_partition_seeds = partitionSeeds1; return it_conf; } diff --git a/RecoTracker/MkFitCore/interface/IterationConfig.h b/RecoTracker/MkFitCore/interface/IterationConfig.h index 93eb5f627f497..cdf33abd8cc05 100644 --- a/RecoTracker/MkFitCore/interface/IterationConfig.h +++ b/RecoTracker/MkFitCore/interface/IterationConfig.h @@ -112,6 +112,9 @@ namespace mkfit { float drth_central = 0.001; float drth_obarrel = 0.001; float drth_forward = 0.001; + + //min pT cut + float minPtCut = 0.0; }; //============================================================================== diff --git a/RecoTracker/MkFitCore/src/MkBuilder.cc b/RecoTracker/MkFitCore/src/MkBuilder.cc index 5ba073bfb298f..1486369740638 100644 --- a/RecoTracker/MkFitCore/src/MkBuilder.cc +++ b/RecoTracker/MkFitCore/src/MkBuilder.cc @@ -614,6 +614,9 @@ namespace mkfit { seed_cand_vec.clear(); + auto &iter_params = (iteration_dir == SteeringParams::IT_BkwSearch) ? m_job->m_iter_config.m_backward_params + : m_job->m_iter_config.m_params; + for (int iseed = start_seed; iseed < end_seed; ++iseed) { CombCandidate &ccand = m_event_of_comb_cands[iseed]; @@ -634,6 +637,11 @@ namespace mkfit { continue; } } + // Stop candidates with pT(iseed, ic));