Skip to content

Commit 0fc420e

Browse files
Merge branch 'master' into master
2 parents e157dd3 + f0e216f commit 0fc420e

179 files changed

Lines changed: 5840 additions & 2322 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
/PWGMM/Lumi @alibuild @aalkin
4343
/PWGMM/Mult @alibuild @aalkin @aortizve @ddobrigk
4444
/PWGMM/UE @alibuild @aalkin @aortizve
45-
/PWGUD @alibuild @pbuehler @abylinkin
45+
/PWGUD @alibuild @pbuehler @abylinkin @rolavick
4646
/PWGJE @alibuild @lhavener @maoyx @nzardosh @ddobrigk @mfasDa
4747
/Tools/PIDML @alibuild @saganatt
4848
/Tools/ML @alibuild @fcatalan92 @fmazzasc

DPG/Tasks/AOTEvent/mshapeQa.cxx

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ const AxisSpec axisSparseDcaR{100, -5., 5., "DCA_{r}, cm"};
3333
const AxisSpec axisSparseDcaZ{100, -5., 5., "DCA_{z}, cm"};
3434

3535
struct MshapeQaTask {
36+
Configurable<double> confTimeBinWidthInSec{"TimeBinWidthInSec", 0.1, "Width of time bins in seconds"};
3637
Service<o2::ccdb::BasicCCDBManager> ccdb;
3738
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
3839
o2::tpc::TPCMShapeCorrection mshape; // object for simple access
@@ -61,7 +62,9 @@ struct MshapeQaTask {
6162
auto grpecs = ccdb->getSpecific<o2::parameters::GRPECSObject>("GLO/Config/GRPECS", bcs.iteratorAt(0).timestamp(), metadata);
6263
minSec = floor(grpecs->getTimeStart() / 1000.);
6364
maxSec = ceil(grpecs->getTimeEnd() / 1000.);
64-
const AxisSpec axisSeconds{static_cast<int>(maxSec - minSec) * 10, 0, maxSec - minSec, "seconds"};
65+
int nTimeBins = static_cast<int>((maxSec - minSec) / confTimeBinWidthInSec);
66+
double timeInterval = nTimeBins * confTimeBinWidthInSec;
67+
const AxisSpec axisSeconds{nTimeBins, 0, timeInterval, "seconds"};
6568
histos.add("hSecondsAsideQoverPtSumDcaR", "", kTH2F, {axisSeconds, axisSparseQoverPt});
6669
histos.add("hSecondsAsideQoverPtSumDcaZ", "", kTH2F, {axisSeconds, axisSparseQoverPt});
6770
histos.add("hSecondsCsideQoverPtSumDcaR", "", kTH2F, {axisSeconds, axisSparseQoverPt});
@@ -80,6 +83,19 @@ struct MshapeQaTask {
8083
histos.add("hSecondsAsideITSTPCcontrib", "", kTH1F, {axisSeconds});
8184
histos.add("hSecondsCsideITSTPCcontrib", "", kTH1F, {axisSeconds});
8285
histos.add("hSecondsCollisions", "", kTH1F, {axisSeconds});
86+
87+
const AxisSpec axisPhi{64, 0, TMath::TwoPi(), "#varphi"};
88+
histos.add("hSecondsITSlayer0vsPhi", "", kTH2F, {axisSeconds, axisPhi});
89+
histos.add("hSecondsITSlayer1vsPhi", "", kTH2F, {axisSeconds, axisPhi});
90+
histos.add("hSecondsITSlayer2vsPhi", "", kTH2F, {axisSeconds, axisPhi});
91+
histos.add("hSecondsITSlayer3vsPhi", "", kTH2F, {axisSeconds, axisPhi});
92+
histos.add("hSecondsITSlayer4vsPhi", "", kTH2F, {axisSeconds, axisPhi});
93+
histos.add("hSecondsITSlayer5vsPhi", "", kTH2F, {axisSeconds, axisPhi});
94+
histos.add("hSecondsITSlayer6vsPhi", "", kTH2F, {axisSeconds, axisPhi});
95+
histos.add("hSecondsITS7clsVsPhi", "", kTH2F, {axisSeconds, axisPhi});
96+
histos.add("hSecondsITSglobalVsPhi", "", kTH2F, {axisSeconds, axisPhi});
97+
histos.add("hSecondsITSTRDVsPhi", "", kTH2F, {axisSeconds, axisPhi});
98+
histos.add("hSecondsITSTOFVsPhi", "", kTH2F, {axisSeconds, axisPhi});
8399
}
84100

85101
int64_t ts = col.bc_as<BCsRun3>().timestamp();
@@ -130,6 +146,34 @@ struct MshapeQaTask {
130146
} else {
131147
nCsideITSTPCContrib++;
132148
}
149+
150+
// select straight tracks
151+
if (track.pt() < 1) {
152+
continue;
153+
}
154+
// study ITS cluster pattern vs sec
155+
if (track.itsClusterMap() & (1 << 0))
156+
histos.fill(HIST("hSecondsITSlayer0vsPhi"), secFromSOR, track.phi());
157+
if (track.itsClusterMap() & (1 << 1))
158+
histos.fill(HIST("hSecondsITSlayer1vsPhi"), secFromSOR, track.phi());
159+
if (track.itsClusterMap() & (1 << 2))
160+
histos.fill(HIST("hSecondsITSlayer2vsPhi"), secFromSOR, track.phi());
161+
if (track.itsClusterMap() & (1 << 3))
162+
histos.fill(HIST("hSecondsITSlayer3vsPhi"), secFromSOR, track.phi());
163+
if (track.itsClusterMap() & (1 << 4))
164+
histos.fill(HIST("hSecondsITSlayer4vsPhi"), secFromSOR, track.phi());
165+
if (track.itsClusterMap() & (1 << 5))
166+
histos.fill(HIST("hSecondsITSlayer5vsPhi"), secFromSOR, track.phi());
167+
if (track.itsClusterMap() & (1 << 6))
168+
histos.fill(HIST("hSecondsITSlayer6vsPhi"), secFromSOR, track.phi());
169+
if (track.itsNCls() == 7)
170+
histos.fill(HIST("hSecondsITS7clsVsPhi"), secFromSOR, track.phi());
171+
if (track.hasITS() && track.hasTPC())
172+
histos.fill(HIST("hSecondsITSglobalVsPhi"), secFromSOR, track.phi());
173+
if (track.hasTRD())
174+
histos.fill(HIST("hSecondsITSTRDVsPhi"), secFromSOR, track.phi());
175+
if (track.hasTOF())
176+
histos.fill(HIST("hSecondsITSTOFVsPhi"), secFromSOR, track.phi());
133177
}
134178
}
135179
histos.fill(HIST("hSecondsCollisions"), secFromSOR);

DPG/Tasks/AOTTrack/tagAndProbeDmesons.cxx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,26 +488,31 @@ struct TagTwoProngDisplacedVertices {
488488
if (std::abs(track.tofNSigmaPi()) < trackNumSigmaTof) {
489489
return true;
490490
}
491+
break;
491492
}
492493
case aod::tagandprobe::TagChannels::DsOrDplusToKKPi: {
493494
if (std::abs(track.tofNSigmaKa()) < trackNumSigmaTof) {
494495
return true;
495496
}
497+
break;
496498
}
497499
case aod::tagandprobe::TagChannels::DstarPlusToDzeroPi: {
498500
if ((track.signed1Pt() > 0 && std::abs(track.tofNSigmaPi()) < trackNumSigmaTof) || (track.signed1Pt() < 0 && std::abs(track.tofNSigmaKa()) < trackNumSigmaTof)) {
499501
return true;
500502
}
503+
break;
501504
}
502505
case aod::tagandprobe::TagChannels::DstarMinusToDzeroBarPi: {
503506
if ((track.signed1Pt() < 0 && std::abs(track.tofNSigmaPi()) < trackNumSigmaTof) || (track.signed1Pt() > 0 && std::abs(track.tofNSigmaKa()) < trackNumSigmaTof)) {
504507
return true;
505508
}
509+
break;
506510
}
507511
case aod::tagandprobe::TagChannels::DstarToDzeroToKK: {
508512
if (std::abs(track.tofNSigmaKa()) < trackNumSigmaTof) {
509513
return true;
510514
}
515+
break;
511516
}
512517
}
513518
return false;

EventFiltering/PWGHF/HFFilter.cxx

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ struct HfFilter { // Main struct for HF triggers
129129
// array of BDT thresholds
130130
std::array<LabeledArray<double>, kNCharmParticles> thresholdBDTScores;
131131

132-
HistogramRegistry registry{"registry", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
132+
HistogramRegistry registry{"registry"};
133133
std::shared_ptr<TH1> hProcessedEvents;
134134

135135
// QA histos
@@ -233,7 +233,7 @@ struct HfFilter { // Main struct for HF triggers
233233
if (activateQA > 1) {
234234
hProtonTPCPID = registry.add<TH2>("fProtonTPCPID", "#it{N}_{#sigma}^{TPC} vs. #it{p} for selected protons;#it{p} (GeV/#it{c});#it{N}_{#sigma}^{TPC}", HistType::kTH2F, {pAxis, nSigmaAxis});
235235
hProtonTOFPID = registry.add<TH2>("fProtonTOFPID", "#it{N}_{#sigma}^{TOF} vs. #it{p} for selected protons;#it{p} (GeV/#it{c});#it{N}_{#sigma}^{TOF}", HistType::kTH2F, {pAxis, nSigmaAxis});
236-
hV0Selected = registry.add<TH2>("fV0Selected", "Selections for V0s;;counts", HistType::kTH2F, {{10, -0.5, 9.5}, {kNV0, -0.5, +kNV0 - 0.5}});
236+
hV0Selected = registry.add<TH2>("fV0Selected", "Selections for V0s;;counts", HistType::kTH2F, {{9, -0.5, 8.5}, {kNV0, -0.5, +kNV0 - 0.5}});
237237

238238
for (int iV0{kPhoton}; iV0 < kNV0; ++iV0) {
239239
hV0Selected->GetYaxis()->SetBinLabel(iV0 + 1, v0Labels[iV0].data());
@@ -242,12 +242,11 @@ struct HfFilter { // Main struct for HF triggers
242242
hV0Selected->GetXaxis()->SetBinLabel(2, "rej. |#eta|");
243243
hV0Selected->GetXaxis()->SetBinLabel(3, "rej. radius");
244244
hV0Selected->GetXaxis()->SetBinLabel(4, "rej. cos(#theta_{P})");
245-
hV0Selected->GetXaxis()->SetBinLabel(5, "rej. AP / Mass");
245+
hV0Selected->GetXaxis()->SetBinLabel(5, "rej. Mass");
246246
hV0Selected->GetXaxis()->SetBinLabel(6, "rej. DCA V0");
247247
hV0Selected->GetXaxis()->SetBinLabel(7, "rej. DCA V0 daughters");
248-
hV0Selected->GetXaxis()->SetBinLabel(8, "rej. pair cut");
249-
hV0Selected->GetXaxis()->SetBinLabel(9, "rej. PID");
250-
hV0Selected->GetXaxis()->SetBinLabel(10, "selected");
248+
hV0Selected->GetXaxis()->SetBinLabel(8, "rej. PID");
249+
hV0Selected->GetXaxis()->SetBinLabel(9, "selected");
251250
}
252251
}
253252

@@ -283,7 +282,8 @@ struct HfFilter { // Main struct for HF triggers
283282
Hf3ProngsWithMl const& cand3Prongs,
284283
aod::TrackAssoc const& trackIndices,
285284
BigTracksPID const&,
286-
aod::V0PhotonsKF const& photons)
285+
aod::V0PhotonsKF const& photons,
286+
aod::V0Legs const&)
287287
{
288288
for (const auto& collision : collisions) {
289289

@@ -341,8 +341,8 @@ struct HfFilter { // Main struct for HF triggers
341341
auto trackParNeg = getTrackPar(trackNeg);
342342
o2::gpu::gpustd::array<float, 2> dcaPos{trackPos.dcaXY(), trackPos.dcaZ()};
343343
o2::gpu::gpustd::array<float, 2> dcaNeg{trackNeg.dcaXY(), trackNeg.dcaZ()};
344-
std::array<float, 3> pVecPos{trackPos.px(), trackPos.py(), trackPos.pz()};
345-
std::array<float, 3> pVecNeg{trackNeg.px(), trackNeg.py(), trackNeg.pz()};
344+
std::array<float, 3> pVecPos{trackPos.pVector()};
345+
std::array<float, 3> pVecNeg{trackNeg.pVector()};
346346
if (trackPos.collisionId() != thisCollId) {
347347
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParPos, 2.f, noMatCorr, &dcaPos);
348348
getPxPyPz(trackParPos, pVecPos);
@@ -410,7 +410,7 @@ struct HfFilter { // Main struct for HF triggers
410410

411411
auto trackParThird = getTrackPar(track);
412412
o2::gpu::gpustd::array<float, 2> dcaThird{track.dcaXY(), track.dcaZ()};
413-
std::array<float, 3> pVecThird = {track.px(), track.py(), track.pz()};
413+
std::array<float, 3> pVecThird = track.pVector();
414414
if (track.collisionId() != thisCollId) {
415415
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParThird, 2.f, noMatCorr, &dcaThird);
416416
getPxPyPz(trackParThird, pVecThird);
@@ -452,7 +452,7 @@ struct HfFilter { // Main struct for HF triggers
452452
}
453453
auto trackParFourth = getTrackPar(trackB);
454454
o2::gpu::gpustd::array<float, 2> dcaFourth{trackB.dcaXY(), trackB.dcaZ()};
455-
std::array<float, 3> pVecFourth = {trackB.px(), trackB.py(), trackB.pz()};
455+
std::array<float, 3> pVecFourth = trackB.pVector();
456456
if (trackB.collisionId() != thisCollId) {
457457
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFourth, 2.f, noMatCorr, &dcaFourth);
458458
getPxPyPz(trackParFourth, pVecFourth);
@@ -503,9 +503,9 @@ struct HfFilter { // Main struct for HF triggers
503503
if (!keepEvent[kPhotonCharm2P] && isSignalTagged && (TESTBIT(selD0, 0) || TESTBIT(selD0, 1))) {
504504
auto photonsThisCollision = photons.sliceBy(photonsPerCollision, thisCollId);
505505
for (const auto& photon : photonsThisCollision) {
506-
auto posTrack = photon.posTrack_as<BigTracksPID>();
507-
auto negTrack = photon.negTrack_as<BigTracksPID>();
508-
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, collision, activateQA, hV0Selected, hArmPod)) {
506+
auto posTrack = photon.posTrack_as<aod::V0Legs>();
507+
auto negTrack = photon.negTrack_as<aod::V0Legs>();
508+
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, activateQA, hV0Selected, hArmPod)) {
509509
continue;
510510
}
511511
gpu::gpustd::array<float, 2> dcaInfo;
@@ -581,7 +581,7 @@ struct HfFilter { // Main struct for HF triggers
581581

582582
auto trackParBachelor = getTrackPar(trackBachelor);
583583
o2::gpu::gpustd::array<float, 2> dcaBachelor{trackBachelor.dcaXY(), trackBachelor.dcaZ()};
584-
std::array<float, 3> pVecBachelor = {trackBachelor.px(), trackBachelor.py(), trackBachelor.pz()};
584+
std::array<float, 3> pVecBachelor = trackBachelor.pVector();
585585
if (trackBachelor.collisionId() != thisCollId) {
586586
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParBachelor, 2.f, noMatCorr, &dcaBachelor);
587587
getPxPyPz(trackParBachelor, pVecBachelor);
@@ -698,9 +698,9 @@ struct HfFilter { // Main struct for HF triggers
698698
o2::gpu::gpustd::array<float, 2> dcaFirst{trackFirst.dcaXY(), trackFirst.dcaZ()};
699699
o2::gpu::gpustd::array<float, 2> dcaSecond{trackSecond.dcaXY(), trackSecond.dcaZ()};
700700
o2::gpu::gpustd::array<float, 2> dcaThird{trackThird.dcaXY(), trackThird.dcaZ()};
701-
std::array<float, 3> pVecFirst = {trackFirst.px(), trackFirst.py(), trackFirst.pz()};
702-
std::array<float, 3> pVecSecond = {trackSecond.px(), trackSecond.py(), trackSecond.pz()};
703-
std::array<float, 3> pVecThird = {trackThird.px(), trackThird.py(), trackThird.pz()};
701+
std::array<float, 3> pVecFirst = trackFirst.pVector();
702+
std::array<float, 3> pVecSecond = trackSecond.pVector();
703+
std::array<float, 3> pVecThird = trackThird.pVector();
704704
if (trackFirst.collisionId() != thisCollId) {
705705
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFirst, 2.f, noMatCorr, &dcaFirst);
706706
getPxPyPz(trackParFirst, pVecFirst);
@@ -823,7 +823,7 @@ struct HfFilter { // Main struct for HF triggers
823823

824824
auto trackParFourth = getTrackPar(track);
825825
o2::gpu::gpustd::array<float, 2> dcaFourth{track.dcaXY(), track.dcaZ()};
826-
std::array<float, 3> pVecFourth = {track.px(), track.py(), track.pz()};
826+
std::array<float, 3> pVecFourth = track.pVector();
827827
if (track.collisionId() != thisCollId) {
828828
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFourth, 2.f, noMatCorr, &dcaFourth);
829829
getPxPyPz(trackParFourth, pVecFourth);
@@ -905,7 +905,7 @@ struct HfFilter { // Main struct for HF triggers
905905
// select soft pion candidates
906906
auto trackParSoftPi = getTrackPar(trackSoftPi);
907907
o2::gpu::gpustd::array<float, 2> dcaSoftPi{trackSoftPi.dcaXY(), trackSoftPi.dcaZ()};
908-
std::array<float, 3> pVecSoftPi = {trackSoftPi.px(), trackSoftPi.py(), trackSoftPi.pz()};
908+
std::array<float, 3> pVecSoftPi = trackSoftPi.pVector();
909909
if (trackSoftPi.collisionId() != thisCollId) {
910910
// This is a track reassociated to this PV by the track-to-collision-associator
911911
// Let's propagate this track to it, and calculate dcaXY, dcaZ
@@ -984,9 +984,9 @@ struct HfFilter { // Main struct for HF triggers
984984
auto massDsPiKK = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird}, std::array{massPi, massKa, massKa});
985985
auto photonsThisCollision = photons.sliceBy(photonsPerCollision, thisCollId);
986986
for (const auto& photon : photonsThisCollision) {
987-
auto posTrack = photon.posTrack_as<BigTracksPID>();
988-
auto negTrack = photon.negTrack_as<BigTracksPID>();
989-
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, collision, activateQA, hV0Selected, hArmPod)) {
987+
auto posTrack = photon.posTrack_as<aod::V0Legs>();
988+
auto negTrack = photon.negTrack_as<aod::V0Legs>();
989+
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, activateQA, hV0Selected, hArmPod)) {
990990
continue;
991991
}
992992
gpu::gpustd::array<float, 2> dcaInfo;
@@ -1123,7 +1123,7 @@ struct HfFilter { // Main struct for HF triggers
11231123
// select soft pion candidates
11241124
auto trackParSoftPi = getTrackPar(trackSoftPi);
11251125
o2::gpu::gpustd::array<float, 2> dcaSoftPi{trackSoftPi.dcaXY(), trackSoftPi.dcaZ()};
1126-
std::array<float, 3> pVecSoftPi = {trackSoftPi.px(), trackSoftPi.py(), trackSoftPi.pz()};
1126+
std::array<float, 3> pVecSoftPi = trackSoftPi.pVector();
11271127
if (trackSoftPi.collisionId() != thisCollId) {
11281128
// This is a track reassociated to this PV by the track-to-collision-associator
11291129
// Let's propagate this track to it, and calculate dcaXY, dcaZ
@@ -1142,8 +1142,8 @@ struct HfFilter { // Main struct for HF triggers
11421142
/// and keep it only if it is in the correct mass range
11431143

11441144
float massSigmaCPKPi{-999.}, massSigmaCPiKP{-999.}, deltaMassXicResoPKPi{-999.}, deltaMassXicResoPiKP{-999.};
1145-
std::array<float, 3> pVecPiPosK0s = {posTrack.px(), posTrack.py(), posTrack.pz()};
1146-
std::array<float, 3> pVecPiNegK0s = {negTrack.px(), negTrack.py(), negTrack.pz()};
1145+
std::array<float, 3> pVecPiPosK0s = posTrack.pVector();
1146+
std::array<float, 3> pVecPiNegK0s = negTrack.pVector();
11471147
float ptSigmaCKaon = RecoDecay::pt(pVecSigmaC, pVecPiPosK0s, pVecPiNegK0s);
11481148
if (ptSigmaCKaon > cutsPtDeltaMassCharmReso->get(2u, 10u)) {
11491149
if (TESTBIT(whichSigmaC, 0)) {
@@ -1227,7 +1227,7 @@ struct HfFilter { // Main struct for HF triggers
12271227
getPxPyPz(trackParCasc, pVecCascade);
12281228

12291229
auto trackParBachelor = getTrackPar(track);
1230-
std::array<float, 3> pVecBachelor = {track.px(), track.py(), track.pz()};
1230+
std::array<float, 3> pVecBachelor = track.pVector();
12311231
if (track.collisionId() != thisCollId) {
12321232
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParBachelor, 2.f, noMatCorr, &dcaInfo);
12331233
getPxPyPz(trackParBachelor, pVecBachelor);

EventFiltering/PWGHF/HFFilterCharmHadronSignals.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ struct HfFilterCharmHadronSignals { // Main struct for HF triggers
161161
auto trackParNeg = getTrackPar(trackNeg);
162162
o2::gpu::gpustd::array<float, 2> dcaPos{trackPos.dcaXY(), trackPos.dcaZ()};
163163
o2::gpu::gpustd::array<float, 2> dcaNeg{trackNeg.dcaXY(), trackNeg.dcaZ()};
164-
std::array<float, 3> pVecPos{trackPos.px(), trackPos.py(), trackPos.pz()};
165-
std::array<float, 3> pVecNeg{trackNeg.px(), trackNeg.py(), trackNeg.pz()};
164+
std::array<float, 3> pVecPos{trackPos.pVector()};
165+
std::array<float, 3> pVecNeg{trackNeg.pVector()};
166166
if (trackPos.collisionId() != thisCollId) {
167167
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParPos, 2.f, noMatCorr, &dcaPos);
168168
getPxPyPz(trackParPos, pVecPos);
@@ -216,7 +216,7 @@ struct HfFilterCharmHadronSignals { // Main struct for HF triggers
216216

217217
auto trackParThird = getTrackPar(track);
218218
o2::gpu::gpustd::array<float, 2> dcaThird{track.dcaXY(), track.dcaZ()};
219-
std::array<float, 3> pVecThird = {track.px(), track.py(), track.pz()};
219+
std::array<float, 3> pVecThird = track.pVector();
220220
if (track.collisionId() != thisCollId) {
221221
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParThird, 2.f, noMatCorr, &dcaThird);
222222
getPxPyPz(trackParThird, pVecThird);
@@ -268,9 +268,9 @@ struct HfFilterCharmHadronSignals { // Main struct for HF triggers
268268
o2::gpu::gpustd::array<float, 2> dcaFirst{trackFirst.dcaXY(), trackFirst.dcaZ()};
269269
o2::gpu::gpustd::array<float, 2> dcaSecond{trackSecond.dcaXY(), trackSecond.dcaZ()};
270270
o2::gpu::gpustd::array<float, 2> dcaThird{trackThird.dcaXY(), trackThird.dcaZ()};
271-
std::array<float, 3> pVecFirst = {trackFirst.px(), trackFirst.py(), trackFirst.pz()};
272-
std::array<float, 3> pVecSecond = {trackSecond.px(), trackSecond.py(), trackSecond.pz()};
273-
std::array<float, 3> pVecThird = {trackThird.px(), trackThird.py(), trackThird.pz()};
271+
std::array<float, 3> pVecFirst = trackFirst.pVector();
272+
std::array<float, 3> pVecSecond = trackSecond.pVector();
273+
std::array<float, 3> pVecThird = trackThird.pVector();
274274
if (trackFirst.collisionId() != thisCollId) {
275275
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFirst, 2.f, noMatCorr, &dcaFirst);
276276
getPxPyPz(trackParFirst, pVecFirst);

0 commit comments

Comments
 (0)