Skip to content

Commit 0573e21

Browse files
committed
implement the TPC PID for light nuclie in 3prong creator
1 parent c3d0fea commit 0573e21

File tree

6 files changed

+241
-42
lines changed

6 files changed

+241
-42
lines changed

PWGHF/DataModel/AliasTables.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ using TracksPidPr = soa::Join<aod::pidTPCFullPr, aod::pidTOFFullPr>;
4747
using TracksPidDe = soa::Join<aod::pidTPCFullDe, aod::pidTOFFullDe>;
4848
using TracksPidTr = soa::Join<aod::pidTPCFullTr, aod::pidTOFFullTr>;
4949
using TracksPidHe = soa::Join<aod::pidTPCFullHe, aod::pidTOFFullHe>;
50+
using TracksPidAl = soa::Join<aod::pidTPCFullAl, aod::pidTOFFullAl>;
5051

5152
using TracksPidTinyEl = soa::Join<aod::pidTPCEl, aod::pidTOFEl>;
5253
using TracksPidTinyMu = soa::Join<aod::pidTPCMu, aod::pidTOFMu>;
@@ -56,6 +57,7 @@ using TracksPidTinyPr = soa::Join<aod::pidTPCPr, aod::pidTOFPr>;
5657
using TracksPidTinyDe = soa::Join<aod::pidTPCDe, aod::pidTOFDe>;
5758
using TracksPidTinyTr = soa::Join<aod::pidTPCTr, aod::pidTOFTr>;
5859
using TracksPidTinyHe = soa::Join<aod::pidTPCHe, aod::pidTOFHe>;
60+
using TracksPidTinyAl = soa::Join<aod::pidTPCAl, aod::pidTOFAl>;
5961
} // namespace o2::aod
6062

6163
#endif // PWGHF_DATAMODEL_ALIASTABLES_H_

PWGHF/DataModel/CandidateReconstructionTables.h

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ DECLARE_SOA_COLUMN(TpcTofNSigmaPr, tpcTofNSigmaPr, float); //! Combined NSigma s
4646
DECLARE_SOA_COLUMN(TpcTofNSigmaDe, tpcTofNSigmaDe, float); //! Combined NSigma separation with the TPC & TOF detectors for deuteron
4747
DECLARE_SOA_COLUMN(TpcTofNSigmaTr, tpcTofNSigmaTr, float); //! Combined NSigma separation with the TPC & TOF detectors for triton
4848
DECLARE_SOA_COLUMN(TpcTofNSigmaHe, tpcTofNSigmaHe, float); //! Combined NSigma separation with the TPC & TOF detectors for helium
49+
DECLARE_SOA_COLUMN(TpcTofNSigmaAl, tpcTofNSigmaAl, float); //! Combined NSigma separation with the TPC & TOF detectors for alpha
4950
} // namespace pid_tpc_tof_static_full
5051

5152
namespace pid_tpc_tof_static_tiny
@@ -59,6 +60,7 @@ DECLARE_SOA_COLUMN(TpcTofNSigmaPr, tpcTofNSigmaPr, float); //! Combined NSigma s
5960
DECLARE_SOA_COLUMN(TpcTofNSigmaDe, tpcTofNSigmaDe, float); //! Combined NSigma separation with the TPC & TOF detectors for deuteron
6061
DECLARE_SOA_COLUMN(TpcTofNSigmaTr, tpcTofNSigmaTr, float); //! Combined NSigma separation with the TPC & TOF detectors for triton
6162
DECLARE_SOA_COLUMN(TpcTofNSigmaHe, tpcTofNSigmaHe, float); //! Combined NSigma separation with the TPC & TOF detectors for helium
63+
DECLARE_SOA_COLUMN(TpcTofNSigmaAl, tpcTofNSigmaAl, float); //! Combined NSigma separation with the TPC & TOF detectors for alpha
6264
} // namespace pid_tpc_tof_static_tiny
6365

6466
// Extension of per particle tables
@@ -78,6 +80,8 @@ DECLARE_SOA_TABLE(PidTpcTofFullTr, "AOD", "PIDTPCTOFFULLTr", //! Table of the TP
7880
pid_tpc_tof_static_full::TpcTofNSigmaTr);
7981
DECLARE_SOA_TABLE(PidTpcTofFullHe, "AOD", "PIDTPCTOFFULLHe", //! Table of the TPC & TOF Combined NSigma for helium
8082
pid_tpc_tof_static_full::TpcTofNSigmaHe);
83+
DECLARE_SOA_TABLE(PidTpcTofFullAl, "AOD", "PIDTPCTOFFULLAl", //! Table of the TPC & TOF Combined NSigma for alpha
84+
pid_tpc_tof_static_full::TpcTofNSigmaAl);
8185
// Extension of per particle tables
8286
DECLARE_SOA_TABLE(PidTpcTofTinyEl, "AOD", "PIDTPCTOFTINYEL", //! Table of the TPC & TOF Combined NSigma for electron
8387
pid_tpc_tof_static_tiny::TpcTofNSigmaEl);
@@ -95,6 +99,8 @@ DECLARE_SOA_TABLE(PidTpcTofTinyTr, "AOD", "PIDTPCTOFTINYTr", //! Table of the TP
9599
pid_tpc_tof_static_tiny::TpcTofNSigmaTr);
96100
DECLARE_SOA_TABLE(PidTpcTofTinyHe, "AOD", "PIDTPCTOFTINYHe", //! Table of the TPC & TOF Combined NSigma for helium
97101
pid_tpc_tof_static_tiny::TpcTofNSigmaHe);
102+
DECLARE_SOA_TABLE(PidTpcTofTinyAl, "AOD", "PIDTPCTOFTINYAl", //! Table of the TPC & TOF Combined NSigma for alpha
103+
pid_tpc_tof_static_tiny::TpcTofNSigmaAl);
98104
// general decay properties
99105
namespace hf_cand
100106
{
@@ -197,6 +203,9 @@ DECLARE_SOA_COLUMN(NSigTpcTr2, nSigTpcTr2, float); //! TPC nSigma for
197203
DECLARE_SOA_COLUMN(NSigTpcHe0, nSigTpcHe0, float); //! TPC nSigma for helium hypothesis - prong 0
198204
DECLARE_SOA_COLUMN(NSigTpcHe1, nSigTpcHe1, float); //! TPC nSigma for helium hypothesis - prong 1
199205
DECLARE_SOA_COLUMN(NSigTpcHe2, nSigTpcHe2, float); //! TPC nSigma for helium hypothesis - prong 2
206+
DECLARE_SOA_COLUMN(NSigTpcAl0, nSigTpcAl0, float); //! TPC nSigma for alpha hypothesis - prong 0
207+
DECLARE_SOA_COLUMN(NSigTpcAl1, nSigTpcAl1, float); //! TPC nSigma for alpha hypothesis - prong 1
208+
DECLARE_SOA_COLUMN(NSigTpcAl2, nSigTpcAl2, float); //! TPC nSigma for alpha hypothesis - prong 2
200209
DECLARE_SOA_COLUMN(NSigTofPi0, nSigTofPi0, float); //! TOF nSigma for pion hypothesis - prong 0
201210
DECLARE_SOA_COLUMN(NSigTofPi1, nSigTofPi1, float); //! TOF nSigma for pion hypothesis - prong 1
202211
DECLARE_SOA_COLUMN(NSigTofPi2, nSigTofPi2, float); //! TOF nSigma for pion hypothesis - prong 2
@@ -215,6 +224,9 @@ DECLARE_SOA_COLUMN(NSigTofTr2, nSigTofTr2, float); //! TOF nSigma for
215224
DECLARE_SOA_COLUMN(NSigTofHe0, nSigTofHe0, float); //! TOF nSigma for helium hypothesis - prong 0
216225
DECLARE_SOA_COLUMN(NSigTofHe1, nSigTofHe1, float); //! TOF nSigma for helium hypothesis - prong 1
217226
DECLARE_SOA_COLUMN(NSigTofHe2, nSigTofHe2, float); //! TOF nSigma for helium hypothesis - prong 2
227+
DECLARE_SOA_COLUMN(NSigTofAl0, nSigTofAl0, float); //! TOF nSigma for alpha hypothesis - prong 0
228+
DECLARE_SOA_COLUMN(NSigTofAl1, nSigTofAl1, float); //! TOF nSigma for alpha hypothesis - prong 1
229+
DECLARE_SOA_COLUMN(NSigTofAl2, nSigTofAl2, float); //! TOF nSigma for alpha hypothesis - prong 2
218230
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaPi0, tpcTofNSigmaPi0, //! Combined NSigma separation with the TPC & TOF detectors for pion - prong 0
219231
[](float tpcNSigmaPi0, float tofNSigmaPi0) -> float { return pid_tpc_tof_utils::combineNSigma<false /*tiny*/>(tpcNSigmaPi0, tofNSigmaPi0); });
220232
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaPi1, tpcTofNSigmaPi1, //! Combined NSigma separation with the TPC & TOF detectors for pion - prong 1
@@ -251,6 +263,12 @@ DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaHe1, tpcTofNSigmaHe1, //! Combined NSigma
251263
[](float tpcNSigmaHe1, float tofNSigmaHe1) -> float { return pid_tpc_tof_utils::combineNSigma<false /*tiny*/>(tpcNSigmaHe1, tofNSigmaHe1); });
252264
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaHe2, tpcTofNSigmaHe2, //! Combined NSigma separation with the TPC & TOF detectors for helium - prong 2
253265
[](float tpcNSigmaHe2, float tofNSigmaHe2) -> float { return pid_tpc_tof_utils::combineNSigma<false /*tiny*/>(tpcNSigmaHe2, tofNSigmaHe2); });
266+
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaAl0, tpcTofNSigmaAl0, //! Combined NSigma separation with the TPC & TOF detectors for alpha - prong 0
267+
[](float tpcNSigmaAl0, float tofNSigmaAl0) -> float { return pid_tpc_tof_utils::combineNSigma<false /*tiny*/>(tpcNSigmaAl0, tofNSigmaAl0); });
268+
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaAl1, tpcTofNSigmaAl1, //! Combined NSigma separation with the TPC & TOF detectors for alpha - prong 1
269+
[](float tpcNSigmaAl1, float tofNSigmaAl1) -> float { return pid_tpc_tof_utils::combineNSigma<false /*tiny*/>(tpcNSigmaAl1, tofNSigmaAl1); });
270+
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaAl2, tpcTofNSigmaAl2, //! Combined NSigma separation with the TPC & TOF detectors for alpha - prong 2
271+
[](float tpcNSigmaAl2, float tofNSigmaAl2) -> float { return pid_tpc_tof_utils::combineNSigma<false /*tiny*/>(tpcNSigmaAl2, tofNSigmaAl2); });
254272
// tiny (binned) option
255273
DECLARE_SOA_DYNAMIC_COLUMN(TpcTofNSigmaTinyPi0, tpcTofNSigmaTinyPi0, //! Combined NSigma separation with the TPC & TOF detectors for pion - prong 0
256274
[](float tpcNSigmaPi0, float tofNSigmaPi0) -> float { return pid_tpc_tof_utils::combineNSigma<true /*tiny*/>(tpcNSigmaPi0, tofNSigmaPi0); });
@@ -811,20 +829,31 @@ DECLARE_SOA_TABLE(HfCand3Prong2PidTr, "AOD", "HFCAND3P2PIDTR", //!
811829
hf_cand::TpcTofNSigmaTr2<hf_cand::NSigTpcTr2, hf_cand::NSigTofTr2>);
812830
DECLARE_SOA_TABLE(HfCand3Prong0PidHe, "AOD", "HFCAND3P0PIDHe", //!
813831
hf_cand::NSigTpcHe0, hf_cand::NSigTofHe0,
814-
hf_cand::TpcTofNSigmaTr0<hf_cand::NSigTpcHe0, hf_cand::NSigTofHe0>);
832+
hf_cand::TpcTofNSigmaHe0<hf_cand::NSigTpcHe0, hf_cand::NSigTofHe0>);
815833
DECLARE_SOA_TABLE(HfCand3Prong1PidHe, "AOD", "HFCAND3P1PIDHe", //!
816834
hf_cand::NSigTpcHe1, hf_cand::NSigTofHe1,
817835
hf_cand::TpcTofNSigmaHe1<hf_cand::NSigTpcHe1, hf_cand::NSigTofHe1>);
818836
DECLARE_SOA_TABLE(HfCand3Prong2PidHe, "AOD", "HFCAND3P2PIDHe", //!
819837
hf_cand::NSigTpcHe2, hf_cand::NSigTofHe2,
820838
hf_cand::TpcTofNSigmaHe2<hf_cand::NSigTpcHe2, hf_cand::NSigTofHe2>);
839+
DECLARE_SOA_TABLE(HfCand3Prong0PidAl, "AOD", "HFCAND3P0PIDAl", //!
840+
hf_cand::NSigTpcAl0, hf_cand::NSigTofAl0,
841+
hf_cand::TpcTofNSigmaAl0<hf_cand::NSigTpcAl0, hf_cand::NSigTofAl0>);
842+
DECLARE_SOA_TABLE(HfCand3Prong1PidAl, "AOD", "HFCAND3P1PIDAl", //!
843+
hf_cand::NSigTpcAl1, hf_cand::NSigTofAl1,
844+
hf_cand::TpcTofNSigmaAl1<hf_cand::NSigTpcAl1, hf_cand::NSigTofAl1>);
845+
DECLARE_SOA_TABLE(HfCand3Prong2PidAl, "AOD", "HFCAND3P2PIDAl", //!
846+
hf_cand::NSigTpcAl2, hf_cand::NSigTofAl2,
847+
hf_cand::TpcTofNSigmaAl2<hf_cand::NSigTpcAl2, hf_cand::NSigTofAl2>);
821848

822849
using HfCand3Prong = HfCand3ProngExt;
823850
using HfCand3ProngWPidPiKaPr = soa::Join<HfCand3Prong, HfCand3Prong0PidPi, HfCand3Prong0PidPr, HfCand3Prong0PidKa, HfCand3Prong1PidPi, HfCand3Prong1PidPr, HfCand3Prong1PidKa, HfCand3Prong2PidPi, HfCand3Prong2PidPr, HfCand3Prong2PidKa>;
824851
using HfCand3ProngWPidPiKa = soa::Join<HfCand3Prong, HfCand3Prong0PidPi, HfCand3Prong0PidKa, HfCand3Prong1PidPi, HfCand3Prong1PidKa, HfCand3Prong2PidPi, HfCand3Prong2PidKa>;
825852
using HfCand3ProngWPidPiKaDe = soa::Join<HfCand3Prong, HfCand3Prong0PidPi, HfCand3Prong0PidDe, HfCand3Prong0PidKa, HfCand3Prong1PidPi, HfCand3Prong1PidDe, HfCand3Prong1PidKa, HfCand3Prong2PidPi, HfCand3Prong2PidDe, HfCand3Prong2PidKa>;
826853
using HfCand3ProngWPidPiKaTr = soa::Join<HfCand3Prong, HfCand3Prong0PidPi, HfCand3Prong0PidTr, HfCand3Prong0PidKa, HfCand3Prong1PidPi, HfCand3Prong1PidTr, HfCand3Prong1PidKa, HfCand3Prong2PidPi, HfCand3Prong2PidTr, HfCand3Prong2PidKa>;
827854
using HfCand3ProngWPidPiKaHe = soa::Join<HfCand3Prong, HfCand3Prong0PidPi, HfCand3Prong0PidHe, HfCand3Prong0PidKa, HfCand3Prong1PidPi, HfCand3Prong1PidHe, HfCand3Prong1PidKa, HfCand3Prong2PidPi, HfCand3Prong2PidHe, HfCand3Prong2PidKa>;
855+
using HfCand3ProngWPidPiKaAl = soa::Join<HfCand3Prong, HfCand3Prong0PidPi, HfCand3Prong0PidAl, HfCand3Prong0PidKa, HfCand3Prong1PidPi, HfCand3Prong1PidAl, HfCand3Prong1PidKa, HfCand3Prong2PidPi, HfCand3Prong2PidAl, HfCand3Prong2PidKa>;
856+
828857

829858
DECLARE_SOA_TABLE(HfCand3ProngKF, "AOD", "HFCAND3PKF",
830859
hf_cand_3prong::KfXError, hf_cand_3prong::KfYError, hf_cand_3prong::KfZError,

PWGHF/TableProducer/candidateCreator3Prong.cxx

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#endif
2121

2222
#include "PWGHF/Core/CentralityEstimation.h"
23+
#include "PWGHF/Core/SelectorCuts.h"
2324
#include "PWGHF/Core/DecayChannels.h"
2425
#include "PWGHF/DataModel/AliasTables.h"
2526
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
@@ -78,6 +79,7 @@
7879
#include <vector>
7980

8081
using namespace o2;
82+
using namespace o2::analysis;
8183
using namespace o2::hf_evsel;
8284
using namespace o2::hf_trkcandsel;
8385
using namespace o2::aod::hf_cand_3prong;
@@ -98,14 +100,23 @@ struct HfCandidateCreator3Prong {
98100
Produces<aod::HfCand3Prong0PidKa> rowProng0PidKa;
99101
Produces<aod::HfCand3Prong0PidPr> rowProng0PidPr;
100102
Produces<aod::HfCand3Prong0PidDe> rowProng0PidDe;
103+
Produces<aod::HfCand3Prong0PidTr> rowProng0PidTr;
104+
Produces<aod::HfCand3Prong0PidHe> rowProng0PidHe;
105+
Produces<aod::HfCand3Prong0PidAl> rowProng0PidAl;
101106
Produces<aod::HfCand3Prong1PidPi> rowProng1PidPi;
102107
Produces<aod::HfCand3Prong1PidKa> rowProng1PidKa;
103108
Produces<aod::HfCand3Prong1PidPr> rowProng1PidPr;
104109
Produces<aod::HfCand3Prong1PidDe> rowProng1PidDe;
110+
Produces<aod::HfCand3Prong1PidTr> rowProng1PidTr;
111+
Produces<aod::HfCand3Prong1PidHe> rowProng1PidHe;
112+
Produces<aod::HfCand3Prong1PidAl> rowProng1PidAl;
105113
Produces<aod::HfCand3Prong2PidPi> rowProng2PidPi;
106114
Produces<aod::HfCand3Prong2PidKa> rowProng2PidKa;
107115
Produces<aod::HfCand3Prong2PidPr> rowProng2PidPr;
108116
Produces<aod::HfCand3Prong2PidDe> rowProng2PidDe;
117+
Produces<aod::HfCand3Prong2PidTr> rowProng2PidTr;
118+
Produces<aod::HfCand3Prong2PidHe> rowProng2PidHe;
119+
Produces<aod::HfCand3Prong2PidAl> rowProng2PidAl;
109120

110121
// vertexing
111122
Configurable<bool> propagateToPCA{"propagateToPCA", true, "create tracks version propagated to PCA"};
@@ -126,11 +137,13 @@ struct HfCandidateCreator3Prong {
126137
Configurable<bool> createDs{"createDs", false, "enable Ds+/- candidate creation"};
127138
Configurable<bool> createLc{"createLc", false, "enable Lc+/- candidate creation"};
128139
Configurable<bool> createXic{"createXic", false, "enable Xic+/- candidate creation"};
129-
Configurable<bool> createCd{"createCd", false, "enable Cd candidate creation"};
140+
Configurable<bool> createCharmNuclei{"createCharmNuclei", false, "enable createCharmNuclei candidate creation"};
130141
// KF
131142
Configurable<bool> applyTopoConstraint{"applyTopoConstraint", false, "apply origin from PV hypothesis for created candidate, works only in KF mode"};
132143
Configurable<bool> applyInvMassConstraint{"applyInvMassConstraint", false, "apply particle type hypothesis to recalculate created candidate's momentum, works only in KF mode"};
133144

145+
Configurable<LabeledArray<float>> tpcPidBBParamsLightNuclei{"tpcPidBBParamsLightNuclei", {hf_presel_lightnuclei::BetheBlochParams[0], hf_presel_lightnuclei::NParticleRows, hf_presel_lightnuclei::NBetheBlochParams, hf_presel_lightnuclei::labelsRowsNucleiType, hf_presel_lightnuclei::labelsBetheBlochParams}, "TPC PID Bethe–Bloch parameter configurations for light nuclei (deuteron, triton, helium-3)"};
146+
134147
HfEventSelection hfEvSel; // event selection and monitoring
135148
o2::vertexing::DCAFitterN<3> df; // 3-prong vertex fitter
136149
Service<o2::ccdb::BasicCCDBManager> ccdb{};
@@ -143,11 +156,11 @@ struct HfCandidateCreator3Prong {
143156

144157
using FilteredHf3Prongs = soa::Filtered<aod::Hf3Prongs>;
145158
using FilteredPvRefitHf3Prongs = soa::Filtered<soa::Join<aod::Hf3Prongs, aod::HfPvRefit3Prong>>;
146-
using TracksWCovExtraPidPiKaPrDe = soa::Join<aod::TracksWCovExtra, aod::TracksPidPi, aod::PidTpcTofFullPi, aod::TracksPidKa, aod::PidTpcTofFullKa, aod::TracksPidPr, aod::PidTpcTofFullPr, aod::TracksPidDe, aod::PidTpcTofFullDe>;
159+
using TracksWCovExtraPidPiKaPrDe = soa::Join<aod::TracksWCovExtra, aod::TracksPidPi, aod::PidTpcTofFullPi, aod::TracksPidKa, aod::PidTpcTofFullKa, aod::TracksPidPr, aod::PidTpcTofFullPr, aod::TracksPidDe, aod::PidTpcTofFullDe, aod::TracksPidHe, aod::PidTpcTofFullHe, aod::TracksPidTr, aod::PidTpcTofFullTr, aod::TracksPidAl, aod::PidTpcTofFullAl>;
147160

148161
// filter candidates
149-
Filter filterSelected3Prongs = (createDplus && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::DplusToPiKPi))) != static_cast<uint8_t>(0)) || (createDs && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::DsToKKPi))) != static_cast<uint8_t>(0)) || (createLc && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::LcToPKPi))) != static_cast<uint8_t>(0)) || (createXic && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::XicToPKPi))) != static_cast<uint8_t>(0)) || (createCd && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::CdToDeKPi))) != static_cast<uint8_t>(0));
150-
162+
Filter filterSelected3Prongs = (createDplus && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::DplusToPiKPi))) != static_cast<uint8_t>(0)) || (createDs && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::DsToKKPi))) != static_cast<uint8_t>(0)) || (createLc && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::LcToPKPi))) != static_cast<uint8_t>(0)) || (createXic && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::XicToPKPi))) != static_cast<uint8_t>(0)) || (createCharmNuclei && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::CdToDeKPi))) != static_cast<uint8_t>(0)) || (createCharmNuclei && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::CtToTrKPi))) != static_cast<uint8_t>(0)) || (createCharmNuclei && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::ChToHeKPi))) != static_cast<uint8_t>(0)) || (createCharmNuclei && (o2::aod::hf_track_index::hfflag & static_cast<uint8_t>(BIT(DecayType::CaToAlKPi))) != static_cast<uint8_t>(0));
163+
151164
std::shared_ptr<TH1> hCandidates;
152165
HistogramRegistry registry{"registry"};
153166
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
@@ -189,7 +202,7 @@ struct HfCandidateCreator3Prong {
189202
if (nProcessesUpc > 0 && isRun2) {
190203
LOGP(fatal, "Process function for UPC is only available in Run 3!");
191204
}
192-
std::array<bool, 5> creationFlags = {createDplus, createDs, createLc, createXic, createCd};
205+
std::array<bool, 5> creationFlags = {createDplus, createDs, createLc, createXic, createCharmNuclei};
193206
if (std::accumulate(creationFlags.begin(), creationFlags.end(), 0) == 0) {
194207
LOGP(fatal, "At least one particle specie should be enabled for the creation.");
195208
}
@@ -258,10 +271,19 @@ struct HfCandidateCreator3Prong {
258271
fillProngPid<HfProngSpecies::Proton>(track1, rowProng1PidPr);
259272
fillProngPid<HfProngSpecies::Proton>(track2, rowProng2PidPr);
260273
}
261-
if (createCd) {
262-
fillProngPid<HfProngSpecies::Deuteron>(track0, rowProng0PidDe);
263-
fillProngPid<HfProngSpecies::Deuteron>(track1, rowProng1PidDe);
264-
fillProngPid<HfProngSpecies::Deuteron>(track2, rowProng2PidDe);
274+
if (createCharmNuclei) {
275+
fillProngPidLightNuclei<HfProngSpecies::Deuteron>(track0, rowProng0PidDe, tpcPidBBParamsLightNuclei);
276+
fillProngPidLightNuclei<HfProngSpecies::Deuteron>(track1, rowProng1PidDe, tpcPidBBParamsLightNuclei);
277+
fillProngPidLightNuclei<HfProngSpecies::Deuteron>(track2, rowProng2PidDe, tpcPidBBParamsLightNuclei);
278+
fillProngPidLightNuclei<HfProngSpecies::Helium3>(track0, rowProng0PidHe, tpcPidBBParamsLightNuclei);
279+
fillProngPidLightNuclei<HfProngSpecies::Helium3>(track1, rowProng1PidHe, tpcPidBBParamsLightNuclei);
280+
fillProngPidLightNuclei<HfProngSpecies::Helium3>(track2, rowProng2PidHe, tpcPidBBParamsLightNuclei);
281+
fillProngPidLightNuclei<HfProngSpecies::Triton>(track0, rowProng0PidTr, tpcPidBBParamsLightNuclei);
282+
fillProngPidLightNuclei<HfProngSpecies::Triton>(track1, rowProng1PidTr, tpcPidBBParamsLightNuclei);
283+
fillProngPidLightNuclei<HfProngSpecies::Triton>(track2, rowProng2PidTr, tpcPidBBParamsLightNuclei);
284+
fillProngPidLightNuclei<HfProngSpecies::Alpha>(track0, rowProng0PidAl, tpcPidBBParamsLightNuclei);
285+
fillProngPidLightNuclei<HfProngSpecies::Alpha>(track1, rowProng1PidAl, tpcPidBBParamsLightNuclei);
286+
fillProngPidLightNuclei<HfProngSpecies::Alpha>(track2, rowProng2PidAl, tpcPidBBParamsLightNuclei);
265287
}
266288
}
267289

0 commit comments

Comments
 (0)