diff --git a/PWGLF/TableProducer/lambdakzerobuilder.cxx b/PWGLF/TableProducer/lambdakzerobuilder.cxx index dabae21529eba..30a9c944aff02 100644 --- a/PWGLF/TableProducer/lambdakzerobuilder.cxx +++ b/PWGLF/TableProducer/lambdakzerobuilder.cxx @@ -428,7 +428,8 @@ struct lambdakzeroBuilder { #endif MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "V0 builder: found K0S from Lc, posTrack --> " << labelPos << ", negTrack --> " << labelNeg); - registry.fill(HIST("hGoodIndices"), 0.5); + //value 0.5: any considered V0 + registry.fill(HIST("hV0Criteria"), 0.5); if (isRun2) { if (!(V0.posTrack_as().trackType() & o2::aod::track::TPCrefit)) { MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has no TPC refit"); @@ -441,7 +442,8 @@ struct lambdakzeroBuilder { continue; // TPC refit } } - registry.fill(HIST("hGoodIndices"), 1.5); + //Passes TPC refit + registry.fill(HIST("hV0Criteria"), 1.5); if (V0.posTrack_as().tpcNClsCrossedRows() < mincrossedrows) { MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has " << V0.posTrack_as().tpcNClsCrossedRows() << " crossed rows, cut at " << mincrossedrows); v0dataLink(-1); @@ -452,7 +454,8 @@ struct lambdakzeroBuilder { v0dataLink(-1); continue; } - registry.fill(HIST("hGoodIndices"), 2.5); + //passes crossed rows + registry.fill(HIST("hV0Criteria"), 2.5); if (fabs(V0.posTrack_as().dcaXY()) < dcapostopv) { MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has dcaXY " << V0.posTrack_as().dcaXY() << " , cut at " << dcanegtopv); v0dataLink(-1); @@ -464,7 +467,8 @@ struct lambdakzeroBuilder { continue; } MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "Filling good indices: posTrack --> " << labelPos << ", negTrack --> " << labelNeg); - registry.fill(HIST("hGoodIndices"), 3.5); + //passes DCAxy + registry.fill(HIST("hV0Criteria"), 3.5); // Candidate building part std::array pos = {0.}; @@ -479,8 +483,6 @@ struct lambdakzeroBuilder { MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "labelPos = " << labelPos << ", labelNeg = " << labelNeg); - registry.fill(HIST("hV0Candidate"), 0.5); - auto pTrack = getTrackParCov(V0.posTrack_as()); auto nTrack = getTrackParCov(V0.negTrack_as()); @@ -490,6 +492,9 @@ struct lambdakzeroBuilder { continue; } + //passes diff coll check + registry.fill(HIST("hV0Criteria"), 4.5); + // Act on copies for minimization auto pTrackCopy = o2::track::TrackParCov(pTrack); auto nTrackCopy = o2::track::TrackParCov(nTrack); @@ -502,6 +507,9 @@ struct lambdakzeroBuilder { continue; } + //passes V0 fitter minimization successfully + registry.fill(HIST("hV0Criteria"), 5.5); + double finalXpos = fitter.getTrack(0).getX(); double finalXneg = fitter.getTrack(1).getX(); @@ -525,6 +533,9 @@ struct lambdakzeroBuilder { continue; } + //Passes step 2 of V0 fitter + registry.fill(HIST("hV0Criteria"), 6.5); + pTrack.getPxPyPzGlo(pvec0); nTrack.getPxPyPzGlo(pvec1); @@ -542,6 +553,9 @@ struct lambdakzeroBuilder { continue; } + //Passes DCA between daughters check + registry.fill(HIST("hV0Criteria"), 7.5); + auto V0CosinePA = RecoDecay::cpa(array{collision.posX(), collision.posY(), collision.posZ()}, array{pos[0], pos[1], pos[2]}, array{pvec0[0] + pvec1[0], pvec0[1] + pvec1[1], pvec0[2] + pvec1[2]}); if (V0CosinePA < v0cospa) { MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack --> " << labelPos << ", negTrack --> " << labelNeg << " will be skipped due to CPA cut"); @@ -549,6 +563,9 @@ struct lambdakzeroBuilder { continue; } + //Passes CosPA check + registry.fill(HIST("hV0Criteria"), 8.5); + auto V0radius = RecoDecay::sqrtSumOfSquares(pos[0], pos[1]); // probably find better name to differentiate the cut from the variable if (V0radius < v0radius) { MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack --> " << labelPos << ", negTrack --> " << labelNeg << " will be skipped due to radius cut"); @@ -556,9 +573,11 @@ struct lambdakzeroBuilder { continue; } + //Passes radius check + registry.fill(HIST("hV0Criteria"), 9.5); + MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "in builder 1, keeping K0S candidate: posTrack --> " << labelPos << ", negTrack --> " << labelNeg); - registry.fill(HIST("hV0Candidate"), 1.5); v0data( V0.posTrackId(), V0.negTrackId(),