Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion PWGCF/TableProducer/filter2Prong.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@

struct Filter2Prong {
SliceCache cache;
Preslice<aod::CFTrackRefs> perCollisionCFTrackRefs = aod::track::collisionId;

O2_DEFINE_CONFIGURABLE(cfgVerbosity, int, 0, "Verbosity level (0 = major, 1 = per collision)")
O2_DEFINE_CONFIGURABLE(cfgYMax, float, -1.0f, "Maximum candidate rapidity")
Expand Down Expand Up @@ -249,10 +250,10 @@
prongCFId[0], prongCFId[1], c.pt(), c.eta(), c.phi(), hfHelper.invMassD0ToPiK(c), aod::cf2prongtrack::D0ToPiK);
if constexpr (std::experimental::is_detected<HasMLProb, typename HFCandidatesType::iterator>::value) {
mlvecd.clear();
for (const float val : c.mlProbD0())

Check failure on line 253 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
mlvecd.push_back(val);
mlvecdbar.clear();
for (const float val : c.mlProbD0bar())

Check failure on line 256 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
mlvecdbar.push_back(val);
output2ProngTrackmls(cfcollisions.begin().globalIndex(), mlvecd, mlvecdbar);
}
Expand All @@ -264,10 +265,10 @@
c.isSelD0() > 0 ? aod::cf2prongtrack::D0barToKPi : aod::cf2prongtrack::D0barToKPiExclusive);
if constexpr (std::experimental::is_detected<HasMLProb, typename HFCandidatesType::iterator>::value) {
mlvecd.clear();
for (const float val : c.mlProbD0())

Check failure on line 268 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
mlvecd.push_back(val);
mlvecdbar.clear();
for (const float val : c.mlProbD0bar())

Check failure on line 271 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
mlvecdbar.push_back(val);
output2ProngTrackmls(cfcollisions.begin().globalIndex(), mlvecd, mlvecdbar);
}
Expand Down Expand Up @@ -299,12 +300,12 @@
// The main filter outputs the primary MC particles. Here we just resolve the daughter indices that are needed for the efficiency matching.
for (const auto& r : cfmcparticles) {
const auto& mcParticle = r.mcParticle_as<HFMCTrack>();
if ((std::abs(mcParticle.flagMcMatchGen()) != o2::hf_decay::hf_cand_2prong::DecayChannelMain::D0ToPiK) || mcParticle.daughtersIds().size() != 2) {

Check failure on line 303 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
output2ProngMcParts(-1, -1, aod::cf2prongtrack::Generic2Prong);
continue;
}
int prongCFId[2] = {-1, -1};
for (uint i = 0; i < 2; ++i) {

Check failure on line 308 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
for (const auto& cfmcpart : cfmcparticles) {
if (mcParticle.daughtersIds()[i] == cfmcpart.mcParticleId()) {
prongCFId[i] = cfmcpart.globalIndex();
Expand All @@ -325,12 +326,12 @@
// The main filter outputs the primary MC particles. Here we just resolve the daughter indices that are needed for the efficiency matching.
for (const auto& r : cfmcparticles) {
const auto& mcParticle = r.mcParticle();
if (mcParticle.daughtersIds().size() != 2) {

Check failure on line 329 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
output2ProngMcParts(-1, -1, aod::cf2prongtrack::Generic2Prong); // not a 2-prong
continue;
}
int prongCFId[2] = {-1, -1};
for (uint i = 0; i < 2; ++i) {

Check failure on line 334 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
for (const auto& cfmcpart : cfmcparticles) {
if (mcParticle.daughtersIds()[i] == cfmcpart.mcParticleId()) {
prongCFId[i] = cfmcpart.globalIndex();
Expand Down Expand Up @@ -481,7 +482,7 @@
if (posTrack.tpcNClsCrossedRows() < grpV0.tpcNClsCrossedRowsTrackMin || negTrack.tpcNClsCrossedRows() < grpV0.tpcNClsCrossedRowsTrackMin) {
return false;
}
if (posTrack.tpcCrossedRowsOverFindableCls() < 0.8 || negTrack.tpcCrossedRowsOverFindableCls() < 0.8) {

Check failure on line 485 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
return false;
}
if (std::abs(v0.positiveeta()) > grpV0.etaTrackMax || std::abs(v0.negativeeta()) > grpV0.etaTrackMax) {
Expand All @@ -497,7 +498,7 @@
bool selectionPID(const T& candidate)
{
if (cfgMomDepPID) {
if (candidate.p() < 0.5) {

Check failure on line 501 in PWGCF/TableProducer/filter2Prong.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
if (!candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaKa()) < grpPhi.nsigmaCutTPC) {
return true;
} else if (candidate.hasTOF() && TMath::Sqrt(candidate.tpcNSigmaKa() * candidate.tpcNSigmaKa() + candidate.tofNSigmaKa() * candidate.tofNSigmaKa()) < grpPhi.nsigmaCutTOF && candidate.beta() > grpPhi.cutTOFBeta) {
Expand Down Expand Up @@ -799,11 +800,12 @@
PROCESS_SWITCH(Filter2Prong, processDataPhiV0, "Process data Phi and V0 candidates with invariant mass method", false);

using DerivedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CFMultiplicities>;
void processDataPhiMixed(DerivedCollisions const& collisions, aod::CFTrackRefs const& cftracks)
void processDataPhiMixed(DerivedCollisions const& collisions, Filter2Prong::PIDTrack const& /*tracksP*/, aod::CFTrackRefs const& cftracks)
{
auto getMultiplicity = [](auto const& col) {
return col.multiplicity();
};

using BinningTypeDerived = FlexibleBinningPolicy<std::tuple<decltype(getMultiplicity)>, aod::collision::PosZ, decltype(getMultiplicity)>;
BinningTypeDerived configurableBinningDerived{{getMultiplicity}, {axisVertexMix, axisMultiplicityMix}, true};
auto tracksTuple = std::make_tuple(cftracks, cftracks);
Expand Down
Loading