From 9b94555f754079feffd4a77f1509b130e7160ec5 Mon Sep 17 00:00:00 2001 From: nburmaso Date: Thu, 7 Sep 2023 16:28:23 +0300 Subject: [PATCH 1/3] Add process for forward region and bugfixes --- PWGUD/TableProducer/UPCCandidateProducer.cxx | 231 ++++++++++++++----- 1 file changed, 179 insertions(+), 52 deletions(-) diff --git a/PWGUD/TableProducer/UPCCandidateProducer.cxx b/PWGUD/TableProducer/UPCCandidateProducer.cxx index 15fd2454d0a..16d00546b50 100644 --- a/PWGUD/TableProducer/UPCCandidateProducer.cxx +++ b/PWGUD/TableProducer/UPCCandidateProducer.cxx @@ -73,8 +73,7 @@ struct UpcCandProducer { using BarrelTracks = o2::soa::Join; + o2::aod::TOFSignal, o2::aod::pidTOFFullEl, o2::aod::pidTOFFullMu, o2::aod::pidTOFFullPi, o2::aod::pidTOFFullKa, o2::aod::pidTOFFullPr>; typedef std::pair> BCTracksPair; @@ -303,7 +302,6 @@ struct UpcCandProducer { track.tpcNClsShared(), track.trdPattern(), track.itsChi2NCl(), track.tpcChi2NCl(), track.trdChi2(), track.tofChi2(), track.tpcSignal(), track.tofSignal(), track.trdSignal(), track.length(), track.tofExpMom(), track.detectorMap()); udTracksPID(track.tpcNSigmaEl(), track.tpcNSigmaMu(), track.tpcNSigmaPi(), track.tpcNSigmaKa(), track.tpcNSigmaPr(), - track.beta(), track.betaerror(), track.tofNSigmaEl(), track.tofNSigmaMu(), track.tofNSigmaPi(), track.tofNSigmaKa(), track.tofNSigmaPr()); udTracksDCA(track.dcaZ(), track.dcaXY()); udTracksFlags(colId, track.isPVContributor()); @@ -370,61 +368,67 @@ struct UpcCandProducer { const auto& bc = bcs.iteratorAt(bcGlId); if (bc.has_foundFT0()) { const auto& ft0 = bc.foundFT0(); - fitInfo.timeFT0A = ft0.timeA(); - fitInfo.timeFT0C = ft0.timeC(); - const auto& ampsA = ft0.amplitudeA(); - const auto& ampsC = ft0.amplitudeC(); - fitInfo.ampFT0A = 0.; - for (auto amp : ampsA) - fitInfo.ampFT0A += amp; - fitInfo.ampFT0C = 0.; - for (auto amp : ampsC) - fitInfo.ampFT0C += amp; - fitInfo.triggerMaskFT0 = ft0.triggerMask(); - if (!bc.selection_bit(o2::aod::evsel::kNoBGT0A)) + if (curbc == midbc) { + fitInfo.timeFT0A = ft0.timeA(); + fitInfo.timeFT0C = ft0.timeC(); + const auto& ampsA = ft0.amplitudeA(); + const auto& ampsC = ft0.amplitudeC(); + fitInfo.ampFT0A = 0.; + for (auto amp : ampsA) + fitInfo.ampFT0A += amp; + fitInfo.ampFT0C = 0.; + for (auto amp : ampsC) + fitInfo.ampFT0C += amp; + fitInfo.triggerMaskFT0 = ft0.triggerMask(); + } + if (!bc.selection_bit(evsel::kNoBGT0A)) SETBIT(fitInfo.BGFT0Apf, bit); - if (!bc.selection_bit(o2::aod::evsel::kNoBGT0C)) + if (!bc.selection_bit(evsel::kNoBGT0C)) SETBIT(fitInfo.BGFT0Cpf, bit); - if (bc.selection_bit(o2::aod::evsel::kIsBBT0A)) + if (bc.selection_bit(evsel::kIsBBT0A)) SETBIT(fitInfo.BBFT0Apf, bit); - if (bc.selection_bit(o2::aod::evsel::kIsBBT0C)) + if (bc.selection_bit(evsel::kIsBBT0C)) SETBIT(fitInfo.BBFT0Cpf, bit); } if (bc.has_foundFV0()) { const auto& fv0a = bc.foundFV0(); - fitInfo.timeFV0A = fv0a.time(); - const auto& amps = fv0a.amplitude(); - fitInfo.ampFV0A = 0.; - for (auto amp : amps) - fitInfo.ampFV0A += amp; - fitInfo.triggerMaskFV0A = fv0a.triggerMask(); - if (!bc.selection_bit(o2::aod::evsel::kNoBGV0A)) + if (curbc == midbc) { + fitInfo.timeFV0A = fv0a.time(); + const auto& amps = fv0a.amplitude(); + fitInfo.ampFV0A = 0.; + for (auto amp : amps) + fitInfo.ampFV0A += amp; + fitInfo.triggerMaskFV0A = fv0a.triggerMask(); + } + if (!bc.selection_bit(evsel::kNoBGV0A)) SETBIT(fitInfo.BGFV0Apf, bit); - if (bc.selection_bit(o2::aod::evsel::kIsBBV0A)) + if (bc.selection_bit(evsel::kIsBBV0A)) SETBIT(fitInfo.BBFV0Apf, bit); } if (bc.has_foundFDD()) { const auto& fdd = bc.foundFDD(); - fitInfo.timeFDDA = fdd.timeA(); - fitInfo.timeFDDC = fdd.timeC(); - const auto& ampsA = fdd.chargeA(); - const auto& ampsC = fdd.chargeC(); - fitInfo.ampFDDA = 0.; - for (auto amp : ampsA) { - fitInfo.ampFDDA += amp; - } - fitInfo.ampFDDC = 0.; - for (auto amp : ampsC) { - fitInfo.ampFDDC += amp; + if (curbc == midbc) { + fitInfo.timeFDDA = fdd.timeA(); + fitInfo.timeFDDC = fdd.timeC(); + const auto& ampsA = fdd.chargeA(); + const auto& ampsC = fdd.chargeC(); + fitInfo.ampFDDA = 0.; + for (auto amp : ampsA) { + fitInfo.ampFDDA += amp; + } + fitInfo.ampFDDC = 0.; + for (auto amp : ampsC) { + fitInfo.ampFDDC += amp; + } + fitInfo.triggerMaskFDD = fdd.triggerMask(); } - fitInfo.triggerMaskFDD = fdd.triggerMask(); - if (!bc.selection_bit(o2::aod::evsel::kNoBGFDA)) + if (!bc.selection_bit(evsel::kNoBGFDA)) SETBIT(fitInfo.BGFDDApf, bit); - if (!bc.selection_bit(o2::aod::evsel::kNoBGFDC)) + if (!bc.selection_bit(evsel::kNoBGFDC)) SETBIT(fitInfo.BGFDDCpf, bit); - if (bc.selection_bit(o2::aod::evsel::kIsBBFDA)) + if (bc.selection_bit(evsel::kIsBBFDA)) SETBIT(fitInfo.BBFDDApf, bit); - if (bc.selection_bit(o2::aod::evsel::kIsBBFDC)) + if (bc.selection_bit(evsel::kIsBBFDC)) SETBIT(fitInfo.BBFDDCpf, bit); } ++curit; @@ -537,7 +541,7 @@ struct UpcCandProducer { } else { trackBC = ambIter->second; } - int64_t tint = std::round(trk.trackTime() / o2::constants::lhc::LHCBunchSpacingNS); + int64_t tint = TMath::FloorNint(trk.trackTime() / o2::constants::lhc::LHCBunchSpacingNS); uint64_t bc = trackBC + tint; if (bc > fMaxBC) continue; @@ -719,10 +723,10 @@ struct UpcCandProducer { const o2::aod::McTrackLabels* mcBarrelTrackLabels, const o2::aod::McFwdTrackLabels* mcFwdTrackLabels) { - LOGP(debug, "barrelTracks.size()={}", barrelTracks.size()); - LOGP(debug, "ambBarrelTracks.size()={}", ambBarrelTracks.size()); - LOGP(debug, "fwdTracks.size()={}", fwdTracks.size()); - LOGP(debug, "ambFwdTracks.size()={}", ambFwdTracks.size()); + // LOGP(info, "barrelTracks.size()={}", barrelTracks.size()); + // LOGP(info, "ambBarrelTracks.size()={}", ambBarrelTracks.size()); + // LOGP(info, "fwdTracks.size()={}", fwdTracks.size()); + // LOGP(info, "ambFwdTracks.size()={}", ambFwdTracks.size()); fMaxBC = bcs.iteratorAt(bcs.size() - 1).globalBC(); // restrict ITS-TPC track search to [0, fMaxBC] @@ -746,8 +750,8 @@ struct UpcCandProducer { bcs, collisions, barrelTracks, ambBarrelTracks, ambBarrelTrBCs); - LOGP(debug, "bcsMatchedTrIdsMID.size()={}", bcsMatchedTrIdsMID.size()); - LOGP(debug, "bcsMatchedTrIdsTOF.size()={}", bcsMatchedTrIdsTOF.size()); + // LOGP(info, "bcsMatchedTrIdsMID.size()={}", bcsMatchedTrIdsMID.size()); + // LOGP(info, "bcsMatchedTrIdsTOF.size()={}", bcsMatchedTrIdsTOF.size()); uint32_t nBCsWithITSTPC = bcsMatchedTrIdsITSTPC.size(); uint32_t nBCsWithMID = bcsMatchedTrIdsMID.size(); @@ -830,12 +834,14 @@ struct UpcCandProducer { uint32_t nMIDtracks = fwdTrackIDs.size(); uint32_t nBarrelTracks = barrelTrackIDs.size(); // TOF + ITS-TPC tracks uint16_t numContrib = nBarrelTracks + nMIDtracks; + uint64_t bc = pairMID.first; // sanity check - if (nBarrelTracks != fNBarProngs || nMIDtracks != fNFwdProngs) + // LOGP(info, "bc: {}, nBarrelTracks:{}, nMIDtracks:{} ", bc, nBarrelTracks, nMIDtracks); + if (nBarrelTracks != fNBarProngs || nMIDtracks != fNFwdProngs) { continue; + } // fetching FT0, FDD, FV0 information // if there is no relevant signal, dummy info will be used - uint64_t bc = pairMID.first; upchelpers::FITInfo fitInfo{}; processFITInfo(fitInfo, bc, indexBCglId, bcs, ft0s, fdds, fv0as); if (fFilterFT0) { @@ -854,7 +860,7 @@ struct UpcCandProducer { RgtrwTOF = RgtrwTOF / static_cast(numContrib); // store used tracks fillFwdTracks(fwdTracks, fwdTrackIDs, candID, bc, mcFwdTrackLabels); - fillBarrelTracks(barrelTracks, barrelTrackIDs, candID, bc, mcBarrelTrackLabels, ambFwdTrBCs); + fillBarrelTracks(barrelTracks, barrelTrackIDs, candID, bc, mcBarrelTrackLabels, ambBarrelTrBCs); eventCandidates(bc, runNumber, dummyX, dummyY, dummyZ, numContrib, netCharge, RgtrwTOF); eventCandidatesSels(fitInfo.ampFT0A, fitInfo.ampFT0C, fitInfo.timeFT0A, fitInfo.timeFT0C, fitInfo.triggerMaskFT0, fitInfo.ampFDDA, fitInfo.ampFDDC, fitInfo.timeFDDA, fitInfo.timeFDDC, fitInfo.triggerMaskFDD, @@ -872,6 +878,90 @@ struct UpcCandProducer { bcsMatchedTrIdsTOFTagged.clear(); } + void createCandidatesFwd(ForwardTracks const& fwdTracks, + o2::aod::AmbiguousFwdTracks const& ambFwdTracks, + BCsWithBcSels const& bcs, + o2::aod::Collisions const& collisions, + o2::aod::FT0s const& ft0s, + o2::aod::FDDs const& fdds, + o2::aod::FV0As const& fv0as, + const o2::aod::McFwdTrackLabels* mcFwdTrackLabels) + { + fMaxBC = bcs.iteratorAt(bcs.size() - 1).globalBC(); // restrict ITS-TPC track search to [0, fMaxBC] + + // pairs of global BCs and vectors of matched track IDs: + std::vector bcsMatchedTrIdsMID; + + // trackID -> index in amb. track table + std::unordered_map ambFwdTrBCs; + collectAmbTrackBCs<1>(ambFwdTrBCs, ambFwdTracks); + + collectForwardTracks(bcsMatchedTrIdsMID, + bcs, collisions, + fwdTracks, ambFwdTracks, ambFwdTrBCs); + + uint32_t nBCsWithMID = bcsMatchedTrIdsMID.size(); + + std::sort(bcsMatchedTrIdsMID.begin(), bcsMatchedTrIdsMID.end(), + [](const auto& left, const auto& right) { return left.first < right.first; }); + + // todo: calculate position of UD collision? + float dummyX = 0.; + float dummyY = 0.; + float dummyZ = 0.; + + std::vector> indexBCglId; + indexBCglId.reserve(bcs.size()); + for (const auto& bc : bcs) { + if (bc.has_foundFT0() || bc.has_foundFV0() || bc.has_foundFDD()) + indexBCglId.emplace_back(std::make_pair(bc.globalBC(), bc.globalIndex())); + } + + int32_t runNumber = bcs.iteratorAt(0).runNumber(); + + // storing n-prong matches + int32_t candID = 0; + for (uint32_t ibc = 0; ibc < nBCsWithMID; ++ibc) { + auto& pairMID = bcsMatchedTrIdsMID[ibc]; + auto& fwdTrackIDs = pairMID.second; + uint32_t nMIDtracks = fwdTrackIDs.size(); + uint16_t numContrib = nMIDtracks; + uint64_t bc = pairMID.first; + // sanity check + if (nMIDtracks != fNFwdProngs) { + continue; + } + // fetching FT0, FDD, FV0 information + // if there is no relevant signal, dummy info will be used + upchelpers::FITInfo fitInfo{}; + processFITInfo(fitInfo, bc, indexBCglId, bcs, ft0s, fdds, fv0as); + if (fFilterFT0) { + if (!checkFT0(fitInfo, false)) + continue; + } + int8_t netCharge = 0; + float RgtrwTOF = 0.; + for (auto id : fwdTrackIDs) { + const auto& tr = fwdTracks.iteratorAt(id); + netCharge += tr.sign(); + } + // store used tracks + fillFwdTracks(fwdTracks, fwdTrackIDs, candID, bc, mcFwdTrackLabels); + eventCandidates(bc, runNumber, dummyX, dummyY, dummyZ, numContrib, netCharge, RgtrwTOF); + eventCandidatesSels(fitInfo.ampFT0A, fitInfo.ampFT0C, fitInfo.timeFT0A, fitInfo.timeFT0C, fitInfo.triggerMaskFT0, + fitInfo.ampFDDA, fitInfo.ampFDDC, fitInfo.timeFDDA, fitInfo.timeFDDC, fitInfo.triggerMaskFDD, + fitInfo.ampFV0A, fitInfo.timeFV0A, fitInfo.triggerMaskFV0A, + fitInfo.BBFT0Apf, fitInfo.BBFT0Cpf, fitInfo.BGFT0Apf, fitInfo.BGFT0Cpf, + fitInfo.BBFV0Apf, fitInfo.BGFV0Apf, + fitInfo.BBFDDApf, fitInfo.BBFDDCpf, fitInfo.BGFDDApf, fitInfo.BGFDDCpf); + candID++; + } + + indexBCglId.clear(); + ambFwdTrBCs.clear(); + bcsMatchedTrIdsMID.clear(); + } + // data processors // _________________________________________________ @@ -960,10 +1050,47 @@ struct UpcCandProducer { fNewPartIDs.clear(); } + // create candidates for forward region + // forward: n fwd tracks + void processForward(ForwardTracks const& fwdTracks, + o2::aod::AmbiguousFwdTracks const& ambFwdTracks, + BCsWithBcSels const& bcs, + o2::aod::Collisions const& collisions, + o2::aod::FT0s const& ft0s, + o2::aod::FDDs const& fdds, + o2::aod::FV0As const& fv0as) + { + fDoMC = false; + createCandidatesFwd(fwdTracks, ambFwdTracks, + bcs, collisions, + ft0s, fdds, fv0as, + (o2::aod::McFwdTrackLabels*)nullptr); + } + + void processForwardMC(ForwardTracks const& fwdTracks, + o2::aod::AmbiguousFwdTracks const& ambFwdTracks, + BCsWithBcSels const& bcs, + o2::aod::Collisions const& collisions, + o2::aod::FT0s const& ft0s, + o2::aod::FDDs const& fdds, + o2::aod::FV0As const& fv0as, + o2::aod::McCollisions const& mcCollisions, o2::aod::McParticles const& mcParticles, + o2::aod::McFwdTrackLabels const& mcFwdTrackLabels) + { + fDoMC = true; + skimMCInfo(mcCollisions, mcParticles, bcs); + createCandidatesFwd(fwdTracks, ambFwdTracks, + bcs, collisions, + ft0s, fdds, fv0as, + &mcFwdTrackLabels); + } + PROCESS_SWITCH(UpcCandProducer, processSemiFwd, "Produce candidates in semiforward/forward region", false); PROCESS_SWITCH(UpcCandProducer, processCentral, "Produce candidates in central region", false); PROCESS_SWITCH(UpcCandProducer, processSemiFwdMC, "Produce candidates in semiforward/forward region with MC information", false); PROCESS_SWITCH(UpcCandProducer, processCentralMC, "Produce candidates in central region with MC information", false); + PROCESS_SWITCH(UpcCandProducer, processForward, "Produce caniddates in forward region" , false); + PROCESS_SWITCH(UpcCandProducer, processForwardMC, "Produce caniddates in forward region with MC information" , false); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) From 887ccd9b288fe758b899a6069c4df4764b04b433 Mon Sep 17 00:00:00 2001 From: nburmaso Date: Thu, 7 Sep 2023 16:39:38 +0300 Subject: [PATCH 2/3] clang format --- PWGUD/TableProducer/UPCCandidateProducer.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PWGUD/TableProducer/UPCCandidateProducer.cxx b/PWGUD/TableProducer/UPCCandidateProducer.cxx index 16d00546b50..ea9aa870aa0 100644 --- a/PWGUD/TableProducer/UPCCandidateProducer.cxx +++ b/PWGUD/TableProducer/UPCCandidateProducer.cxx @@ -1089,8 +1089,8 @@ struct UpcCandProducer { PROCESS_SWITCH(UpcCandProducer, processCentral, "Produce candidates in central region", false); PROCESS_SWITCH(UpcCandProducer, processSemiFwdMC, "Produce candidates in semiforward/forward region with MC information", false); PROCESS_SWITCH(UpcCandProducer, processCentralMC, "Produce candidates in central region with MC information", false); - PROCESS_SWITCH(UpcCandProducer, processForward, "Produce caniddates in forward region" , false); - PROCESS_SWITCH(UpcCandProducer, processForwardMC, "Produce caniddates in forward region with MC information" , false); + PROCESS_SWITCH(UpcCandProducer, processForward, "Produce caniddates in forward region", false); + PROCESS_SWITCH(UpcCandProducer, processForwardMC, "Produce caniddates in forward region with MC information", false); }; WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) From 405f6b94b4d02de632c0af98659b12f825841b60 Mon Sep 17 00:00:00 2001 From: nburmaso Date: Thu, 7 Sep 2023 16:50:57 +0300 Subject: [PATCH 3/3] save new changes from master branch --- PWGUD/TableProducer/UPCCandidateProducer.cxx | 39 ++++++++++---------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/PWGUD/TableProducer/UPCCandidateProducer.cxx b/PWGUD/TableProducer/UPCCandidateProducer.cxx index ea9aa870aa0..17a7368830c 100644 --- a/PWGUD/TableProducer/UPCCandidateProducer.cxx +++ b/PWGUD/TableProducer/UPCCandidateProducer.cxx @@ -73,7 +73,8 @@ struct UpcCandProducer { using BarrelTracks = o2::soa::Join; + o2::aod::TOFSignal, o2::aod::pidTOFbeta, + o2::aod::pidTOFFullEl, o2::aod::pidTOFFullMu, o2::aod::pidTOFFullPi, o2::aod::pidTOFFullKa, o2::aod::pidTOFFullPr>; typedef std::pair> BCTracksPair; @@ -302,6 +303,7 @@ struct UpcCandProducer { track.tpcNClsShared(), track.trdPattern(), track.itsChi2NCl(), track.tpcChi2NCl(), track.trdChi2(), track.tofChi2(), track.tpcSignal(), track.tofSignal(), track.trdSignal(), track.length(), track.tofExpMom(), track.detectorMap()); udTracksPID(track.tpcNSigmaEl(), track.tpcNSigmaMu(), track.tpcNSigmaPi(), track.tpcNSigmaKa(), track.tpcNSigmaPr(), + track.beta(), track.betaerror(), track.tofNSigmaEl(), track.tofNSigmaMu(), track.tofNSigmaPi(), track.tofNSigmaKa(), track.tofNSigmaPr()); udTracksDCA(track.dcaZ(), track.dcaXY()); udTracksFlags(colId, track.isPVContributor()); @@ -381,13 +383,13 @@ struct UpcCandProducer { fitInfo.ampFT0C += amp; fitInfo.triggerMaskFT0 = ft0.triggerMask(); } - if (!bc.selection_bit(evsel::kNoBGT0A)) + if (!bc.selection_bit(o2::aod::evsel::kNoBGT0A)) SETBIT(fitInfo.BGFT0Apf, bit); - if (!bc.selection_bit(evsel::kNoBGT0C)) + if (!bc.selection_bit(o2::aod::evsel::kNoBGT0C)) SETBIT(fitInfo.BGFT0Cpf, bit); - if (bc.selection_bit(evsel::kIsBBT0A)) + if (bc.selection_bit(o2::aod::evsel::kIsBBT0A)) SETBIT(fitInfo.BBFT0Apf, bit); - if (bc.selection_bit(evsel::kIsBBT0C)) + if (bc.selection_bit(o2::aod::evsel::kIsBBT0C)) SETBIT(fitInfo.BBFT0Cpf, bit); } if (bc.has_foundFV0()) { @@ -400,9 +402,9 @@ struct UpcCandProducer { fitInfo.ampFV0A += amp; fitInfo.triggerMaskFV0A = fv0a.triggerMask(); } - if (!bc.selection_bit(evsel::kNoBGV0A)) + if (!bc.selection_bit(o2::aod::evsel::kNoBGV0A)) SETBIT(fitInfo.BGFV0Apf, bit); - if (bc.selection_bit(evsel::kIsBBV0A)) + if (bc.selection_bit(o2::aod::evsel::kIsBBV0A)) SETBIT(fitInfo.BBFV0Apf, bit); } if (bc.has_foundFDD()) { @@ -422,13 +424,13 @@ struct UpcCandProducer { } fitInfo.triggerMaskFDD = fdd.triggerMask(); } - if (!bc.selection_bit(evsel::kNoBGFDA)) + if (!bc.selection_bit(o2::aod::evsel::kNoBGFDA)) SETBIT(fitInfo.BGFDDApf, bit); - if (!bc.selection_bit(evsel::kNoBGFDC)) + if (!bc.selection_bit(o2::aod::evsel::kNoBGFDC)) SETBIT(fitInfo.BGFDDCpf, bit); - if (bc.selection_bit(evsel::kIsBBFDA)) + if (bc.selection_bit(o2::aod::evsel::kIsBBFDA)) SETBIT(fitInfo.BBFDDApf, bit); - if (bc.selection_bit(evsel::kIsBBFDC)) + if (bc.selection_bit(o2::aod::evsel::kIsBBFDC)) SETBIT(fitInfo.BBFDDCpf, bit); } ++curit; @@ -500,7 +502,7 @@ struct UpcCandProducer { } else { trackBC = ambIter->second; } - int64_t tint = std::round(trk.trackTime() / o2::constants::lhc::LHCBunchSpacingNS); + int64_t tint = TMath::FloorNint(trk.trackTime() / o2::constants::lhc::LHCBunchSpacingNS); uint64_t bc = trackBC + tint; if (bc > fMaxBC) continue; @@ -723,10 +725,10 @@ struct UpcCandProducer { const o2::aod::McTrackLabels* mcBarrelTrackLabels, const o2::aod::McFwdTrackLabels* mcFwdTrackLabels) { - // LOGP(info, "barrelTracks.size()={}", barrelTracks.size()); - // LOGP(info, "ambBarrelTracks.size()={}", ambBarrelTracks.size()); - // LOGP(info, "fwdTracks.size()={}", fwdTracks.size()); - // LOGP(info, "ambFwdTracks.size()={}", ambFwdTracks.size()); + LOGP(debug, "barrelTracks.size()={}", barrelTracks.size()); + LOGP(debug, "ambBarrelTracks.size()={}", ambBarrelTracks.size()); + LOGP(debug, "fwdTracks.size()={}", fwdTracks.size()); + LOGP(debug, "ambFwdTracks.size()={}", ambFwdTracks.size()); fMaxBC = bcs.iteratorAt(bcs.size() - 1).globalBC(); // restrict ITS-TPC track search to [0, fMaxBC] @@ -750,8 +752,8 @@ struct UpcCandProducer { bcs, collisions, barrelTracks, ambBarrelTracks, ambBarrelTrBCs); - // LOGP(info, "bcsMatchedTrIdsMID.size()={}", bcsMatchedTrIdsMID.size()); - // LOGP(info, "bcsMatchedTrIdsTOF.size()={}", bcsMatchedTrIdsTOF.size()); + LOGP(debug, "bcsMatchedTrIdsMID.size()={}", bcsMatchedTrIdsMID.size()); + LOGP(debug, "bcsMatchedTrIdsTOF.size()={}", bcsMatchedTrIdsTOF.size()); uint32_t nBCsWithITSTPC = bcsMatchedTrIdsITSTPC.size(); uint32_t nBCsWithMID = bcsMatchedTrIdsMID.size(); @@ -836,7 +838,6 @@ struct UpcCandProducer { uint16_t numContrib = nBarrelTracks + nMIDtracks; uint64_t bc = pairMID.first; // sanity check - // LOGP(info, "bc: {}, nBarrelTracks:{}, nMIDtracks:{} ", bc, nBarrelTracks, nMIDtracks); if (nBarrelTracks != fNBarProngs || nMIDtracks != fNFwdProngs) { continue; }