Skip to content

Commit 500c5ad

Browse files
committed
Update OmegaC ML response
1 parent 07f3d87 commit 500c5ad

2 files changed

Lines changed: 24 additions & 23 deletions

File tree

‎PWGHF/Core/HfMlResponseOmegacToOmegaPiQa.h‎

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
/// \brief Class to compute the ML response for Ωc0 → Ω- π+ (and charge-conjugate) analysis selections
1414
/// \author Yunfan Liu <yunfan.liu@cern.ch>, China University of Geosciences
1515
/// \author Maria Fernanda Torres Cabrera <maria.fernanda.torres.cabrera@cern.ch>, University of Houston
16+
/// \author Fabio Catalano <fabio.catalano@cern.ch>, University of Houston
1617

1718
#ifndef PWGHF_CORE_HFMLRESPONSEOMEGACTOOMEGAPIQA_H_
1819
#define PWGHF_CORE_HFMLRESPONSEOMEGACTOOMEGAPIQA_H_
@@ -32,37 +33,37 @@
3233
// the value is the corresponding value in EnumInputFeatures
3334
#define FILL_MAP_OMEGAC0(FEATURE) \
3435
{ \
35-
#FEATURE, static_cast<uint8_t>(InputFeaturesOmegacToOmegaPi::FEATURE)}
36+
#FEATURE, static_cast<uint8_t>(InputFeaturesOmegacToOmegaPiQa::FEATURE)}
3637

3738
// Specific case of CHECK_AND_FILL_VEC_OMEGAC0_FULL(OBJECT, FEATURE, GETTER)
3839
// where OBJECT is named candidate and FEATURE = GETTER
39-
#define CHECK_AND_FILL_VEC_OMEGAC0(GETTER) \
40-
case static_cast<uint8_t>(InputFeaturesOmegacToOmegaPi::GETTER): { \
41-
inputFeatures.emplace_back(candidate.GETTER()); \
42-
break; \
40+
#define CHECK_AND_FILL_VEC_OMEGAC0(GETTER) \
41+
case static_cast<uint8_t>(InputFeaturesOmegacToOmegaPiQa::GETTER): { \
42+
inputFeatures.emplace_back(candidate.GETTER()); \
43+
break; \
4344
}
4445

4546
// Check if the index of mCachedIndices (index associated to a FEATURE)
4647
// matches the entry in EnumInputFeatures associated to this FEATURE
4748
// if so, the inputFeatures vector is filled with the FEATURE's value
4849
// by calling the corresponding GETTER from OBJECT
49-
#define CHECK_AND_FILL_VEC_OMEGAC0_FULL(OBJECT, FEATURE, GETTER) \
50-
case static_cast<uint8_t>(InputFeaturesOmegacToOmegaPi::FEATURE): { \
51-
inputFeatures.emplace_back(OBJECT.GETTER()); \
52-
break; \
50+
#define CHECK_AND_FILL_VEC_OMEGAC0_FULL(OBJECT, FEATURE, GETTER) \
51+
case static_cast<uint8_t>(InputFeaturesOmegacToOmegaPiQa::FEATURE): { \
52+
inputFeatures.emplace_back(OBJECT.GETTER()); \
53+
break; \
5354
}
5455

5556
// Variation of CHECK_AND_FILL_VEC_OMEGAC0_FULL(OBJECT, FEATURE, GETTER)
5657
// where GETTER is a method of HfHelper
57-
#define CHECK_AND_FILL_VEC_OMEGAC0_HFHELPER(OBJECT, FEATURE, GETTER) \
58-
case static_cast<uint8_t>(InputFeaturesOmegacToOmegaPi::FEATURE): { \
59-
inputFeatures.emplace_back(HfHelperQa::GETTER(OBJECT)); \
60-
break; \
58+
#define CHECK_AND_FILL_VEC_OMEGAC0_HFHELPER(OBJECT, FEATURE, GETTER) \
59+
case static_cast<uint8_t>(InputFeaturesOmegacToOmegaPiQa::FEATURE): { \
60+
inputFeatures.emplace_back(HfHelperQa::GETTER(OBJECT)); \
61+
break; \
6162
}
6263

6364
namespace o2::analysis
6465
{
65-
enum class InputFeaturesOmegacToOmegaPi : uint8_t { // TODO: check if all the features needed are convered
66+
enum class InputFeaturesOmegacToOmegaPiQa : uint8_t {
6667
// Common variables
6768
impactParameterXYCharmBachelor = 0,
6869
impactParameterZCharmBachelor,
@@ -89,22 +90,21 @@ enum class InputFeaturesOmegacToOmegaPi : uint8_t { // TODO: check if all the fe
8990
chi2TopoOverNdfToPv,
9091
chi2GeoCascade,
9192
chi2TopoOverNdfCascadeToCharmHadron,
92-
chi2TopoOverNdfCascadeToPv,
93-
93+
chi2TopoOverNdfCascadeToPv
9494
};
9595

9696
template <typename TypeOutputScore = float, aod::hf_cand_casc_lf::ConstructMethod reconstructionType = aod::hf_cand_casc_lf::ConstructMethod::DcaFitter>
97-
class HfMlResponseOmegacToOmegaPi : public HfMlResponse<TypeOutputScore>
97+
class HfMlResponseOmegacToOmegaPiQa : public HfMlResponse<TypeOutputScore>
9898
{
9999
public:
100100
/// Default constructor
101-
HfMlResponseOmegacToOmegaPi() = default;
101+
HfMlResponseOmegacToOmegaPiQa() = default;
102102
/// Default destructor
103-
virtual ~HfMlResponseOmegacToOmegaPi() = default;
103+
virtual ~HfMlResponseOmegacToOmegaPiQa() = default;
104104

105105
/// Method to get the input features vector needed for ML inference
106-
/// \param candidate is the OMEGAC0 candidate
107-
/// \param lamProngPi is the candidate's lamProngPi
106+
/// \param candidate is the OmegaC0 candidate
107+
/// \param lamProngPi is the candidate's pion from the Lambda decay
108108
/// \param cascProng is the bachelor track from the Omega decay
109109
/// \param charmBaryonProng is the bachelor pion from the OmegaC decay
110110
/// \return inputFeatures vector
@@ -201,4 +201,5 @@ class HfMlResponseOmegacToOmegaPi : public HfMlResponse<TypeOutputScore>
201201
#undef CHECK_AND_FILL_VEC_OMEGAC0
202202
#undef CHECK_AND_FILL_VEC_OMEGAC0_FULL
203203
#undef CHECK_AND_FILL_VEC_OMEGAC0_HFHELPER
204+
204205
#endif // PWGHF_CORE_HFMLRESPONSEOMEGACTOOMEGAPIQA_H_

‎PWGHF/TableProducer/candidateSelectorOmegac0ToOmegaPiQa.cxx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ struct HfCandidateSelectorToOmegaPiQa {
176176
Configurable<float> itsChi2PerClusterMax{"itsChi2PerClusterMax", 36, "Maximum value of chi2 fit over ITS clusters for pi <- charm baryon"};
177177

178178
// TODO: is it needed to have separate ML response for DCAFitter and KFParticle?
179-
o2::analysis::HfMlResponseOmegacToOmegaPi<float, aod::hf_cand_casc_lf::ConstructMethod::DcaFitter> hfMlResponseDca;
180-
o2::analysis::HfMlResponseOmegacToOmegaPi<float, aod::hf_cand_casc_lf::ConstructMethod::KfParticle> hfMlResponseKf;
179+
o2::analysis::HfMlResponseOmegacToOmegaPiQa<float, aod::hf_cand_casc_lf::ConstructMethod::DcaFitter> hfMlResponseDca;
180+
o2::analysis::HfMlResponseOmegacToOmegaPiQa<float, aod::hf_cand_casc_lf::ConstructMethod::KfParticle> hfMlResponseKf;
181181
std::vector<float> outputMlOmegac;
182182
o2::ccdb::CcdbApi ccdbApi;
183183

0 commit comments

Comments
 (0)