Skip to content

Commit 0f15e96

Browse files
[PWGLF] fix the wrong order of some histograms and also fix some bugs in even… (#18465)
1 parent e255579 commit 0f15e96

1 file changed

Lines changed: 109 additions & 99 deletions

File tree

‎PWGLF/Tasks/Resonances/lambda1520analysispo.cxx‎

Lines changed: 109 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ using namespace o2::framework;
4343
using namespace o2::framework::expressions;
4444
using namespace o2::constants::physics;
4545

46-
// FIX name/namespace: use snake_case for namespace
4746
namespace lambda_analysis
4847
{
4948
// Named PDG codes — fixes pdg/explicit-code and magic-number errors
@@ -55,13 +54,11 @@ static constexpr int PdgXi0{3322};
5554
static constexpr int PdgOmegaMinus{3334};
5655
} // namespace lambda_analysis
5756

58-
// FIX name/struct: use UpperCamelCase for struct names
5957
struct lambda1520analysispo {
6058
SliceCache sliceCache;
6159

6260
// Preslice helpers
63-
Preslice<aod::ResoTracks> tracksPerResonanceCollision =
64-
aod::resodaughter::resoCollisionId;
61+
Preslice<aod::ResoTracks> tracksPerResonanceCollision = aod::resodaughter::resoCollisionId;
6562
Preslice<aod::Tracks> tracksPerStandardCollision = aod::track::collisionId;
6663

6764
// Pointer to MC parent particle table (used only in MC processing)
@@ -192,7 +189,7 @@ struct lambda1520analysispo {
192189
const AxisSpec axisTPCdEdx(380, 10, 200, "#frac{dE}{dx}");
193190
const AxisSpec axisVertexZ(120, -12, 12, "v_{z} (cm)");
194191
const AxisSpec axisEventPlaneAngle(120, -3.14, 3.14, "#theta (rad)");
195-
const AxisSpec axisInvariantMass(numberOfInvMassBins, 1.4, 2.0, "M_{inv} (GeV/c^{2})");
192+
const AxisSpec axisInvariantMass(numberOfInvMassBins, 1.4, 3.0, "M_{inv} (GeV/c^{2})");
196193

197194
AxisSpec axisOccupancy = {occupancyBins, "Track occupancy [-40,100]"};
198195
AxisSpec axisDCAz = {dcaZMixingBins, "DCA_{z} (cm)"};
@@ -321,7 +318,7 @@ struct lambda1520analysispo {
321318
// passesProtonDCASelection()
322319
// ============================================================
323320
template <typename TrackType>
324-
bool passesProtonDCASelection(TrackType const& track, float totalMomentum)
321+
bool passesProtonDCASelection(TrackType const& track, float trackPt)
325322
{
326323
auto ptBinEdges = static_cast<std::vector<float>>(protonDCAPtBinEdges);
327324
auto maxDCAxyValues =
@@ -330,8 +327,8 @@ struct lambda1520analysispo {
330327

331328
bool dcaXYPassed = false;
332329
for (int iBin = 0; iBin < numberOfBins; iBin++) {
333-
if (totalMomentum >= ptBinEdges[iBin] &&
334-
totalMomentum < ptBinEdges[iBin + 1] &&
330+
if (trackPt >= ptBinEdges[iBin] &&
331+
trackPt < ptBinEdges[iBin + 1] &&
335332
std::abs(track.dcaXY()) < maxDCAxyValues[iBin])
336333
dcaXYPassed = true;
337334
}
@@ -346,16 +343,16 @@ struct lambda1520analysispo {
346343
// passesKaonDCASelection()
347344
// ============================================================
348345
template <typename TrackType>
349-
bool passesKaonDCASelection(TrackType const& track, float totalMomentum)
346+
bool passesKaonDCASelection(TrackType const& track, float trackPt)
350347
{
351348
auto ptBinEdges = static_cast<std::vector<float>>(kaonDCAPtBinEdges);
352349
auto maxDCAxyValues = static_cast<std::vector<float>>(kaonMaxDCAxyPerPtBin);
353350
int numberOfBins = static_cast<int>(ptBinEdges.size()) - 1;
354351

355352
bool dcaXYPassed = false;
356353
for (int iBin = 0; iBin < numberOfBins; iBin++) {
357-
if (totalMomentum >= ptBinEdges[iBin] &&
358-
totalMomentum < ptBinEdges[iBin + 1] &&
354+
if (trackPt >= ptBinEdges[iBin] &&
355+
trackPt < ptBinEdges[iBin + 1] &&
359356
std::abs(track.dcaXY()) < maxDCAxyValues[iBin])
360357
dcaXYPassed = true;
361358
}
@@ -406,7 +403,7 @@ struct lambda1520analysispo {
406403
if (track.tofNSigmaPr() < minTOFNSigmaProton)
407404
return false;
408405

409-
if (combinedNSigmaCutProton < 0 && totalMomentum >= minProtonMomentum) {
406+
if (combinedNSigmaCutProton < 0) {
410407
for (int i = 0; i < nTOFBins - 1; ++i) {
411408
if (totalMomentum >= tofMomBins[i] &&
412409
totalMomentum < tofMomBins[i + 1] &&
@@ -423,21 +420,17 @@ struct lambda1520analysispo {
423420
tpcPIDPassed = true;
424421
}
425422

426-
if ((combinedNSigmaCutProton > 0) && totalMomentum >= minProtonMomentum &&
423+
if ((combinedNSigmaCutProton > 0) &&
427424
(combinedNSigProton < circularCutSquared &&
428425
combinedNSigPion > circularRejCutSquared &&
429426
combinedNSigKaon > circularRejCutSquared)) {
430427
tofPIDPassed = true;
431428
tpcPIDPassed = true;
432429
}
433430

434-
if (totalMomentum < minProtonMomentum &&
435-
tpcNSigProton < maxTPCNSigmaProton) {
436-
tofPIDPassed = true;
437-
tpcPIDPassed = true;
438-
}
439-
440431
} else {
432+
if (!track.hasTOF() && totalMomentum >= minProtonMomentum)
433+
return false;
441434
tofPIDPassed = true;
442435
if (track.tpcNSigmaPr() < minTPCNSigmaProton)
443436
return false;
@@ -490,7 +483,7 @@ struct lambda1520analysispo {
490483
if (track.tofNSigmaKa() < minTOFNSigmaKaon)
491484
return false;
492485

493-
if (combinedNSigmaCutKaon < 0 && totalMomentum >= minKaonMomentum) {
486+
if (combinedNSigmaCutKaon < 0) {
494487
for (int i = 0; i < nTOFBins - 1; ++i) {
495488
if (totalMomentum >= tofMomBins[i] &&
496489
totalMomentum < tofMomBins[i + 1] &&
@@ -507,20 +500,17 @@ struct lambda1520analysispo {
507500
tpcPIDPassed = true;
508501
}
509502

510-
if ((combinedNSigmaCutKaon > 0) && totalMomentum >= minKaonMomentum &&
503+
if ((combinedNSigmaCutKaon > 0) &&
511504
(combinedNSigKaon < circularCutSquared &&
512505
combinedNSigPion > circularRejCutSquared &&
513506
combinedNSigProton > circularRejCutSquared)) {
514507
tofPIDPassed = true;
515508
tpcPIDPassed = true;
516509
}
517510

518-
if (totalMomentum < minKaonMomentum && tpcNSigKaon < maxTPCNSigmaKaon) {
519-
tofPIDPassed = true;
520-
tpcPIDPassed = true;
521-
}
522-
523511
} else {
512+
if (!track.hasTOF() && totalMomentum >= minKaonMomentum)
513+
return false;
524514
tofPIDPassed = true;
525515
if (track.tpcNSigmaKa() < minTPCNSigmaKaon)
526516
return false;
@@ -537,6 +527,87 @@ struct lambda1520analysispo {
537527
return (tpcPIDPassed && tofPIDPassed);
538528
}
539529

530+
template <typename TrackType>
531+
void fillTrackQAHistograms(TrackType const& track, float centralityPercent)
532+
{
533+
if (!passesBasicTrackSelection(track))
534+
return;
535+
536+
const float trackPt = track.pt();
537+
const float totalMomentum = RecoDecay::p(track.px(), track.py(), track.pz());
538+
539+
const auto tpcNSigProtonRaw = track.tpcNSigmaPr();
540+
allHistograms.fill(HIST("QAbefore/Proton/tpcNSigmaVsMomentum"), totalMomentum, tpcNSigProtonRaw);
541+
const auto tpcNSigKaonRaw = track.tpcNSigmaKa();
542+
allHistograms.fill(HIST("QAbefore/Kaon/tpcNSigmaVsMomentum"), totalMomentum, tpcNSigKaonRaw);
543+
if (track.hasTOF()) {
544+
const auto tofNSigProtonRaw = track.tofNSigmaPr();
545+
allHistograms.fill(HIST("QAbefore/Proton/tofNSigmaVsMomentum"), totalMomentum, tofNSigProtonRaw);
546+
allHistograms.fill(HIST("QAbefore/Proton/tofNSigmaVsTPCNSigma"), tpcNSigProtonRaw, tofNSigProtonRaw);
547+
const auto tofNSigKaonRaw = track.tofNSigmaKa();
548+
allHistograms.fill(HIST("QAbefore/Kaon/tofNSigmaVsMomentum"), totalMomentum, tofNSigKaonRaw);
549+
allHistograms.fill(HIST("QAbefore/Kaon/tofNSigmaVsTPCNSigma"), tpcNSigKaonRaw, tofNSigKaonRaw);
550+
}
551+
552+
const bool isProtonCandidate =
553+
(!requireTOFForProton || track.hasTOF()) &&
554+
passesProtonPID(track, totalMomentum) &&
555+
passesProtonDCASelection(track, trackPt);
556+
557+
if (isProtonCandidate) {
558+
allHistograms.fill(HIST("QAafter/Proton/ptVsCentrality"), trackPt, centralityPercent);
559+
allHistograms.fill(HIST("QAafter/Proton/dcaZVsPt"), trackPt, track.dcaZ());
560+
allHistograms.fill(HIST("QAafter/Proton/dcaXYVsPt"), trackPt, track.dcaXY());
561+
allHistograms.fill(HIST("QAafter/Proton/tpcDedxVsMomentum"), totalMomentum, track.tpcSignal());
562+
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaPionContamVsPt"), totalMomentum, track.tpcNSigmaPi());
563+
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaKaonContamVsPt"), totalMomentum, track.tpcNSigmaKa());
564+
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsMomentum"), totalMomentum, tpcNSigProtonRaw);
565+
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsCentrality"), centralityPercent, tpcNSigProtonRaw);
566+
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsPt"), trackPt, tpcNSigProtonRaw);
567+
allHistograms.fill(HIST("QAafter/Proton/tpcCrossedRowsVsPt"), trackPt, track.tpcNClsCrossedRows());
568+
allHistograms.fill(HIST("QAafter/Proton/tpcClustersFoundVsPt"), trackPt, track.tpcNClsFound());
569+
570+
if (!useTPCOnlyPID && track.hasTOF()) {
571+
const auto tofNSigProton = track.tofNSigmaPr();
572+
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsMomentum"), totalMomentum, tofNSigProton);
573+
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsCentrality"), centralityPercent, tofNSigProton);
574+
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsPt"), trackPt, tofNSigProton);
575+
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaPionContamVsMomentum"), totalMomentum, track.tofNSigmaPi());
576+
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaKaonContamVsMomentum"), totalMomentum, track.tofNSigmaKa());
577+
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsTPCNSigma"), tpcNSigProtonRaw, tofNSigProton);
578+
}
579+
}
580+
581+
const bool isKaonCandidate =
582+
(!requireTOFForKaon || track.hasTOF()) &&
583+
passesKaonPID(track, totalMomentum) &&
584+
passesKaonDCASelection(track, trackPt);
585+
586+
if (isKaonCandidate) {
587+
allHistograms.fill(HIST("QAafter/Kaon/ptVsCentrality"), trackPt, centralityPercent);
588+
allHistograms.fill(HIST("QAafter/Kaon/dcaZVsPt"), trackPt, track.dcaZ());
589+
allHistograms.fill(HIST("QAafter/Kaon/dcaXYVsPt"), trackPt, track.dcaXY());
590+
allHistograms.fill(HIST("QAafter/Kaon/tpcDedxVsMomentum"), totalMomentum, track.tpcSignal());
591+
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaPionContamVsPt"), totalMomentum, track.tpcNSigmaPi());
592+
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaProtonContamVsMomentum"), totalMomentum, track.tpcNSigmaPr());
593+
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsMomentum"), totalMomentum, tpcNSigKaonRaw);
594+
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsCentrality"), centralityPercent, tpcNSigKaonRaw);
595+
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsPt"), trackPt, tpcNSigKaonRaw);
596+
allHistograms.fill(HIST("QAafter/Kaon/tpcCrossedRowsVsPt"), trackPt, track.tpcNClsCrossedRows());
597+
allHistograms.fill(HIST("QAafter/Kaon/tpcClustersFoundVsPt"), trackPt, track.tpcNClsFound());
598+
599+
if (!useTPCOnlyPID && track.hasTOF()) {
600+
const auto tofNSigKaon = track.tofNSigmaKa();
601+
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsMomentum"), totalMomentum, tofNSigKaon);
602+
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsPt"), trackPt, tofNSigKaon);
603+
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsCentrality"), centralityPercent, tofNSigKaon);
604+
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaPionContamVsMomentum"), totalMomentum, track.tofNSigmaPi());
605+
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaProtonContamVsMomentum"), totalMomentum, track.tofNSigmaPr());
606+
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsTPCNSigma"), tpcNSigKaonRaw, tofNSigKaon);
607+
}
608+
}
609+
}
610+
540611
// ============================================================
541612
// fillInvariantMassHistograms()
542613
// ============================================================
@@ -566,23 +637,6 @@ struct lambda1520analysispo {
566637
protonTotalMomentum = RecoDecay::p(pxProton, pyProton, pzProton);
567638
kaonTotalMomentum = RecoDecay::p(pxKaon, pyKaon, pzKaon);
568639

569-
if (!isMixedEvent) {
570-
auto tpcNSigProton = protonTrack.tpcNSigmaPr();
571-
allHistograms.fill(HIST("QAbefore/Proton/tpcNSigmaVsMomentum"), protonTotalMomentum, tpcNSigProton);
572-
if (protonTrack.hasTOF()) {
573-
auto tofNSigProton = protonTrack.tofNSigmaPr();
574-
allHistograms.fill(HIST("QAbefore/Proton/tofNSigmaVsMomentum"), protonTotalMomentum, tofNSigProton);
575-
allHistograms.fill(HIST("QAbefore/Proton/tofNSigmaVsTPCNSigma"), tpcNSigProton, tofNSigProton);
576-
}
577-
auto tpcNSigKaon = kaonTrack.tpcNSigmaKa();
578-
allHistograms.fill(HIST("QAbefore/Kaon/tpcNSigmaVsMomentum"), kaonTotalMomentum, tpcNSigKaon);
579-
if (kaonTrack.hasTOF()) {
580-
auto tofNSigKaon = kaonTrack.tofNSigmaKa();
581-
allHistograms.fill(HIST("QAbefore/Kaon/tofNSigmaVsMomentum"), kaonTotalMomentum, tofNSigKaon);
582-
allHistograms.fill(HIST("QAbefore/Kaon/tofNSigmaVsTPCNSigma"), tpcNSigKaon, tofNSigKaon);
583-
}
584-
}
585-
586640
if (requireTOFForProton && !protonTrack.hasTOF())
587641
continue;
588642
if (requireTOFForKaon && !kaonTrack.hasTOF())
@@ -592,8 +646,8 @@ struct lambda1520analysispo {
592646
!passesKaonPID(kaonTrack, kaonTotalMomentum))
593647
continue;
594648

595-
if (!passesProtonDCASelection(protonTrack, protonTotalMomentum) ||
596-
!passesKaonDCASelection(kaonTrack, kaonTotalMomentum))
649+
if (!passesProtonDCASelection(protonTrack, protonTrack.pt()) ||
650+
!passesKaonDCASelection(kaonTrack, kaonTrack.pt()))
597651
continue;
598652

599653
// FIX root/entity: replaced TMath::ACos with std::acos
@@ -603,58 +657,6 @@ struct lambda1520analysispo {
603657
deepAngleCutValue)
604658
continue;
605659

606-
if constexpr (!isMixedEvent) {
607-
auto ptProton = protonTrack.pt();
608-
auto tpcNSigProton = protonTrack.tpcNSigmaPr();
609-
610-
allHistograms.fill(HIST("QAafter/Proton/ptVsCentrality"), ptProton, centralityPercent);
611-
allHistograms.fill(HIST("QAafter/Proton/dcaZVsPt"), ptProton, protonTrack.dcaZ());
612-
allHistograms.fill(HIST("QAafter/Proton/dcaXYVsPt"), ptProton, protonTrack.dcaXY());
613-
allHistograms.fill(HIST("QAafter/Proton/tpcDedxVsMomentum"), protonTotalMomentum, protonTrack.tpcSignal());
614-
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaPionContamVsPt"), protonTotalMomentum, protonTrack.tpcNSigmaPi());
615-
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaKaonContamVsPt"), protonTotalMomentum, protonTrack.tpcNSigmaKa());
616-
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsMomentum"), protonTotalMomentum, tpcNSigProton);
617-
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsCentrality"), tpcNSigProton, centralityPercent);
618-
allHistograms.fill(HIST("QAafter/Proton/tpcNSigmaVsPt"), ptProton, tpcNSigProton);
619-
allHistograms.fill(HIST("QAafter/Proton/tpcCrossedRowsVsPt"), ptProton, protonTrack.tpcNClsCrossedRows());
620-
allHistograms.fill(HIST("QAafter/Proton/tpcClustersFoundVsPt"), ptProton, protonTrack.tpcNClsFound());
621-
622-
if (!useTPCOnlyPID && protonTrack.hasTOF()) {
623-
auto tofNSigProton = protonTrack.tofNSigmaPr();
624-
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsMomentum"), protonTotalMomentum, tofNSigProton);
625-
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsCentrality"), tofNSigProton, centralityPercent);
626-
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsPt"), ptProton, tofNSigProton);
627-
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaPionContamVsMomentum"), protonTotalMomentum, protonTrack.tofNSigmaPi());
628-
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaKaonContamVsMomentum"), protonTotalMomentum, protonTrack.tofNSigmaKa());
629-
allHistograms.fill(HIST("QAafter/Proton/tofNSigmaVsTPCNSigma"), tpcNSigProton, tofNSigProton);
630-
}
631-
632-
auto ptKaon = kaonTrack.pt();
633-
auto tpcNSigKaon = kaonTrack.tpcNSigmaKa();
634-
635-
allHistograms.fill(HIST("QAafter/Kaon/ptVsCentrality"), ptKaon, centralityPercent);
636-
allHistograms.fill(HIST("QAafter/Kaon/dcaZVsPt"), ptKaon, kaonTrack.dcaZ());
637-
allHistograms.fill(HIST("QAafter/Kaon/dcaXYVsPt"), ptKaon, kaonTrack.dcaXY());
638-
allHistograms.fill(HIST("QAafter/Kaon/tpcDedxVsMomentum"), kaonTotalMomentum, kaonTrack.tpcSignal());
639-
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaPionContamVsPt"), kaonTotalMomentum, kaonTrack.tpcNSigmaPi());
640-
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaProtonContamVsMomentum"), kaonTotalMomentum, kaonTrack.tpcNSigmaPr());
641-
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsMomentum"), kaonTotalMomentum, tpcNSigKaon);
642-
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsCentrality"), tpcNSigKaon, centralityPercent);
643-
allHistograms.fill(HIST("QAafter/Kaon/tpcNSigmaVsPt"), ptKaon, tpcNSigKaon);
644-
allHistograms.fill(HIST("QAafter/Kaon/tpcCrossedRowsVsPt"), ptKaon, kaonTrack.tpcNClsCrossedRows());
645-
allHistograms.fill(HIST("QAafter/Kaon/tpcClustersFoundVsPt"), ptKaon, kaonTrack.tpcNClsFound());
646-
647-
if (!useTPCOnlyPID && kaonTrack.hasTOF()) {
648-
auto tofNSigKaon = kaonTrack.tofNSigmaKa();
649-
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsMomentum"), kaonTotalMomentum, tofNSigKaon);
650-
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsPt"), ptKaon, tofNSigKaon);
651-
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsCentrality"), tofNSigKaon, centralityPercent);
652-
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaPionContamVsMomentum"), kaonTotalMomentum, kaonTrack.tofNSigmaPi());
653-
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaProtonContamVsMomentum"), kaonTotalMomentum, kaonTrack.tofNSigmaPr());
654-
allHistograms.fill(HIST("QAafter/Kaon/tofNSigmaVsTPCNSigma"), tpcNSigKaon, tofNSigKaon);
655-
}
656-
}
657-
658660
if (runQualityChecksOnly)
659661
continue;
660662

@@ -836,6 +838,9 @@ struct lambda1520analysispo {
836838
allHistograms.fill(HIST("Event/centralityVsOccupancy"), collision.cent(),
837839
100);
838840
allHistograms.fill(HIST("Event/primaryVertexZ"), collision.posZ());
841+
for (const auto& track : tracks) {
842+
fillTrackQAHistograms(track, collision.cent());
843+
}
839844
fillInvariantMassHistograms<false, false>(tracks, tracks, collision.cent());
840845
}
841846
PROCESS_SWITCH(lambda1520analysispo, processData,
@@ -900,6 +905,8 @@ struct lambda1520analysispo {
900905
if (!passesBasicTrackSelection(track))
901906
continue;
902907

908+
fillTrackQAHistograms(track, centralityPercent);
909+
903910
// FIX root/entity: replaced TMath::Sqrt with RecoDecay::p
904911
float totalMom = RecoDecay::p(track.px(), track.py(), track.pz());
905912

@@ -1077,7 +1084,7 @@ struct lambda1520analysispo {
10771084
// FIX const-ref-in-for-loop: const auto& structured binding
10781085
for (const auto& [col1, tracks1, col2, tracks2] : eventPairs) {
10791086
if (cEvtRecINELgt0 && !col1.isRecINELgt0()) // Check reco INELgt0 (at least one PV track in |eta| < 1) about the collision
1080-
return;
1087+
continue;
10811088
allHistograms.fill(HIST("Event/mixingBins_centralityVsVtxZVsEventPlane"),
10821089
col1.cent(), col1.posZ(), col1.evtPl());
10831090
fillInvariantMassHistograms<true, false>(tracks1, tracks2, col1.cent());
@@ -1110,6 +1117,9 @@ struct lambda1520analysispo {
11101117

11111118
allHistograms.fill(HIST("Event/centralityVsOccupancy"), collision.cent(),
11121119
occupancyValue);
1120+
for (const auto& track : tracks) {
1121+
fillTrackQAHistograms(track, collision.cent());
1122+
}
11131123
fillInvariantMassHistograms<false, false>(tracks, tracks, collision.cent(),
11141124
occupancyValue);
11151125
}
@@ -1140,7 +1150,7 @@ struct lambda1520analysispo {
11401150
// FIX const-ref-in-for-loop: const auto& structured binding
11411151
for (const auto& [col1, tracks1, col2, tracks2] : eventPairs) {
11421152
if (cEvtRecINELgt0 && !col1.isRecINELgt0()) // Check reco INELgt0 (at least one PV track in |eta| < 1) about the collision
1143-
return;
1153+
continue;
11441154
auto occupancyValue = 100;
11451155
if (applyOccupancyInTimeRangeCut)
11461156
occupancyValue = col1.trackOccupancyInTimeRange();

0 commit comments

Comments
 (0)