Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 18 additions & 8 deletions PWGLF/DataModel/Vtx3BodyTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
DECLARE_SOA_INDEX_COLUMN_FULL(TrackPi, trackPi, int, Tracks, "_pi"); //!
DECLARE_SOA_INDEX_COLUMN_FULL(TrackDe, trackDe, int, Tracks, "_de"); //!
DECLARE_SOA_INDEX_COLUMN(Collision, collision); //!
DECLARE_SOA_INDEX_COLUMN(Decay3Body, decay3body); //!

Check failure on line 36 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.

// General 3 body Vtx properties
DECLARE_SOA_COLUMN(Mass, mass, float); //! candidate mass (with H3L or Anti-H3L mass hypothesis depending on deuteron charge)
Expand All @@ -59,12 +59,18 @@
DECLARE_SOA_COLUMN(PzTrackDe, pzTrackDe, float); //! track2 pz at min

// DCAs to PV
DECLARE_SOA_COLUMN(DCAXYTrackPrToPV, dcaXYtrackPrToPv, float); //! DCAXY of proton to PV
DECLARE_SOA_COLUMN(DCAXYTrackPiToPV, dcaXYtrackPiToPv, float); //! DCAXY of pion to PV
DECLARE_SOA_COLUMN(DCAXYTrackDeToPV, dcaXYtrackDeToPv, float); //! DCAXY of deuteron to PV
DECLARE_SOA_COLUMN(DCAZTrackPrToPV, dcaZtrackPrToPv, float); //! DCAZ of proton to PV
DECLARE_SOA_COLUMN(DCAZTrackPiToPV, dcaZtrackPiToPv, float); //! DCAZ of pion to PV
DECLARE_SOA_COLUMN(DCAZTrackDeToPV, dcaZtrackDeToPv, float); //! DCAZ of deuteron to PV
DECLARE_SOA_COLUMN(DCAXYTrackPrToPV, dcaXYtrackPrToPv, float); //! DCAXY of proton to PV (computed with KFParticle)

Check failure on line 62 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAXYTrackPiToPV, dcaXYtrackPiToPv, float); //! DCAXY of pion to PV (computed with KFParticle)

Check failure on line 63 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAXYTrackDeToPV, dcaXYtrackDeToPv, float); //! DCAXY of deuteron to PV (computed with KFParticle)

Check failure on line 64 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCATrackPrToPV, dcaTrackPrToPv, float); //! DCA of proton to PV (computed with KFParticle)

Check failure on line 65 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCATrackPiToPV, dcaTrackPiToPv, float); //! DCA of pion to PV (computed with KFParticle)

Check failure on line 66 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCATrackDeToPV, dcaTrackDeToPv, float); //! DCA of deuteron to PV (computed with KFParticle)

Check failure on line 67 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAXYTrackPrToPVProp, dcaXYtrackPrToPvProp, float); //! DCAXY of proton to PV (propagated with O2 Propagator)

Check failure on line 68 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAXYTrackPiToPVProp, dcaXYtrackPiToPvProp, float); //! DCAXY of pion to PV (propagated with O2 Propagator)

Check failure on line 69 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/o2-column]

Use UpperCamelCase for names of O2 columns and matching lowerCamelCase names for their getters.
DECLARE_SOA_COLUMN(DCAXYTrackDeToPVProp, dcaXYtrackDeToPvProp, float); //! DCAXY of deuteron to PV (propagated with O2 Propagator)
DECLARE_SOA_COLUMN(DCATrackPrToPVProp, dcaTrackPrToPvProp, float); //! DCA of proton to PV (propagated with O2 Propagator)
DECLARE_SOA_COLUMN(DCATrackPiToPVProp, dcaTrackPiToPvProp, float); //! DCA of pion to PV (propagated with O2 Propagator)
DECLARE_SOA_COLUMN(DCATrackDeToPVProp, dcaTrackDeToPvProp, float); //! DCA of deuteron to PV (propagated with O2 Propagator)

// DCAs to SV
DECLARE_SOA_COLUMN(DCATrackPrToSV, dcaTrackPrToSv, float); //! DCA of proton to SV
Expand Down Expand Up @@ -150,7 +156,7 @@
// Distance Over To Mom
DECLARE_SOA_DYNAMIC_COLUMN(DistOverTotMom, distovertotmom, //! PV to 3 body decay distance over total momentum
[](float X, float Y, float Z, float Px, float Py, float Pz, float pvX, float pvY, float pvZ) {
float P = RecoDecay::sqrtSumOfSquares(Px, Py, Pz);

Check failure on line 159 in PWGLF/DataModel/Vtx3BodyTables.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/function-variable]

Use lowerCamelCase for names of functions and variables.
return std::sqrt(std::pow(X - pvX, 2) + std::pow(Y - pvY, 2) + std::pow(Z - pvZ, 2)) / (P + 1E-10);
});

Expand Down Expand Up @@ -209,7 +215,9 @@
vtx3body::PxTrackPi, vtx3body::PyTrackPi, vtx3body::PzTrackPi,
vtx3body::PxTrackDe, vtx3body::PyTrackDe, vtx3body::PzTrackDe,
vtx3body::DCAXYTrackPrToPV, vtx3body::DCAXYTrackPiToPV, vtx3body::DCAXYTrackDeToPV,
vtx3body::DCAZTrackPrToPV, vtx3body::DCAZTrackPiToPV, vtx3body::DCAZTrackDeToPV,
vtx3body::DCATrackPrToPV, vtx3body::DCATrackPiToPV, vtx3body::DCATrackDeToPV,
vtx3body::DCAXYTrackPrToPVProp, vtx3body::DCAXYTrackPiToPVProp, vtx3body::DCAXYTrackDeToPVProp,
vtx3body::DCATrackPrToPVProp, vtx3body::DCATrackPiToPVProp, vtx3body::DCATrackDeToPVProp,
vtx3body::DCATrackPrToSV, vtx3body::DCATrackPiToSV, vtx3body::DCATrackDeToSV,
vtx3body::DCAVtxToDaughtersAv,
vtx3body::CosPA, vtx3body::Ct,
Expand Down Expand Up @@ -258,7 +266,9 @@
vtx3body::PxTrackPi, vtx3body::PyTrackPi, vtx3body::PzTrackPi,
vtx3body::PxTrackDe, vtx3body::PyTrackDe, vtx3body::PzTrackDe,
vtx3body::DCAXYTrackPrToPV, vtx3body::DCAXYTrackPiToPV, vtx3body::DCAXYTrackDeToPV,
vtx3body::DCAZTrackPrToPV, vtx3body::DCAZTrackPiToPV, vtx3body::DCAZTrackDeToPV,
vtx3body::DCATrackPrToPV, vtx3body::DCATrackPiToPV, vtx3body::DCATrackDeToPV,
vtx3body::DCAXYTrackPrToPVProp, vtx3body::DCAXYTrackPiToPVProp, vtx3body::DCAXYTrackDeToPVProp,
vtx3body::DCATrackPrToPVProp, vtx3body::DCATrackPiToPVProp, vtx3body::DCATrackDeToPVProp,
vtx3body::DCATrackPrToSV, vtx3body::DCATrackPiToSV, vtx3body::DCATrackDeToSV,
vtx3body::DCAVtxToDaughtersAv,
vtx3body::CosPA, vtx3body::Ct,
Expand Down
20 changes: 13 additions & 7 deletions PWGLF/TableProducer/Nuspex/decay3bodybuilder.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -907,7 +907,9 @@ struct decay3bodyBuilder {
-1., -1., -1., // momPion
-1., -1., -1., // momDeuteron
-1., -1., -1., // trackDCAxyToPV: 0 - proton, 1 - pion, 2 - deuteron
-1., -1., -1., // trackDCAzToPV: 0 - proton, 1 - pion, 2 - deuteron
-1., -1., -1., // trackDCAToPV: 0 - proton, 1 - pion, 2 - deuteron
-1., -1., -1., // trackDCAxyToPVprop: 0 - proton, 1 - pion, 2 - deuteron
-1., -1., -1., // trackDCAToPVprop: 0 - proton, 1 - pion, 2 - deuteron
-1., -1., -1., // daughterDCAtoSV: 0 - proton, 1 - pion, 2 - deuteron
-1., // daughterDCAtoSVaverage
-1., -1., // cosPA, ctau
Expand Down Expand Up @@ -1065,9 +1067,11 @@ struct decay3bodyBuilder {
helper.decay3body.momProton[0], helper.decay3body.momProton[1], helper.decay3body.momProton[2],
helper.decay3body.momPion[0], helper.decay3body.momPion[1], helper.decay3body.momPion[2],
helper.decay3body.momDeuteron[0], helper.decay3body.momDeuteron[1], helper.decay3body.momDeuteron[2],
helper.decay3body.trackDCAxyToPV[0], helper.decay3body.trackDCAxyToPV[1], helper.decay3body.trackDCAxyToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAzToPV[0], helper.decay3body.trackDCAzToPV[1], helper.decay3body.trackDCAzToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.daughterDCAtoSV[0], helper.decay3body.daughterDCAtoSV[1], helper.decay3body.daughterDCAtoSV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAxyToPV[0], helper.decay3body.trackDCAxyToPV[1], helper.decay3body.trackDCAxyToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAToPV[0], helper.decay3body.trackDCAToPV[1], helper.decay3body.trackDCAToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAxyToPVprop[0], helper.decay3body.trackDCAxyToPVprop[1], helper.decay3body.trackDCAxyToPVprop[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAToPVprop[0], helper.decay3body.trackDCAToPVprop[1], helper.decay3body.trackDCAToPVprop[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.daughterDCAtoSV[0], helper.decay3body.daughterDCAtoSV[1], helper.decay3body.daughterDCAtoSV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.daughterDCAtoSVaverage,
helper.decay3body.cosPA, helper.decay3body.ctau,
helper.decay3body.tpcNsigma[0], helper.decay3body.tpcNsigma[1], helper.decay3body.tpcNsigma[2], helper.decay3body.tpcNsigma[2], // 0 - proton, 1 - pion, 2 - deuteron, 3 - bach with pion hyp
Expand All @@ -1094,9 +1098,11 @@ struct decay3bodyBuilder {
helper.decay3body.momProton[0], helper.decay3body.momProton[1], helper.decay3body.momProton[2],
helper.decay3body.momPion[0], helper.decay3body.momPion[1], helper.decay3body.momPion[2],
helper.decay3body.momDeuteron[0], helper.decay3body.momDeuteron[1], helper.decay3body.momDeuteron[2],
helper.decay3body.trackDCAxyToPV[0], helper.decay3body.trackDCAxyToPV[1], helper.decay3body.trackDCAxyToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAzToPV[0], helper.decay3body.trackDCAzToPV[1], helper.decay3body.trackDCAzToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.daughterDCAtoSV[0], helper.decay3body.daughterDCAtoSV[1], helper.decay3body.daughterDCAtoSV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAxyToPV[0], helper.decay3body.trackDCAxyToPV[1], helper.decay3body.trackDCAxyToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAToPV[0], helper.decay3body.trackDCAToPV[1], helper.decay3body.trackDCAToPV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAxyToPVprop[0], helper.decay3body.trackDCAxyToPVprop[1], helper.decay3body.trackDCAxyToPVprop[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.trackDCAToPVprop[0], helper.decay3body.trackDCAToPVprop[1], helper.decay3body.trackDCAToPVprop[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.daughterDCAtoSV[0], helper.decay3body.daughterDCAtoSV[1], helper.decay3body.daughterDCAtoSV[2], // 0 - proton, 1 - pion, 2 - deuteron
helper.decay3body.daughterDCAtoSVaverage,
helper.decay3body.cosPA, helper.decay3body.ctau,
helper.decay3body.tpcNsigma[0], helper.decay3body.tpcNsigma[1], helper.decay3body.tpcNsigma[2], helper.decay3body.tpcNsigma[2], // 0 - proton, 1 - pion, 2 - deuteron, 3 - bach with pion hyp
Expand Down
83 changes: 62 additions & 21 deletions PWGLF/Utils/decay3bodyBuilderHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,11 @@ struct decay3bodyCandidate {
std::array<float, 3> posProton = {0.0f, 0.0f, 0.0f};
std::array<float, 3> posPion = {0.0f, 0.0f, 0.0f};
std::array<float, 3> posDeuteron = {0.0f, 0.0f, 0.0f};
std::array<float, 3> trackDCAxyToPV = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 3> trackDCAzToPV = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 4> tpcNsigma = {0.0f, 0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron, 3 - bach with pion hyp
std::array<float, 3> trackDCAxyToPV = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 3> trackDCAToPV = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 3> trackDCAxyToPVprop = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 3> trackDCAToPVprop = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 4> tpcNsigma = {0.0f, 0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron, 3 - bach with pion hyp
double tofNsigmaDeuteron = 0.0f;
std::array<float, 3> averageITSClSize = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
std::array<float, 3> tpcNCl = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron
Expand Down Expand Up @@ -134,6 +136,9 @@ class decay3bodyBuilderHelper
float minDCAProtonToPV;
float minDCAPionToPV;
float minDCADeuteronToPV;
float minDCAProtonToPVprop;
float minDCAPionToPVprop;
float minDCADeuteronToPVprop;
float minPtProton;
float minPtPion;
float minPtDeuteron;
Expand Down Expand Up @@ -281,44 +286,80 @@ class decay3bodyBuilderHelper
} // end of selections

//_______________________________________________________________________
// daughter track DCA to PV associated with decay3body
o2::dataformats::VertexBase mPV;
o2::dataformats::DCA mDcaInfoCov;
// daughter track DCA to PV associated with decay3body --> computed with KFParticle
float pvXY[2] = {pvX, pvY};
float pv[3] = {pvX, pvY, pvZ};
auto trackParCovProtonCopy = trackParCovProton;
auto trackParCovPionCopy = trackParCovPion;
auto trackParCovDeuteronCopy = trackParCovDeuteron;
KFParticle kfproton = createKFParticleFromTrackParCov(trackParCovProtonCopy, trackProton.sign(), constants::physics::MassProton);
KFParticle kfpion = createKFParticleFromTrackParCov(trackParCovPionCopy, trackPion.sign(), constants::physics::MassPionCharged);
KFParticle kfdeuteron = createKFParticleFromTrackParCov(trackParCovDeuteronCopy, trackDeuteron.sign(), constants::physics::MassDeuteron);

// proton DCA to PV
decay3body.trackDCAxyToPV[0] = kfproton.GetDistanceFromVertexXY(pvXY);
decay3body.trackDCAToPV[0] = kfproton.GetDistanceFromVertex(pv);
// pion DCA to PV
decay3body.trackDCAxyToPV[1] = kfpion.GetDistanceFromVertexXY(pvXY);
decay3body.trackDCAToPV[1] = kfpion.GetDistanceFromVertex(pv);
// deuteron DCA to PV
decay3body.trackDCAxyToPV[2] = kfdeuteron.GetDistanceFromVertexXY(pvXY);
decay3body.trackDCAToPV[2] = kfdeuteron.GetDistanceFromVertex(pv);
// selection
if (useSelections) {
if (decay3body.trackDCAToPV[0] < decay3bodyselections.minDCAProtonToPV) {
decay3body = {};
return false;
}
if (decay3body.trackDCAToPV[1] < decay3bodyselections.minDCAPionToPV) {
decay3body = {};
return false;
}
if (decay3body.trackDCAToPV[2] < decay3bodyselections.minDCADeuteronToPV) {
decay3body = {};
return false;
}
}

//_______________________________________________________________________
// daughter track DCA to PV associated with decay3body --> with O2 Propagator
o2::dataformats::VertexBase mPV;
o2::dataformats::DCA mDcaInfoCov;
auto trackParCovProtonCopyProp = trackParCovProton;
auto trackParCovPionCopyProp = trackParCovPion;
auto trackParCovDeuteronCopyProp = trackParCovDeuteron;
mPV.setPos({pvX, pvY, pvZ});
mPV.setCov(collision.covXX(), collision.covXY(), collision.covYY(), collision.covXZ(), collision.covYZ(), collision.covZZ());

// proton track
o2::base::Propagator::Instance()->propagateToDCABxByBz(mPV, trackParCovProtonCopy, 2.f, fitter3body.getMatCorrType(), &mDcaInfoCov);
decay3body.trackDCAxyToPV[0] = mDcaInfoCov.getY();
decay3body.trackDCAzToPV[0] = mDcaInfoCov.getZ();
auto trackProtonDCAToPV = std::sqrt(decay3body.trackDCAxyToPV[0] * decay3body.trackDCAxyToPV[0] + decay3body.trackDCAzToPV[0] * decay3body.trackDCAzToPV[0]);
o2::base::Propagator::Instance()->propagateToDCABxByBz(mPV, trackParCovProtonCopyProp, 2.f, fitter3body.getMatCorrType(), &mDcaInfoCov);
decay3body.trackDCAxyToPVprop[0] = mDcaInfoCov.getY();
auto trackProtonDCAzToPVprop = mDcaInfoCov.getZ();
decay3body.trackDCAToPVprop[0] = std::sqrt(decay3body.trackDCAxyToPVprop[0] * decay3body.trackDCAxyToPVprop[0] + trackProtonDCAzToPVprop * trackProtonDCAzToPVprop);
if (useSelections) {
if (trackProtonDCAToPV < decay3bodyselections.minDCAProtonToPV) {
if (decay3body.trackDCAToPVprop[0] < decay3bodyselections.minDCAProtonToPVprop) {
decay3body = {};
return false;
}
}
// pion track
o2::base::Propagator::Instance()->propagateToDCABxByBz(mPV, trackParCovPionCopy, 2.f, fitter3body.getMatCorrType(), &mDcaInfoCov);
decay3body.trackDCAxyToPV[1] = mDcaInfoCov.getY();
decay3body.trackDCAzToPV[1] = mDcaInfoCov.getZ();
auto trackPionDCAToPV = std::sqrt(decay3body.trackDCAxyToPV[1] * decay3body.trackDCAxyToPV[1] + decay3body.trackDCAzToPV[1] * decay3body.trackDCAzToPV[1]);
o2::base::Propagator::Instance()->propagateToDCABxByBz(mPV, trackParCovPionCopyProp, 2.f, fitter3body.getMatCorrType(), &mDcaInfoCov);
decay3body.trackDCAxyToPVprop[1] = mDcaInfoCov.getY();
auto trackPionDCAzToPVprop = mDcaInfoCov.getZ();
decay3body.trackDCAToPVprop[1] = std::sqrt(decay3body.trackDCAxyToPVprop[1] * decay3body.trackDCAxyToPVprop[1] + trackPionDCAzToPVprop * trackPionDCAzToPVprop);
if (useSelections) {
if (trackPionDCAToPV < decay3bodyselections.minDCAPionToPV) {
if (decay3body.trackDCAToPVprop[1] < decay3bodyselections.minDCAPionToPVprop) {
decay3body = {};
return false;
}
}
// deuteron track
o2::base::Propagator::Instance()->propagateToDCABxByBz(mPV, trackParCovDeuteronCopy, 2.f, fitter3body.getMatCorrType(), &mDcaInfoCov);
decay3body.trackDCAxyToPV[2] = mDcaInfoCov.getY();
decay3body.trackDCAzToPV[2] = mDcaInfoCov.getZ();
auto trackDeuteronDCAToPV = std::sqrt(decay3body.trackDCAxyToPV[2] * decay3body.trackDCAxyToPV[2] + decay3body.trackDCAzToPV[2] * decay3body.trackDCAzToPV[2]);
o2::base::Propagator::Instance()->propagateToDCABxByBz(mPV, trackParCovDeuteronCopyProp, 2.f, fitter3body.getMatCorrType(), &mDcaInfoCov);
decay3body.trackDCAxyToPVprop[2] = mDcaInfoCov.getY();
auto trackDeuteronDCAzToPVprop = mDcaInfoCov.getZ();
decay3body.trackDCAToPVprop[2] = std::sqrt(decay3body.trackDCAxyToPVprop[2] * decay3body.trackDCAxyToPVprop[2] + trackDeuteronDCAzToPVprop * trackDeuteronDCAzToPVprop);
if (useSelections) {
if (trackDeuteronDCAToPV < decay3bodyselections.minDCADeuteronToPV) {
if (decay3body.trackDCAToPVprop[2] < decay3bodyselections.minDCADeuteronToPVprop) {
decay3body = {};
return false;
}
Expand Down
Loading