Skip to content

Commit 0af9fd5

Browse files
authored
Fix histogram names for processRun3 (AliceO2Group#948)
* fix histogram names for processRun3 minor * Adjust filling scheme in v0 builder
1 parent 997ca18 commit 0af9fd5

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed

PWGLF/TableProducer/lambdakzerobuilder.cxx

+26-7
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,8 @@ struct lambdakzeroBuilder {
428428
#endif
429429
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "V0 builder: found K0S from Lc, posTrack --> " << labelPos << ", negTrack --> " << labelNeg);
430430

431-
registry.fill(HIST("hGoodIndices"), 0.5);
431+
//value 0.5: any considered V0
432+
registry.fill(HIST("hV0Criteria"), 0.5);
432433
if (isRun2) {
433434
if (!(V0.posTrack_as<MyTracksIU>().trackType() & o2::aod::track::TPCrefit)) {
434435
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has no TPC refit");
@@ -441,7 +442,8 @@ struct lambdakzeroBuilder {
441442
continue; // TPC refit
442443
}
443444
}
444-
registry.fill(HIST("hGoodIndices"), 1.5);
445+
//Passes TPC refit
446+
registry.fill(HIST("hV0Criteria"), 1.5);
445447
if (V0.posTrack_as<MyTracksIU>().tpcNClsCrossedRows() < mincrossedrows) {
446448
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has " << V0.posTrack_as<MyTracksIU>().tpcNClsCrossedRows() << " crossed rows, cut at " << mincrossedrows);
447449
v0dataLink(-1);
@@ -452,7 +454,8 @@ struct lambdakzeroBuilder {
452454
v0dataLink(-1);
453455
continue;
454456
}
455-
registry.fill(HIST("hGoodIndices"), 2.5);
457+
//passes crossed rows
458+
registry.fill(HIST("hV0Criteria"), 2.5);
456459
if (fabs(V0.posTrack_as<MyTracksIU>().dcaXY()) < dcapostopv) {
457460
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack " << labelPos << " has dcaXY " << V0.posTrack_as<MyTracksIU>().dcaXY() << " , cut at " << dcanegtopv);
458461
v0dataLink(-1);
@@ -464,7 +467,8 @@ struct lambdakzeroBuilder {
464467
continue;
465468
}
466469
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "Filling good indices: posTrack --> " << labelPos << ", negTrack --> " << labelNeg);
467-
registry.fill(HIST("hGoodIndices"), 3.5);
470+
//passes DCAxy
471+
registry.fill(HIST("hV0Criteria"), 3.5);
468472

469473
// Candidate building part
470474
std::array<float, 3> pos = {0.};
@@ -479,8 +483,6 @@ struct lambdakzeroBuilder {
479483

480484
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "labelPos = " << labelPos << ", labelNeg = " << labelNeg);
481485

482-
registry.fill(HIST("hV0Candidate"), 0.5);
483-
484486
auto pTrack = getTrackParCov(V0.posTrack_as<MyTracksIU>());
485487
auto nTrack = getTrackParCov(V0.negTrack_as<MyTracksIU>());
486488

@@ -490,6 +492,9 @@ struct lambdakzeroBuilder {
490492
continue;
491493
}
492494

495+
//passes diff coll check
496+
registry.fill(HIST("hV0Criteria"), 4.5);
497+
493498
// Act on copies for minimization
494499
auto pTrackCopy = o2::track::TrackParCov(pTrack);
495500
auto nTrackCopy = o2::track::TrackParCov(nTrack);
@@ -502,6 +507,9 @@ struct lambdakzeroBuilder {
502507
continue;
503508
}
504509

510+
//passes V0 fitter minimization successfully
511+
registry.fill(HIST("hV0Criteria"), 5.5);
512+
505513
double finalXpos = fitter.getTrack(0).getX();
506514
double finalXneg = fitter.getTrack(1).getX();
507515

@@ -525,6 +533,9 @@ struct lambdakzeroBuilder {
525533
continue;
526534
}
527535

536+
//Passes step 2 of V0 fitter
537+
registry.fill(HIST("hV0Criteria"), 6.5);
538+
528539
pTrack.getPxPyPzGlo(pvec0);
529540
nTrack.getPxPyPzGlo(pvec1);
530541

@@ -542,23 +553,31 @@ struct lambdakzeroBuilder {
542553
continue;
543554
}
544555

556+
//Passes DCA between daughters check
557+
registry.fill(HIST("hV0Criteria"), 7.5);
558+
545559
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]});
546560
if (V0CosinePA < v0cospa) {
547561
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack --> " << labelPos << ", negTrack --> " << labelNeg << " will be skipped due to CPA cut");
548562
v0dataLink(-1);
549563
continue;
550564
}
551565

566+
//Passes CosPA check
567+
registry.fill(HIST("hV0Criteria"), 8.5);
568+
552569
auto V0radius = RecoDecay::sqrtSumOfSquares(pos[0], pos[1]); // probably find better name to differentiate the cut from the variable
553570
if (V0radius < v0radius) {
554571
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "posTrack --> " << labelPos << ", negTrack --> " << labelNeg << " will be skipped due to radius cut");
555572
v0dataLink(-1);
556573
continue;
557574
}
558575

576+
//Passes radius check
577+
registry.fill(HIST("hV0Criteria"), 9.5);
578+
559579
MY_DEBUG_MSG(isK0SfromLc, LOG(info) << "in builder 1, keeping K0S candidate: posTrack --> " << labelPos << ", negTrack --> " << labelNeg);
560580

561-
registry.fill(HIST("hV0Candidate"), 1.5);
562581
v0data(
563582
V0.posTrackId(),
564583
V0.negTrackId(),

0 commit comments

Comments
 (0)