Skip to content

Commit 0908236

Browse files
committed
add separate models for different momentum
1 parent bf36b70 commit 0908236

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

Tools/PIDML/qaPidML.cxx

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -321,9 +321,15 @@ struct pidml {
321321
template <std::size_t i, typename T>
322322
void pidML(const T& track, const int pdgCodeMC)
323323
{
324-
float pidLogits[3] = {model211.applyModel(track), model2212.applyModel(track), model321.applyModel(track)};
324+
float pidLogits[3];
325+
if (track.p() <= 0.5) {
326+
pidLogits[3] = {model211TPC.applyModel(track), model2212TPC.applyModel(track), model321TPC.applyModel(track)};
327+
} else {
328+
pidLogits[3] = {model211All.applyModel(track), model2212All.applyModel(track), model321All.applyModel(track)};
329+
}
325330
int pid = getParticlePdg(pidLogits);
326-
if (pid == particlesPdgCode[i]) {
331+
// condition for sign: we want to work only with pi, p and K, without antiparticles
332+
if ((pid == particlesPdgCode[i]) & (track.sign() == 1)) {
327333
if (pdgCodeMC == particlesPdgCode[i]) {
328334
fillPidHistos<i>(track, pdgCodeMC, true);
329335
} else {
@@ -332,19 +338,28 @@ struct pidml {
332338
}
333339
}
334340

335-
PidONNXModel model211;
336-
PidONNXModel model2212;
337-
PidONNXModel model321;
341+
// one model for one particle; Model with all TPC and TOF signal
342+
PidONNXModel model211All;
343+
PidONNXModel model2212All;
344+
PidONNXModel model321All;
345+
// Model with only TPC model
346+
PidONNXModel model211TPC;
347+
PidONNXModel model2212TPC;
348+
PidONNXModel model321TPC;
338349

339-
Configurable<bool> cfgUseTOF{"useTOF", true, "Use ML model with TOF signal"};
350+
// Configurable<bool> cfgUseTOF{"useTOF", true, "Use ML model with TOF signal"};
340351
Configurable<std::string> cfgModelDir{"model-dir", "http://alice-ccdb.cern.ch/Users/m/mkabus/pidml/onnx_models", "base path to the directory with ONNX models"};
341352
Configurable<std::string> cfgScalingParamsFile{"scaling-params", "http://alice-ccdb.cern.ch/Users/m/mkabus/pidml/onnx_models/train_208_mc_with_beta_and_sigmas_scaling_params.json", "base path to the ccdb JSON file with scaling parameters from training"};
342353

343354
void init(InitContext const&)
344355
{
345-
model211 = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 211, cfgUseTOF.value);
346-
model2212 = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 2212, cfgUseTOF.value);
347-
model321 = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 321, cfgUseTOF.value);
356+
model211All = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 211, True);
357+
model2212All = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 2212, True);
358+
model321All = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 321, True);
359+
360+
model211TPC = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 211, False);
361+
model2212TPC = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 2212, False);
362+
model321TPC = PidONNXModel(cfgModelDir.value, cfgScalingParamsFile.value, 321, False);
348363
}
349364

350365
Filter trackFilter = aod::track::isGlobalTrack == static_cast<uint8_t>(true);

0 commit comments

Comments
 (0)