Skip to content

Commit

Permalink
PWGHF: add possibility to swap PID hypo for prongs 0 and 2 in ML appl…
Browse files Browse the repository at this point in the history
…ication for Ds, Lc->pKpi, and Xic->pKpi (#7913)

* PWGHF: add possibility to swap PID hypo for Ds, Lc->pKpi, and Xic->pKpi

* Please consider the following formatting changes

* Add missing variables in FILL_MAP_DS and adjust comments

---------

Co-authored-by: ALICE Action Bot <[email protected]>
  • Loading branch information
fgrosa and alibuild authored Oct 8, 2024
1 parent 6b3a32f commit 62a2164
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 11 deletions.
51 changes: 51 additions & 0 deletions PWGHF/Core/HfMlResponseDsToKKPi.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,19 @@
break; \
}

// Variation of CHECK_AND_FILL_VEC_DS_HFHELPER(OBJECT, FEATURE, GETTER)
// where OBJECT1 and OBJECT2 are the objects from which we call the GETTER method, and the variable
// is filled depending on whether it is a DsToKKPi or a DsToPiKK
#define CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(OBJECT1, OBJECT2, FEATURE, GETTER) \
case static_cast<uint8_t>(InputFeaturesDsToKKPi::FEATURE): { \
if (caseDsToKKPi) { \
inputFeatures.emplace_back(OBJECT1.GETTER()); \
} else { \
inputFeatures.emplace_back(OBJECT2.GETTER()); \
} \
break; \
}

namespace o2::analysis
{
enum class InputFeaturesDsToKKPi : uint8_t {
Expand Down Expand Up @@ -95,12 +108,24 @@ enum class InputFeaturesDsToKKPi : uint8_t {
nSigTpcKa0,
nSigTpcKa1,
nSigTpcKa2,
nSigTofPi0,
nSigTofPi1,
nSigTofPi2,
nSigTofKa0,
nSigTofKa1,
nSigTofKa2,
nSigTpcTofPi0,
nSigTpcTofPi1,
nSigTpcTofPi2,
nSigTpcTofKa0,
nSigTpcTofKa1,
nSigTpcTofKa2,
nSigTpcKaExpKa0,
nSigTpcPiExpPi2,
nSigTofKaExpKa0,
nSigTofPiExpPi2,
nSigTpcTofKaExpKa0,
nSigTpcTofPiExpPi2,
absCos3PiK,
deltaMassPhi
};
Expand Down Expand Up @@ -156,13 +181,26 @@ class HfMlResponseDsToKKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_DS_FULL(prong0, nSigTpcKa0, tpcNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong1, nSigTpcKa1, tpcNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong2, nSigTpcKa2, tpcNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong0, nSigTofPi0, tofNSigmaPi);
CHECK_AND_FILL_VEC_DS_FULL(prong1, nSigTofPi1, tofNSigmaPi);
CHECK_AND_FILL_VEC_DS_FULL(prong2, nSigTofPi2, tofNSigmaPi);
CHECK_AND_FILL_VEC_DS_FULL(prong0, nSigTofKa0, tofNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong1, nSigTofKa1, tofNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong2, nSigTofKa2, tofNSigmaKa);
CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(prong0, prong2, nSigTpcKaExpKa0, tpcNSigmaKa);
CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(prong2, prong0, nSigTpcPiExpPi2, tpcNSigmaPi);
CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(prong0, prong2, nSigTofKaExpKa0, tofNSigmaKa);
CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(prong2, prong0, nSigTofPiExpPi2, tofNSigmaPi);

// Combined PID variables
CHECK_AND_FILL_VEC_DS_FULL(prong0, nSigTpcTofPi0, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_DS_FULL(prong1, nSigTpcTofPi1, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_DS_FULL(prong2, nSigTpcTofPi2, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_DS_FULL(prong0, nSigTpcTofKa0, tpcTofNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong1, nSigTpcTofKa1, tpcTofNSigmaKa);
CHECK_AND_FILL_VEC_DS_FULL(prong2, nSigTpcTofKa2, tpcTofNSigmaKa);
CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(prong0, prong2, nSigTpcTofKaExpKa0, tpcTofNSigmaKa);
CHECK_AND_FILL_VEC_DS_OBJECT_SIGNED(prong2, prong0, nSigTpcTofPiExpPi2, tpcTofNSigmaPi);

// Ds specific variables
CHECK_AND_FILL_VEC_DS_HFHELPER_SIGNED(candidate, absCos3PiK, absCos3PiKDsToKKPi, absCos3PiKDsToPiKK);
Expand Down Expand Up @@ -200,13 +238,25 @@ class HfMlResponseDsToKKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_DS(nSigTpcKa0),
FILL_MAP_DS(nSigTpcKa1),
FILL_MAP_DS(nSigTpcKa2),
FILL_MAP_DS(nSigTofPi0),
FILL_MAP_DS(nSigTofPi1),
FILL_MAP_DS(nSigTofPi2),
FILL_MAP_DS(nSigTofKa0),
FILL_MAP_DS(nSigTofKa1),
FILL_MAP_DS(nSigTofKa2),
FILL_MAP_DS(nSigTpcKaExpKa0),
FILL_MAP_DS(nSigTpcPiExpPi2),
FILL_MAP_DS(nSigTofKaExpKa0),
FILL_MAP_DS(nSigTofPiExpPi2),
// Combined PID variables
FILL_MAP_DS(nSigTpcTofPi0),
FILL_MAP_DS(nSigTpcTofPi1),
FILL_MAP_DS(nSigTpcTofPi2),
FILL_MAP_DS(nSigTpcTofKa0),
FILL_MAP_DS(nSigTpcTofKa1),
FILL_MAP_DS(nSigTpcTofKa2),
FILL_MAP_DS(nSigTpcTofKaExpKa0),
FILL_MAP_DS(nSigTpcTofPiExpPi2),

// Ds specific variables
FILL_MAP_DS(absCos3PiK),
Expand All @@ -221,5 +271,6 @@ class HfMlResponseDsToKKPi : public HfMlResponse<TypeOutputScore>
#undef CHECK_AND_FILL_VEC_DS
#undef CHECK_AND_FILL_VEC_DS_HFHELPER
#undef CHECK_AND_FILL_VEC_DS_HFHELPER_SIGNED
#undef CHECK_AND_FILL_VEC_D0_OBJECT_HFHELPER_SIGNED

#endif // PWGHF_CORE_HFMLRESPONSEDSTOKKPI_H_
38 changes: 35 additions & 3 deletions PWGHF/Core/HfMlResponseLcToPKPi.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,19 @@
break; \
}

// Variation of CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(OBJECT1, OBJECT2, FEATURE, GETTER)
// where OBJECT1 and OBJECT2 are the objects from which we call the GETTER method, and the variable
// is filled depending on whether it is a LcToPKPi or a LcToPiKP
#define CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(OBJECT1, OBJECT2, FEATURE, GETTER) \
case static_cast<uint8_t>(InputFeaturesLcToPKPi::FEATURE): { \
if (caseLcToPKPi) { \
inputFeatures.emplace_back(OBJECT1.GETTER()); \
} else { \
inputFeatures.emplace_back(OBJECT2.GETTER()); \
} \
break; \
}

namespace o2::analysis
{
enum class InputFeaturesLcToPKPi : uint8_t {
Expand Down Expand Up @@ -98,7 +111,13 @@ enum class InputFeaturesLcToPKPi : uint8_t {
tpcTofNSigmaKa2,
tpcTofNSigmaPr0,
tpcTofNSigmaPr1,
tpcTofNSigmaPr2
tpcTofNSigmaPr2,
tpcNSigmaPrExpPr0,
tpcNSigmaPiExpPi2,
tofNSigmaPrExpPr0,
tofNSigmaPiExpPi2,
tpcTofNSigmaPrExpPr0,
tpcTofNSigmaPiExpPi2
};

template <typename TypeOutputScore = float>
Expand All @@ -118,7 +137,7 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
/// \return inputFeatures vector
template <typename T1, typename T2>
std::vector<float> getInputFeatures(T1 const& candidate,
T2 const& prong0, T2 const& prong1, T2 const& prong2)
T2 const& prong0, T2 const& prong1, T2 const& prong2, bool const& caseLcToPKPi)
{
std::vector<float> inputFeatures;

Expand Down Expand Up @@ -149,6 +168,8 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tpcNSigmaP2, tpcNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tpcNSigmaKa2, tpcNSigmaKa);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tpcNSigmaPi2, tpcNSigmaPi);
CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(prong0, prong2, tpcNSigmaPrExpPr0, tpcNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(prong2, prong0, tpcNSigmaPiExpPi2, tpcNSigmaPi);
// TOF PID variables
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong0, tofNSigmaP0, tofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong0, tofNSigmaKa0, tofNSigmaKa);
Expand All @@ -159,6 +180,8 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tofNSigmaP2, tofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tofNSigmaKa2, tofNSigmaKa);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tofNSigmaPi2, tofNSigmaPi);
CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(prong0, prong2, tofNSigmaPrExpPr0, tofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(prong2, prong0, tofNSigmaPiExpPi2, tofNSigmaPi);
// Combined PID variables
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong0, tpcTofNSigmaPi0, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong1, tpcTofNSigmaPi1, tpcTofNSigmaPi);
Expand All @@ -169,6 +192,8 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong0, tpcTofNSigmaPr0, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong1, tpcTofNSigmaPr1, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_FULL(prong2, tpcTofNSigmaPr2, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(prong0, prong2, tpcTofNSigmaPrExpPr0, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED(prong2, prong0, tpcTofNSigmaPiExpPi2, tpcTofNSigmaPi);
}
}

Expand Down Expand Up @@ -205,6 +230,8 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_LCTOPKPI(tpcNSigmaP2),
FILL_MAP_LCTOPKPI(tpcNSigmaKa2),
FILL_MAP_LCTOPKPI(tpcNSigmaPi2),
FILL_MAP_LCTOPKPI(tpcNSigmaPrExpPr0),
FILL_MAP_LCTOPKPI(tpcNSigmaPiExpPi2),
// TOF PID variables
FILL_MAP_LCTOPKPI(tofNSigmaP0),
FILL_MAP_LCTOPKPI(tofNSigmaKa0),
Expand All @@ -215,6 +242,8 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_LCTOPKPI(tofNSigmaP2),
FILL_MAP_LCTOPKPI(tofNSigmaKa2),
FILL_MAP_LCTOPKPI(tofNSigmaPi2),
FILL_MAP_LCTOPKPI(tofNSigmaPrExpPr0),
FILL_MAP_LCTOPKPI(tofNSigmaPiExpPi2),
// Combined PID variables
FILL_MAP_LCTOPKPI(tpcTofNSigmaPi0),
FILL_MAP_LCTOPKPI(tpcTofNSigmaPi1),
Expand All @@ -224,7 +253,9 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_LCTOPKPI(tpcTofNSigmaKa2),
FILL_MAP_LCTOPKPI(tpcTofNSigmaPr0),
FILL_MAP_LCTOPKPI(tpcTofNSigmaPr1),
FILL_MAP_LCTOPKPI(tpcTofNSigmaPr2)};
FILL_MAP_LCTOPKPI(tpcTofNSigmaPr2),
FILL_MAP_LCTOPKPI(tpcTofNSigmaPrExpPr0),
FILL_MAP_LCTOPKPI(tpcTofNSigmaPiExpPi2)};
}
};

Expand All @@ -234,5 +265,6 @@ class HfMlResponseLcToPKPi : public HfMlResponse<TypeOutputScore>
#undef CHECK_AND_FILL_VEC_LCTOPKPI_FULL
#undef CHECK_AND_FILL_VEC_LCTOPKPI
#undef CHECK_AND_FILL_VEC_LCTOPKPI_HFHELPER
#undef CHECK_AND_FILL_VEC_LCTOPKPI_OBJECT_SIGNED

#endif // PWGHF_CORE_HFMLRESPONSELCTOPKPI_H_
39 changes: 35 additions & 4 deletions PWGHF/Core/HfMlResponseXicToPKPi.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,19 @@
break; \
}

// Variation of CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(OBJECT1, OBJECT2, FEATURE, GETTER)
// where OBJECT1 and OBJECT2 are the objects from which we call the GETTER method, and the variable
// is filled depending on whether it is a XicToPKPi or a XicToPiKP
#define CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(OBJECT1, OBJECT2, FEATURE, GETTER) \
case static_cast<uint8_t>(InputFeaturesXicToPKPi::FEATURE): { \
if (caseXicToPKPi) { \
inputFeatures.emplace_back(OBJECT1.GETTER()); \
} else { \
inputFeatures.emplace_back(OBJECT2.GETTER()); \
} \
break; \
}

namespace o2::analysis
{
enum class InputFeaturesXicToPKPi : uint8_t {
Expand Down Expand Up @@ -92,8 +105,13 @@ enum class InputFeaturesXicToPKPi : uint8_t {
tpcTofNSigmaKa2,
tpcTofNSigmaPr0,
tpcTofNSigmaPr1,
tpcTofNSigmaPr2

tpcTofNSigmaPr2,
tpcNSigmaPrExpPr0,
tpcNSigmaPiExpPi2,
tofNSigmaPrExpPr0,
tofNSigmaPiExpPi2,
tpcTofNSigmaPrExpPr0,
tpcTofNSigmaPiExpPi2
};

template <typename TypeOutputScore = float>
Expand All @@ -113,7 +131,7 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
/// \return inputFeatures vector
template <typename T1, typename T2>
std::vector<float> getInputFeatures(T1 const& candidate,
T2 const& prong0, T2 const& prong1, T2 const& prong2)
T2 const& prong0, T2 const& prong1, T2 const& prong2, bool const& caseXicToPKPi)
{
std::vector<float> inputFeatures;

Expand Down Expand Up @@ -144,6 +162,8 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tpcNSigmaP2, tpcNSigmaPr);
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tpcNSigmaKa2, tpcNSigmaKa);
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tpcNSigmaPi2, tpcNSigmaPi);
CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(prong0, prong2, tpcNSigmaPrExpPr0, tpcNSigmaPr);
CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(prong2, prong0, tpcNSigmaPiExpPi2, tpcNSigmaPi);
// TOF PID variables
CHECK_AND_FILL_VEC_XIC_FULL(prong0, tofNSigmaP0, tofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_FULL(prong0, tofNSigmaKa0, tofNSigmaKa);
Expand All @@ -154,6 +174,8 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tofNSigmaP2, tofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tofNSigmaKa2, tofNSigmaKa);
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tofNSigmaPi2, tofNSigmaPi);
CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(prong0, prong2, tofNSigmaPrExpPr0, tofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(prong2, prong0, tofNSigmaPiExpPi2, tofNSigmaPi);
// Combined PID variables
CHECK_AND_FILL_VEC_XIC_FULL(prong0, tpcTofNSigmaPi0, tpcTofNSigmaPi);
CHECK_AND_FILL_VEC_XIC_FULL(prong1, tpcTofNSigmaPi1, tpcTofNSigmaPi);
Expand All @@ -164,6 +186,8 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
CHECK_AND_FILL_VEC_XIC_FULL(prong0, tpcTofNSigmaPr0, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_FULL(prong1, tpcTofNSigmaPr1, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_FULL(prong2, tpcTofNSigmaPr2, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(prong0, prong2, tpcTofNSigmaPrExpPr0, tpcTofNSigmaPr);
CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED(prong2, prong0, tpcTofNSigmaPiExpPi2, tpcTofNSigmaPi);
}
}

Expand Down Expand Up @@ -200,6 +224,8 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_XIC(tpcNSigmaP2),
FILL_MAP_XIC(tpcNSigmaKa2),
FILL_MAP_XIC(tpcNSigmaPi2),
FILL_MAP_XIC(tpcNSigmaPrExpPr0),
FILL_MAP_XIC(tpcNSigmaPiExpPi2),
// TOF PID variables
FILL_MAP_XIC(tofNSigmaP0),
FILL_MAP_XIC(tofNSigmaKa0),
Expand All @@ -210,6 +236,8 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_XIC(tofNSigmaP2),
FILL_MAP_XIC(tofNSigmaKa2),
FILL_MAP_XIC(tofNSigmaPi2),
FILL_MAP_XIC(tofNSigmaPrExpPr0),
FILL_MAP_XIC(tofNSigmaPiExpPi2),
// Combined PID variables
FILL_MAP_XIC(tpcTofNSigmaPi0),
FILL_MAP_XIC(tpcTofNSigmaPi1),
Expand All @@ -219,7 +247,9 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
FILL_MAP_XIC(tpcTofNSigmaKa2),
FILL_MAP_XIC(tpcTofNSigmaPr0),
FILL_MAP_XIC(tpcTofNSigmaPr1),
FILL_MAP_XIC(tpcTofNSigmaPr2)};
FILL_MAP_XIC(tpcTofNSigmaPr2),
FILL_MAP_XIC(tpcTofNSigmaPrExpPr0),
FILL_MAP_XIC(tpcTofNSigmaPiExpPi2)};
}
};

Expand All @@ -228,5 +258,6 @@ class HfMlResponseXicToPKPi : public HfMlResponse<TypeOutputScore>
#undef FILL_MAP_XIC
#undef CHECK_AND_FILL_VEC_XIC_FULL
#undef CHECK_AND_FILL_VEC_XIC
#undef CHECK_AND_FILL_VEC_XIC_OBJECT_SIGNED

#endif // PWGHF_CORE_HFMLRESPONSEXICTOPKPI_H_
4 changes: 2 additions & 2 deletions PWGHF/TableProducer/candidateSelectorLc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -447,11 +447,11 @@ struct HfCandidateSelectorLc {
isSelectedMlLcToPiKP = false;

if (pidLcToPKPi == 1 && pidBayesLcToPKPi == 1 && topolLcToPKPi) {
std::vector<float> inputFeaturesLcToPKPi = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2);
std::vector<float> inputFeaturesLcToPKPi = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2, true);
isSelectedMlLcToPKPi = hfMlResponse.isSelectedMl(inputFeaturesLcToPKPi, candidate.pt(), outputMlLcToPKPi);
}
if (pidLcToPiKP == 1 && pidBayesLcToPiKP == 1 && topolLcToPiKP) {
std::vector<float> inputFeaturesLcToPiKP = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2);
std::vector<float> inputFeaturesLcToPiKP = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2, false);
isSelectedMlLcToPiKP = hfMlResponse.isSelectedMl(inputFeaturesLcToPiKP, candidate.pt(), outputMlLcToPiKP);
}

Expand Down
4 changes: 2 additions & 2 deletions PWGHF/TableProducer/candidateSelectorXicToPKPi.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -313,11 +313,11 @@ struct HfCandidateSelectorXicToPKPi {
bool isSelectedMlXicToPiKP = false;

if (topolXicToPKPi && pidXicToPKPi) {
std::vector<float> inputFeaturesXicToPKPi = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2);
std::vector<float> inputFeaturesXicToPKPi = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2, true);
isSelectedMlXicToPKPi = hfMlResponse.isSelectedMl(inputFeaturesXicToPKPi, ptCand, outputMlXicToPKPi);
}
if (topolXicToPiKP && pidXicToPiKP) {
std::vector<float> inputFeaturesXicToPiKP = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2);
std::vector<float> inputFeaturesXicToPiKP = hfMlResponse.getInputFeatures(candidate, trackPos1, trackNeg, trackPos2, false);
isSelectedMlXicToPiKP = hfMlResponse.isSelectedMl(inputFeaturesXicToPiKP, ptCand, outputMlXicToPiKP);
}

Expand Down

0 comments on commit 62a2164

Please sign in to comment.