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
18 changes: 12 additions & 6 deletions PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,12 @@

template <o2::aod::pwgem::photonmeson::photonpair::PairType pairtype, o2::soa::is_table... Types>
struct Pi0EtaToGammaGamma {
o2::framework::Configurable<std::string> ccdburl{"ccdb-url", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};

Check failure on line 74 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)

Check failure on line 74 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)
o2::framework::Configurable<std::string> grpPath{"grpPath", "GLO/GRP/GRP", "Path of the grp file"};
o2::framework::Configurable<std::string> grpmagPath{"grpmagPath", "GLO/Config/GRPMagField", "CCDB path of the GRPMagField object"};
o2::framework::Configurable<bool> skipGRPOquery{"skipGRPOquery", true, "skip grpo query"};
o2::framework::Configurable<float> d_bz_input{"d_bz_input", -999, "bz field in kG, -999 is automatic"};

Check failure on line 78 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)

Check failure on line 78 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)
o2::framework::Configurable<uint64_t> ndiff_bc_mix{"ndiff_bc_mix", 594, "difference in global BC required in mixed events"};

Check failure on line 79 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)

Check failure on line 79 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[name/configurable]

Use lowerCamelCase for names of configurables and use the same name for the struct member as for the JSON string. (Declare the type and names on the same line.)

o2::framework::Configurable<int> cfgQvecEstimator{"cfgQvecEstimator", 0, "FT0M:0, FT0A:1, FT0C:2"};
o2::framework::Configurable<int> cfgCentEstimator{"cfgCentEstimator", 2, "FT0M:0, FT0A:1, FT0C:2"};
Expand Down Expand Up @@ -143,17 +143,20 @@
o2::framework::Configurable<bool> cfg_disable_tpconly_track{"cfg_disable_tpconly_track", false, "flag to disable TPConly tracks"};

o2::framework::Configurable<bool> cfg_apply_ml_cuts{"cfg_apply_ml", false, "flag to apply ML cut"};
o2::framework::Configurable<bool> cfg_use_2d_binning{"cfg_use_2d_binning", true, "flag to use 2D binning (pT, cent)"};
o2::framework::Configurable<bool> cfg_use_2d_binning{"cfg_use_2d_binning", false, "flag to use 2D binning (pT, cent)"};
o2::framework::Configurable<bool> cfg_load_ml_models_from_ccdb{"cfg_load_ml_models_from_ccdb", true, "flag to load ML models from CCDB"};
o2::framework::Configurable<int> cfg_timestamp_ccdb{"cfg_timestamp_ccdb", -1, "timestamp for CCDB"};
o2::framework::Configurable<int> cfg_nclasses_ml{"cfg_nclasses_ml", static_cast<int>(o2::analysis::em_cuts_ml::NCutScores), "number of classes for ML"};
o2::framework::Configurable<std::string> cfg_cent_type_ml{"cfg_cent_type_ml", "CentFT0C", "centrality type for 2D ML application: CentFT0C, CentFT0M, or CentFT0A"};
o2::framework::Configurable<std::vector<int>> cfg_cut_dir_ml{"cfg_cut_dir_ml", std::vector<int>{o2::analysis::em_cuts_ml::vecCutDir}, "cut direction for ML"};
o2::framework::Configurable<std::vector<std::string>> cfg_input_feature_names{"cfg_input_feature_names", std::vector<std::string>{"feature1", "feature2"}, "input feature names for ML models"};
o2::framework::Configurable<std::vector<std::string>> cfg_model_paths_ccdb{"cfg_model_paths_ccdb", std::vector<std::string>{"path_ccdb/BDT_PCM/"}, "CCDB paths for ML models"};
o2::framework::Configurable<std::vector<std::string>> cfg_onnx_file_names{"cfg_onnx_file_names", std::vector<std::string>{"ModelHandler_onnx_PCM.onnx"}, "ONNX file names for ML models"};
o2::framework::Configurable<std::vector<double>> cfg_bins_pt_ml{"cfg_bins_pt_ml", std::vector<double>{o2::analysis::em_cuts_ml::vecBinsPt}, "pT bins for ML"};
o2::framework::Configurable<std::vector<std::string>> cfg_labels_bins_ml{"cfg_labels_bins_ml", std::vector<std::string>{"bin 0", "bin 1"}, "Labels for bins"};
o2::framework::Configurable<std::vector<std::string>> cfg_labels_cut_scores_ml{"cfg_labels_cut_scores_ml", std::vector<std::string>{o2::analysis::em_cuts_ml::labelsCutScore}, "Labels for cut scores"};
o2::framework::Configurable<std::vector<double>> cfg_bins_pt_ml{"cfg_bins_pt_ml", std::vector<double>{0.0, +1e+10}, "pT bin limits for ML application"};
o2::framework::Configurable<std::vector<double>> cfg_bins_cent_ml{"cfg_bins_cent_ml", std::vector<double>{o2::analysis::em_cuts_ml::vecBinsCent}, "centrality bins for ML"};
o2::framework::Configurable<o2::framework::LabeledArray<double>> cfg_cuts_pcm_ml{"cfg_cuts_pcm_ml", {o2::analysis::em_cuts_ml::Cuts[0], o2::analysis::em_cuts_ml::NBinsPt, o2::analysis::em_cuts_ml::NCutScores, o2::analysis::em_cuts_ml::labelsPt, o2::analysis::em_cuts_ml::labelsCutScore}, "ML selections per pT bin"};
o2::framework::Configurable<std::vector<double>> cfg_cuts_ml_flat{"cfg_cuts_ml_flat", {0.5}, "Flattened ML cuts: [bin0_score0, bin0_score1, ..., binN_scoreM]"};
} pcmcuts;

DalitzEECut fDileptonCut;
Expand Down Expand Up @@ -407,10 +410,10 @@
}

// In case override, don't proceed, please - no CCDB access required
if (d_bz_input > -990) {

Check failure on line 413 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 413 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
d_bz = d_bz_input;
o2::parameters::GRPMagField grpmag;
if (std::fabs(d_bz) > 1e-5) {

Check failure on line 416 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 416 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
grpmag.setL3Current(30000.f / (d_bz / 5.0f));
}
mRunNumber = collision.runNumber();
Expand All @@ -435,6 +438,7 @@
d_bz = std::lround(5.f * grpmag->getL3Current() / 30000.f);
LOG(info) << "Retrieved GRP for timestamp " << run3grp_timestamp << " with magnetic field of " << d_bz << " kZG";
}
fV0PhotonCut.SetD_Bz(d_bz);
mRunNumber = collision.runNumber();
}

Expand Down Expand Up @@ -504,13 +508,16 @@
fV0PhotonCut.SetNClassesMl(pcmcuts.cfg_nclasses_ml);
fV0PhotonCut.SetMlTimestampCCDB(pcmcuts.cfg_timestamp_ccdb);
fV0PhotonCut.SetCcdbUrl(ccdburl);
fV0PhotonCut.SetCentralityTypeMl(pcmcuts.cfg_cent_type_ml);
fV0PhotonCut.SetCutDirMl(pcmcuts.cfg_cut_dir_ml);
fV0PhotonCut.SetMlModelPathsCCDB(pcmcuts.cfg_model_paths_ccdb);
fV0PhotonCut.SetMlOnnxFileNames(pcmcuts.cfg_onnx_file_names);
fV0PhotonCut.SetBinsPtMl(pcmcuts.cfg_bins_pt_ml);
fV0PhotonCut.SetBinsCentMl(pcmcuts.cfg_bins_cent_ml);
fV0PhotonCut.SetCutsPCMMl(pcmcuts.cfg_cuts_pcm_ml);
fV0PhotonCut.SetCutsMl(pcmcuts.cfg_cuts_ml_flat);
fV0PhotonCut.SetNamesInputFeatures(pcmcuts.cfg_input_feature_names);
fV0PhotonCut.SetLabelsBinsMl(pcmcuts.cfg_labels_bins_ml);
fV0PhotonCut.SetLabelsCutScoresMl(pcmcuts.cfg_labels_cut_scores_ml);

if (pcmcuts.cfg_apply_ml_cuts) {
fV0PhotonCut.initV0MlModels(ccdbApi);
Expand Down Expand Up @@ -615,7 +622,7 @@
void RotationBackground(const ROOT::Math::PtEtaPhiMVector& meson, ROOT::Math::PtEtaPhiMVector photon1, ROOT::Math::PtEtaPhiMVector photon2, TPhotons const& photons_coll, unsigned int ig1, unsigned int ig2, float eventWeight)
{
// if less than 3 clusters are present skip event since we need at least 3 clusters
if (photons_coll.size() < 3) {

Check failure on line 625 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 625 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
return;
}
const float rotationAngle = o2::constants::math::PIHalf; // rotaion angle 90 degree
Expand Down Expand Up @@ -695,8 +702,7 @@
{
for (const auto& collision : collisions) {
initCCDB(collision);
fV0PhotonCut.SetCentrality(collision.centFT0M());
fV0PhotonCut.SetD_Bz(d_bz);
fV0PhotonCut.SetCentrality(collision.centFT0A(), collision.centFT0C(), collision.centFT0M());
int ndiphoton = 0;
if ((pairtype == o2::aod::pwgem::photonmeson::photonpair::PairType::kPHOSPHOS || pairtype == o2::aod::pwgem::photonmeson::photonpair::PairType::kPCMPHOS) && !collision.alias_bit(triggerAliases::kTVXinPHOS)) {
continue;
Expand Down Expand Up @@ -727,7 +733,7 @@
int zbin = lower_bound(zvtx_bin_edges.begin(), zvtx_bin_edges.end(), collision.posZ()) - zvtx_bin_edges.begin() - 1;
if (zbin < 0) {
zbin = 0;
} else if (static_cast<int>(zvtx_bin_edges.size()) - 2 < zbin) {

Check failure on line 736 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 736 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
zbin = static_cast<int>(zvtx_bin_edges.size()) - 2;
}

Expand All @@ -735,7 +741,7 @@
int centbin = lower_bound(cent_bin_edges.begin(), cent_bin_edges.end(), centrality) - cent_bin_edges.begin() - 1;
if (centbin < 0) {
centbin = 0;
} else if (static_cast<int>(cent_bin_edges.size()) - 2 < centbin) {

Check failure on line 744 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 744 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
centbin = static_cast<int>(cent_bin_edges.size()) - 2;
}

Expand All @@ -743,7 +749,7 @@
int epbin = lower_bound(ep_bin_edges.begin(), ep_bin_edges.end(), ep2) - ep_bin_edges.begin() - 1;
if (epbin < 0) {
epbin = 0;
} else if (static_cast<int>(ep_bin_edges.size()) - 2 < epbin) {

Check failure on line 752 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 752 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
epbin = static_cast<int>(ep_bin_edges.size()) - 2;
}

Expand All @@ -758,7 +764,7 @@

if (occbin < 0) {
occbin = 0;
} else if (static_cast<int>(occ_bin_edges.size()) - 2 < occbin) {

Check failure on line 767 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.

Check failure on line 767 in PWGEM/PhotonMeson/Core/Pi0EtaToGammaGamma.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
occbin = static_cast<int>(occ_bin_edges.size()) - 2;
}

Expand Down
18 changes: 12 additions & 6 deletions PWGEM/PhotonMeson/Core/Pi0EtaToGammaGammaMC.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,17 +132,20 @@ struct Pi0EtaToGammaGammaMC {
o2::framework::Configurable<bool> cfg_disable_tpconly_track{"cfg_disable_tpconly_track", false, "flag to disable TPConly tracks"};

o2::framework::Configurable<bool> cfg_apply_ml_cuts{"cfg_apply_ml", false, "flag to apply ML cut"};
o2::framework::Configurable<bool> cfg_use_2d_binning{"cfg_use_2d_binning", true, "flag to use 2D binning (pT, cent)"};
o2::framework::Configurable<bool> cfg_use_2d_binning{"cfg_use_2d_binning", false, "flag to use 2D binning (pT, cent)"};
o2::framework::Configurable<bool> cfg_load_ml_models_from_ccdb{"cfg_load_ml_models_from_ccdb", true, "flag to load ML models from CCDB"};
o2::framework::Configurable<int> cfg_timestamp_ccdb{"cfg_timestamp_ccdb", -1, "timestamp for CCDB"};
o2::framework::Configurable<int> cfg_nclasses_ml{"cfg_nclasses_ml", static_cast<int>(o2::analysis::em_cuts_ml::NCutScores), "number of classes for ML"};
o2::framework::Configurable<std::string> cfg_cent_type_ml{"cfg_cent_type_ml", "CentFT0C", "centrality type for 2D ML application: CentFT0C, CentFT0M, or CentFT0A"};
o2::framework::Configurable<std::vector<int>> cfg_cut_dir_ml{"cfg_cut_dir_ml", std::vector<int>{o2::analysis::em_cuts_ml::vecCutDir}, "cut direction for ML"};
o2::framework::Configurable<std::vector<std::string>> cfg_input_feature_names{"cfg_input_feature_names", std::vector<std::string>{"feature1", "feature2"}, "input feature names for ML models"};
o2::framework::Configurable<std::vector<std::string>> cfg_model_paths_ccdb{"cfg_model_paths_ccdb", std::vector<std::string>{"path_ccdb/BDT_PCM/"}, "CCDB paths for ML models"};
o2::framework::Configurable<std::vector<std::string>> cfg_onnx_file_names{"cfg_onnx_file_names", std::vector<std::string>{"ModelHandler_onnx_PCM.onnx"}, "ONNX file names for ML models"};
o2::framework::Configurable<std::vector<double>> cfg_bins_pt_ml{"cfg_bins_pt_ml", std::vector<double>{o2::analysis::em_cuts_ml::vecBinsPt}, "pT bins for ML"};
o2::framework::Configurable<std::vector<std::string>> cfg_labels_bins_ml{"cfg_labels_bins_ml", std::vector<std::string>{"bin 0", "bin 1"}, "Labels for bins"};
o2::framework::Configurable<std::vector<std::string>> cfg_labels_cut_scores_ml{"cfg_labels_cut_scores_ml", std::vector<std::string>{o2::analysis::em_cuts_ml::labelsCutScore}, "Labels for cut scores"};
o2::framework::Configurable<std::vector<double>> cfg_bins_pt_ml{"cfg_bins_pt_ml", std::vector<double>{0.0, +1e+10}, "pT bin limits for ML application"};
o2::framework::Configurable<std::vector<double>> cfg_bins_cent_ml{"cfg_bins_cent_ml", std::vector<double>{o2::analysis::em_cuts_ml::vecBinsCent}, "centrality bins for ML"};
o2::framework::Configurable<o2::framework::LabeledArray<double>> cfg_cuts_pcm_ml{"cfg_cuts_pcm_ml", {o2::analysis::em_cuts_ml::Cuts[0], o2::analysis::em_cuts_ml::NBinsPt, o2::analysis::em_cuts_ml::NCutScores, o2::analysis::em_cuts_ml::labelsPt, o2::analysis::em_cuts_ml::labelsCutScore}, "ML selections per pT bin"};
o2::framework::Configurable<std::vector<double>> cfg_cuts_ml_flat{"cfg_cuts_ml_flat", {0.5}, "Flattened ML cuts: [bin0_score0, bin0_score1, ..., binN_scoreM]"};
} pcmcuts;

DalitzEECut fDileptonCut;
Expand Down Expand Up @@ -283,6 +286,7 @@ struct Pi0EtaToGammaGammaMC {
d_bz = std::lround(5.f * grpmag->getL3Current() / 30000.f);
LOG(info) << "Retrieved GRP for timestamp " << run3grp_timestamp << " with magnetic field of " << d_bz << " kZG";
}
fV0PhotonCut.SetD_Bz(d_bz);
mRunNumber = collision.runNumber();
}

Expand Down Expand Up @@ -344,13 +348,16 @@ struct Pi0EtaToGammaGammaMC {
fV0PhotonCut.SetNClassesMl(pcmcuts.cfg_nclasses_ml);
fV0PhotonCut.SetMlTimestampCCDB(pcmcuts.cfg_timestamp_ccdb);
fV0PhotonCut.SetCcdbUrl(ccdburl);
fV0PhotonCut.SetCentralityTypeMl(pcmcuts.cfg_cent_type_ml);
fV0PhotonCut.SetCutDirMl(pcmcuts.cfg_cut_dir_ml);
fV0PhotonCut.SetMlModelPathsCCDB(pcmcuts.cfg_model_paths_ccdb);
fV0PhotonCut.SetMlOnnxFileNames(pcmcuts.cfg_onnx_file_names);
fV0PhotonCut.SetBinsPtMl(pcmcuts.cfg_bins_pt_ml);
fV0PhotonCut.SetBinsCentMl(pcmcuts.cfg_bins_cent_ml);
fV0PhotonCut.SetCutsPCMMl(pcmcuts.cfg_cuts_pcm_ml);
fV0PhotonCut.SetCutsMl(pcmcuts.cfg_cuts_ml_flat);
fV0PhotonCut.SetNamesInputFeatures(pcmcuts.cfg_input_feature_names);
fV0PhotonCut.SetLabelsBinsMl(pcmcuts.cfg_labels_bins_ml);
fV0PhotonCut.SetLabelsCutScoresMl(pcmcuts.cfg_labels_cut_scores_ml);

if (pcmcuts.cfg_apply_ml_cuts) {
fV0PhotonCut.initV0MlModels(ccdbApi);
Expand Down Expand Up @@ -553,8 +560,7 @@ struct Pi0EtaToGammaGammaMC {
{
for (auto& collision : collisions) {
initCCDB(collision);
fV0PhotonCut.SetCentrality(collision.centFT0M());
fV0PhotonCut.SetD_Bz(d_bz);
fV0PhotonCut.SetCentrality(collision.centFT0A(), collision.centFT0C(), collision.centFT0M());
if ((pairtype == o2::aod::pwgem::photonmeson::photonpair::PairType::kPHOSPHOS || pairtype == o2::aod::pwgem::photonmeson::photonpair::PairType::kPCMPHOS) && !collision.alias_bit(triggerAliases::kTVXinPHOS)) {
continue;
}
Expand Down
14 changes: 10 additions & 4 deletions PWGEM/PhotonMeson/Core/V0PhotonCandidate.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ struct V0PhotonCandidate {
float psipair;
float cospa;
float chi2ndf;
float centrality;
float centFT0A;
float centFT0C;
float centFT0M;
float pca;

public:
Expand Down Expand Up @@ -89,11 +91,13 @@ struct V0PhotonCandidate {
phiv = o2::aod::pwgem::dilepton::utils::pairutil::getPhivPair(posPx, posPy, posPz, elePx, elePy, elePz, posSign, eleSign, d_bz);
psipair = o2::aod::pwgem::dilepton::utils::pairutil::getPsiPair(posPx, posPy, posPz, elePx, elePy, elePz);

centrality = collision.centFT0M();
centFT0M = collision.centFT0M();
centFT0C = collision.centFT0C();
centFT0A = collision.centFT0A();
}

// Constructor for V0PhotonCut
V0PhotonCandidate(const auto& v0, const auto& pos, const auto& ele, float cent, float d_bz) : centrality(cent)
V0PhotonCandidate(const auto& v0, const auto& pos, const auto& ele, float centFT0A, float centFT0C, float centFT0M, float d_bz) : centFT0A(centFT0A), centFT0C(centFT0C), centFT0M(centFT0M)
{
px = v0.px();
py = v0.py();
Expand Down Expand Up @@ -144,7 +148,9 @@ struct V0PhotonCandidate {
float GetElePx() const { return elePx; }
float GetElePy() const { return elePy; }
float GetElePz() const { return elePz; }
float GetCent() const { return centrality; }
float GetCentFT0M() const { return centFT0M; }
float GetCentFT0C() const { return centFT0C; }
float GetCentFT0A() const { return centFT0A; }
float GetPCA() const { return pca; }
};

Expand Down
30 changes: 25 additions & 5 deletions PWGEM/PhotonMeson/Core/V0PhotonCut.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -297,10 +297,10 @@ void V0PhotonCut::SetBinsCentMl(const std::vector<double>& binsCent)
LOG(info) << "V0 Photon Cut, set bins centrality ML with size:" << mBinsCentMl.size();
}

void V0PhotonCut::SetCutsPCMMl(const o2::framework::LabeledArray<double>& cuts)
void V0PhotonCut::SetCutsMl(const std::vector<double>& cuts)
{
mCutsPCMMl = cuts;
LOG(info) << "V0 Photon Cut, set cuts PCM ML";
mCutsMlFlat = cuts;
LOG(info) << "V0 Photon Cut, set cuts ML with size:" << mCutsMlFlat.size();
}

void V0PhotonCut::SetNClassesMl(int nClasses)
Expand All @@ -315,9 +315,11 @@ void V0PhotonCut::SetNamesInputFeatures(const std::vector<std::string>& featureN
LOG(info) << "V0 Photon Cut, set ML input feature names with size:" << mNamesInputFeatures.size();
}

void V0PhotonCut::SetCentrality(float cent)
void V0PhotonCut::SetCentrality(float centFT0A, float centFT0C, float centFT0M)
{
mCent = cent;
mCentFT0A = centFT0A;
mCentFT0C = centFT0C;
mCentFT0M = centFT0M;
}
void V0PhotonCut::SetD_Bz(float d_bz)
{
Expand All @@ -329,3 +331,21 @@ void V0PhotonCut::SetCutDirMl(const std::vector<int>& cutDirMl)
mCutDirMl = cutDirMl;
LOG(info) << "V0 Photon Cut, set ML cut directions with size:" << mCutDirMl.size();
}

void V0PhotonCut::SetCentralityTypeMl(const std::string& centType)
{
mCentralityTypeMl = centType;
LOG(info) << "V0 Photon Cut, set centrality type ML: " << mCentralityTypeMl;
}

void V0PhotonCut::SetLabelsBinsMl(const std::vector<std::string>& labelsBins)
{
mLabelsBinsMl = labelsBins;
LOG(info) << "V0 Photon Cut, set ML labels bins with size:" << mLabelsBinsMl.size();
}

void V0PhotonCut::SetLabelsCutScoresMl(const std::vector<std::string>& labelsCutScores)
{
mLabelsCutScoresMl = labelsCutScores;
LOG(info) << "V0 Photon Cut, set ML labels cut scores with size:" << mLabelsCutScoresMl.size();
}
Loading
Loading