Skip to content

Commit

Permalink
Introduce minPt cut for track building
Browse files Browse the repository at this point in the history
  • Loading branch information
mmasciov committed Apr 14, 2022
1 parent 320b545 commit cd73912
Show file tree
Hide file tree
Showing 12 changed files with 27 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
2 changes: 2 additions & 0 deletions RecoTracker/IterativeTracking/python/HighPtTripletStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions RecoTracker/IterativeTracking/python/InitialStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions RecoTracker/IterativeTracking/python/LowPtQuadStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions RecoTracker/IterativeTracking/python/PixelLessStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions RecoTracker/IterativeTracking/python/TobTecStep_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
7 changes: 6 additions & 1 deletion RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -218,23 +218,28 @@ class MkFitIterationConfigESProducer : public edm::ESProducer {
private:
const edm::ESGetToken<MkFitGeometry, TrackerRecoGeometryRecord> geomToken_;
const std::string configFile_;
const float minPtCut_;
};

MkFitIterationConfigESProducer::MkFitIterationConfigESProducer(const edm::ParameterSet &iConfig)
: geomToken_{setWhatProduced(this, iConfig.getParameter<std::string>("ComponentName")).consumes()},
configFile_{iConfig.getParameter<edm::FileInPath>("config").fullPath()} {}
configFile_{iConfig.getParameter<edm::FileInPath>("config").fullPath()},
minPtCut_{(float)iConfig.getParameter<double>("minPt")} {}

void MkFitIterationConfigESProducer::fillDescriptions(edm::ConfigurationDescriptions &descriptions) {
edm::ParameterSetDescription desc;
desc.add<std::string>("ComponentName")->setComment("Product label");
desc.add<edm::FileInPath>("config")->setComment("Path to the JSON file for the mkFit configuration parameters");
desc.add<double>("minPt", 0.0)->setComment("min pT cut applied during track building");
descriptions.addWithDefaultLabel(desc);
}

std::unique_ptr<mkfit::IterationConfig> 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;
}
Expand Down
3 changes: 3 additions & 0 deletions RecoTracker/MkFitCore/interface/IterationConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};

//==============================================================================
Expand Down
8 changes: 8 additions & 0 deletions RecoTracker/MkFitCore/src/MkBuilder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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];

Expand All @@ -634,6 +637,11 @@ namespace mkfit {
continue;
}
}
// Stop candidates with pT<X GeV
if (ccand[ic].pT() < iter_params.minPtCut) {
ccand[ic].addHitIdx(-2, layer, 0.0f);
continue;
}

active = true;
seed_cand_vec.push_back(std::pair<int, int>(iseed, ic));
Expand Down

0 comments on commit cd73912

Please sign in to comment.