File indexing completed on 2023-03-17 11:12:37
0001 #include "L1Trigger/L1TMuonBarrel/interface/L1TMuonBarrelKalmanTrackFinder.h"
0002
0003 L1TMuonBarrelKalmanTrackFinder::L1TMuonBarrelKalmanTrackFinder(const edm::ParameterSet& iConfig)
0004 : verbose_(iConfig.getParameter<int>("verbose")) {
0005 std::vector<int> sectors = iConfig.getParameter<std::vector<int> >("sectorsToProcess");
0006 for (const auto sector : sectors)
0007 sectors_.push_back(
0008 L1TMuonBarrelKalmanSectorProcessor(iConfig.getParameter<edm::ParameterSet>("sectorSettings"), sector));
0009 }
0010
0011 L1TMuonBarrelKalmanTrackFinder::~L1TMuonBarrelKalmanTrackFinder() {}
0012
0013 L1MuKBMTrackCollection L1TMuonBarrelKalmanTrackFinder::process(L1TMuonBarrelKalmanAlgo* trackMaker,
0014 const L1MuKBMTCombinedStubRefVector& stubsAll,
0015 int bx) {
0016 L1MuKBMTrackCollection pretracks;
0017 for (auto& sector : sectors_) {
0018 L1MuKBMTrackCollection tmp = sector.process(trackMaker, stubsAll, bx);
0019 if (!tmp.empty())
0020 pretracks.insert(pretracks.end(), tmp.begin(), tmp.end());
0021 }
0022 if (verbose_) {
0023 printf(" -----Track Finder Kalman Tracks (Uncleaned!)-----\n");
0024 for (const auto& track1 : pretracks)
0025 printf("Kalman Track charge=%d pt=%f eta=%f phi=%f curvature=%d curvature STA =%d stubs=%d chi2=%d pts=%f %f\n",
0026 track1.charge(),
0027 track1.pt(),
0028 track1.eta(),
0029 track1.phi(),
0030 track1.curvatureAtVertex(),
0031 track1.curvatureAtMuon(),
0032 int(track1.stubs().size()),
0033 track1.approxChi2(),
0034 track1.pt(),
0035 track1.ptUnconstrained());
0036 }
0037 return pretracks;
0038 }