diff --git a/RecoTracker/MkFit/interface/MkFitGeometry.h b/RecoTracker/MkFit/interface/MkFitGeometry.h index c7cd6bef2b7ed..9fb7a8c2ff663 100644 --- a/RecoTracker/MkFit/interface/MkFitGeometry.h +++ b/RecoTracker/MkFit/interface/MkFitGeometry.h @@ -10,7 +10,6 @@ namespace mkfit { class LayerNumberConverter; class TrackerInfo; - class IterationsInfo; } // namespace mkfit class DetLayer; @@ -26,14 +25,12 @@ class MkFitGeometry { explicit MkFitGeometry(const TrackerGeometry& geom, const GeometricSearchTracker& tracker, const TrackerTopology& ttopo, - std::unique_ptr trackerInfo, - std::unique_ptr iterationsInfo); + std::unique_ptr trackerInfo); ~MkFitGeometry(); int mkFitLayerNumber(DetId detId) const; mkfit::LayerNumberConverter const& layerNumberConverter() const { return *lnc_; } mkfit::TrackerInfo const& trackerInfo() const { return *trackerInfo_; } - mkfit::IterationsInfo const& iterationsInfo() const { return *iterationsInfo_; } const std::vector& detLayers() const { return dets_; } unsigned int uniqueIdInLayer(int layer, unsigned int detId) const { return detIdToShortId_.at(layer).at(detId); } const TrackerTopology* topology() const { return ttopo_; } @@ -42,7 +39,6 @@ class MkFitGeometry { const TrackerTopology* ttopo_; std::unique_ptr lnc_; // for pimpl pattern std::unique_ptr trackerInfo_; - std::unique_ptr iterationsInfo_; // only temporarily here, to be moved into proper place later std::vector dets_; std::vector> detIdToShortId_; }; diff --git a/RecoTracker/MkFit/plugins/MkFitGeometryESProducer.cc b/RecoTracker/MkFit/plugins/MkFitGeometryESProducer.cc index d8e5fb3d93cf6..04d25b3f8bbac 100644 --- a/RecoTracker/MkFit/plugins/MkFitGeometryESProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitGeometryESProducer.cc @@ -47,13 +47,9 @@ void MkFitGeometryESProducer::fillDescriptions(edm::ConfigurationDescriptions& d std::unique_ptr MkFitGeometryESProducer::produce(const TrackerRecoGeometryRecord& iRecord) { auto trackerInfo = std::make_unique(); - auto iterationsInfo = std::make_unique(); - mkfit::createPhase1TrackerGeometry(*trackerInfo, *iterationsInfo, false); - return std::make_unique(iRecord.get(geomToken_), - iRecord.get(trackerToken_), - iRecord.get(ttopoToken_), - std::move(trackerInfo), - std::move(iterationsInfo)); + mkfit::createPhase1TrackerGeometry(*trackerInfo, false); + return std::make_unique( + iRecord.get(geomToken_), iRecord.get(trackerToken_), iRecord.get(ttopoToken_), std::move(trackerInfo)); } DEFINE_FWK_EVENTSETUP_MODULE(MkFitGeometryESProducer); diff --git a/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc b/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc index dc79d3fbd582a..c68d3802ae65f 100644 --- a/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitIterationConfigESProducer.cc @@ -6,26 +6,102 @@ #include "RecoTracker/MkFit/interface/MkFitGeometry.h" // mkFit includes +#include "Track.h" +#include "TrackerInfo.h" +#include "mkFit/HitStructures.h" #include "mkFit/IterationConfig.h" +namespace { + using namespace mkfit; + + void partitionSeeds0(const TrackerInfo &trk_info, + const TrackVec &in_seeds, + const EventOfHits &eoh, + IterationSeedPartition &part) { + const size_t size = in_seeds.size(); + + for (size_t i = 0; i < size; ++i) { + const Track &S = in_seeds[i]; + + const bool z_dir_pos = S.pz() > 0; + + HitOnTrack hot = S.getLastHitOnTrack(); + const float eta = eoh[hot.layer].GetHit(hot.index).eta(); + + // Region to be defined by propagation / intersection tests + TrackerInfo::EtaRegion reg; + + // Max eta used for region sorting + constexpr float maxEta_regSort = 7.0; + + const LayerInfo &outer_brl = trk_info.outer_barrel_layer(); + + const LayerInfo &tib1 = trk_info.m_layers[4]; + const LayerInfo &tob1 = trk_info.m_layers[10]; + + const LayerInfo &tecp1 = trk_info.m_layers[27]; + const LayerInfo &tecn1 = trk_info.m_layers[54]; + + const LayerInfo &tec_first = z_dir_pos ? tecp1 : tecn1; + + const float maxR = S.maxReachRadius(); + float z_at_maxr; + + bool can_reach_outer_brl = S.canReachRadius(outer_brl.m_rout); + float z_at_outer_brl; + bool misses_first_tec; + if (can_reach_outer_brl) { + z_at_outer_brl = S.zAtR(outer_brl.m_rout); + if (z_dir_pos) + misses_first_tec = z_at_outer_brl < tec_first.m_zmin; + else + misses_first_tec = z_at_outer_brl > tec_first.m_zmax; + } else { + z_at_maxr = S.zAtR(maxR); + if (z_dir_pos) + misses_first_tec = z_at_maxr < tec_first.m_zmin; + else + misses_first_tec = z_at_maxr > tec_first.m_zmax; + } + + if (misses_first_tec) { + reg = TrackerInfo::Reg_Barrel; + } else { + if ((S.canReachRadius(tib1.m_rin) && tib1.is_within_z_limits(S.zAtR(tib1.m_rin))) || + (S.canReachRadius(tob1.m_rin) && tob1.is_within_z_limits(S.zAtR(tob1.m_rin)))) { + reg = z_dir_pos ? TrackerInfo::Reg_Transition_Pos : TrackerInfo::Reg_Transition_Neg; + } else { + reg = z_dir_pos ? TrackerInfo::Reg_Endcap_Pos : TrackerInfo::Reg_Endcap_Neg; + } + } + + part.m_region[i] = reg; + + // TrackerInfo::EtaRegion is enum from 0 to 5 (Reg_Endcap_Neg,Reg_Transition_Neg,Reg_Barrel,Reg_Transition_Pos,Reg_Endcap_Pos) + // Symmetrization around TrackerInfo::Reg_Barrel for sorting is required + part.m_sort_score[i] = maxEta_regSort * (reg - TrackerInfo::Reg_Barrel) + eta; + } + } +} // namespace + class MkFitIterationConfigESProducer : public edm::ESProducer { public: - MkFitIterationConfigESProducer(const edm::ParameterSet& iConfig); + MkFitIterationConfigESProducer(const edm::ParameterSet &iConfig); - static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); + static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); - std::unique_ptr produce(const TrackerRecoGeometryRecord& iRecord); + std::unique_ptr produce(const TrackerRecoGeometryRecord &iRecord); private: const edm::ESGetToken geomToken_; const std::string configFile_; }; -MkFitIterationConfigESProducer::MkFitIterationConfigESProducer(const edm::ParameterSet& iConfig) +MkFitIterationConfigESProducer::MkFitIterationConfigESProducer(const edm::ParameterSet &iConfig) : geomToken_{setWhatProduced(this, iConfig.getParameter("ComponentName")).consumes()}, configFile_{iConfig.getParameter("config").fullPath()} {} -void MkFitIterationConfigESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { +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"); @@ -33,8 +109,10 @@ void MkFitIterationConfigESProducer::fillDescriptions(edm::ConfigurationDescript } std::unique_ptr MkFitIterationConfigESProducer::produce( - const TrackerRecoGeometryRecord& iRecord) { - return mkfit::ConfigJson_Load_File(iRecord.get(geomToken_).iterationsInfo(), configFile_); + const TrackerRecoGeometryRecord &iRecord) { + auto it_conf = mkfit::ConfigJson_Load_File(configFile_); + it_conf->m_partition_seeds = partitionSeeds0; + return it_conf; } DEFINE_FWK_EVENTSETUP_MODULE(MkFitIterationConfigESProducer); diff --git a/RecoTracker/MkFit/plugins/MkFitOutputConverter.cc b/RecoTracker/MkFit/plugins/MkFitOutputConverter.cc index a6369cd8e4384..828ed0078ad99 100644 --- a/RecoTracker/MkFit/plugins/MkFitOutputConverter.cc +++ b/RecoTracker/MkFit/plugins/MkFitOutputConverter.cc @@ -196,9 +196,7 @@ TrackCandidateCollection MkFitOutputConverter::convertCandidates(const MkFitOutp // hits edm::OwnVector recHits; - // nTotalHits() gives sum of valid hits (nFoundHits()) and - // invalid/missing hits (up to a maximum of 32 inside mkFit, - // restriction to be lifted in the future) + // nTotalHits() gives sum of valid hits (nFoundHits()) and invalid/missing hits. const int nhits = cand.nTotalHits(); bool lastHitInvalid = false; for (int i = 0; i < nhits; ++i) { diff --git a/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.cc b/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.cc index a3dff95487b4d..9d795d48a4584 100644 --- a/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.cc +++ b/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.cc @@ -5,8 +5,6 @@ #include "Config.h" #include "Debug.h" #include "TrackerInfo.h" -#include "mkFit/IterationConfig.h" -#include "mkFit/HitStructures.h" #include @@ -14,197 +12,10 @@ using namespace mkfit; namespace { #include "createPhase1TrackerGeometryAutoGen.acc" - - void setupSteeringParamsIter0(IterationConfig &ic) { - ic.m_region_order[0] = TrackerInfo::Reg_Transition_Pos; - ic.m_region_order[1] = TrackerInfo::Reg_Transition_Neg; - ic.m_region_order[2] = TrackerInfo::Reg_Endcap_Pos; - ic.m_region_order[3] = TrackerInfo::Reg_Endcap_Neg; - ic.m_region_order[4] = TrackerInfo::Reg_Barrel; - - { - SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Endcap_Neg]; - sp.reserve_plan(3 + 3 + 6 + 18); // BPix + FPix- + TID- + TEC-; BPix4 is out of acceptance - sp.fill_plan(0, 1, false, true); // bk-fit only - sp.append_plan(2, true); // pick-up only - sp.append_plan(45, false); - sp.append_plan(46, false); - sp.append_plan(47, false); - sp.fill_plan(48, 53); // TID, 6 disks (3 mono + 3 stereo) - sp.fill_plan(54, 71); // TEC, 18 disks (3 mono + 3 stereo) - sp.set_iterator_limits(2, 0); - } - { - SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Transition_Neg]; - sp.reserve_plan(4 + 3 + 6 + 6 + 8 + 18); // BPix + FPix- + TIB + TID- + TOB + TEC- - sp.fill_plan(0, 1, false, true); // bk-fit only - sp.append_plan(2, true); - sp.append_plan(3, false); - sp.append_plan(45, false); - sp.append_plan(46, false); - sp.append_plan(47, false); - sp.fill_plan(4, 9); // TIB, 6 layers (4 mono + 2 stereo) - sp.fill_plan(48, 53); // TID, 6 disks (3 mono + 3 stereo) - sp.fill_plan(10, 17); // TOB, 8 layers (6 mono + 2 stereo) - sp.fill_plan(54, 71); // TEC, 18 disks (9 mono + 9 stereo) - sp.set_iterator_limits(2, 0); - } - { - SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Barrel]; - sp.reserve_plan(4 + 6 + 8); // BPix + TIB + TOB - sp.fill_plan(0, 1, false, true); // bk-fit only - sp.append_plan(2, true); // pickup-only - sp.append_plan(3, false); - sp.fill_plan(4, 9); // TIB, 6 layers (4 mono + 2 stereo) - sp.fill_plan(10, 17); // TOB, 8 layers (6 mono + 2 stereo) - sp.set_iterator_limits(2, 0); - } - { - SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Transition_Pos]; - sp.reserve_plan(4 + 3 + 6 + 6 + 8 + 18); // BPix + FPix+ + TIB + TID+ + TOB + TEC+ - sp.fill_plan(0, 1, false, true); // bk-fit only - sp.append_plan(2, true); // pickup-only - sp.append_plan(3, false); - sp.append_plan(18, false); - sp.append_plan(19, false); - sp.append_plan(20, false); - sp.fill_plan(4, 9); // TIB, 6 layers (4 mono + 2 stereo) - sp.fill_plan(21, 26); // TID, 6 disks (3 mono + 3 stereo) - sp.fill_plan(10, 17); // TOB, 8 layers (6 mono + 2 stereo) - sp.fill_plan(27, 44); // TEC, 18 disks (9 mono + 9 stereo) - sp.set_iterator_limits(2, 0); - } - { - SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Endcap_Pos]; - sp.reserve_plan(3 + 3 + 6 + 18); // BPix + FPix+ + TID+ + TEC+; BPix4 is out of acceptance - sp.fill_plan(0, 1, false, true); // bk-fit only - sp.append_plan(2, true); // pickup-only - sp.append_plan(18, false); - sp.append_plan(19, false); - sp.append_plan(20, false); - sp.fill_plan(21, 26); // TID, 6 disks (3 mono + 3 stereo) - sp.fill_plan(27, 44); // TEC, 18 disks (9 mono + 9 stereo) - sp.set_iterator_limits(2, 0); - } - } - - void OverrideSteeringParams_Iter7(IterationConfig &ic) { - ic.m_backward_search = true; - ic.m_backward_params = ic.m_params; - ic.m_backward_params.maxHolesPerCand = 2; - ic.m_backward_params.maxConsecHoles = 2; - // Remove pixel layers from FwdSearch, add them to BkwSearch - auto &spv = ic.m_steering_params; - spv[TrackerInfo::Reg_Endcap_Neg].set_iterator_limits(8, 6, 19); - spv[TrackerInfo::Reg_Transition_Neg].set_iterator_limits(9, 7, 34); - spv[TrackerInfo::Reg_Barrel].set_iterator_limits(6, 4, 8); - spv[TrackerInfo::Reg_Transition_Pos].set_iterator_limits(9, 7, 34); - spv[TrackerInfo::Reg_Endcap_Pos].set_iterator_limits(8, 6, 19); - } - - void OverrideSteeringParams_Iter8(IterationConfig &ic) { - ic.m_backward_search = true; - ic.m_backward_params = ic.m_params; - ic.m_backward_params.maxHolesPerCand = 2; - ic.m_backward_params.maxConsecHoles = 2; - // Remove pixel/tib/tid layers from FwdSearch, add them to BkwSearch/ - auto &spv = ic.m_steering_params; - spv[TrackerInfo::Reg_Endcap_Neg].set_iterator_limits(12, 12, 24); - spv[TrackerInfo::Reg_Transition_Neg].set_iterator_limits(27, 19, 39); - spv[TrackerInfo::Reg_Barrel].set_iterator_limits(12, 10, 14); - spv[TrackerInfo::Reg_Transition_Pos].set_iterator_limits(27, 19, 39); - spv[TrackerInfo::Reg_Endcap_Pos].set_iterator_limits(12, 12, 24); - } - - void partitionSeeds0(const TrackerInfo &trk_info, - const TrackVec &in_seeds, - const EventOfHits &eoh, - IterationSeedPartition &part) { - // Seeds are placed into eta regions and sorted on region + eta. - - const int size = in_seeds.size(); - - for (int i = 0; i < size; ++i) { - const Track &S = in_seeds[i]; - - const bool z_dir_pos = S.pz() > 0; - - HitOnTrack hot = S.getLastHitOnTrack(); - // MIMI ACHTUNG -- here we assume seed hits have already been remapped. - // This was true at that time :) - float eta = eoh[hot.layer].GetHit(hot.index).eta(); - // float eta = S.momEta(); - - // Region to be defined by propagation / intersection tests - TrackerInfo::EtaRegion reg; - - // Hardcoded for cms ... needs some lists of layers (hit/miss) for brl / ecp tests. - // MM: Check lambda functions/std::function - const LayerInfo &outer_brl = trk_info.outer_barrel_layer(); - - const LayerInfo &tib1 = trk_info.m_layers[4]; - const LayerInfo &tob1 = trk_info.m_layers[10]; - - const LayerInfo &tecp1 = trk_info.m_layers[27]; - const LayerInfo &tecn1 = trk_info.m_layers[54]; - - const LayerInfo &tec_first = z_dir_pos ? tecp1 : tecn1; - - // If a track hits outer barrel ... it is in the barrel (for central, "outgoing" tracks). - // This is also true for cyl-cow. - // Better check is: hits outer TIB, misses inner TEC (but is +-z dependant). - // XXXX Calculate z ... then check is inside or less that first EC z. - // There are a lot of tracks that go through that crack. - - // XXXX trying a fix for low pT tracks that are in barrel after half circle - float maxR = S.maxReachRadius(); - float z_at_maxr; - - bool can_reach_outer_brl = S.canReachRadius(outer_brl.m_rout); - float z_at_outer_brl; - bool misses_first_tec; - if (can_reach_outer_brl) { - z_at_outer_brl = S.zAtR(outer_brl.m_rout); - if (z_dir_pos) - misses_first_tec = z_at_outer_brl < tec_first.m_zmin; - else - misses_first_tec = z_at_outer_brl > tec_first.m_zmax; - } else { - z_at_maxr = S.zAtR(maxR); - if (z_dir_pos) - misses_first_tec = z_at_maxr < tec_first.m_zmin; - else - misses_first_tec = z_at_maxr > tec_first.m_zmax; - } - - if (/*can_reach_outer_brl &&*/ misses_first_tec) - // outer_brl.is_within_z_limits(S.zAtR(outer_brl.r_mean()))) - { - reg = TrackerInfo::Reg_Barrel; - } else { - // This should be a list of layers - // CMS, first tib, tob: 4, 10 - - if ((S.canReachRadius(tib1.m_rin) && tib1.is_within_z_limits(S.zAtR(tib1.m_rin))) || - (S.canReachRadius(tob1.m_rin) && tob1.is_within_z_limits(S.zAtR(tob1.m_rin)))) { - // transition region ... we are still hitting barrel layers - - reg = z_dir_pos ? TrackerInfo::Reg_Transition_Pos : TrackerInfo::Reg_Transition_Neg; - } else { - // endcap ... no barrel layers will be hit anymore. - - reg = z_dir_pos ? TrackerInfo::Reg_Endcap_Pos : TrackerInfo::Reg_Endcap_Neg; - } - } - - part.m_region[i] = reg; - part.m_sort_score[i] = 5.0f * (reg - 2) + eta; - } - } } // namespace namespace mkfit { - void createPhase1TrackerGeometry(TrackerInfo &ti, IterationsInfo &ii, bool verbose) { + void createPhase1TrackerGeometry(TrackerInfo &ti, bool verbose) { // TODO: these writes to global variables need to be removed Config::nTotalLayers = 18 + 2 * 27; @@ -220,46 +31,7 @@ namespace mkfit { ti.set_eta_regions(0.9, 1.7, 2.45, false); ti.create_layers(18, 27, 27); - - ii.resize(10); - ii[0].set_iteration_index_and_track_algorithm(0, (int)TrackBase::TrackAlgorithm::initialStep); - ii[0].set_num_regions_layers(5, 72); - - createPhase1TrackerGeometryAutoGen(ti, ii); - - setupSteeringParamsIter0(ii[0]); - ii[0].m_partition_seeds = partitionSeeds0; - - ii[1].Clone(ii[0]); - ii[1].set_iteration_index_and_track_algorithm(1, (int)TrackBase::TrackAlgorithm::highPtTripletStep); - - ii[2].Clone(ii[0]); - ii[2].set_iteration_index_and_track_algorithm(2, (int)TrackBase::TrackAlgorithm::lowPtQuadStep); - - ii[3].Clone(ii[0]); - ii[3].set_iteration_index_and_track_algorithm(3, (int)TrackBase::TrackAlgorithm::lowPtTripletStep); - - ii[4].Clone(ii[0]); - ii[4].set_iteration_index_and_track_algorithm(4, (int)TrackBase::TrackAlgorithm::detachedQuadStep); - - ii[5].Clone(ii[0]); - ii[5].set_iteration_index_and_track_algorithm(5, (int)TrackBase::TrackAlgorithm::detachedTripletStep); - - ii[6].Clone(ii[0]); - ii[6].set_iteration_index_and_track_algorithm(6, (int)TrackBase::TrackAlgorithm::mixedTripletStep); - - ii[7].Clone(ii[0]); - OverrideSteeringParams_Iter7(ii[7]); - ii[7].set_iteration_index_and_track_algorithm(7, (int)TrackBase::TrackAlgorithm::pixelLessStep); - - ii[8].Clone(ii[0]); - OverrideSteeringParams_Iter8(ii[8]); - ii[8].set_iteration_index_and_track_algorithm(8, (int)TrackBase::TrackAlgorithm::tobTecStep); - - ii[9].Clone(ii[0]); - ii[9].set_iteration_index_and_track_algorithm(9, (int)TrackBase::TrackAlgorithm::pixelPairStep); - - // for iters [7] and [8]: investing in maxCand & stop condition (for time) + QF and Dupl. cleaning (for quality) + createPhase1TrackerGeometryAutoGen(ti); // TODO: replace with MessageLogger if (verbose) { diff --git a/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.h b/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.h index 0b90f711df105..2036aaccdee20 100644 --- a/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.h +++ b/RecoTracker/MkFit/plugins/createPhase1TrackerGeometry.h @@ -3,9 +3,8 @@ namespace mkfit { class TrackerInfo; - class IterationsInfo; - void createPhase1TrackerGeometry(TrackerInfo &ti, IterationsInfo &ii, bool verbose); + void createPhase1TrackerGeometry(TrackerInfo &ti, bool verbose); } // namespace mkfit #endif diff --git a/RecoTracker/MkFit/plugins/createPhase1TrackerGeometryAutoGen.acc b/RecoTracker/MkFit/plugins/createPhase1TrackerGeometryAutoGen.acc index b68a96428bdbe..68229b38d0f7f 100644 --- a/RecoTracker/MkFit/plugins/createPhase1TrackerGeometryAutoGen.acc +++ b/RecoTracker/MkFit/plugins/createPhase1TrackerGeometryAutoGen.acc @@ -1,4 +1,4 @@ -void createPhase1TrackerGeometryAutoGen(TrackerInfo &ti, IterationsInfo &ii) { +void createPhase1TrackerGeometryAutoGen(TrackerInfo &ti) { // PIXB { @@ -845,298 +845,4 @@ void createPhase1TrackerGeometryAutoGen(TrackerInfo &ti, IterationsInfo &ii) { obj.m_is_stereo_lyr = true; obj.m_is_tec_lyr = true; } - - // Iteration 0 (default) - - { - IterationConfig &ic = ii[0]; - { - IterationLayerConfig &obj = ic.layer(0); - obj.set_selection_limits(0.010000, 0.050000, 1.000000, 2.000000); - } - { - IterationLayerConfig &obj = ic.layer(1); - obj.set_selection_limits(0.010000, 0.050000, 1.000000, 2.000000); - } - { - IterationLayerConfig &obj = ic.layer(2); - obj.set_selection_limits(0.010000, 0.050000, 1.000000, 2.000000); - } - { - IterationLayerConfig &obj = ic.layer(3); - obj.set_selection_limits(0.010000, 0.050000, 1.000000, 2.000000); - } - { - IterationLayerConfig &obj = ic.layer(4); - obj.set_selection_limits(0.010000, 0.015000, 6.000000, 12.000000); - } - { - IterationLayerConfig &obj = ic.layer(5); - obj.set_selection_limits(0.023000, 0.030000, 6.000000, 12.000000); - } - { - IterationLayerConfig &obj = ic.layer(6); - obj.set_selection_limits(0.010000, 0.015000, 6.000000, 12.000000); - } - { - IterationLayerConfig &obj = ic.layer(7); - obj.set_selection_limits(0.016000, 0.030000, 6.000000, 12.000000); - } - { - IterationLayerConfig &obj = ic.layer(8); - obj.set_selection_limits(0.010000, 0.015000, 6.000000, 12.000000); - } - { - IterationLayerConfig &obj = ic.layer(9); - obj.set_selection_limits(0.010000, 0.015000, 6.000000, 12.000000); - } - { - IterationLayerConfig &obj = ic.layer(10); - obj.set_selection_limits(0.010000, 0.015000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(11); - obj.set_selection_limits(0.016000, 0.030000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(12); - obj.set_selection_limits(0.010000, 0.015000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(13); - obj.set_selection_limits(0.013000, 0.030000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(14); - obj.set_selection_limits(0.010000, 0.015000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(15); - obj.set_selection_limits(0.010000, 0.015000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(16); - obj.set_selection_limits(0.010000, 0.015000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(17); - obj.set_selection_limits(0.010000, 0.015000, 9.500000, 19.000000); - } - { - IterationLayerConfig &obj = ic.layer(18); - obj.set_selection_limits(0.010000, 0.015000, 0.800000, 1.600000); - } - { - IterationLayerConfig &obj = ic.layer(19); - obj.set_selection_limits(0.010000, 0.015000, 0.800000, 1.600000); - } - { - IterationLayerConfig &obj = ic.layer(20); - obj.set_selection_limits(0.010000, 0.015000, 0.800000, 1.600000); - } - { - IterationLayerConfig &obj = ic.layer(21); - obj.set_selection_limits(0.010000, 0.015000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(22); - obj.set_selection_limits(0.010000, 0.030000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(23); - obj.set_selection_limits(0.010000, 0.015000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(24); - obj.set_selection_limits(0.010000, 0.030000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(25); - obj.set_selection_limits(0.010000, 0.015000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(26); - obj.set_selection_limits(0.010000, 0.030000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(27); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(28); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(29); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(30); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(31); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(32); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(33); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(34); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(35); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(36); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(37); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(38); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(39); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(40); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(41); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(42); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(43); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(44); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(45); - obj.set_selection_limits(0.010000, 0.015000, 0.800000, 1.600000); - } - { - IterationLayerConfig &obj = ic.layer(46); - obj.set_selection_limits(0.010000, 0.015000, 0.800000, 1.600000); - } - { - IterationLayerConfig &obj = ic.layer(47); - obj.set_selection_limits(0.010000, 0.015000, 0.800000, 1.600000); - } - { - IterationLayerConfig &obj = ic.layer(48); - obj.set_selection_limits(0.010000, 0.015000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(49); - obj.set_selection_limits(0.010000, 0.030000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(50); - obj.set_selection_limits(0.010000, 0.015000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(51); - obj.set_selection_limits(0.010000, 0.030000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(52); - obj.set_selection_limits(0.010000, 0.015000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(53); - obj.set_selection_limits(0.010000, 0.030000, 5.500000, 11.000000); - } - { - IterationLayerConfig &obj = ic.layer(54); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(55); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(56); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(57); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(58); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(59); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(60); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(61); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(62); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(63); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(64); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(65); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(66); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(67); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(68); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(69); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(70); - obj.set_selection_limits(0.010000, 0.015000, 10.000000, 20.000000); - } - { - IterationLayerConfig &obj = ic.layer(71); - obj.set_selection_limits(0.010000, 0.030000, 10.000000, 20.000000); - } - } } diff --git a/RecoTracker/MkFit/src/MkFitGeometry.cc b/RecoTracker/MkFit/src/MkFitGeometry.cc index fe004dea6e1dd..35616f90b902b 100644 --- a/RecoTracker/MkFit/src/MkFitGeometry.cc +++ b/RecoTracker/MkFit/src/MkFitGeometry.cc @@ -7,7 +7,6 @@ #include "LayerNumberConverter.h" #include "TrackerInfo.h" -#include "mkFit/IterationConfig.h" namespace { bool isPlusSide(const TrackerTopology& ttopo, DetId detid) { @@ -18,12 +17,10 @@ namespace { MkFitGeometry::MkFitGeometry(const TrackerGeometry& geom, const GeometricSearchTracker& tracker, const TrackerTopology& ttopo, - std::unique_ptr trackerInfo, - std::unique_ptr iterationsInfo) + std::unique_ptr trackerInfo) : ttopo_(&ttopo), lnc_{std::make_unique(mkfit::TkLayout::phase1)}, - trackerInfo_(std::move(trackerInfo)), - iterationsInfo_(std::move(iterationsInfo)) { + trackerInfo_(std::move(trackerInfo)) { if (geom.numberOfLayers(PixelSubdetector::PixelBarrel) != 4 || geom.numberOfLayers(PixelSubdetector::PixelEndcap) != 3) { throw cms::Exception("Assert") << "For now this code works only with phase1 tracker, you have something else";