42 std::vector<std::vector<uint32_t> >& trackCandidates)
const
45 + std::to_string(runNumber) +
"_" + std::to_string(eventNumber) +
".csv";
47 trackCandidates.clear();
48 std::ifstream csvFile(fileName);
50 if (!csvFile.is_open()) {
58 while(std::getline(csvFile, line)){
59 std::stringstream lineStream(line);
61 std::vector<uint32_t> trackCandidate;
64 if (line.find(delimiter) == std::string::npos) {
67 while (std::getline(lineStream, cell, delimiter)) {
70 cellId = std::stoi(cell);
71 }
catch (
const std::invalid_argument& ia) {
72 std::cout <<
"Invalid argument: " << ia.what() <<
" for cell " << cell << std::endl;
76 if (std::find(trackCandidate.begin(), trackCandidate.end(), cellId) == trackCandidate.end()) {
77 trackCandidate.push_back(cellId);
80 trackCandidates.push_back(std::move(trackCandidate));
88 uint32_t runNumber, uint32_t eventNumber,
89 std::vector<std::vector<uint32_t>>& trackCandidates,
90 std::vector<std::vector<uint32_t>>& seeds)
const {
92 std::to_string(runNumber) +
"_" +
93 std::to_string(eventNumber) +
".csv";
95 trackCandidates.clear();
96 std::ifstream csvFile(fileName);
98 if (!csvFile.is_open()) {
106 while (std::getline(csvFile, line)) {
107 std::istringstream lineStream(line);
108 std::string CLString, SPString;
109 char delimiter =
',';
110 if (line.find(delimiter) == std::string::npos) {
114 if (std::getline(lineStream, CLString,
'|') &&
115 std::getline(lineStream, SPString)) {
116 std::istringstream CLStream(CLString), SPStream(SPString);
117 std::vector<uint32_t> cls, sps;
120 while (std::getline(CLStream,
number, delimiter)) {
121 cls.push_back(std::stoi(
number));
124 while (std::getline(SPStream,
number, delimiter)) {
125 sps.push_back(std::stoi(
number));
128 trackCandidates.push_back(std::move(cls));
129 seeds.push_back(std::move(sps));
134 ATH_MSG_DEBUG(
"Length of track list " << trackCandidates.size());