Skip to content

Commit

Permalink
Fix histogram names for processRun3 (AliceO2Group#948)
Browse files Browse the repository at this point in the history
* fix histogram names for processRun3

minor

* Adjust filling scheme in v0 builder
  • Loading branch information
ercolessi authored Jul 5, 2022
1 parent 997ca18 commit 0af9fd5
Showing 1 changed file with 26 additions and 7 deletions.
33 changes: 26 additions & 7 deletions PWGLF/TableProducer/lambdakzerobuilder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -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<MyTracksIU>().trackType() & o2::aod::track::TPCrefit)) {
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has no TPC refit");
Expand All @@ -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<MyTracksIU>().tpcNClsCrossedRows() < mincrossedrows) {
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has " << V0.posTrack_as<MyTracksIU>().tpcNClsCrossedRows() << " crossed rows, cut at " << mincrossedrows);
v0dataLink(-1);
Expand All @@ -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<MyTracksIU>().dcaXY()) < dcapostopv) {
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has dcaXY " << V0.posTrack_as<MyTracksIU>().dcaXY() << " , cut at " << dcanegtopv);
v0dataLink(-1);
Expand All @@ -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<float, 3> pos = {0.};
Expand All @@ -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<MyTracksIU>());
auto nTrack = getTrackParCov(V0.negTrack_as<MyTracksIU>());

Expand All @@ -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);
Expand All @@ -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();

Expand All @@ -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);

Expand All @@ -542,23 +553,31 @@ 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");
v0dataLink(-1);
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");
v0dataLink(-1);
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(),
Expand Down

0 comments on commit 0af9fd5

Please sign in to comment.