|
18 | 18 | #ifndef PWGHF_DATAMODEL_CANDIDATERECONSTRUCTIONTABLES_H_ |
19 | 19 | #define PWGHF_DATAMODEL_CANDIDATERECONSTRUCTIONTABLES_H_ |
20 | 20 |
|
| 21 | +#include "PWGHF/DataModel/AliasTables.h" |
21 | 22 | #include "PWGHF/DataModel/CandidateSkimmingTables.h" |
22 | 23 | #include "PWGHF/Utils/utilsPid.h" |
23 | 24 | // |
|
39 | 40 |
|
40 | 41 | namespace o2::aod |
41 | 42 | { |
42 | | -// Table aliases |
43 | | -using BcFullInfos = soa::Join<aod::BCsWithTimestamps, aod::BcSels, aod::Run3MatchedToBCSparse>; |
44 | | - |
45 | | -using TracksWCov = soa::Join<Tracks, TracksCov>; |
46 | | -using TracksWDca = soa::Join<Tracks, TracksDCA>; |
47 | | -using TracksWExtra = soa::Join<Tracks, TracksExtra>; |
48 | | -using TracksWCovDca = soa::Join<Tracks, TracksCov, TracksDCA>; |
49 | | -using TracksWCovExtra = soa::Join<Tracks, TracksCov, TracksExtra>; |
50 | | -using TracksWDcaExtra = soa::Join<Tracks, TracksDCA, TracksExtra>; |
51 | | -using TracksWCovDcaExtra = soa::Join<Tracks, TracksCov, TracksDCA, TracksExtra>; |
52 | | - |
53 | | -using TracksWMc = soa::Join<Tracks, McTrackLabels>; |
54 | | - |
55 | | -using TracksPidEl = soa::Join<aod::pidTPCFullEl, aod::pidTOFFullEl>; |
56 | | -using TracksPidMu = soa::Join<aod::pidTPCFullMu, aod::pidTOFFullMu>; |
57 | | -using TracksPidPi = soa::Join<aod::pidTPCFullPi, aod::pidTOFFullPi>; |
58 | | -using TracksPidKa = soa::Join<aod::pidTPCFullKa, aod::pidTOFFullKa>; |
59 | | -using TracksPidPr = soa::Join<aod::pidTPCFullPr, aod::pidTOFFullPr>; |
60 | | -using TracksPidDe = soa::Join<aod::pidTPCFullDe, aod::pidTOFFullDe>; |
61 | | - |
62 | | -using TracksPidTinyEl = soa::Join<aod::pidTPCEl, aod::pidTOFEl>; |
63 | | -using TracksPidTinyMu = soa::Join<aod::pidTPCMu, aod::pidTOFMu>; |
64 | | -using TracksPidTinyPi = soa::Join<aod::pidTPCPi, aod::pidTOFPi>; |
65 | | -using TracksPidTinyKa = soa::Join<aod::pidTPCKa, aod::pidTOFKa>; |
66 | | -using TracksPidTinyPr = soa::Join<aod::pidTPCPr, aod::pidTOFPr>; |
67 | | -using TracksPidTinyDe = soa::Join<aod::pidTPCDe, aod::pidTOFDe>; |
68 | | - |
69 | | -// namespace pid_tpc_tof_utils |
70 | | -// { |
71 | | -// /// Function to combine TPC and TOF NSigma (for ML purposes) |
72 | | -// /// \param tpcNSigma is the (binned) NSigma separation in TPC (if tiny = true) |
73 | | -// /// \param tofNSigma is the (binned) NSigma separation in TOF (if tiny = true) |
74 | | -// /// \return Node containing the combined NSigma of TPC and TOF |
75 | | -// template <bool tiny = false, typename T1> |
76 | | -// o2::framework::expressions::Node combineNSigma(const T1& tpcNSigma, const T1& tofNSigma) |
77 | | -// { |
78 | | -// float defaultNSigmaTolerance = .1f; |
79 | | -// float defaultNSigma = -999.f + defaultNSigmaTolerance; // -999.f is the default value set in TPCPIDResponse.h and PIDTOF.h |
80 | | - |
81 | | -// if constexpr (tiny) { |
82 | | -// auto tpcBinWidth = 1.f * pidtpc_tiny::binning::bin_width; |
83 | | -// auto tofBinWidth = 1.f * pidtof_tiny::binning::bin_width; |
84 | | - |
85 | | -// return o2::framework::expressions::ifnode((tpcNSigma * tpcBinWidth > defaultNSigma) && (tofNSigma * tofBinWidth > defaultNSigma), o2::framework::expressions::nsqrt(.5f * tpcNSigma * tpcNSigma * tpcBinWidth * tpcBinWidth + .5f * tofNSigma * tofNSigma * tofBinWidth * tofBinWidth), // TPC and TOF |
86 | | -// o2::framework::expressions::ifnode(tpcNSigma * tpcBinWidth > defaultNSigma, o2::framework::expressions::nabs(tpcNSigma * tpcBinWidth), // only TPC |
87 | | -// o2::framework::expressions::ifnode(tofNSigma * tofBinWidth > defaultNSigma, o2::framework::expressions::nabs(tofNSigma * tofBinWidth), // only TOF |
88 | | -// 1.f * tofNSigma * tofBinWidth))); // no TPC nor TOF |
89 | | -// } |
90 | | - |
91 | | -// return o2::framework::expressions::ifnode((tpcNSigma > defaultNSigma) && (tofNSigma > defaultNSigma), o2::framework::expressions::nsqrt(.5f * tpcNSigma * tpcNSigma + .5f * tofNSigma * tofNSigma), // TPC and TOF |
92 | | -// o2::framework::expressions::ifnode(tpcNSigma > defaultNSigma, o2::framework::expressions::nabs(tpcNSigma), // only TPC |
93 | | -// o2::framework::expressions::ifnode(tofNSigma > defaultNSigma, o2::framework::expressions::nabs(tofNSigma), // only TOF |
94 | | -// 1.f * tofNSigma))); // no TPC nor TOF |
95 | | -// } |
96 | | -// } // namespace pid_tpc_tof_utils |
97 | | - |
98 | | -// namespace pid_tpc_tof_full |
99 | | -// { |
100 | | -// // Combined TPC and TOF NSigma |
101 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaEl, tpcTofNSigmaEl, //! Combined NSigma separation with the TPC & TOF detectors for electron |
102 | | -// float, pid_tpc_tof_utils::combineNSigma(o2::aod::pidtpc::tpcNSigmaEl, o2::aod::pidtof::tofNSigmaEl)); |
103 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaMu, tpcTofNSigmaMu, //! Combined NSigma separation with the TPC & TOF detectors for muon |
104 | | -// float, pid_tpc_tof_utils::combineNSigma(o2::aod::pidtpc::tpcNSigmaMu, o2::aod::pidtof::tofNSigmaMu)); |
105 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaPi, tpcTofNSigmaPi, //! Combined NSigma separation with the TPC & TOF detectors for pion |
106 | | -// float, pid_tpc_tof_utils::combineNSigma(o2::aod::pidtpc::tpcNSigmaPi, o2::aod::pidtof::tofNSigmaPi)); |
107 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaKa, tpcTofNSigmaKa, //! Combined NSigma separation with the TPC & TOF detectors for kaon |
108 | | -// float, pid_tpc_tof_utils::combineNSigma(o2::aod::pidtpc::tpcNSigmaKa, o2::aod::pidtof::tofNSigmaKa)); |
109 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaPr, tpcTofNSigmaPr, //! Combined NSigma separation with the TPC & TOF detectors for proton |
110 | | -// float, pid_tpc_tof_utils::combineNSigma(o2::aod::pidtpc::tpcNSigmaPr, o2::aod::pidtof::tofNSigmaPr)); |
111 | | -// } // namespace pid_tpc_tof_full |
112 | | - |
113 | | -// namespace pid_tpc_tof_tiny |
114 | | -// { |
115 | | -// // Combined binned TPC and TOF NSigma |
116 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaEl, tpcTofNSigmaEl, //! Combined binned NSigma separation with the TPC & TOF detectors for electron |
117 | | -// float, pid_tpc_tof_utils::combineNSigma<true>(o2::aod::pidtpc_tiny::tpcNSigmaStoreEl, o2::aod::pidtof_tiny::tofNSigmaStoreEl)); |
118 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaMu, tpcTofNSigmaMu, //! Combined binned NSigma separation with the TPC & TOF detectors for muon |
119 | | -// float, pid_tpc_tof_utils::combineNSigma<true>(o2::aod::pidtpc_tiny::tpcNSigmaStoreMu, o2::aod::pidtof_tiny::tofNSigmaStoreMu)); |
120 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaPi, tpcTofNSigmaPi, //! Combined binned NSigma separation with the TPC & TOF detectors for pion |
121 | | -// float, pid_tpc_tof_utils::combineNSigma<true>(o2::aod::pidtpc_tiny::tpcNSigmaStorePi, o2::aod::pidtof_tiny::tofNSigmaStorePi)); |
122 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaKa, tpcTofNSigmaKa, //! Combined binned NSigma separation with the TPC & TOF detectors for kaon |
123 | | -// float, pid_tpc_tof_utils::combineNSigma<true>(o2::aod::pidtpc_tiny::tpcNSigmaStoreKa, o2::aod::pidtof_tiny::tofNSigmaStoreKa)); |
124 | | -// DECLARE_SOA_EXPRESSION_COLUMN(TpcTofNSigmaPr, tpcTofNSigmaPr, //! Combined binned NSigma separation with the TPC & TOF detectors for proton |
125 | | -// float, pid_tpc_tof_utils::combineNSigma<true>(o2::aod::pidtpc_tiny::tpcNSigmaStorePr, o2::aod::pidtof_tiny::tofNSigmaStorePr)); |
126 | | -// } // namespace pid_tpc_tof_tiny |
127 | | - |
128 | | -// // Extension of per particle tables |
129 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidElExt, TracksPidEl, "PIDELEXT", //! Table of the TPC & TOF Combined NSigma for electron |
130 | | -// pid_tpc_tof_full::TpcTofNSigmaEl); |
131 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidMuExt, TracksPidMu, "PIDMUEXT", //! Table of the TPC & TOF Combined NSigma for muon |
132 | | -// pid_tpc_tof_full::TpcTofNSigmaMu); |
133 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidPiExt, TracksPidPi, "PIDPIEXT", //! Table of the TPC & TOF Combined NSigma for pion |
134 | | -// pid_tpc_tof_full::TpcTofNSigmaPi); |
135 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidKaExt, TracksPidKa, "PIDKAEXT", //! Table of the TPC & TOF Combined NSigma for kaon |
136 | | -// pid_tpc_tof_full::TpcTofNSigmaKa); |
137 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidPrExt, TracksPidPr, "PIDPREXT", //! Table of the TPC & TOF Combined NSigma for proton |
138 | | -// pid_tpc_tof_full::TpcTofNSigmaPr); |
139 | | - |
140 | | -// // Extension of tiny size tables |
141 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidTinyElExt, TracksPidTinyEl, "PIDTINYELEXT", //! Table of the TPC & TOF combined binned NSigma for electron |
142 | | -// pid_tpc_tof_tiny::TpcTofNSigmaEl); |
143 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidTinyMuExt, TracksPidTinyMu, "PIDTINYMUEXT", //! Table of the TPC & TOF combined binned NSigma for muon |
144 | | -// pid_tpc_tof_tiny::TpcTofNSigmaMu); |
145 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidTinyPiExt, TracksPidTinyPi, "PIDTINYPIEXT", //! Table of the TPC & TOF combined binned NSigma for pion |
146 | | -// pid_tpc_tof_tiny::TpcTofNSigmaPi); |
147 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidTinyKaExt, TracksPidTinyKa, "PIDTINYKAEXT", //! Table of the TPC & TOF combined binned NSigma for kaon |
148 | | -// pid_tpc_tof_tiny::TpcTofNSigmaKa); |
149 | | -// DECLARE_SOA_EXTENDED_TABLE_USER(TracksPidTinyPrExt, TracksPidTinyPr, "PIDTINYPREXT", //! Table of the TPC & TOF combined binned NSigma for proton |
150 | | -// pid_tpc_tof_tiny::TpcTofNSigmaPr); |
151 | | - |
152 | 43 | namespace pid_tpc_tof_static_full |
153 | 44 | { |
154 | 45 | // Combined TPC and TOF NSigma |
@@ -967,17 +858,9 @@ using HfCandBplusToJpsi = soa::Join<HfCandBpJPExt, HfCandBpJPDaus>; |
967 | 858 |
|
968 | 859 | namespace hf_cand_casc_lf |
969 | 860 | { |
970 | | -// mapping of decay types |
971 | | -enum DecayType2Prong { XiczeroOmegaczeroToXiPi = 0, |
972 | | - OmegaczeroToOmegaPi, |
973 | | - OmegaczeroToOmegaK, |
974 | | - N2ProngDecays }; // always keep N2ProngDecays at the end |
975 | 861 | // mapping of construct method |
976 | 862 | enum ConstructMethod { DcaFitter = 0, |
977 | 863 | KfParticle }; |
978 | | -// mapping of decay types |
979 | | -enum DecayType3Prong { XicplusToXiPiPi = 0, |
980 | | - N3ProngDecays }; // always keep N3ProngDecays at the end |
981 | 864 | } // namespace hf_cand_casc_lf |
982 | 865 |
|
983 | 866 | namespace hf_cand_x |
|
0 commit comments