21 std::cout <<
"TrackClusterizerInZ: algorithm=gap, zSeparation=" << zSep << std::endl;
28 vector<reco::TransientTrack> tks =
tracks;
30 vector<vector<reco::TransientTrack> >
clusters;
35 stable_sort(tks.begin(), tks.end(), recTrackLessZ);
38 vector<reco::TransientTrack>::const_iterator it = tks.begin();
39 vector<reco::TransientTrack> currentCluster;
40 currentCluster.push_back(*it);
43 for (; it != tks.end(); it++) {
44 double zPrev = currentCluster.back().stateAtBeamLine().trackStateAtPCA().position().z();
45 double zCurr = (*it).stateAtBeamLine().trackStateAtPCA().position().z();
49 currentCluster.push_back(*it);
52 clusters.push_back(currentCluster);
53 currentCluster.clear();
54 currentCluster.push_back(*it);
59 clusters.push_back(currentCluster);
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
GapClusterizerInZ(const edm::ParameterSet &conf)
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
float zSeparation() const
Abs< T >::type abs(const T &t)
FTS const & trackStateAtPCA() const
std::vector< std::vector< reco::TransientTrack > > clusterize(const std::vector< reco::TransientTrack > &tracks) const override
GlobalPoint position() const