45 std::vector<eflowRecTrack*> tracksToConsider; tracksToConsider.clear();
46 unsigned int nTrack = tracksToRecover.size();
47 for (
unsigned int iTrack=0; iTrack<nTrack; ++iTrack) {
50 std::unique_ptr<eflowCaloObject> calob = std::make_unique<eflowCaloObject>();
52 caloObjectContainer->
push_back(std::move(calob));
55 tracksToConsider.push_back(thisEflowRecTrack);
60 unsigned int nClusters = clustersToConsider.size();
61 for (
unsigned int iCluster = 0; iCluster < nClusters; ++iCluster) {
64 std::unique_ptr<eflowCaloObject> thisEflowCaloObject = std::make_unique<eflowCaloObject>();
65 thisEflowCaloObject->
addCluster(thisEFRecCluster);
66 caloObjectContainer->
push_back(std::move(thisEflowCaloObject));
72 if (!tracksToConsider.empty()){
77 std::vector<eflowRecTrack*> trackForNextLoop; trackForNextLoop.clear();
78 std::vector<eflowRecCluster*> clusterForNextLoop; clusterForNextLoop.clear();
81 std::vector<eflowRecTrack*> trackList; trackList.clear();
82 std::vector<eflowRecCluster*> clusterList; clusterList.clear();
85 trackForNextLoop.push_back(tracksToConsider.at(0));
86 trackList.insert(trackList.end(), trackForNextLoop.begin(), trackForNextLoop.end());
91 clusterForNextLoop =
uniqCluster(trackForNextLoop, clusterList);
92 if(clusterForNextLoop.empty())
break;
93 clusterList.insert(clusterList.end(), clusterForNextLoop.begin(), clusterForNextLoop.end());
94 trackForNextLoop =
uniqTrack(clusterForNextLoop, trackList);
95 if (trackForNextLoop.empty())
break;
96 trackList.insert(trackList.end(), trackForNextLoop.begin(), trackForNextLoop.end());
100 std::unique_ptr<eflowCaloObject> thisEflowCaloObject = std::make_unique<eflowCaloObject>();
101 thisEflowCaloObject->
addTracks(trackList);
104 for(
auto *itr_cluster : clusterList) {
107 caloObjectContainer->
push_back(std::move(thisEflowCaloObject));
111 if(tracksToConsider.empty()) {