|
10 | 10 | // or submit itself to any jurisdiction. |
11 | 11 |
|
12 | 12 | /// \file upcCandProducerBarrel.cxx |
13 | | -/// \brief Compact two-track double-gap candidate table producer for exclusive diffraction and UPC studies. |
| 13 | +/// \brief Compact candidate table producer for diffraction and UPC studies. |
14 | 14 | /// Requires: event selection, propagation, TPC PID and TOF PID services |
15 | 15 | /// \author Nazar Burmasov (JINR), Evgeny Kryshen (JINR) |
16 | 16 |
|
@@ -185,7 +185,7 @@ struct UpcCandProducerBarrel { |
185 | 185 | int tfEndBorder = 0; |
186 | 186 | std::bitset<NBCsPerOrbit> collidingBCs; |
187 | 187 |
|
188 | | - Configurable<size_t> candidateTrackCount{"candidateTrackCount", 2, "Required N tracks in selected collisions"}; |
| 188 | + Configurable<int> nTracks{"nTracks", 2, "Required N tracks in selected collisions"}; |
189 | 189 | Configurable<float> maxAbsEta{"maxAbsEta", 0.8f, "Maximum |eta| of selected tracks"}; |
190 | 190 | Configurable<float> minPt{"minPt", 0.2f, "Minimum pT of selected tracks (GeV/c)"}; |
191 | 191 | Configurable<int> vetoBCWindow{"vetoBCWindow", 0, "FIT veto half-window in BC; <0 disables"}; |
@@ -252,7 +252,6 @@ struct UpcCandProducerBarrel { |
252 | 252 | std::vector<uint8_t> tfPassesRCT; |
253 | 253 | std::vector<size_t> localTFIndex; |
254 | 254 | localTFIndex.reserve(bcs.size()); |
255 | | - const auto bcOffset = bcs.begin().globalIndex(); |
256 | 255 | for (const auto& bc : bcs) { |
257 | 256 | const auto tfID = static_cast<uint32_t>((static_cast<int64_t>(bc.globalBC()) - bcSOR) / nBCsPerTF); |
258 | 257 | if (tfIDs.empty() || tfID != tfIDs.back()) { |
@@ -330,12 +329,12 @@ struct UpcCandProducerBarrel { |
330 | 329 | } |
331 | 330 |
|
332 | 331 | for (const auto& collision : collisions) { |
333 | | - if (collision.numContrib() != candidateTrackCount || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !rctChecker(collision)) { |
| 332 | + if (collision.numContrib() != nTracks || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !rctChecker(collision)) { |
334 | 333 | continue; |
335 | 334 | } |
336 | 335 | auto bc = collision.bc_as<BCsWithSels>(); |
337 | 336 | auto gbc = bc.globalBC(); |
338 | | - const auto iTF = localTFIndex[bc.globalIndex() - bcOffset]; |
| 337 | + const auto iTF = localTFIndex[bc.globalIndex()]; |
339 | 338 | const int64_t bcInTF = (static_cast<int64_t>(gbc) - bcSOR) % nBCsPerTF; |
340 | 339 | const auto distFT0 = minDistanceFT0[iTF][bcInTF]; |
341 | 340 | const auto distFV0 = minDistanceFV0[iTF][bcInTF]; |
@@ -370,7 +369,7 @@ struct UpcCandProducerBarrel { |
370 | 369 | nClusters.push_back(track.tpcNClsFound()); |
371 | 370 | sign.push_back(track.sign()); |
372 | 371 | } |
373 | | - if (px.size() != candidateTrackCount) { |
| 372 | + if (px.size() != static_cast<size_t>(nTracks)) { |
374 | 373 | continue; |
375 | 374 | } |
376 | 375 | selectedCandidates(bc.runNumber(), gbc, tfIDs[iTF], bc.timestamp(), collision.posX(), collision.posY(), collision.posZ(), |
|
0 commit comments