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
75 changes: 66 additions & 9 deletions PWGHF/Core/HfMlResponseXicToXiPiPi.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,28 @@ enum class InputFeaturesXicToXiPiPi : uint8_t {
cosPaXYXi,
cosPaLambda,
cosPaXYLambda,
impactParameterXY0,
impactParameterXY1,
impactParameterXY2
impactParameterXi,
impactParameterPi0,
impactParameterPi1,
invMassXi,
invMassLambda,
dcaXiDaughters,
dcaV0Daughters,
dcaPosToPV,
dcaNegToPV,
dcaBachelorToPV,
dcaXYCascToPV,
dcaZCascToPV,
nSigTpcPiFromXicPlus0,
nSigTpcPiFromXicPlus1,
nSigTpcBachelorPi,
nSigTpcPiFromLambda,
nSigTpcPrFromLambda,
nSigTofPiFromXicPlus0,
nSigTofPiFromXicPlus1,
nSigTofBachelorPi,
nSigTofPiFromLambda,
nSigTofPrFromLambda
};

template <typename TypeOutputScore = float>
Expand Down Expand Up @@ -104,9 +123,28 @@ class HfMlResponseXicToXiPiPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_XICTOXIPIPI(cosPaXYXi);
CHECK_AND_FILL_VEC_XICTOXIPIPI(cosPaLambda);
CHECK_AND_FILL_VEC_XICTOXIPIPI(cosPaXYLambda);
CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXY0, impactParameter0);
CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXY1, impactParameter1);
CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXY2, impactParameter2);
CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXi, impactParameter0);
CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterPi0, impactParameter1);
CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterPi1, impactParameter2);
CHECK_AND_FILL_VEC_XICTOXIPIPI(invMassXi);
CHECK_AND_FILL_VEC_XICTOXIPIPI(invMassLambda);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaXiDaughters);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaV0Daughters);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaPosToPV);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaNegToPV);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaBachelorToPV);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaXYCascToPV);
CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaZCascToPV);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPiFromXicPlus0);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPiFromXicPlus1);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcBachelorPi);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPiFromLambda);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPrFromLambda);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromXicPlus0);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromXicPlus1);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofBachelorPi);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromLambda);
CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPrFromLambda);
}
}

Expand All @@ -132,9 +170,28 @@ class HfMlResponseXicToXiPiPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_XICTOXIPIPI(cosPaXYXi),
FILL_MAP_XICTOXIPIPI(cosPaLambda),
FILL_MAP_XICTOXIPIPI(cosPaXYLambda),
FILL_MAP_XICTOXIPIPI(impactParameterXY0),
FILL_MAP_XICTOXIPIPI(impactParameterXY1),
FILL_MAP_XICTOXIPIPI(impactParameterXY2)};
FILL_MAP_XICTOXIPIPI(impactParameterXi),
FILL_MAP_XICTOXIPIPI(impactParameterPi0),
FILL_MAP_XICTOXIPIPI(impactParameterPi1),
FILL_MAP_XICTOXIPIPI(invMassXi),
FILL_MAP_XICTOXIPIPI(invMassLambda),
FILL_MAP_XICTOXIPIPI(dcaXiDaughters),
FILL_MAP_XICTOXIPIPI(dcaV0Daughters),
FILL_MAP_XICTOXIPIPI(dcaPosToPV),
FILL_MAP_XICTOXIPIPI(dcaNegToPV),
FILL_MAP_XICTOXIPIPI(dcaBachelorToPV),
FILL_MAP_XICTOXIPIPI(dcaXYCascToPV),
FILL_MAP_XICTOXIPIPI(dcaZCascToPV),
FILL_MAP_XICTOXIPIPI(nSigTpcPiFromXicPlus0),
FILL_MAP_XICTOXIPIPI(nSigTpcPiFromXicPlus1),
FILL_MAP_XICTOXIPIPI(nSigTpcBachelorPi),
FILL_MAP_XICTOXIPIPI(nSigTpcPiFromLambda),
FILL_MAP_XICTOXIPIPI(nSigTpcPrFromLambda),
FILL_MAP_XICTOXIPIPI(nSigTofPiFromXicPlus0),
FILL_MAP_XICTOXIPIPI(nSigTofPiFromXicPlus1),
FILL_MAP_XICTOXIPIPI(nSigTofBachelorPi),
FILL_MAP_XICTOXIPIPI(nSigTofPiFromLambda),
FILL_MAP_XICTOXIPIPI(nSigTofPrFromLambda)};
}
};

Expand Down
2 changes: 1 addition & 1 deletion PWGHF/DataModel/CandidateReconstructionTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@
DECLARE_SOA_INDEX_COLUMN_FULL(Prong2, prong2, int, Tracks, "_2"); //! Index to third prong
DECLARE_SOA_INDEX_COLUMN(V0, v0); //! Index to V0 prong
DECLARE_SOA_INDEX_COLUMN(Cascade, cascade); //! Index to cascade prong
DECLARE_SOA_COLUMN(HFflag, hfflag, uint8_t); //!

Check warning on line 248 in PWGHF/DataModel/CandidateReconstructionTables.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(FlagD0ToKPi, flagD0ToKPi, uint8_t); //!
DECLARE_SOA_COLUMN(FlagJpsiToEE, flagJpsiToEE, uint8_t); //!
Expand Down Expand Up @@ -573,9 +573,9 @@
[](float xVtxP, float yVtxP, float xVtxS, float yVtxS, float err) -> float { return RecoDecay::distanceXY(std::array{xVtxP, yVtxP}, std::array{xVtxS, yVtxS}) / err; });
DECLARE_SOA_COLUMN(ErrorDecayLength, errorDecayLength, float); //!
DECLARE_SOA_COLUMN(ErrorDecayLengthXY, errorDecayLengthXY, float); //!
DECLARE_SOA_DYNAMIC_COLUMN(CPA, cpa, //!

Check warning on line 576 in PWGHF/DataModel/CandidateReconstructionTables.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.
[](float xVtxP, float yVtxP, float zVtxP, float xVtxS, float yVtxS, float zVtxS, float px, float py, float pz) -> float { return RecoDecay::cpa(std::array{xVtxP, yVtxP, zVtxP}, std::array{xVtxS, yVtxS, zVtxS}, std::array{px, py, pz}); });
DECLARE_SOA_DYNAMIC_COLUMN(CPAXY, cpaXY, //!

Check warning on line 578 in PWGHF/DataModel/CandidateReconstructionTables.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.
[](float xVtxP, float yVtxP, float xVtxS, float yVtxS, float px, float py) -> float { return RecoDecay::cpaXY(std::array{xVtxP, yVtxP}, std::array{xVtxS, yVtxS}, std::array{px, py}); });
DECLARE_SOA_DYNAMIC_COLUMN(Ct, ct, //!
[](float xVtxP, float yVtxP, float zVtxP, float xVtxS, float yVtxS, float zVtxS, float px, float py, float pz, double m) -> float { return RecoDecay::ct(std::array{px, py, pz}, RecoDecay::distance(std::array{xVtxP, yVtxP, zVtxP}, std::array{xVtxS, yVtxS, zVtxS}), m); });
Expand Down Expand Up @@ -766,9 +766,9 @@
DECLARE_SOA_COLUMN(FlagMcMatchGen, flagMcMatchGen, int8_t); //! generator level
DECLARE_SOA_COLUMN(OriginMcRec, originMcRec, int8_t); //! particle origin, reconstruction level
DECLARE_SOA_COLUMN(OriginMcGen, originMcGen, int8_t); //! particle origin, generator level
DECLARE_SOA_COLUMN(V0X, v0x, float); //! X position of V0 decay

Check warning on line 769 in PWGHF/DataModel/CandidateReconstructionTables.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(V0Y, v0y, float); //! Y position of V0 decay

Check warning on line 770 in PWGHF/DataModel/CandidateReconstructionTables.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(V0Z, v0z, float); //! Z position of V0 decay

Check warning on line 771 in PWGHF/DataModel/CandidateReconstructionTables.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.
} // namespace hf_cand_casc

DECLARE_SOA_TABLE(HfCandCascBase, "AOD", "HFCANDCASCBASE", //!
Expand Down Expand Up @@ -1279,10 +1279,10 @@
DECLARE_SOA_COLUMN(CosPAXYV0, cosPAXYV0, float);
DECLARE_SOA_COLUMN(CosPAXYCharmBaryon, cosPAXYCharmBaryon, float);
DECLARE_SOA_COLUMN(CosPAXYCasc, cosPAXYCasc, float);
DECLARE_SOA_COLUMN(CTauOmegac, ctauOmegac, float);

Check warning on line 1282 in PWGHF/DataModel/CandidateReconstructionTables.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(CTauCascade, ctauCascade, float);

Check warning on line 1283 in PWGHF/DataModel/CandidateReconstructionTables.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(CTauV0, ctauV0, float);

Check warning on line 1284 in PWGHF/DataModel/CandidateReconstructionTables.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(CTauXic, ctauXic, float);

Check warning on line 1285 in PWGHF/DataModel/CandidateReconstructionTables.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(EtaV0PosDau, etaV0PosDau, float);
DECLARE_SOA_COLUMN(EtaV0NegDau, etaV0NegDau, float);
DECLARE_SOA_COLUMN(EtaBachFromCasc, etaBachFromCasc, float);
Expand Down Expand Up @@ -1630,7 +1630,7 @@
DECLARE_SOA_COLUMN(DcaNegToPV, dcaNegToPV, float);
DECLARE_SOA_COLUMN(DcaBachelorToPV, dcaBachelorToPV, float);
DECLARE_SOA_COLUMN(DcaXYCascToPV, dcaXYCascToPV, float);
DECLARE_SOA_COLUMN(DcaZCascToPV, dcaXCascToPV, float);
DECLARE_SOA_COLUMN(DcaZCascToPV, dcaZCascToPV, float);
// KF specific columns
DECLARE_SOA_COLUMN(DcaXYPi0Pi1, dcaXYPi0Pi1, float);
DECLARE_SOA_COLUMN(DcaXYPi0Xi, dcaXYPi0Xi, float);
Expand Down
22 changes: 11 additions & 11 deletions PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ struct HfTreeCreatorXicToXiPiPi {
candidate.dcaNegToPV(),
candidate.dcaBachelorToPV(),
candidate.dcaXYCascToPV(),
candidate.dcaXCascToPV(),
candidate.dcaZCascToPV(),
candidate.nSigTpcPiFromXicPlus0(),
candidate.nSigTpcPiFromXicPlus1(),
candidate.nSigTpcBachelorPi(),
Expand Down Expand Up @@ -856,25 +856,25 @@ struct HfTreeCreatorXicToXiPiPi {
if (indexRecXicPlus == -1) {
continue;
}
auto XicPlusGen = particles.rawIteratorAt(indexRecXicPlus);
origin = RecoDecay::getCharmHadronOrigin(particles, XicPlusGen, true);
auto particleXicPlusGen = particles.rawIteratorAt(indexRecXicPlus);
origin = RecoDecay::getCharmHadronOrigin(particles, particleXicPlusGen, true);

// get MC collision
auto mcCollision = XicPlusGen.mcCollision_as<aod::McCollisions>();
auto mcCollision = particleXicPlusGen.mcCollision_as<aod::McCollisions>();

// get XicPlus daughters as MC particle
RecoDecay::getDaughters(XicPlusGen, &arrDaughIndex, std::array{+kXiMinus, +kPiPlus, +kPiPlus}, 2);
auto XicPlusDaugh0 = particles.rawIteratorAt(arrDaughIndex[0]);
RecoDecay::getDaughters(particleXicPlusGen, &arrDaughIndex, std::array{+kXiMinus, +kPiPlus, +kPiPlus}, 2);
auto daugh0XicPlus = particles.rawIteratorAt(arrDaughIndex[0]);

// calculate residuals and pulls
float pResidual = candidate.p() - XicPlusGen.p();
float ptResidual = candidate.pt() - XicPlusGen.pt();
float pResidual = candidate.p() - particleXicPlusGen.p();
float ptResidual = candidate.pt() - particleXicPlusGen.pt();
pvResiduals[0] = candidate.posX() - mcCollision.posX();
pvResiduals[1] = candidate.posY() - mcCollision.posY();
pvResiduals[2] = candidate.posZ() - mcCollision.posZ();
svResiduals[0] = candidate.xSecondaryVertex() - XicPlusDaugh0.vx();
svResiduals[1] = candidate.ySecondaryVertex() - XicPlusDaugh0.vy();
svResiduals[2] = candidate.zSecondaryVertex() - XicPlusDaugh0.vz();
svResiduals[0] = candidate.xSecondaryVertex() - daugh0XicPlus.vx();
svResiduals[1] = candidate.ySecondaryVertex() - daugh0XicPlus.vy();
svResiduals[2] = candidate.zSecondaryVertex() - daugh0XicPlus.vz();
try {
pvPulls[0] = pvResiduals[0] / candidate.xPvErr();
pvPulls[1] = pvResiduals[1] / candidate.yPvErr();
Expand Down
Loading