Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
f803a86
PWGJE: Fixing bug in collision counting in derived data writer (#5716)
nzardosh Apr 19, 2024
d4ce143
Update CODEOWNERS (#5717)
pbuehler Apr 19, 2024
5e79eb0
Adding event selection condition (#5719)
fkrizek Apr 19, 2024
cc95e49
fix mc part (#5721)
sarjeetagami Apr 19, 2024
ed4aea6
PWGEM/PhotonMeson: update for HF->ee MC (#5722)
dsekihat Apr 19, 2024
443b00f
PWGEM/PhotonMeson: quick fix to HF->ee in MC (#5723)
dsekihat Apr 19, 2024
5b2f6de
antip feed-down correction from mc (#5725)
alcaliva Apr 20, 2024
021ba59
Fixing histograms for MC (#5729)
lucamicheletti93 Apr 20, 2024
cdd0b3f
PWGEM/PhotonMeson: add process EE MC only (#5730)
dsekihat Apr 20, 2024
5928376
added momentum correlation plot (#5731)
alcaliva Apr 20, 2024
b4a1cf9
Update CODEOWNERS (#5732)
ddobrigk Apr 20, 2024
687c714
fixed the low entries in the ME background (it was due to the strict …
sawankumawat Apr 20, 2024
6c72e75
K*(892)pm analysis: added cut for primary track eta (#5728)
AlessandroSturniolo Apr 20, 2024
0539041
FillTrackMC and loose TPC/TOF cuts (#5733)
rbailhac Apr 20, 2024
194fab5
PWGHF: fix typo in soft pion rotation (#5734)
fgrosa Apr 20, 2024
023a3f6
ITS layer pattern vs time (#5735)
ekryshen Apr 20, 2024
21dce72
EventFiltering/PWGHF: consume table of photon legs (#5737)
fgrosa Apr 20, 2024
9600378
Add antilambda inv mass, noo CPR for opposite charge particles, fix f…
lauraser Apr 20, 2024
916ec35
PWGEM/PhotonMeson: implement pre-selection of e for speedup (#5738)
dsekihat Apr 20, 2024
4ba52f2
PWGEM/PhotonMesno: fix to scalar product (#5744)
dsekihat Apr 21, 2024
53f543d
PWGEM/PhotonMeson: update histogram bins (#5745)
dsekihat Apr 21, 2024
14b8722
PWGEM/PhotonMeson: reduce histogram bins for ee (#5747)
dsekihat Apr 21, 2024
84a6497
Update PWGLF/Taska/Nuspex/SpectraTOF.cxxx (#5749)
RD0407 Apr 21, 2024
3d09739
removed LF PID + added switch to p at prim vertex (#5740)
alcaliva Apr 22, 2024
ab40fe1
adding table with pileup flags and new analysis distributions (#5718)
glromane Apr 22, 2024
ce3aa01
Fix histogram filling in MC. (#5750)
mfaggin Apr 22, 2024
6c49a18
Setting optional ambiguous histograms (#5751)
lucamicheletti93 Apr 22, 2024
66c0086
[PWGUD] SG Selector updated (#5743)
abylinkin Apr 22, 2024
6872b02
PWGUD: buxfix for errors from hyperloop (#5699)
Edingrast Apr 22, 2024
ccd05c1
PWGMM: Mult: configurable axis in test task (#5752)
aalkin Apr 22, 2024
4395525
First step for working efficiency task for FemtoUniverse (work in pro…
zchochul Apr 22, 2024
45beaf0
Adding Ref Flow in new Table at dimuon level (#5741)
victorvalenciatorres Apr 22, 2024
9f2b76a
[PWGDQ] Fix initialization for used variables in HistogramManager (#5…
iarsene Apr 22, 2024
79ea83f
Fix: add lower and upper bounds in selections (#5755)
ariedel-cern Apr 22, 2024
6b61eba
PWGHF: Fix compilation warnings (#5757)
vkucera Apr 22, 2024
c6111cd
PWGLF: Fix compilation warnings (#5759)
vkucera Apr 22, 2024
55cebdd
PWGHF: Use `pVector` instead of `std::array{px, py, pz}` (#5710)
vkucera Apr 22, 2024
0dceab4
EventFiltering: Fix compilation warnings (#5761)
vkucera Apr 22, 2024
00d389b
PWGUD: Fix compilation warnings (#5758)
vkucera Apr 22, 2024
c8fcbd1
DPG: Fix compilation warnings (#5767)
vkucera Apr 22, 2024
30f2399
PWGCF: Fix compilation warnings (#5762)
vkucera Apr 22, 2024
439251a
[PWGDQ] Adding extra process function for associated muons with centr…
lucamicheletti93 Apr 22, 2024
ad69acc
PWGHF: added BDT scores to Charm resonances analysis (#5689)
Luca610 Apr 22, 2024
79fd720
PWGDQ: Fix compilation warnings (#5763)
vkucera Apr 22, 2024
cf292be
Implementing asymmetric cut for delta eta delta phi star cut (#5770)
zchochul Apr 22, 2024
1ebe621
PWGEM: Fix compilation warnings (#5760)
vkucera Apr 22, 2024
5079035
fixed iteration on mc collisions (#5769)
alcaliva Apr 22, 2024
f547043
PWGLF: stra converter modularisation (#5772)
ddobrigk Apr 22, 2024
d58fed9
PWGEM MCtemplate add process function to fill track Histograms correc…
feisenhu Apr 22, 2024
eaf803f
Slightly modify D* data model to use momentum vectors without D0 tabl…
fgrosa Apr 22, 2024
3778abe
[PWGUD] Modification of the stat plot in dgcandproducer (#5776)
rolavick Apr 22, 2024
897ee0d
PWGHF: reducing number of bins for ML scores in D0 output ThnSparse (…
Mingyu3360715 Apr 22, 2024
6548657
PWGHF: fix task for efficiency calculation checking daughter producti…
ZFederica Apr 22, 2024
d35c290
Add lnn task (#5784)
mapalhares Apr 22, 2024
827f7a2
Fix changing data model to avoid DQ stream issues (#5777)
victorvalenciatorres Apr 23, 2024
af9f056
Highlambdav3 (#5780)
skundu692 Apr 23, 2024
fc4c4ce
Update Hist names for 3body MC to work (bug fix) (#5785)
lauraser Apr 23, 2024
7996dc2
Fix bit position when having more than 64 triggers (#5786)
mpuccio Apr 23, 2024
023d351
More phi-dependent histos and pt selection (#5787)
ekryshen Apr 23, 2024
c2f806a
updated the latest event selection cuts (#5789)
sawankumawat Apr 23, 2024
4c79485
check run 2 bit in MC + revert previous selections for run 2 reco (#5…
maciacco Apr 23, 2024
12d1e22
Fix: use fixed CPR for track-v0 in mixed event (#5791)
ariedel-cern Apr 23, 2024
6dd4fdb
PWGCF: dEdx plots for IdentifedBF (#5792)
bghanley1995 Apr 23, 2024
4a387da
add task for nuclei hadron correlation (#5793)
ercolessi Apr 23, 2024
fb565fa
PWGHF: add Lc+ in taskFlowCharmHadrons (#5775)
wuctlby Apr 23, 2024
455fd9e
PWGMM: ambiguous track propagation: prevent crash in corner cases (#5…
aalkin Apr 23, 2024
87017be
PWGUD: SG_FourPi task - removed unnecessary printout (#5797)
abylinkin Apr 23, 2024
17c955c
Added pt threshold on jets in correlations (#5794)
mmriganka Apr 23, 2024
f15404d
Add MCH clusters to forward UPCCandidateProducer (#5800)
nburmaso Apr 23, 2024
4eee95b
Config Pool bins in Json file (#5773)
zz951 Apr 23, 2024
1a6b572
EventFiltering/PWGHF: rely on photon builder for most of the cuts on …
fgrosa Apr 23, 2024
eb3b4bb
Fixing mixed events auto-correlation (#5803)
zchochul Apr 23, 2024
e2e2a1c
[PWGCF - FemtoDream]: Including MC collision table (#5799)
gmantzar Apr 23, 2024
3cc01be
Add gen level information for efficiency computation (#5796)
ercolessi Apr 23, 2024
d062af5
fixed missing table (#5806)
alcaliva Apr 23, 2024
f885865
PWGLF - K892 update the binning config (#5805)
BongHwi Apr 23, 2024
c231772
Merge branch 'master' into master
mapalhares Apr 23, 2024
d45637c
Please consider the following formatting changes
alibuild Apr 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
/PWGMM/Lumi @alibuild @aalkin
/PWGMM/Mult @alibuild @aalkin @aortizve @ddobrigk
/PWGMM/UE @alibuild @aalkin @aortizve
/PWGUD @alibuild @pbuehler
/PWGUD @alibuild @pbuehler @abylinkin @rolavick
/PWGJE @alibuild @lhavener @maoyx @nzardosh @ddobrigk @mfasDa
/Tools/PIDML @alibuild @saganatt
/Tools/ML @alibuild @fcatalan92 @fmazzasc
Expand Down
46 changes: 45 additions & 1 deletion DPG/Tasks/AOTEvent/mshapeQa.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const AxisSpec axisSparseDcaR{100, -5., 5., "DCA_{r}, cm"};
const AxisSpec axisSparseDcaZ{100, -5., 5., "DCA_{z}, cm"};

struct MshapeQaTask {
Configurable<double> confTimeBinWidthInSec{"TimeBinWidthInSec", 0.1, "Width of time bins in seconds"};
Service<o2::ccdb::BasicCCDBManager> ccdb;
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
o2::tpc::TPCMShapeCorrection mshape; // object for simple access
Expand Down Expand Up @@ -61,7 +62,9 @@ struct MshapeQaTask {
auto grpecs = ccdb->getSpecific<o2::parameters::GRPECSObject>("GLO/Config/GRPECS", bcs.iteratorAt(0).timestamp(), metadata);
minSec = floor(grpecs->getTimeStart() / 1000.);
maxSec = ceil(grpecs->getTimeEnd() / 1000.);
const AxisSpec axisSeconds{static_cast<int>(maxSec - minSec) * 10, 0, maxSec - minSec, "seconds"};
int nTimeBins = static_cast<int>((maxSec - minSec) / confTimeBinWidthInSec);
double timeInterval = nTimeBins * confTimeBinWidthInSec;
const AxisSpec axisSeconds{nTimeBins, 0, timeInterval, "seconds"};
histos.add("hSecondsAsideQoverPtSumDcaR", "", kTH2F, {axisSeconds, axisSparseQoverPt});
histos.add("hSecondsAsideQoverPtSumDcaZ", "", kTH2F, {axisSeconds, axisSparseQoverPt});
histos.add("hSecondsCsideQoverPtSumDcaR", "", kTH2F, {axisSeconds, axisSparseQoverPt});
Expand All @@ -80,6 +83,19 @@ struct MshapeQaTask {
histos.add("hSecondsAsideITSTPCcontrib", "", kTH1F, {axisSeconds});
histos.add("hSecondsCsideITSTPCcontrib", "", kTH1F, {axisSeconds});
histos.add("hSecondsCollisions", "", kTH1F, {axisSeconds});

const AxisSpec axisPhi{64, 0, TMath::TwoPi(), "#varphi"};
histos.add("hSecondsITSlayer0vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSlayer1vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSlayer2vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSlayer3vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSlayer4vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSlayer5vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSlayer6vsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITS7clsVsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSglobalVsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSTRDVsPhi", "", kTH2F, {axisSeconds, axisPhi});
histos.add("hSecondsITSTOFVsPhi", "", kTH2F, {axisSeconds, axisPhi});
}

int64_t ts = col.bc_as<BCsRun3>().timestamp();
Expand Down Expand Up @@ -130,6 +146,34 @@ struct MshapeQaTask {
} else {
nCsideITSTPCContrib++;
}

// select straight tracks
if (track.pt() < 1) {
continue;
}
// study ITS cluster pattern vs sec
if (track.itsClusterMap() & (1 << 0))
histos.fill(HIST("hSecondsITSlayer0vsPhi"), secFromSOR, track.phi());
if (track.itsClusterMap() & (1 << 1))
histos.fill(HIST("hSecondsITSlayer1vsPhi"), secFromSOR, track.phi());
if (track.itsClusterMap() & (1 << 2))
histos.fill(HIST("hSecondsITSlayer2vsPhi"), secFromSOR, track.phi());
if (track.itsClusterMap() & (1 << 3))
histos.fill(HIST("hSecondsITSlayer3vsPhi"), secFromSOR, track.phi());
if (track.itsClusterMap() & (1 << 4))
histos.fill(HIST("hSecondsITSlayer4vsPhi"), secFromSOR, track.phi());
if (track.itsClusterMap() & (1 << 5))
histos.fill(HIST("hSecondsITSlayer5vsPhi"), secFromSOR, track.phi());
if (track.itsClusterMap() & (1 << 6))
histos.fill(HIST("hSecondsITSlayer6vsPhi"), secFromSOR, track.phi());
if (track.itsNCls() == 7)
histos.fill(HIST("hSecondsITS7clsVsPhi"), secFromSOR, track.phi());
if (track.hasITS() && track.hasTPC())
histos.fill(HIST("hSecondsITSglobalVsPhi"), secFromSOR, track.phi());
if (track.hasTRD())
histos.fill(HIST("hSecondsITSTRDVsPhi"), secFromSOR, track.phi());
if (track.hasTOF())
histos.fill(HIST("hSecondsITSTOFVsPhi"), secFromSOR, track.phi());
}
}
histos.fill(HIST("hSecondsCollisions"), secFromSOR);
Expand Down
5 changes: 5 additions & 0 deletions DPG/Tasks/AOTTrack/tagAndProbeDmesons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -488,26 +488,31 @@ struct TagTwoProngDisplacedVertices {
if (std::abs(track.tofNSigmaPi()) < trackNumSigmaTof) {
return true;
}
break;
}
case aod::tagandprobe::TagChannels::DsOrDplusToKKPi: {
if (std::abs(track.tofNSigmaKa()) < trackNumSigmaTof) {
return true;
}
break;
}
case aod::tagandprobe::TagChannels::DstarPlusToDzeroPi: {
if ((track.signed1Pt() > 0 && std::abs(track.tofNSigmaPi()) < trackNumSigmaTof) || (track.signed1Pt() < 0 && std::abs(track.tofNSigmaKa()) < trackNumSigmaTof)) {
return true;
}
break;
}
case aod::tagandprobe::TagChannels::DstarMinusToDzeroBarPi: {
if ((track.signed1Pt() < 0 && std::abs(track.tofNSigmaPi()) < trackNumSigmaTof) || (track.signed1Pt() > 0 && std::abs(track.tofNSigmaKa()) < trackNumSigmaTof)) {
return true;
}
break;
}
case aod::tagandprobe::TagChannels::DstarToDzeroToKK: {
if (std::abs(track.tofNSigmaKa()) < trackNumSigmaTof) {
return true;
}
break;
}
}
return false;
Expand Down
54 changes: 27 additions & 27 deletions EventFiltering/PWGHF/HFFilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ struct HfFilter { // Main struct for HF triggers
// array of BDT thresholds
std::array<LabeledArray<double>, kNCharmParticles> thresholdBDTScores;

HistogramRegistry registry{"registry", {}, OutputObjHandlingPolicy::AnalysisObject, true, true};
HistogramRegistry registry{"registry"};
std::shared_ptr<TH1> hProcessedEvents;

// QA histos
Expand Down Expand Up @@ -233,7 +233,7 @@ struct HfFilter { // Main struct for HF triggers
if (activateQA > 1) {
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});
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});
hV0Selected = registry.add<TH2>("fV0Selected", "Selections for V0s;;counts", HistType::kTH2F, {{10, -0.5, 9.5}, {kNV0, -0.5, +kNV0 - 0.5}});
hV0Selected = registry.add<TH2>("fV0Selected", "Selections for V0s;;counts", HistType::kTH2F, {{9, -0.5, 8.5}, {kNV0, -0.5, +kNV0 - 0.5}});

for (int iV0{kPhoton}; iV0 < kNV0; ++iV0) {
hV0Selected->GetYaxis()->SetBinLabel(iV0 + 1, v0Labels[iV0].data());
Expand All @@ -242,12 +242,11 @@ struct HfFilter { // Main struct for HF triggers
hV0Selected->GetXaxis()->SetBinLabel(2, "rej. |#eta|");
hV0Selected->GetXaxis()->SetBinLabel(3, "rej. radius");
hV0Selected->GetXaxis()->SetBinLabel(4, "rej. cos(#theta_{P})");
hV0Selected->GetXaxis()->SetBinLabel(5, "rej. AP / Mass");
hV0Selected->GetXaxis()->SetBinLabel(5, "rej. Mass");
hV0Selected->GetXaxis()->SetBinLabel(6, "rej. DCA V0");
hV0Selected->GetXaxis()->SetBinLabel(7, "rej. DCA V0 daughters");
hV0Selected->GetXaxis()->SetBinLabel(8, "rej. pair cut");
hV0Selected->GetXaxis()->SetBinLabel(9, "rej. PID");
hV0Selected->GetXaxis()->SetBinLabel(10, "selected");
hV0Selected->GetXaxis()->SetBinLabel(8, "rej. PID");
hV0Selected->GetXaxis()->SetBinLabel(9, "selected");
}
}

Expand Down Expand Up @@ -283,7 +282,8 @@ struct HfFilter { // Main struct for HF triggers
Hf3ProngsWithMl const& cand3Prongs,
aod::TrackAssoc const& trackIndices,
BigTracksPID const&,
aod::V0PhotonsKF const& photons)
aod::V0PhotonsKF const& photons,
aod::V0Legs const&)
{
for (const auto& collision : collisions) {

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

auto trackParThird = getTrackPar(track);
o2::gpu::gpustd::array<float, 2> dcaThird{track.dcaXY(), track.dcaZ()};
std::array<float, 3> pVecThird = {track.px(), track.py(), track.pz()};
std::array<float, 3> pVecThird = track.pVector();
if (track.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParThird, 2.f, noMatCorr, &dcaThird);
getPxPyPz(trackParThird, pVecThird);
Expand Down Expand Up @@ -452,7 +452,7 @@ struct HfFilter { // Main struct for HF triggers
}
auto trackParFourth = getTrackPar(trackB);
o2::gpu::gpustd::array<float, 2> dcaFourth{trackB.dcaXY(), trackB.dcaZ()};
std::array<float, 3> pVecFourth = {trackB.px(), trackB.py(), trackB.pz()};
std::array<float, 3> pVecFourth = trackB.pVector();
if (trackB.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFourth, 2.f, noMatCorr, &dcaFourth);
getPxPyPz(trackParFourth, pVecFourth);
Expand Down Expand Up @@ -503,9 +503,9 @@ struct HfFilter { // Main struct for HF triggers
if (!keepEvent[kPhotonCharm2P] && isSignalTagged && (TESTBIT(selD0, 0) || TESTBIT(selD0, 1))) {
auto photonsThisCollision = photons.sliceBy(photonsPerCollision, thisCollId);
for (const auto& photon : photonsThisCollision) {
auto posTrack = photon.posTrack_as<BigTracksPID>();
auto negTrack = photon.negTrack_as<BigTracksPID>();
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, collision, activateQA, hV0Selected, hArmPod)) {
auto posTrack = photon.posTrack_as<aod::V0Legs>();
auto negTrack = photon.negTrack_as<aod::V0Legs>();
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, activateQA, hV0Selected, hArmPod)) {
continue;
}
gpu::gpustd::array<float, 2> dcaInfo;
Expand Down Expand Up @@ -581,7 +581,7 @@ struct HfFilter { // Main struct for HF triggers

auto trackParBachelor = getTrackPar(trackBachelor);
o2::gpu::gpustd::array<float, 2> dcaBachelor{trackBachelor.dcaXY(), trackBachelor.dcaZ()};
std::array<float, 3> pVecBachelor = {trackBachelor.px(), trackBachelor.py(), trackBachelor.pz()};
std::array<float, 3> pVecBachelor = trackBachelor.pVector();
if (trackBachelor.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParBachelor, 2.f, noMatCorr, &dcaBachelor);
getPxPyPz(trackParBachelor, pVecBachelor);
Expand Down Expand Up @@ -698,9 +698,9 @@ struct HfFilter { // Main struct for HF triggers
o2::gpu::gpustd::array<float, 2> dcaFirst{trackFirst.dcaXY(), trackFirst.dcaZ()};
o2::gpu::gpustd::array<float, 2> dcaSecond{trackSecond.dcaXY(), trackSecond.dcaZ()};
o2::gpu::gpustd::array<float, 2> dcaThird{trackThird.dcaXY(), trackThird.dcaZ()};
std::array<float, 3> pVecFirst = {trackFirst.px(), trackFirst.py(), trackFirst.pz()};
std::array<float, 3> pVecSecond = {trackSecond.px(), trackSecond.py(), trackSecond.pz()};
std::array<float, 3> pVecThird = {trackThird.px(), trackThird.py(), trackThird.pz()};
std::array<float, 3> pVecFirst = trackFirst.pVector();
std::array<float, 3> pVecSecond = trackSecond.pVector();
std::array<float, 3> pVecThird = trackThird.pVector();
if (trackFirst.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFirst, 2.f, noMatCorr, &dcaFirst);
getPxPyPz(trackParFirst, pVecFirst);
Expand Down Expand Up @@ -823,7 +823,7 @@ struct HfFilter { // Main struct for HF triggers

auto trackParFourth = getTrackPar(track);
o2::gpu::gpustd::array<float, 2> dcaFourth{track.dcaXY(), track.dcaZ()};
std::array<float, 3> pVecFourth = {track.px(), track.py(), track.pz()};
std::array<float, 3> pVecFourth = track.pVector();
if (track.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFourth, 2.f, noMatCorr, &dcaFourth);
getPxPyPz(trackParFourth, pVecFourth);
Expand Down Expand Up @@ -905,7 +905,7 @@ struct HfFilter { // Main struct for HF triggers
// select soft pion candidates
auto trackParSoftPi = getTrackPar(trackSoftPi);
o2::gpu::gpustd::array<float, 2> dcaSoftPi{trackSoftPi.dcaXY(), trackSoftPi.dcaZ()};
std::array<float, 3> pVecSoftPi = {trackSoftPi.px(), trackSoftPi.py(), trackSoftPi.pz()};
std::array<float, 3> pVecSoftPi = trackSoftPi.pVector();
if (trackSoftPi.collisionId() != thisCollId) {
// This is a track reassociated to this PV by the track-to-collision-associator
// Let's propagate this track to it, and calculate dcaXY, dcaZ
Expand Down Expand Up @@ -984,9 +984,9 @@ struct HfFilter { // Main struct for HF triggers
auto massDsPiKK = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird}, std::array{massPi, massKa, massKa});
auto photonsThisCollision = photons.sliceBy(photonsPerCollision, thisCollId);
for (const auto& photon : photonsThisCollision) {
auto posTrack = photon.posTrack_as<BigTracksPID>();
auto negTrack = photon.negTrack_as<BigTracksPID>();
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, collision, activateQA, hV0Selected, hArmPod)) {
auto posTrack = photon.posTrack_as<aod::V0Legs>();
auto negTrack = photon.negTrack_as<aod::V0Legs>();
if (!helper.isSelectedPhoton(photon, std::array{posTrack, negTrack}, activateQA, hV0Selected, hArmPod)) {
continue;
}
gpu::gpustd::array<float, 2> dcaInfo;
Expand Down Expand Up @@ -1123,7 +1123,7 @@ struct HfFilter { // Main struct for HF triggers
// select soft pion candidates
auto trackParSoftPi = getTrackPar(trackSoftPi);
o2::gpu::gpustd::array<float, 2> dcaSoftPi{trackSoftPi.dcaXY(), trackSoftPi.dcaZ()};
std::array<float, 3> pVecSoftPi = {trackSoftPi.px(), trackSoftPi.py(), trackSoftPi.pz()};
std::array<float, 3> pVecSoftPi = trackSoftPi.pVector();
if (trackSoftPi.collisionId() != thisCollId) {
// This is a track reassociated to this PV by the track-to-collision-associator
// Let's propagate this track to it, and calculate dcaXY, dcaZ
Expand All @@ -1142,8 +1142,8 @@ struct HfFilter { // Main struct for HF triggers
/// and keep it only if it is in the correct mass range

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

auto trackParBachelor = getTrackPar(track);
std::array<float, 3> pVecBachelor = {track.px(), track.py(), track.pz()};
std::array<float, 3> pVecBachelor = track.pVector();
if (track.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParBachelor, 2.f, noMatCorr, &dcaInfo);
getPxPyPz(trackParBachelor, pVecBachelor);
Expand Down
12 changes: 6 additions & 6 deletions EventFiltering/PWGHF/HFFilterCharmHadronSignals.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ struct HfFilterCharmHadronSignals { // Main struct for HF triggers
auto trackParNeg = getTrackPar(trackNeg);
o2::gpu::gpustd::array<float, 2> dcaPos{trackPos.dcaXY(), trackPos.dcaZ()};
o2::gpu::gpustd::array<float, 2> dcaNeg{trackNeg.dcaXY(), trackNeg.dcaZ()};
std::array<float, 3> pVecPos{trackPos.px(), trackPos.py(), trackPos.pz()};
std::array<float, 3> pVecNeg{trackNeg.px(), trackNeg.py(), trackNeg.pz()};
std::array<float, 3> pVecPos{trackPos.pVector()};
std::array<float, 3> pVecNeg{trackNeg.pVector()};
if (trackPos.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParPos, 2.f, noMatCorr, &dcaPos);
getPxPyPz(trackParPos, pVecPos);
Expand Down Expand Up @@ -216,7 +216,7 @@ struct HfFilterCharmHadronSignals { // Main struct for HF triggers

auto trackParThird = getTrackPar(track);
o2::gpu::gpustd::array<float, 2> dcaThird{track.dcaXY(), track.dcaZ()};
std::array<float, 3> pVecThird = {track.px(), track.py(), track.pz()};
std::array<float, 3> pVecThird = track.pVector();
if (track.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParThird, 2.f, noMatCorr, &dcaThird);
getPxPyPz(trackParThird, pVecThird);
Expand Down Expand Up @@ -268,9 +268,9 @@ struct HfFilterCharmHadronSignals { // Main struct for HF triggers
o2::gpu::gpustd::array<float, 2> dcaFirst{trackFirst.dcaXY(), trackFirst.dcaZ()};
o2::gpu::gpustd::array<float, 2> dcaSecond{trackSecond.dcaXY(), trackSecond.dcaZ()};
o2::gpu::gpustd::array<float, 2> dcaThird{trackThird.dcaXY(), trackThird.dcaZ()};
std::array<float, 3> pVecFirst = {trackFirst.px(), trackFirst.py(), trackFirst.pz()};
std::array<float, 3> pVecSecond = {trackSecond.px(), trackSecond.py(), trackSecond.pz()};
std::array<float, 3> pVecThird = {trackThird.px(), trackThird.py(), trackThird.pz()};
std::array<float, 3> pVecFirst = trackFirst.pVector();
std::array<float, 3> pVecSecond = trackSecond.pVector();
std::array<float, 3> pVecThird = trackThird.pVector();
if (trackFirst.collisionId() != thisCollId) {
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParFirst, 2.f, noMatCorr, &dcaFirst);
getPxPyPz(trackParFirst, pVecFirst);
Expand Down
Loading